Repository navigation
Expand file tree
/
Copy pathtoolgood.algorithm.js
More file actions
2 lines (2 loc) · 338 KB
/
Copy pathtoolgood.algorithm.js
File metadata and controls
2 lines (2 loc) · 338 KB
1
2
/*! For license information please see toolgood.algorithm.js.LICENSE.txt */
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["ToolGood.Algorithm"]=e():t["ToolGood.Algorithm"]=e()}(this,()=>(()=>{var t={9021(t,e,r){var s;t.exports=(s=s||function(t){var e;if("undefined"!=typeof window&&window.crypto&&(e=window.crypto),"undefined"!=typeof self&&self.crypto&&(e=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(e=globalThis.crypto),!e&&"undefined"!=typeof window&&window.msCrypto&&(e=window.msCrypto),!e&&void 0!==r.g&&r.g.crypto&&(e=r.g.crypto),!e)try{e=r(477)}catch(t){}var s=function(){if(e){if("function"==typeof e.getRandomValues)try{return e.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof e.t)try{return e.t(4).i()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function t(){}return function(e){var r;return t.prototype=e,r=new t,t.prototype=null,r}}(),i={},u=i.u={},l=u.Base={extend:function(t){var e=n(this);return t&&e.l(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},l:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},h=u.WordArray=l.extend({init:function(t,e){t=this.h=t||[],this.o=null!=e?e:4*t.length},toString:function(t){return(t||o).stringify(this)},concat:function(t){var e=this.h,r=t.h,s=this.o,n=t.o;if(this.p(),s%4)for(var i=0;i<n;i++){var u=r[i>>>2]>>>24-i%4*8&255;e[s+i>>>2]|=u<<24-(s+i)%4*8}else for(var l=0;l<n;l+=4)e[s+l>>>2]=r[l>>>2];return this.o+=n,this},p:function(){var e=this.h,r=this.o;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=l.clone.call(this);return t.h=this.h.slice(0),t},random:function(t){for(var e=[],r=0;r<t;r+=4)e.push(s());return new h.init(e,t)}}),a=i.m={},o=a.Hex={stringify:function(t){for(var e=t.h,r=t.o,s=[],n=0;n<r;n++){var i=e[n>>>2]>>>24-n%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join("")},parse:function(t){for(var e=t.length,r=[],s=0;s<e;s+=2)r[s>>>3]|=parseInt(t.substr(s,2),16)<<24-s%8*4;return new h.init(r,e/2)}},c=a.Latin1={stringify:function(t){for(var e=t.h,r=t.o,s=[],n=0;n<r;n++){var i=e[n>>>2]>>>24-n%4*8&255;s.push(String.fromCharCode(i))}return s.join("")},parse:function(t){for(var e=t.length,r=[],s=0;s<e;s++)r[s>>>2]|=(255&t.charCodeAt(s))<<24-s%4*8;return new h.init(r,e)}},f=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},d=u.BufferedBlockAlgorithm=l.extend({reset:function(){this.v=new h.init,this.N=0},S:function(t){"string"==typeof t&&(t=f.parse(t)),this.v.concat(t),this.N+=t.o},I:function(e){var r,s=this.v,n=s.h,i=s.o,u=this.blockSize,l=i/(4*u),a=(l=e?t.ceil(l):t.max((0|l)-this.A,0))*u,o=t.min(4*a,i);if(a){for(var c=0;c<a;c+=u)this.C(n,c);r=n.splice(0,a),s.o-=o}return new h.init(r,o)},clone:function(){var t=l.clone.call(this);return t.v=this.v.clone(),t},A:0}),w=(u.Hasher=d.extend({D:l.extend(),init:function(t){this.D=this.D.extend(t),this.reset()},reset:function(){d.reset.call(this),this.R()},update:function(t){return this.S(t),this.I(),this},O:function(t){return t&&this.S(t),this.k()},blockSize:16,P:function(t){return function(e,r){return new t.init(r).O(e)}},_:function(t){return function(e,r){return new w.HMAC.init(t,r).O(e)}}}),i.V={});return i}(Math),s)},5178(t,e,r){t.exports=r(9021).m.Utf8},6044(t,e,r){var s;t.exports=(s=r(9021),r(4636),r(1025),s.HmacMD5)},7327(t,e,r){var s;t.exports=(s=r(9021),r(5471),r(1025),s.HmacSHA1)},3793(t,e,r){var s;t.exports=(s=r(9021),r(3009),r(1025),s.HmacSHA256)},6468(t,e,r){var s;t.exports=(s=r(9021),r(3240),r(1380),r(1025),s.HmacSHA512)},1025(t,e,r){var s,n,i;t.exports=(n=(s=r(9021)).u.Base,i=s.m.Utf8,void(s.V.HMAC=n.extend({init:function(t,e){t=this.B=new t.init,"string"==typeof e&&(e=i.parse(e));var r=t.blockSize,s=4*r;e.o>s&&(e=t.O(e)),e.p();for(var n=this.H=e.clone(),u=this.U=e.clone(),l=n.h,h=u.h,a=0;a<r;a++)l[a]^=1549556828,h[a]^=909522486;n.o=u.o=s,this.reset()},reset:function(){var t=this.B;t.reset(),t.update(this.U)},update:function(t){return this.B.update(t),this},O:function(t){var e=this.B,r=e.O(t);return e.reset(),e.O(this.H.clone().concat(r))}})))},4636(t,e,r){var s;t.exports=(s=r(9021),function(t){var e=s,r=e.u,n=r.WordArray,i=r.Hasher,u=e.V,l=[];!function(){for(var e=0;e<64;e++)l[e]=4294967296*t.abs(t.sin(e+1))|0}();var h=u.MD5=i.extend({R:function(){this.X=new n.init([1732584193,4023233417,2562383102,271733878])},C:function(t,e){for(var r=0;r<16;r++){var s=e+r,n=t[s];t[s]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var i=this.X.h,u=t[e+0],h=t[e+1],d=t[e+2],w=t[e+3],g=t[e+4],p=t[e+5],m=t[e+6],v=t[e+7],N=t[e+8],x=t[e+9],M=t[e+10],E=t[e+11],T=t[e+12],S=t[e+13],I=t[e+14],y=t[e+15],A=i[0],b=i[1],C=i[2],D=i[3];A=a(A,b,C,D,u,7,l[0]),D=a(D,A,b,C,h,12,l[1]),C=a(C,D,A,b,d,17,l[2]),b=a(b,C,D,A,w,22,l[3]),A=a(A,b,C,D,g,7,l[4]),D=a(D,A,b,C,p,12,l[5]),C=a(C,D,A,b,m,17,l[6]),b=a(b,C,D,A,v,22,l[7]),A=a(A,b,C,D,N,7,l[8]),D=a(D,A,b,C,x,12,l[9]),C=a(C,D,A,b,M,17,l[10]),b=a(b,C,D,A,E,22,l[11]),A=a(A,b,C,D,T,7,l[12]),D=a(D,A,b,C,S,12,l[13]),C=a(C,D,A,b,I,17,l[14]),A=o(A,b=a(b,C,D,A,y,22,l[15]),C,D,h,5,l[16]),D=o(D,A,b,C,m,9,l[17]),C=o(C,D,A,b,E,14,l[18]),b=o(b,C,D,A,u,20,l[19]),A=o(A,b,C,D,p,5,l[20]),D=o(D,A,b,C,M,9,l[21]),C=o(C,D,A,b,y,14,l[22]),b=o(b,C,D,A,g,20,l[23]),A=o(A,b,C,D,x,5,l[24]),D=o(D,A,b,C,I,9,l[25]),C=o(C,D,A,b,w,14,l[26]),b=o(b,C,D,A,N,20,l[27]),A=o(A,b,C,D,S,5,l[28]),D=o(D,A,b,C,d,9,l[29]),C=o(C,D,A,b,v,14,l[30]),A=c(A,b=o(b,C,D,A,T,20,l[31]),C,D,p,4,l[32]),D=c(D,A,b,C,N,11,l[33]),C=c(C,D,A,b,E,16,l[34]),b=c(b,C,D,A,I,23,l[35]),A=c(A,b,C,D,h,4,l[36]),D=c(D,A,b,C,g,11,l[37]),C=c(C,D,A,b,v,16,l[38]),b=c(b,C,D,A,M,23,l[39]),A=c(A,b,C,D,S,4,l[40]),D=c(D,A,b,C,u,11,l[41]),C=c(C,D,A,b,w,16,l[42]),b=c(b,C,D,A,m,23,l[43]),A=c(A,b,C,D,x,4,l[44]),D=c(D,A,b,C,T,11,l[45]),C=c(C,D,A,b,y,16,l[46]),A=f(A,b=c(b,C,D,A,d,23,l[47]),C,D,u,6,l[48]),D=f(D,A,b,C,v,10,l[49]),C=f(C,D,A,b,I,15,l[50]),b=f(b,C,D,A,p,21,l[51]),A=f(A,b,C,D,T,6,l[52]),D=f(D,A,b,C,w,10,l[53]),C=f(C,D,A,b,M,15,l[54]),b=f(b,C,D,A,h,21,l[55]),A=f(A,b,C,D,N,6,l[56]),D=f(D,A,b,C,y,10,l[57]),C=f(C,D,A,b,m,15,l[58]),b=f(b,C,D,A,S,21,l[59]),A=f(A,b,C,D,g,6,l[60]),D=f(D,A,b,C,E,10,l[61]),C=f(C,D,A,b,d,15,l[62]),b=f(b,C,D,A,x,21,l[63]),i[0]=i[0]+A|0,i[1]=i[1]+b|0,i[2]=i[2]+C|0,i[3]=i[3]+D|0},k:function(){var e=this.v,r=e.h,s=8*this.N,n=8*e.o;r[n>>>5]|=128<<24-n%32;var i=t.floor(s/4294967296),u=s;r[15+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),r[14+(n+64>>>9<<4)]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),e.o=4*(r.length+1),this.I();for(var l=this.X,h=l.h,a=0;a<4;a++){var o=h[a];h[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return l},clone:function(){var t=i.clone.call(this);return t.X=this.X.clone(),t}});function a(t,e,r,s,n,i,u){var l=t+(e&r|~e&s)+n+u;return(l<<i|l>>>32-i)+e}function o(t,e,r,s,n,i,u){var l=t+(e&s|r&~s)+n+u;return(l<<i|l>>>32-i)+e}function c(t,e,r,s,n,i,u){var l=t+(e^r^s)+n+u;return(l<<i|l>>>32-i)+e}function f(t,e,r,s,n,i,u){var l=t+(r^(e|~s))+n+u;return(l<<i|l>>>32-i)+e}e.MD5=i.P(h),e.HmacMD5=i._(h)}(Math),s.MD5)},5471(t,e,r){var s,n,i,u,l,h,a,o;t.exports=(n=(s=o=r(9021)).u,i=n.WordArray,u=n.Hasher,l=s.V,h=[],a=l.SHA1=u.extend({R:function(){this.X=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},C:function(t,e){for(var r=this.X.h,s=r[0],n=r[1],i=r[2],u=r[3],l=r[4],a=0;a<80;a++){if(a<16)h[a]=0|t[e+a];else{var o=h[a-3]^h[a-8]^h[a-14]^h[a-16];h[a]=o<<1|o>>>31}var c=(s<<5|s>>>27)+l+h[a];c+=a<20?1518500249+(n&i|~n&u):a<40?1859775393+(n^i^u):a<60?(n&i|n&u|i&u)-1894007588:(n^i^u)-899497514,l=u,u=i,i=n<<30|n>>>2,n=s,s=c}r[0]=r[0]+s|0,r[1]=r[1]+n|0,r[2]=r[2]+i|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0},k:function(){var t=this.v,e=t.h,r=8*this.N,s=8*t.o;return e[s>>>5]|=128<<24-s%32,e[14+(s+64>>>9<<4)]=Math.floor(r/4294967296),e[15+(s+64>>>9<<4)]=r,t.o=4*e.length,this.I(),this.X},clone:function(){var t=u.clone.call(this);return t.X=this.X.clone(),t}}),s.SHA1=u.P(a),s.HmacSHA1=u._(a),o.SHA1)},3009(t,e,r){var s;t.exports=(s=r(9021),function(t){var e=s,r=e.u,n=r.WordArray,i=r.Hasher,u=e.V,l=[],h=[];!function(){function e(e){for(var r=t.sqrt(e),s=2;s<=r;s++)if(!(e%s))return!1;return!0}function r(t){return 4294967296*(t-(0|t))|0}for(var s=2,n=0;n<64;)e(s)&&(n<8&&(l[n]=r(t.pow(s,.5))),h[n]=r(t.pow(s,1/3)),n++),s++}();var a=[],o=u.SHA256=i.extend({R:function(){this.X=new n.init(l.slice(0))},C:function(t,e){for(var r=this.X.h,s=r[0],n=r[1],i=r[2],u=r[3],l=r[4],o=r[5],c=r[6],f=r[7],d=0;d<64;d++){if(d<16)a[d]=0|t[e+d];else{var w=a[d-15],g=(w<<25|w>>>7)^(w<<14|w>>>18)^w>>>3,p=a[d-2],m=(p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10;a[d]=g+a[d-7]+m+a[d-16]}var v=s&n^s&i^n&i,N=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),x=f+((l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25))+(l&o^~l&c)+h[d]+a[d];f=c,c=o,o=l,l=u+x|0,u=i,i=n,n=s,s=x+(N+v)|0}r[0]=r[0]+s|0,r[1]=r[1]+n|0,r[2]=r[2]+i|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0,r[5]=r[5]+o|0,r[6]=r[6]+c|0,r[7]=r[7]+f|0},k:function(){var e=this.v,r=e.h,s=8*this.N,n=8*e.o;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=t.floor(s/4294967296),r[15+(n+64>>>9<<4)]=s,e.o=4*r.length,this.I(),this.X},clone:function(){var t=i.clone.call(this);return t.X=this.X.clone(),t}});e.SHA256=i.P(o),e.HmacSHA256=i._(o)}(Math),s.SHA256)},1380(t,e,r){var s;t.exports=(s=r(9021),r(3240),function(){var t=s,e=t.u.Hasher,r=t.q,n=r.Word,i=r.WordArray,u=t.V;function l(){return n.create.apply(n,arguments)}var h=[l(1116352408,3609767458),l(1899447441,602891725),l(3049323471,3964484399),l(3921009573,2173295548),l(961987163,4081628472),l(1508970993,3053834265),l(2453635748,2937671579),l(2870763221,3664609560),l(3624381080,2734883394),l(310598401,1164996542),l(607225278,1323610764),l(1426881987,3590304994),l(1925078388,4068182383),l(2162078206,991336113),l(2614888103,633803317),l(3248222580,3479774868),l(3835390401,2666613458),l(4022224774,944711139),l(264347078,2341262773),l(604807628,2007800933),l(770255983,1495990901),l(1249150122,1856431235),l(1555081692,3175218132),l(1996064986,2198950837),l(2554220882,3999719339),l(2821834349,766784016),l(2952996808,2566594879),l(3210313671,3203337956),l(3336571891,1034457026),l(3584528711,2466948901),l(113926993,3758326383),l(338241895,168717936),l(666307205,1188179964),l(773529912,1546045734),l(1294757372,1522805485),l(1396182291,2643833823),l(1695183700,2343527390),l(1986661051,1014477480),l(2177026350,1206759142),l(2456956037,344077627),l(2730485921,1290863460),l(2820302411,3158454273),l(3259730800,3505952657),l(3345764771,106217008),l(3516065817,3606008344),l(3600352804,1432725776),l(4094571909,1467031594),l(275423344,851169720),l(430227734,3100823752),l(506948616,1363258195),l(659060556,3750685593),l(883997877,3785050280),l(958139571,3318307427),l(1322822218,3812723403),l(1537002063,2003034995),l(1747873779,3602036899),l(1955562222,1575990012),l(2024104815,1125592928),l(2227730452,2716904306),l(2361852424,442776044),l(2428436474,593698344),l(2756734187,3733110249),l(3204031479,2999351573),l(3329325298,3815920427),l(3391569614,3928383900),l(3515267271,566280711),l(3940187606,3454069534),l(4118630271,4000239992),l(116418474,1914138554),l(174292421,2731055270),l(289380356,3203993006),l(460393269,320620315),l(685471733,587496836),l(852142971,1086792851),l(1017036298,365543100),l(1126000580,2618297676),l(1288033470,3409855158),l(1501505948,4234509866),l(1607167915,987167468),l(1816402316,1246189591)],a=[];!function(){for(var t=0;t<80;t++)a[t]=l()}();var o=u.SHA512=e.extend({R:function(){this.X=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},C:function(t,e){for(var r=this.X.h,s=r[0],n=r[1],i=r[2],u=r[3],l=r[4],o=r[5],c=r[6],f=r[7],d=s.high,w=s.low,g=n.high,p=n.low,m=i.high,v=i.low,N=u.high,x=u.low,M=l.high,E=l.low,T=o.high,S=o.low,I=c.high,y=c.low,A=f.high,b=f.low,C=d,D=w,R=g,O=p,F=m,L=v,k=N,P=x,_=M,V=E,B=T,H=S,U=I,G=y,X=A,q=b,j=0;j<80;j++){var J,$,W=a[j];if(j<16)$=W.high=0|t[e+2*j],J=W.low=0|t[e+2*j+1];else{var Y=a[j-15],K=Y.high,z=Y.low,Q=(K>>>1|z<<31)^(K>>>8|z<<24)^K>>>7,Z=(z>>>1|K<<31)^(z>>>8|K<<24)^(z>>>7|K<<25),tt=a[j-2],et=tt.high,rt=tt.low,st=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6,nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26),it=a[j-7],ut=it.high,lt=it.low,ht=a[j-16],at=ht.high,ot=ht.low;$=($=($=Q+ut+((J=Z+lt)>>>0<Z>>>0?1:0))+st+((J+=nt)>>>0<nt>>>0?1:0))+at+((J+=ot)>>>0<ot>>>0?1:0),W.high=$,W.low=J}var ct,ft=_&B^~_&U,dt=V&H^~V&G,wt=C&R^C&F^R&F,gt=D&O^D&L^O&L,pt=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),mt=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),vt=(_>>>14|V<<18)^(_>>>18|V<<14)^(_<<23|V>>>9),Nt=(V>>>14|_<<18)^(V>>>18|_<<14)^(V<<23|_>>>9),xt=h[j],Mt=xt.high,Et=xt.low,Tt=X+vt+((ct=q+Nt)>>>0<q>>>0?1:0),St=mt+gt;X=U,q=G,U=B,G=H,B=_,H=V,_=k+(Tt=(Tt=(Tt=Tt+ft+((ct+=dt)>>>0<dt>>>0?1:0))+Mt+((ct+=Et)>>>0<Et>>>0?1:0))+$+((ct+=J)>>>0<J>>>0?1:0))+((V=P+ct|0)>>>0<P>>>0?1:0)|0,k=F,P=L,F=R,L=O,R=C,O=D,C=Tt+(pt+wt+(St>>>0<mt>>>0?1:0))+((D=ct+St|0)>>>0<ct>>>0?1:0)|0}w=s.low=w+D,s.high=d+C+(w>>>0<D>>>0?1:0),p=n.low=p+O,n.high=g+R+(p>>>0<O>>>0?1:0),v=i.low=v+L,i.high=m+F+(v>>>0<L>>>0?1:0),x=u.low=x+P,u.high=N+k+(x>>>0<P>>>0?1:0),E=l.low=E+V,l.high=M+_+(E>>>0<V>>>0?1:0),S=o.low=S+H,o.high=T+B+(S>>>0<H>>>0?1:0),y=c.low=y+G,c.high=I+U+(y>>>0<G>>>0?1:0),b=f.low=b+q,f.high=A+X+(b>>>0<q>>>0?1:0)},k:function(){var t=this.v,e=t.h,r=8*this.N,s=8*t.o;return e[s>>>5]|=128<<24-s%32,e[30+(s+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(s+128>>>10<<5)]=r,t.o=4*e.length,this.I(),this.X.j()},clone:function(){var t=e.clone.call(this);return t.X=this.X.clone(),t},blockSize:32});t.SHA512=e.P(o),t.HmacSHA512=e._(o)}(),s.SHA512)},3240(t,e,r){var s,n,i,u,l,h;t.exports=(i=(n=s=r(9021)).u,u=i.Base,l=i.WordArray,(h=n.q={}).Word=u.extend({init:function(t,e){this.high=t,this.low=e}}),h.WordArray=u.extend({init:function(t,e){t=this.h=t||[],this.o=null!=e?e:8*t.length},j:function(){for(var t=this.h,e=t.length,r=[],s=0;s<e;s++){var n=t[s];r.push(n.high),r.push(n.low)}return l.create(r,this.o)},clone:function(){for(var t=u.clone.call(this),e=t.h=this.h.slice(0),r=e.length,s=0;s<r;s++)e[s]=e[s].clone();return t}}),s)},477(){},9306(t,e,r){"use strict";var s=r(4901),n=r(6823),i=TypeError;t.exports=function(t){if(s(t))return t;throw new i(n(t)+" is not a function")}},6469(t,e,r){"use strict";var s=r(8227),n=r(2360),i=r(4913).f,u=s("unscopables"),l=Array.prototype;void 0===l[u]&&i(l,u,{configurable:!0,value:n(null)}),t.exports=function(t){l[u][t]=!0}},8551(t,e,r){"use strict";var s=r(34),n=String,i=TypeError;t.exports=function(t){if(s(t))return t;throw new i(n(t)+" is not an object")}},9617(t,e,r){"use strict";var s=r(5397),n=r(5610),i=r(6198),u=function(t){return function(e,r,u){var l=s(e),h=i(l);if(0===h)return!t&&-1;var a,o=n(u,h);if(t&&r!=r){for(;h>o;)if((a=l[o++])!=a)return!0}else for(;h>o;o++)if((t||o in l)&&l[o]===r)return t||o||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},2195(t,e,r){"use strict";var s=r(9504),n=s({}.toString),i=s("".slice);t.exports=function(t){return i(n(t),8,-1)}},7740(t,e,r){"use strict";var s=r(9297),n=r(5031),i=r(7347),u=r(4913);t.exports=function(t,e,r){for(var l=n(e),h=u.f,a=i.f,o=0;o<l.length;o++){var c=l[o];s(t,c)||r&&s(r,c)||h(t,c,a(e,c))}}},6699(t,e,r){"use strict";var s=r(3724),n=r(4913),i=r(6980);t.exports=s?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},6980(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6840(t,e,r){"use strict";var s=r(4901),n=r(4913),i=r(283),u=r(9433);t.exports=function(t,e,r,l){l||(l={});var h=l.enumerable,a=void 0!==l.name?l.name:e;if(s(r)&&i(r,a,l),l.global)h?t[e]=r:u(e,r);else{try{l.J?t[e]&&(h=!0):delete t[e]}catch(t){}h?t[e]=r:n.f(t,e,{value:r,enumerable:!1,configurable:!l.$,writable:!l.W})}return t}},9433(t,e,r){"use strict";var s=r(4576),n=Object.defineProperty;t.exports=function(t,e){try{n(s,t,{value:e,configurable:!0,writable:!0})}catch(r){s[t]=e}return e}},3724(t,e,r){"use strict";var s=r(9039);t.exports=!s(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},4055(t,e,r){"use strict";var s=r(4576),n=r(34),i=s.document,u=n(i)&&n(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},8727(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2839(t,e,r){"use strict";var s=r(4576).navigator,n=s&&s.userAgent;t.exports=n?String(n):""},9519(t,e,r){"use strict";var s,n,i=r(4576),u=r(2839),l=i.process,h=i.Deno,a=l&&l.Y||h&&h.version,o=a&&a.K;o&&(n=(s=o.split("."))[0]>0&&s[0]<4?1:+(s[0]+s[1])),!n&&u&&(!(s=u.match(/Edge\/(\d+)/))||s[1]>=74)&&(s=u.match(/Chrome\/(\d+)/))&&(n=+s[1]),t.exports=n},6518(t,e,r){"use strict";var s=r(4576),n=r(7347).f,i=r(6699),u=r(6840),l=r(9433),h=r(7740),a=r(2796);t.exports=function(t,e){var r,o,c,f,d,w=t.target,g=t.global,p=t.Z;if(r=g?s:p?s[w]||l(w,{}):s[w]&&s[w].prototype)for(o in e){if(f=e[o],c=t.tt?(d=n(r,o))&&d.value:r[o],!a(g?o:w+(p?".":"#")+o,t.et)&&void 0!==c){if(typeof f==typeof c)continue;h(f,c)}(t.rt||c&&c.rt)&&i(f,"sham",!0),u(r,o,f,t)}}},9039(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},616(t,e,r){"use strict";var s=r(9039);t.exports=!s(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},9565(t,e,r){"use strict";var s=r(616),n=Function.prototype.call;t.exports=s?n.bind(n):function(){return n.apply(n,arguments)}},350(t,e,r){"use strict";var s=r(3724),n=r(9297),i=Function.prototype,u=s&&Object.getOwnPropertyDescriptor,l=n(i,"name"),h=l&&"something"===function(){}.name,a=l&&(!s||s&&u(i,"name").configurable);t.exports={EXISTS:l,PROPER:h,CONFIGURABLE:a}},9504(t,e,r){"use strict";var s=r(616),n=Function.prototype,i=n.call,u=s&&n.bind.bind(i,i);t.exports=s?u:function(t){return function(){return i.apply(t,arguments)}}},7751(t,e,r){"use strict";var s=r(4576),n=r(4901);t.exports=function(t,e){return arguments.length<2?(r=s[t],n(r)?r:void 0):s[t]&&s[t][e];var r}},5966(t,e,r){"use strict";var s=r(9306),n=r(4117);t.exports=function(t,e){var r=t[e];return n(r)?void 0:s(r)}},4576(t,e,r){"use strict";var s=function(t){return t&&t.Math===Math&&t};t.exports=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof r.g&&r.g)||s("object"==typeof this&&this)||function(){return this}()||Function("return this")()},9297(t,e,r){"use strict";var s=r(9504),n=r(8981),i=s({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return i(n(t),e)}},421(t){"use strict";t.exports={}},397(t,e,r){"use strict";var s=r(7751);t.exports=s("document","documentElement")},5917(t,e,r){"use strict";var s=r(3724),n=r(9039),i=r(4055);t.exports=!s&&!n(function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a})},7055(t,e,r){"use strict";var s=r(9504),n=r(9039),i=r(2195),u=Object,l=s("".split);t.exports=n(function(){return!u("z").propertyIsEnumerable(0)})?function(t){return"String"===i(t)?l(t,""):u(t)}:u},3706(t,e,r){"use strict";var s=r(9504),n=r(4901),i=r(7629),u=s(Function.toString);n(i.st)||(i.st=function(t){return u(t)}),t.exports=i.st},1181(t,e,r){"use strict";var s,n,i,u=r(8622),l=r(4576),h=r(34),a=r(6699),o=r(9297),c=r(7629),f=r(6119),d=r(421),w="Object already initialized",g=l.TypeError,p=l.WeakMap;if(u||c.state){var m=c.state||(c.state=new p);m.get=m.get,m.has=m.has,m.set=m.set,s=function(t,e){if(m.has(t))throw new g(w);return e.nt=t,m.set(t,e),e},n=function(t){return m.get(t)||{}},i=function(t){return m.has(t)}}else{var v=f("state");d[v]=!0,s=function(t,e){if(o(t,v))throw new g(w);return e.nt=t,a(t,v,e),e},n=function(t){return o(t,v)?t[v]:{}},i=function(t){return o(t,v)}}t.exports={set:s,get:n,has:i,it:function(t){return i(t)?n(t):s(t,{})},ut:function(t){return function(e){var r;if(!h(e)||(r=n(e)).type!==t)throw new g("Incompatible receiver, "+t+" required");return r}}}},4901(t){"use strict";var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},2796(t,e,r){"use strict";var s=r(9039),n=r(4901),i=/#|\.prototype\./,u=function(t,e){var r=h[l(t)];return r===o||r!==a&&(n(e)?s(e):!!e)},l=u.normalize=function(t){return String(t).replace(i,".").toLowerCase()},h=u.data={},a=u.NATIVE="N",o=u.POLYFILL="P";t.exports=u},4117(t){"use strict";t.exports=function(t){return null==t}},34(t,e,r){"use strict";var s=r(4901);t.exports=function(t){return"object"==typeof t?null!==t:s(t)}},6395(t){"use strict";t.exports=!1},757(t,e,r){"use strict";var s=r(7751),n=r(4901),i=r(1625),u=r(7040),l=Object;t.exports=u?function(t){return"symbol"==typeof t}:function(t){var e=s("Symbol");return n(e)&&i(e.prototype,l(t))}},6198(t,e,r){"use strict";var s=r(8014);t.exports=function(t){return s(t.length)}},283(t,e,r){"use strict";var s=r(9504),n=r(9039),i=r(4901),u=r(9297),l=r(3724),h=r(350).CONFIGURABLE,a=r(3706),o=r(1181),c=o.it,f=o.get,d=String,w=Object.defineProperty,g=s("".slice),p=s("".replace),m=s([].join),v=l&&!n(function(){return 8!==w(function(){},"length",{value:8}).length}),N=String(String).split("String"),x=t.exports=function(t,e,r){"Symbol("===g(d(e),0,7)&&(e="["+p(d(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.lt&&(e="get "+e),r&&r.ht&&(e="set "+e),(!u(t,"name")||h&&t.name!==e)&&(l?w(t,"name",{value:e,configurable:!0}):t.name=e),v&&r&&u(r,"arity")&&t.length!==r.ot&&w(t,"length",{value:r.ot});try{r&&u(r,"constructor")&&r.constructor?l&&w(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var s=c(t);return u(s,"source")||(s.source=m(N,"string"==typeof e?e:"")),t};Function.prototype.toString=x(function(){return i(this)&&f(this).source||a(this)},"toString")},741(t){"use strict";var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var s=+t;return(s>0?r:e)(s)}},2360(t,e,r){"use strict";var s,n=r(8551),i=r(6801),u=r(8727),l=r(421),h=r(397),a=r(4055),o=r(6119),c="prototype",f="script",d=o("IE_PROTO"),w=function(){},g=function(t){return"<"+f+">"+t+"</"+f+">"},p=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){try{s=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;m="undefined"!=typeof document?document.domain&&s?p(s):(e=a("iframe"),r="java"+f+":",e.style.display="none",h.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F):p(s);for(var n=u.length;n--;)delete m[c][u[n]];return m()};l[d]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(w[c]=n(t),r=new w,w[c]=null,r[d]=t):r=m(),void 0===e?r:i.f(r,e)}},6801(t,e,r){"use strict";var s=r(3724),n=r(8686),i=r(4913),u=r(8551),l=r(5397),h=r(1072);e.f=s&&!n?Object.defineProperties:function(t,e){u(t);for(var r,s=l(e),n=h(e),a=n.length,o=0;a>o;)i.f(t,r=n[o++],s[r]);return t}},4913(t,e,r){"use strict";var s=r(3724),n=r(5917),i=r(8686),u=r(8551),l=r(6969),h=TypeError,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,c="enumerable",f="configurable",d="writable";e.f=s?i?function(t,e,r){if(u(t),e=l(e),u(r),"function"==typeof t&&"prototype"===e&&"value"in r&&d in r&&!r[d]){var s=o(t,e);s&&s[d]&&(t[e]=r.value,r={configurable:f in r?r[f]:s[f],enumerable:c in r?r[c]:s[c],writable:!1})}return a(t,e,r)}:a:function(t,e,r){if(u(t),e=l(e),u(r),n)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new h("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},7347(t,e,r){"use strict";var s=r(3724),n=r(9565),i=r(8773),u=r(6980),l=r(5397),h=r(6969),a=r(9297),o=r(5917),c=Object.getOwnPropertyDescriptor;e.f=s?c:function(t,e){if(t=l(t),e=h(e),o)try{return c(t,e)}catch(t){}if(a(t,e))return u(!n(i.f,t,e),t[e])}},8480(t,e,r){"use strict";var s=r(1828),n=r(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return s(t,n)}},3717(t,e){"use strict";e.f=Object.getOwnPropertySymbols},1625(t,e,r){"use strict";var s=r(9504);t.exports=s({}.isPrototypeOf)},1828(t,e,r){"use strict";var s=r(9504),n=r(9297),i=r(5397),u=r(9617).indexOf,l=r(421),h=s([].push);t.exports=function(t,e){var r,s=i(t),a=0,o=[];for(r in s)!n(l,r)&&n(s,r)&&h(o,r);for(;e.length>a;)n(s,r=e[a++])&&(~u(o,r)||h(o,r));return o}},1072(t,e,r){"use strict";var s=r(1828),n=r(8727);t.exports=Object.keys||function(t){return s(t,n)}},8773(t,e){"use strict";var r={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,n=s&&!r.call({1:2},1);e.f=n?function(t){var e=s(this,t);return!!e&&e.enumerable}:r},4270(t,e,r){"use strict";var s=r(9565),n=r(4901),i=r(34),u=TypeError;t.exports=function(t,e){var r,l;if("string"===e&&n(r=t.toString)&&!i(l=s(r,t)))return l;if(n(r=t.valueOf)&&!i(l=s(r,t)))return l;if("string"!==e&&n(r=t.toString)&&!i(l=s(r,t)))return l;throw new u("Can't convert object to primitive value")}},5031(t,e,r){"use strict";var s=r(7751),n=r(9504),i=r(8480),u=r(3717),l=r(8551),h=n([].concat);t.exports=s("Reflect","ownKeys")||function(t){var e=i.f(l(t)),r=u.f;return r?h(e,r(t)):e}},7750(t,e,r){"use strict";var s=r(4117),n=TypeError;t.exports=function(t){if(s(t))throw new n("Can't call method on "+t);return t}},6119(t,e,r){"use strict";var s=r(5745),n=r(3392),i=s("keys");t.exports=function(t){return i[t]||(i[t]=n(t))}},7629(t,e,r){"use strict";var s=r(6395),n=r(4576),i=r(9433),u="__core-js_shared__",l=t.exports=n[u]||i(u,{});(l.Y||(l.Y=[])).push({version:"3.50.0",mode:s?"pure":"global",ct:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",ft:"https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE",source:"https://github.com/zloirock/core-js"})},5745(t,e,r){"use strict";var s=r(7629),n=Object.create||Object;t.exports=function(t,e){return s[t]||(s[t]=e||n(null))}},4495(t,e,r){"use strict";var s=r(9519),n=r(9039),i=r(4576).String;t.exports=!!Object.getOwnPropertySymbols&&!n(function(){var t=Symbol("symbol detection");return!i(t)||!(Object(t)instanceof Symbol)||!Symbol.rt&&s&&s<41})},5610(t,e,r){"use strict";var s=r(1291),n=Math.max,i=Math.min;t.exports=function(t,e){var r=s(t);return r<0?n(r+e,0):i(r,e)}},5397(t,e,r){"use strict";var s=r(7055),n=r(7750);t.exports=function(t){return s(n(t))}},1291(t,e,r){"use strict";var s=r(741);t.exports=function(t){var e=+t;return e!=e||0===e?0:s(e)}},8014(t,e,r){"use strict";var s=r(1291),n=Math.min;t.exports=function(t){var e=s(t);return e>0?n(e,9007199254740991):0}},8981(t,e,r){"use strict";var s=r(7750),n=Object;t.exports=function(t){return n(s(t))}},2777(t,e,r){"use strict";var s=r(9565),n=r(34),i=r(757),u=r(5966),l=r(4270),h=r(8227),a=TypeError,o=h("toPrimitive");t.exports=function(t,e){if(!n(t)||i(t))return t;var r,h=u(t,o);if(h){if(void 0===e&&(e="default"),r=s(h,t,e),!n(r)||i(r))return r;throw new a("Can't convert object to primitive value")}return void 0===e&&(e="number"),l(t,e)}},6969(t,e,r){"use strict";var s=r(2777),n=r(757);t.exports=function(t){var e=s(t,"string");return n(e)?e:e+""}},6823(t){"use strict";var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},3392(t,e,r){"use strict";var s=r(9504),n=0,i=Math.random(),u=s(1.1.toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+u(++n+i,36)}},7040(t,e,r){"use strict";var s=r(4495);t.exports=s&&!Symbol.rt&&"symbol"==typeof Symbol.iterator},8686(t,e,r){"use strict";var s=r(3724),n=r(9039);t.exports=s&&n(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},8622(t,e,r){"use strict";var s=r(4576),n=r(4901),i=s.WeakMap;t.exports=n(i)&&/native code/.test(String(i))},8227(t,e,r){"use strict";var s=r(4576),n=r(5745),i=r(9297),u=r(3392),l=r(4495),h=r(7040),a=s.Symbol,o=n("wks"),c=h?a.for||a:a&&a.dt||u;t.exports=function(t){return i(o,t)||(o[t]=l&&i(a,t)?a[t]:c("Symbol."+t)),o[t]}},4423(t,e,r){"use strict";var s=r(6518),n=r(9617).includes,i=r(9039),u=r(6469),l=i(function(){return!Array(1).includes()}),h=i(function(){return[,1].includes(void 0,1)});s({target:"Array",wt:!0,et:l||h},{includes:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}}),u("includes")}};const e={};function r(s){const n=e[s];if(void 0!==n)return n.exports;const i=e[s]={exports:{}};return t[s].call(i.exports,i,i.exports,r),i.exports}r.d=(t,e)=>{if(Array.isArray(e))for(var s=0;s<e.length;){var n=e[s++],i=e[s++];r.gt(t,n)?0===i&&s++:0===i?Object.defineProperty(t,n,{enumerable:!0,value:e[s++]}):Object.defineProperty(t,n,{enumerable:!0,get:i})}else for(var n in e)r.gt(e,n)&&!r.gt(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.gt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"vt",{value:!0})};let s={};return(()=>{"use strict";r.d(s,{default:()=>Aa});var t={};r.r(t),r.d(t,{AreaUnitType:()=>e,CalculateTreeType:()=>n,ConditionTreeType:()=>i,DistanceUnitType:()=>u,MassUnitType:()=>l,OperandType:()=>h,VolumeUnitType:()=>a});const e={MM2:11,CM2:12,DM2:13,M2:14,KM2:15},n={String:0,Add:1,Sub:2,Mul:3,Div:4,Mod:5,Connect:6,And:7,Or:8,OpGt:9,OpLt:10,OpGe:11,OpLe:12,OpEq:13,OpNe:14,Error:15},i={String:0,And:1,Or:2,Error:3},u={MM:1,CM:2,DM:3,M:4,KM:5},l={G:31,KG:32,T:33},h={NULL:0,ERROR:1,DATE:2,ARRAY:3,NUMBER:4,BOOLEAN:5,TEXT:6,JSON:7,ARRAYJSON:8,NONE:9},a={MM3:21,CM3:22,DM3:23,M3:24,KM3:25};class o{constructor(){this.Nt=null,this.xt=!1,this.Mt=0,this.Et=null,this.Tt=null,this.type=0}get Count(){return 2===this.type?this.Nt.length:1===this.type?Object.keys(this.Et).length:0}get IsArray(){return 2===this.type}get IsBoolean(){return 5===this.type}get IsDouble(){return 4===this.type}get IsObject(){return 1===this.type}get IsString(){return 3===this.type}get IsNull(){return 6===this.type}get BooleanValue(){return this.xt}get NumberValue(){return this.Mt}get StringValue(){return this.Tt}St(){return this.It().values()}*[Symbol.iterator](){if(2===this.type)for(let t of this.Nt)yield t}yt(){return 1===this.type||(this.type=1,this.Et={}),this.Et}It(){return 2===this.type||(this.type=2,this.Nt=[]),this.Nt}At(t){this.type=5,this.xt=t}bt(t){this.type=4,this.Mt=t}Ct(t){this.type=3,this.Tt=t}Dt(){this.type=6}add(t){this.It().push(t)}set(t,e){this.yt()[t]=e}Rt(t){if(this.type!==t){switch(t){case 0:break;case 1:this.Et={};break;case 2:this.Nt=[];break;case 3:this.Tt="";break;case 4:this.Mt=0;break;case 5:this.xt=!1}this.type=t}}toString(){let t=[];return this.Ot(t),t.join("")}Ot(t){if(this.IsNull)t.push("null");else if(this.IsBoolean)t.push(this.xt?"true":"false");else if(this.IsArray){t.push("[");for(let e=0;e<this.Nt.length;e++)e>0&&t.push(","),this.Nt[e].Ot(t);t.push("]")}else if(this.IsObject){t.push("{");let e=!0;for(let r in this.Et)e||t.push(","),e=!1,t.push('"'),t.push(r.replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\0/g,"\\0").replace(/\v/g,"\\v").replace(/\a/g,"\\a").replace(/\b/g,"\\b").replace(/\f/g,"\\f")),t.push('":'),this.Et[r].Ot(t);t.push("}")}else this.IsString?(t.push('"'),t.push(this.Tt.replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\0/g,"\\0").replace(/\v/g,"\\v").replace(/\a/g,"\\a").replace(/\b/g,"\\b").replace(/\f/g,"\\f")),t.push('"')):this.IsDouble&&t.push(this.Mt.toString())}}r(4423);class c{constructor(){this.Ft=!1,this.Lt=0,this.L=null,this.kt=0}}class f extends Error{constructor(t){super(t),this.name="JsonException"}static Pt(t,e){let r=new f(`Invalid token '${t}' in input string`);return e&&(r._t=e),r}static Vt(t){let e=`Invalid character '${String.fromCharCode(t)}' in input string`;return new f(e)}}let d=65537,w=65538,g=65539,p=65540,m=65541,v=65542,N=65543,x=65544,M=65545,E=65546,T=65547,S=65548,I=65549,y=65550,A=65551,b=65552,C=65553,D=65554;class R{constructor(t){this.Bt=!0,this.Ht=!0,this.Ut=!1,this.Gt=new c,this.Xt=0,this.qt=0,this.jt=t,this.state=1,this.Jt=[],this.$t="",this.token=0,this.Wt=0,this.Gt.L=this}get EndOfInput(){return this.Ut}get Token(){return this.token}get StringValue(){return this.$t}static Yt(t){switch(t){case"a":case"A":return 10;case"b":case"B":return 11;case"c":case"C":return 12;case"d":case"D":return 13;case"e":case"E":return 14;case"f":case"F":return 15;default:return t.charCodeAt(0)-48}}static Kt(t){switch(t){case'"':case"'":case"\\":case"/":return String.fromCharCode(t.charCodeAt(0));case"n":return"\n";case"t":return"\t";case"r":return"\r";case"b":return"\b";case"f":return"\f";default:return"?"}}zt(){return-1!==(this.qt=this.Qt())||(this.Ut=!0,!1)}Qt(){if(0!==this.Xt){let t=this.Xt;return this.Xt=0,t}return this.jt.read()}Zt(){let t;for(this.Gt.Ft=!1;;){if(t=R.te[this.state-1],!t(this.Gt))throw f.Vt(this.qt);if(this.Ut)return!1;if(this.Gt.Ft)return this.$t=this.Jt.join(""),this.Jt.length=0,this.token=R.ee[this.state-1],this.token===v&&(this.token=this.qt),this.state=this.Gt.Lt,!0;this.state=this.Gt.Lt}}re(){this.Xt=this.qt}}R.se=function(t){for(;t.L.zt();)if(!(32===t.L.qt||t.L.qt>=9&&t.L.qt<=13)){if(t.L.qt>=49&&t.L.qt<=57)return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=3,!0;switch(t.L.qt){case 34:return t.Lt=19,t.Ft=!0,!0;case 44:case 58:case 91:case 93:case 123:case 125:return t.Lt=1,t.Ft=!0,!0;case 45:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=2,!0;case 48:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=4,!0;case 102:return t.Lt=12,!0;case 110:return t.Lt=16,!0;case 116:return t.Lt=9,!0;case 39:return!!t.L.Ht&&(t.L.qt=34,t.Lt=23,t.Ft=!0,!0);case 47:return!!t.L.Bt&&(t.Lt=25,!0);default:return!1}}return!0},R.ne=function(t){return t.L.zt(),t.L.qt>=49&&t.L.qt<=57?(t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=3,!0):48===t.L.qt&&(t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=4,!0)},R.ie=function(t){for(;t.L.zt();)if(t.L.qt>=48&&t.L.qt<=57)t.L.Jt.push(String.fromCharCode(t.L.qt));else{if(32===t.L.qt||t.L.qt>=9&&t.L.qt<=13)return t.Ft=!0,t.Lt=1,!0;switch(t.L.qt){case 44:case 93:case 125:return t.L.re(),t.Ft=!0,t.Lt=1,!0;case 46:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=5,!0;case 101:case 69:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=7,!0;default:return!1}}return!0},R.ue=function(t){if(t.L.zt(),32===t.L.qt||t.L.qt>=9&&t.L.qt<=13)return t.Ft=!0,t.Lt=1,!0;switch(t.L.qt){case 44:case 93:case 125:return t.L.re(),t.Ft=!0,t.Lt=1,!0;case 46:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=5,!0;case 101:case 69:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=7,!0;default:return!1}},R.le=function(t){return t.L.zt(),t.L.qt>=48&&t.L.qt<=57&&(t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=6,!0)},R.he=function(t){for(;t.L.zt();)if(t.L.qt>=48&&t.L.qt<=57)t.L.Jt.push(String.fromCharCode(t.L.qt));else{if(32===t.L.qt||t.L.qt>=9&&t.L.qt<=13)return t.Ft=!0,t.Lt=1,!0;switch(t.L.qt){case 44:case 93:case 125:return t.L.re(),t.Ft=!0,t.Lt=1,!0;case 101:case 69:return t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=7,!0;default:return!1}}return!0},R.ae=function(t){return t.L.zt(),(t.L.qt>=48&&t.L.qt<=57||43===t.L.qt||45===t.L.qt)&&(t.L.Jt.push(String.fromCharCode(t.L.qt)),t.Lt=8,!0)},R.oe=function(t){for(;t.L.zt();)if(t.L.qt>=48&&t.L.qt<=57)t.L.Jt.push(String.fromCharCode(t.L.qt));else{if(32===t.L.qt||t.L.qt>=9&&t.L.qt<=13)return t.Ft=!0,t.Lt=1,!0;switch(t.L.qt){case 44:case 93:case 125:return t.L.re(),t.Ft=!0,t.Lt=1,!0;default:return!1}}return!0},R.ce=function(t){return t.L.zt(),114===t.L.qt&&(t.Lt=10,!0)},R.fe=function(t){return t.L.zt(),117===t.L.qt&&(t.Lt=11,!0)},R.de=function(t){return t.L.zt(),101===t.L.qt&&(t.Ft=!0,t.Lt=1,!0)},R.we=function(t){return t.L.zt(),97===t.L.qt&&(t.Lt=13,!0)},R.ge=function(t){return t.L.zt(),108===t.L.qt&&(t.Lt=14,!0)},R.pe=function(t){return t.L.zt(),115===t.L.qt&&(t.Lt=15,!0)},R.me=function(t){return t.L.zt(),101===t.L.qt&&(t.Ft=!0,t.Lt=1,!0)},R.ve=function(t){return t.L.zt(),117===t.L.qt&&(t.Lt=17,!0)},R.Ne=function(t){return t.L.zt(),108===t.L.qt&&(t.Lt=18,!0)},R.xe=function(t){return t.L.zt(),108===t.L.qt&&(t.Ft=!0,t.Lt=1,!0)},R.Me=function(t){for(;t.L.zt();)switch(t.L.qt){case 34:return t.L.re(),t.Ft=!0,t.Lt=20,!0;case 92:return t.kt=19,t.Lt=21,!0;default:t.L.Jt.push(String.fromCharCode(t.L.qt));continue}return!0},R.Ee=function(t){return t.L.zt(),34===t.L.qt&&(t.Ft=!0,t.Lt=1,!0)},R.Te=function(t){if(t.L.zt(),117===t.L.qt)return t.Lt=22,!0;switch(t.L.qt){case 34:case 39:case 47:case 92:case 98:case 102:case 110:case 114:case 116:return t.L.Jt.push(R.Kt(String.fromCharCode(t.L.qt))),t.Lt=t.kt,!0;default:return!1}},R.Se=function(t){let e=0,r=4096;for(t.L.Wt=0;t.L.zt();){let s=String.fromCharCode(t.L.qt);if(!(s>="0"&&s<="9"||s>="A"&&s<="F"||s>="a"&&s<="f"))return!1;if(t.L.Wt+=R.Yt(s)*r,e++,r/=16,4===e)return t.L.Jt.push(String.fromCharCode(t.L.Wt)),t.Lt=t.kt,!0}return!0},R.Ie=function(t){for(;t.L.zt();)switch(t.L.qt){case 39:return t.L.re(),t.Ft=!0,t.Lt=24,!0;case 92:return t.kt=23,t.Lt=21,!0;default:t.L.Jt.push(String.fromCharCode(t.L.qt));continue}return!0},R.ye=function(t){return t.L.zt(),39===t.L.qt&&(t.L.qt=34,t.Ft=!0,t.Lt=1,!0)},R.Ae=function(t){return t.L.zt(),42===t.L.qt?(t.Lt=27,!0):47===t.L.qt&&(t.Lt=26,!0)},R.be=function(t){for(;t.L.zt();)if(10===t.L.qt)return t.Lt=1,!0;return!0},R.Ce=function(t){for(;t.L.zt();)if(42===t.L.qt)return t.Lt=28,!0;return!0},R.De=function(t){for(;t.L.zt();)if(42!==t.L.qt)return 47===t.L.qt?(t.Lt=1,!0):(t.Lt=27,!0);return!0},R.te=[R.se,R.ne,R.ie,R.ue,R.le,R.he,R.ae,R.oe,R.ce,R.fe,R.de,R.we,R.ge,R.pe,R.me,R.ve,R.Ne,R.xe,R.Me,R.Ee,R.Te,R.Se,R.Ie,R.ye,R.Ae,R.be,R.Ce,R.De],R.ee=[v,0,d,d,0,d,0,d,0,0,w,0,0,0,g,0,0,p,m,v,0,0,m,v,0,0,0,0];class O{constructor(t){this.text=t,this.position=0,this.length=t.length}read(){return this.position>=this.length?-1:this.text.charCodeAt(this.position++)}}class F{constructor(t){let e=new O(t);this.Re=!1,this.Oe=!1,this.Fe=!1,this.Le=[],this.Le.push(C),this.Le.push(N),this.ke=new R(e),this.Ut=!1,this.Pe=!1,this.token=0,this._e=null}get Token(){return this.token}get Value(){return this._e}Ve(t){if(t.includes(".")||t.includes("e")||t.includes("E")){let e=parseFloat(t);if(!isNaN(e))return void(this._e=e)}else{let e=parseInt(t,10);if(!isNaN(e))return void(this._e=e)}this._e=0}Be(){91===this.He?(this.token=4,this.Oe=!0):93===this.He?(this.token=5,this.Oe=!0):123===this.He?(this.token=1,this.Oe=!0):125===this.He?(this.token=3,this.Oe=!0):34===this.He?this.Re?(this.Re=!1,this.Oe=!0):(0===this.token&&(this.token=7),this.Re=!0):this.He===m?this._e=this.ke.StringValue:this.He===g?(this.token=8,this._e=!1,this.Oe=!0):this.He===p?(this.token=9,this.Oe=!0):this.He===d?(this.Ve(this.ke.StringValue),this.token=6,this.Oe=!0):this.He===E?this.token=2:this.He===w&&(this.token=8,this._e=!0,this.Oe=!0)}Ue(){if(this.Ut)return!1;let t=this.ke.Zt();return this.ke.EndOfInput?(this.close(),!1):(this.Ge=this.ke.Token,t)}close(){this.Ut||(this.Ut=!0,this.Pe=!0)}read(){if(this.Ut)return!1;if(this.Pe&&(this.Pe=!1,this.Le.length=0,this.Le.push(C),this.Le.push(N)),this.Re=!1,this.Oe=!1,this.token=0,this._e=null,!this.Fe&&(this.Fe=!0,!this.Ue()))return!1;let t;for(;;){if(this.Oe)return this.Le[this.Le.length-1]===C&&(this.Pe=!0),!0;if(this.He=this.Le.pop(),this.Be(),this.He!==this.Ge){try{t=F.Xe[this.He][this.Ge]}catch(t){throw f.Pt(this.Ge,t)}if(t[0]!==D)for(let e=t.length-1;e>=0;e--)this.Le.push(t[e])}else if(!this.Ue()){if(this.Le[this.Le.length-1]!==C)throw new f("Input doesn't evaluate to proper JSON text");return!!this.Oe}}}}F.Xe={[S]:{91:[91,65549]},[I]:{34:[y,A,93],91:[y,A,93],93:[93],123:[y,A,93],[d]:[y,A,93],[w]:[y,A,93],[g]:[y,A,93],[p]:[y,A,93]},[x]:{123:[123,65545]},[M]:{34:[E,T,125],125:[0]},[E]:{34:[b,58,y]},[T]:{44:[44,E,T],125:[D]},[b]:{34:[34,m,34]},[N]:{91:[S],123:[x]},[y]:{34:[b],91:[S],123:[x],[d]:[d],[w]:[w],[g]:[g],[p]:[p]},[A]:{44:[44,y,A],93:[D]}};class L{static readValue(t){if(t.read(),5===t.Token)return null;let e=new o;if(7===t.Token)return e.Ct(t.Value),e;if(6===t.Token)return e.bt(t.Value),e;if(8===t.Token)return e.At(t.Value),e;if(9===t.Token)return e.Dt(),e;if(4===t.Token)for(e.Rt(2);;){let r=L.readValue(t);if(null===r&&5===t.Token)break;e.add(r)}else if(1===t.Token)for(e.Rt(1);t.read(),3!==t.Token;){let r=t.Value;e.set(r,L.readValue(t))}return e}static qe(t){let e=new F(t);return L.readValue(e)}}var k={StartDateUtc:new Date(Date.UTC(1970,0,1,0,0,0,0)),je:function(t,e){t.IsArray&&(t=t.ArrayValue);for(var r=0;r<t.length;r++){var s=t[r];if(s.IsNumber)e.push(s.NumberValue);else if(s.IsArray){if(!(i=this.je(s.ArrayValue,e)))return!1}else if(s.IsJson){var n=s.ToArray(null);if(n.IsError)return!1;if(!(i=this.je(n.ArrayValue,e)))return!1}else{if(s.IsNull)continue;var i;if((i=s.ToNumber(null)).IsError)return!1;e.push(i.NumberValue)}}return!0},Je:function(t,e){return t.IsNumber&&e.IsNumber?t.NumberValue-e.NumberValue:t.IsText&&e.IsText?t.TextValue.localeCompare(e.TextValue):t.IsBoolean&&e.IsBoolean?t.BooleanValue===e.BooleanValue?0:t.BooleanValue?1:-1:t.IsDate&&e.IsDate?t.DateValue-e.DateValue:0},$e:function(t,e){for(;0!==e;){var r=e;e=t%e,t=r}return t},We:function(t){t.sort(function(t,e){return t-e});for(var e=this.$e(Math.floor(t[1]),Math.floor(t[0])),r=2;r<t.length;r++)e=this.$e(Math.floor(t[r]),e);return e},Ye:function(t){t.sort(function(t,e){return t-e}),t=t.filter(function(t){return t>1});for(var e=Math.floor(t[0]),r=1;r<t.length;r++){var s=Math.floor(t[r]);e=e/(s>e?this.$e(s,e):this.$e(e,s))*s}return e},Ke:function(t){if(t=t.trim(),!/^[+-]?(\d+([.]\d*)?|[.]\d+)([eE][+-]?\d+)?$/.test(t))return null;var e=parseFloat(t);return isNaN(e)?null:e},ze:function(t){if(0===t.length)return null;var e=t[0];if(">"===e||">"===e){if(t.length>1&&("="===t[1]||"="===t[1])){if(null!=(s=this.Ke(t.substring(2))))return{operator:">=",value:s}}else if(null!=(s=this.Ke(t.substring(1))))return{operator:">",value:s}}else if("<"===e||"<"===e){if(t.length>1&&("="===t[1]||"="===t[1])){if(null!=(s=this.Ke(t.substring(2))))return{operator:"<=",value:s}}else if(t.length>1&&(">"===t[1]||">"===t[1])){if(null!=(s=this.Ke(t.substring(2))))return{operator:"!=",value:s}}else if(null!=(s=this.Ke(t.substring(1))))return{operator:"<",value:s}}else if("="===e||"="===e){var r=1;if(t.length>1&&("="===t[1]||"="===t[1])&&(r=2,t.length>2&&("="===t[2]||"="===t[2])&&(r=3)),null!=(s=this.Ke(t.substring(r))))return{operator:"=",value:s}}else if("!"===e||"!"===e){var s;if(r=1,t.length>1&&("="===t[1]||"="===t[1])&&(r=2,t.length>2&&("="===t[2]||"="===t[2])&&(r=3)),null!=(s=this.Ke(t.substring(r))))return{operator:"!=",value:s}}return null},TryParseBoolean:function(t){return"true"===t.toLowerCase()||"yes"===t.toLowerCase()||"false"!==t.toLowerCase()&&"no"!==t.toLowerCase()&&("1"===t||"是"===t||"有"===t||"0"!==t&&"否"!==t&&"不是"!==t&&"无"!==t&&"没有"!==t&&null)},Qe:function(t,e,r){let s=0;for(let n=0;n<t.length;n++){let i=t[n];2===arguments.length?i===e&&s++:this.Je(i,r,e)&&s++}return s},Je:function(t,e,r){return"<"===r?t<e:"<="===r?t<=e:">"===r?t>e:">="===r?t>=e:"="===r?t===e:t!==e},Ze:function(t,e,r,s){let n=0;if(3===arguments.length){let s=e,i=r,u=Math.min(t.length,i.length);for(let e=0;e<u;e++)t[e]===s&&(n+=i[e])}else{let i=e,u=r,l=s,h=Math.min(t.length,l.length);for(let e=0;e<h;e++)this.Je(t[e],u,i)&&(n+=l[e])}return n}};class P{constructor(t,e,r,s,n,i){if(t instanceof Date)this.Year=t.getFullYear(),this.Month=t.getMonth()+1,this.Day=t.getDate(),this.Hour=t.getHours(),this.Minute=t.getMinutes(),this.Second=t.getSeconds();else if("number"==typeof t&&void 0===e){let e=t,r=Math.floor(e);if(r>365){let t=new Date(1900,0,1),e=new Date(t);e.setDate(e.getDate()+r-2),this.Year=e.getFullYear(),this.Month=e.getMonth()+1,this.Day=e.getDate()}else this.Year=null,this.Month=null,this.Day=r;let s=e-r;this.Hour=Math.floor(24*s),this.Minute=Math.floor(60*(24*s-this.Hour)),this.Second=Math.round(60*(60*(24*s-this.Hour)-this.Minute)),60===this.Second&&(this.Second=0,this.Minute++,60===this.Minute&&(this.Minute=0,this.Hour++))}else if("object"==typeof t&&null!==t&&"tr"in t){let e=t;this.Year=null,this.Month=null,this.Day=e.tr||0,this.Hour=e.er||0,this.Minute=e.rr||0,this.Second=e.sr||0}else this.Year=t,this.Month=e,this.Day=r,this.Hour=s||0,this.Minute=n||0,this.Second=i||0}toString(t){if(t)return this.toString();if(null!=this.Year&&this.Year>0)return`${this.Year}-${this.Month.toString().padStart(2,"0")}-${this.Day.toString().padStart(2,"0")} ${this.Hour.toString().padStart(2,"0")}:${this.Minute.toString().padStart(2,"0")}:${this.Second.toString().padStart(2,"0")}`;{let t="";return null!=this.Day&&this.Day>0&&(t+=`${this.Day} `),t+=`${this.Hour.toString().padStart(2,"0")}:${this.Minute.toString().padStart(2,"0")}:${this.Second.toString().padStart(2,"0")}`,t}}ToDateTime(t){return null!=this.Year&&this.Year>0?0===t?new Date(Date.UTC(this.Year,this.Month-1,this.Day,this.Hour,this.Minute,this.Second)):new Date(this.Year,this.Month-1,this.Day,this.Hour,this.Minute,this.Second):new Date(1970,0,1+(this.Day||0),this.Hour,this.Minute,this.Second)}ToTimeSpan(){return{tr:this.Day||0,er:this.Hour,rr:this.Minute,sr:this.Second}}AddYears(t){let e=(this.Year||0)+t;return new P(e,this.Month,this.Day,this.Hour,this.Minute,this.Second)}AddMonths(t){let e=(this.Month||0)+t;if(e>=1&&e<=12)return new P(this.Year,e,this.Day,this.Hour,this.Minute,this.Second);let r=this.ToDateTime();return r.setMonth(r.getMonth()+t),new P(r)}AddDays(t){if(null!=this.Year&&this.Year>1900){let e=(this.Day||0)+t;if(e>=1&&e<=28)return new P(this.Year,this.Month,e,this.Hour,this.Minute,this.Second);let r=this.ToDateTime();return r.setDate(r.getDate()+t),new P(r)}return new P(null,null,(this.Day||0)+t,this.Hour,this.Minute,this.Second)}AddHours(t){let e=this.Hour+t;if(e>=0&&e<24)return new P(this.Year,this.Month,this.Day,e,this.Minute,this.Second);if(null!=this.Year&&this.Year>1900){let e=this.ToDateTime();return e.setHours(e.getHours()+t),new P(e)}let r=this.Hour+t,s=Math.floor(r/24),n=r%24;return n<0&&(n+=24,s--),new P(null,null,(this.Day||0)+s,n,this.Minute,this.Second)}AddMinutes(t){let e=this.Minute+t;if(e>=0&&e<=59)return new P(this.Year,this.Month,this.Day,this.Hour,e,this.Second);if(null!=this.Year&&this.Year>1900){let e=this.ToDateTime();return e.setMinutes(e.getMinutes()+t),new P(e)}let r=this.Minute+t,s=Math.floor(r/60),n=r%60;return n<0&&(n+=60,s--),this.AddHours(s).AddMinutes(n)}AddSeconds(t){let e=this.Second+t;if(e>=0&&e<=59)return new P(this.Year,this.Month,this.Day,this.Hour,this.Minute,e);if(null!=this.Year&&this.Year>1900){let e=this.ToDateTime();return e.setSeconds(e.getSeconds()+t),new P(e)}let r=this.Second+t,s=Math.floor(r/60),n=r%60;return n<0&&(n+=60,s--),this.AddMinutes(s).AddSeconds(n)}ToLong(){let t=0;return null!=this.Year&&(t+=1e10*this.Year),null!=this.Month&&(t+=1e8*this.Month),null!=this.Day&&(t+=1e6*this.Day),t+=1e4*this.Hour,t+=100*this.Minute,t+=this.Second,t}static Parse(t){let e=t.trim(),r=e.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})$/);return r?new P(parseInt(r[1]),parseInt(r[2]),parseInt(r[3]),parseInt(r[4]),parseInt(r[5]),parseInt(r[6])):(r=e.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})\s+(\d{1,2}):(\d{1,2})$/),r?new P(parseInt(r[1]),parseInt(r[2]),parseInt(r[3]),parseInt(r[4]),parseInt(r[5]),0):(r=e.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/),r?new P(parseInt(r[1]),parseInt(r[2]),parseInt(r[3]),0,0,0):(r=e.match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/),r?new P(null,null,null,parseInt(r[1]),parseInt(r[2]),parseInt(r[3])):(r=e.match(/^(\d{1,2}):(\d{1,2})$/),r?new P(null,null,null,parseInt(r[1]),parseInt(r[2]),0):null))))}}"undefined"!=typeof window&&(window.MyDate=P);class _{static Version;static True;static False;static One;static Zero;get IsNull(){return!1}get IsNone(){return!1}get IsErrorOrNone(){return this.IsError||this.IsNone}get IsNumber(){return!1}get IsText(){return!1}get IsBoolean(){return!1}get IsArray(){return!1}get IsDate(){return!1}get IsJson(){return!1}get IsArrayJson(){return!1}get IsError(){return!1}get ErrorMsg(){return null}get Type(){throw new Error("FIXME")}get NumberValue(){throw new Error("FIXME")}get DoubleValue(){throw new Error("FIXME")}get IntValue(){throw new Error("FIXME")}get LongValue(){throw new Error("FIXME")}get TextValue(){throw new Error("FIXME")}get BooleanValue(){throw new Error("FIXME")}get ArrayValue(){throw new Error("FIXME")}get JsonValue(){throw new Error("FIXME")}get DateValue(){throw new Error("FIXME")}static Create(t){if(t instanceof _)return t;if("boolean"==typeof t)return t?_.True:_.False;if("number"==typeof t)return Number.isNaN(t)||!Number.isFinite(t)?_.Error("Number is NaN or Infinity!"):new V(t);if("string"==typeof t)return null===t?_.CreateNull():new H(t);if(t instanceof P)return new U(t);if(t instanceof o)return new G(t);if(Array.isArray(t)){let e=[];for(let r=0;r<t.length;r++){let s=_.Create(t[r]);e.push(s)}return new X(e)}return _.CreateNull()}static CreateJson(t){if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{let e=L.qe(t);return _.Create(e)}catch(t){}return _.Error("Convert to json error!")}static Error(t,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),new q(t)}static CreateNull(){return new j}ToNumber(t=null,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),_.Error(t??"Convert to number error!")}ToBoolean(t=null,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),_.Error(t??"Convert to bool error!")}ToText(t=null,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),_.Error(t??"Convert to string error!")}ToMyDate(t=null,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),_.Error(t??"Convert to date error!")}ToArray(t=null,...e){return e.length>0&&(t=t.replace(/\{\d+\}/g,(t,r)=>{let s=parseInt(t.substring(1,t.length-1));return void 0!==e[s]?e[s]:t})),_.Error(t??"Convert to array error!")}ToJson(t=null){return _.Error(t??"Convert to json error!")}}class V extends _{constructor(t){super(),this.nr=t}get IsNumber(){return!0}get Type(){return h.NUMBER}get IntValue(){return Math.trunc(this.nr)}get NumberValue(){return this.nr}get LongValue(){return Math.trunc(this.nr)}get DoubleValue(){return this.nr}ToNumber(t){return this}ToNumber(t,...e){return this}ToBoolean(t){return 0===this.nr?_.False:1===this.nr?_.True:super.ToBoolean(t)}ToBoolean(t,...e){return 0===this.nr?_.False:1===this.nr?_.True:super.ToBoolean(t,...e)}ToText(t){return _.Create(this.DoubleValue.toString())}ToText(t,...e){return _.Create(this.DoubleValue.toString())}toString(){return this.DoubleValue.toString()}}class B extends _{constructor(t){super(),this.nr=t}get IsBoolean(){return!0}get Type(){return h.BOOLEAN}get BooleanValue(){return this.nr}ToNumber(t){return this.nr?_.One:_.Zero}ToNumber(t,...e){return this.nr?_.One:_.Zero}ToBoolean(t){return this}ToBoolean(t,...e){return this}ToText(t){return _.Create(this.nr?"TRUE":"FALSE")}ToText(t,...e){return _.Create(this.nr?"TRUE":"FALSE")}toString(){return this.nr?"true":"false"}}class H extends _{constructor(t){super(),this.nr=t}get IsText(){return!0}get Type(){return h.TEXT}get TextValue(){return this.nr}ToNumber(t){return this.ir(t)}ToNumber(t,...e){return this.ir(this.ur(t,e))}ir(t){let e=this.Ke(this.TextValue);return null===e?null==t?_.Error("Convert to number error!"):_.Error(t):_.Create(e)}Ke(t){let e=t.trim();if(0===e.length)return null;let r=!1;if(e.startsWith("(")&&e.endsWith(")")&&(r=!0,e=e.substring(1,e.length-1).trim()),e.startsWith("¤")&&(e=e.substring(1).trim()),e.startsWith("+")?e=e.substring(1):e.startsWith("-")&&(r=!r,e=e.substring(1)),e=e.trim(),e.endsWith("-")?(r=!r,e=e.substring(0,e.length-1).trim()):e.endsWith("+")&&(e=e.substring(0,e.length-1).trim()),e=e.replace(/,/g,""),!/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e))return null;let s=parseFloat(e);return isNaN(s)?null:r?-s:s}ur(t,e){return 0===e.length?t:t.replace(/\{\d+\}/g,t=>{let r=parseInt(t.substring(1,t.length-1));return void 0!==e[r]?e[r]:t})}ToText(t){return this}ToText(t,...e){return this}ToBoolean(t){let e=k.TryParseBoolean(this.TextValue);return null!==e?e?_.True:_.False:null==t?_.Error("Convert to bool error!"):_.Error(t)}ToBoolean(t,...e){let r=k.TryParseBoolean(this.TextValue);return null!==r?r?_.True:_.False:null==t?_.Error("Convert to bool error!"):_.Error(t)}ToMyDate(t){return this.lr(t)}ToMyDate(t,...e){return this.lr(this.ur(t,e))}lr(t){let e=this.hr(this.TextValue);if(null!==e)return _.Create(e);try{let t=this.TextValue.replaceAll("/","-"),e=new Date(t);if(!isNaN(e.getTime()))return/^\d{4}-\d{2}-\d{2}/.test(t.trim())?_.Create(new P(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())):_.Create(new P(e))}catch(t){}return null==t?_.Error("Convert to date error!"):_.Error(t)}hr(t){let e=t.trim(),r=e.match(/^(-?\d+)\.(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(r)return new P({tr:parseInt(r[1]),er:parseInt(r[2]),rr:parseInt(r[3]),sr:r[4]?parseInt(r[4]):0});if(/^-?\d+$/.test(e))return new P({tr:parseInt(e),er:0,rr:0,sr:0});let s=e.match(/^(-?)(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(s){let t="-"===s[1],e=parseInt(s[2]),r=parseInt(s[3]),n=s[4]?parseInt(s[4]):0;return t&&(e=-e,r=-r,n=-n),new P({tr:0,er:e,rr:r,sr:n})}return null}ToArray(t){return _.Error(t??"Convert to array error!")}ToJson(t=null){let e=this.TextValue.trim();if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{let t=L.qe(e);return _.Create(t)}catch(t){}return _.Error(t??"Convert to json error!")}toString(){let t='"';for(let e of this.nr)switch(e){case'"':t+='\\"';break;case"\\":t+="\\\\";break;case"\n":t+="\\n";break;case"\r":t+="\\r";break;case"\t":t+="\\t";break;case"\b":t+="\\b";break;case"\f":t+="\\f";break;default:t+=e<" "?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e}return t+='"',t}}class U extends _{constructor(t){super(),this.nr=t}get IsDate(){return!0}get Type(){return h.DATE}get DateValue(){return this.nr}ToNumber(t){return _.Create(this.nr.valueOf())}ToNumber(t,...e){return _.Create(this.nr.valueOf())}ToBoolean(t){return 0!==this.nr.valueOf()?_.True:_.False}ToBoolean(t,...e){return 0!==this.nr.valueOf()?_.True:_.False}ToText(t){return _.Create(this.nr.toString())}ToText(t,...e){return _.Create(this.nr.toString())}ToMyDate(t){return this}ToMyDate(t,...e){return this}toString(){return'"'+this.nr.toString()+'"'}}class G extends _{constructor(t){super(),this.nr=t}get IsJson(){return!0}get Type(){return h.JSON}get JsonValue(){return this.nr}get IsArrayJson(){return!1}ToText(t=null){return _.Create(this.nr.toString())}ToText(t,...e){return _.Create(this.nr.toString())}ToArray(t){if(this.JsonValue.IsArray){let t=[];for(let e of this.JsonValue)e.IsString?t.push(_.Create(e.StringValue)):e.IsBoolean?t.push(_.Create(e.BooleanValue)):e.IsDouble?t.push(_.Create(e.NumberValue)):e.IsNull?t.push(_.CreateNull()):t.push(_.Create(e));return _.Create(t)}return _.Error(t??"Convert to array error!")}ToArray(t,...e){if(this.JsonValue.IsArray){let t=[];for(let e of this.JsonValue)e.IsString?t.push(_.Create(e.StringValue)):e.IsBoolean?t.push(_.Create(e.BooleanValue)):e.IsDouble?t.push(_.Create(e.NumberValue)):e.IsNull?t.push(_.CreateNull()):t.push(_.Create(e));return _.Create(t)}return _.Error(t)}ToJson(t=null){return this}TryGetValue(t){if(this.JsonValue.IsObject){let e=this.JsonValue.Et[t];if(e)return e.IsString?_.Create(e.StringValue):e.IsBoolean?_.Create(e.BooleanValue):e.IsDouble?_.Create(e.NumberValue):e.IsNull?_.CreateNull():_.Create(e)}return null}toString(){return this.nr.toString()}}class X extends _{constructor(t){super(),this.nr=t}get IsArray(){return!0}get Type(){return h.ARRAY}get ArrayValue(){return this.nr}ToText(t=null){return _.Create(this.toString())}ToText(t,...e){return _.Create(this.toString())}ToArray(t){return this}ToArray(t,...e){return this}ToJson(t=null){let e=this.toString();try{let t=L.qe(e);return _.Create(t)}catch(t){}return _.Error(t??"Convert to json error!")}toString(){return"["+this.ArrayValue.map(t=>t.toString()).join(",")+"]"}}class q extends _{get Type(){return h.ERROR}get IsError(){return!0}constructor(t){super(),this.ar=t}get ErrorMsg(){return this.ar}ToNumber(t){return this}ToNumber(t,...e){return this}ToBoolean(t){return this}ToBoolean(t,...e){return this}ToText(t){return this}ToText(t,...e){return this}ToArray(t){return this}ToArray(t,...e){return this}ToMyDate(t){return this}ToMyDate(t,...e){return this}}class j extends _{get IsNull(){return!0}get IsNotNull(){return!1}get Type(){return h.NULL}toString(){return"null"}}class J extends _{get IsNone(){return!0}get IsErrorOrNone(){return!0}get Type(){return h.NONE}toString(){return"none"}}class $ extends _{constructor(){super(),this.TextList=[]}get IsArrayJson(){return!0}get Type(){return h.ARRAYJSON}get ArrayValue(){return this.TextList.map(t=>t.Value)}ToText(t=null){return _.Create(this.toString())}ToText(t,...e){return _.Create(this.toString())}ToArray(t){return _.Create(this.ArrayValue)}ToArray(t,...e){return _.Create(this.ArrayValue)}ToJson(t=null){let e=this.toString();try{let t=L.qe(e);return _.Create(t)}catch(t){}return _.Error(t??"Convert to json error!")}AddValue(t){this.TextList.push(t)}TryGetValue(t){for(let e of this.TextList)if(e.key===t.toString())return e.value;return null}ContainsKey(t){for(let e of this.TextList)if(e.key===t.TextValue)return!0;return!1}ContainsValue(t){for(let e of this.TextList){let r=e.value;if(t.Type===r.Type&&t.IsText&&t.TextValue===r.TextValue)return!0}return!1}toString(){return"{"+this.TextList.map(t=>new H(t.key).toString()+":"+t.value.toString()).join(",")+"}"}}class W extends _{constructor(t){super(),this.nr=t}get IsArrayJson(){return!0}get Type(){return h.ARRAYJSON}get Value(){return this.nr}}_.Version=new H("ToolGood.Algorithm 6.3"),_.True=new B(!0),_.False=new B(!1),_.One=_.Create(1),_.Zero=_.Create(0),_.None=new J,"undefined"!=typeof window&&(window.Operand=_,window.OperandDouble=V,window.OperandBoolean=B,window.OperandString=H,window.OperandMyDate=U,window.OperandJson=G,window.OperandArray=X,window.OperandError=q,window.OperandNull=j,window.OperandNone=J,window.KeyValue=class{constructor(t,e){this.Key=t,this.Value=e}},window.OperandKeyValueList=$,window.OperandKeyValue=W);class Y{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.cr=null,this.line=null,this.dr=null,this.wr=null}gr(){return this.source[0]}pr(){return this.source[1]}get text(){return this.wr}set text(t){this.wr=t}}Y.mr=0,Y.EPSILON=-2,Y.vr=1,Y.EOF=-1,Y.Nr=0,Y.Mr=1;class K{Er(t,e,r,s,n,i){}Tr(t,e,r,s,n,i,u){}Sr(t,e,r,s,n,i){}Ir(t,e,r,s,n,i){}}class z extends K{constructor(){super()}Er(t,e,r,s,n,i){}}z.INSTANCE=new z;class Q extends K{constructor(t){if(super(),null===t)throw"delegates";return this.yr=t,this}Er(t,e,r,s,n,i){this.yr.map(u=>u.Er(t,e,r,s,n,i))}Tr(t,e,r,s,n,i,u){this.yr.map(l=>l.Tr(t,e,r,s,n,i,u))}Sr(t,e,r,s,n,i){this.yr.map(u=>u.Sr(t,e,r,s,n,i))}Ir(t,e,r,s,n,i){this.yr.map(u=>u.Ir(t,e,r,s,n,i))}}class Z{constructor(){this.Ar=[z.INSTANCE],this.br=null,this.Cr=-1}Dr(t){}Rr(t){this.Ar.push(t)}Fr(){this.Ar=[]}Lr(){return Object.getPrototypeOf(this).constructor.kr||[]}Pr(){return Object.getPrototypeOf(this).constructor._r||[]}Vr(){if(!this.Br){let t=this.Lr(),e=this.Pr(),r=t.length>e.length?t.length:e.length;this.Br=[];for(let s=0;s<r;s++)this.Br[s]=t[s]||e[s]||"<INVALID"}return this.Br}Hr(){let t=this.Vr();if(null===t)throw"The current recognizer does not provide a list of token names.";let e=this.Ur[t];return void 0===e&&(e=t.reduce(function(t,e,r){t[e]=r}),e.EOF=Y.EOF,this.Ur[t]=e),e}Gr(){let t=this.Xr;if(null===t)throw"The current recognizer does not provide a list of rule names.";let e=this.qr[t];return void 0===e&&(e=t.reduce(function(t,e,r){t[e]=r}),this.qr[t]=e),e}jr(t){let e=this.Hr()[t];return void 0!==e?e:Y.mr}Jr(t){return"line "+t.$r().line+":"+t.$r().dr}Wr(t){if(null===t)return"<no token>";let e=t.text;return null===e&&(e=t.type===Y.EOF?"<EOF>":"<"+t.type+">"),e=e.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"),"'"+e+"'"}Yr(){return this.Kr()}Kr(){return new Q(this.Ar)}zr(t,e,r){return!0}Qr(t,e){return!0}get Zr(){return this.br.Zr}get state(){return this.Cr}set state(t){this.Cr=t}}Z.Ur={},Z.qr={};class tt extends Y{constructor(t,e,r,s,n){super(),this.source=void 0!==t?t:tt.ts,this.type=void 0!==e?e:null,this.channel=void 0!==r?r:Y.Nr,this.start=void 0!==s?s:-1,this.stop=void 0!==n?n:-1,this.cr=-1,null!==this.source[0]?(this.line=t[0].line,this.dr=t[0].dr):this.dr=-1}clone(){let t=new tt(this.source,this.type,this.channel,this.start,this.stop);return t.cr=this.cr,t.line=this.line,t.dr=this.dr,t.text=this.text,t}es(t){let e=new tt(this.source,t,this.channel,this.start,this.stop);return e.cr=this.cr,e.line=this.line,e.dr=this.dr,t===Y.EOF&&(e.text=""),e}toString(){let t=this.text;return t=null!==t?t.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"<no text>","[@"+this.cr+","+this.start+":"+this.stop+"='"+t+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.dr+"]"}get text(){if(null!==this.wr)return this.wr;let t=this.pr();if(null===t)return null;let e=t.size;return this.start<e&&this.stop<e?t.rs(this.start,this.stop):"<EOF>"}set text(t){this.wr=t}}tt.ts=[null,null];class et{}class rt extends et{constructor(t){super(),this.ss=void 0!==t&&t}create(t,e,r,s,n,i,u,l){let h=new tt(t,e,s,n,i);return h.line=u,h.dr=l,null!==r?h.text=r:this.ss&&null!==t[1]&&(h.text=t[1].rs(n,i)),h}ns(t,e){let r=new tt(null,t);return r.text=e,r}}rt.DEFAULT=new rt;class st extends Error{constructor(t){super(t.message),Error.captureStackTrace&&Error.captureStackTrace(this,st),this.message=t.message,this.us=t.us,this.input=t.input,this.ls=t.ls,this.hs=null,this.cs=-1,null!==this.us&&(this.cs=this.us.state)}fs(){return null!==this.us?this.us.Zr.fs(this.cs,this.ls):null}toString(){return this.message}}class nt{constructor(t,e){this.start=t,this.stop=e}clone(){return new nt(this.start,this.stop)}contains(t){return t>=this.start&&t<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}}nt.ds=new nt(-1,-2);class it extends st{constructor(t,e,r,s){super({message:"",us:t,input:e,ls:null}),this.ws=r,this.gs=s}toString(){let t="";return this.ws>=0&&this.ws<this.input.size&&(t=this.input.rs(new nt(this.ws,this.ws))),"LexerNoViableAltException"+t}}class ut extends Z{constructor(t){super(),this.ps=t,this.vs=rt.DEFAULT,this.Ns=[this,t],this.br=null,this.xs=null,this.Ms=-1,this.Es=-1,this.Ts=-1,this.Ss=!1,this.Is=Y.Nr,this.ys=Y.mr,this.As=[],this.bs=ut.Cs,this.wr=null}reset(){null!==this.ps&&this.ps.seek(0),this.xs=null,this.ys=Y.mr,this.Is=Y.Nr,this.Ms=-1,this.Ts=-1,this.Es=-1,this.wr=null,this.Ss=!1,this.bs=ut.Cs,this.As=[],this.br.reset()}Zt(){if(null===this.ps)throw"nextToken requires a non-null input stream.";let t=this.ps.mark();try{for(;;){if(this.Ss)return this.Ds(),this.xs;this.xs=null,this.Is=Y.Nr,this.Ms=this.ps.index,this.Ts=this.br.dr,this.Es=this.br.line,this.wr=null;let t=!1;for(;;){this.ys=Y.mr;let e=ut.SKIP;try{e=this.br.match(this.ps,this.bs)}catch(t){if(!(t instanceof st))throw t;this.Rs(t),this.Os(t)}if(this.ps.LA(1)===Y.EOF&&(this.Ss=!0),this.ys===Y.mr&&(this.ys=e),this.ys===ut.SKIP){t=!0;break}if(this.ys!==ut.MORE)break}if(!t)return null===this.xs&&this.emit(),this.xs}}finally{this.ps.release(t)}}Fs(){this.ys=ut.SKIP}Ls(){this.ys=ut.MORE}mode(t){this.ks(t)}ks(t){this.bs=t}Ps(){return this.bs}_s(){return this.As}Vs(t){this.br.debug,this.As.push(this.bs),this.ks(t)}Bs(){if(0===this.As.length)throw"Empty Stack";return this.br.debug,this.ks(this.As.pop()),this.bs}Hs(t){this.xs=t}emit(){let t=this.vs.create(this.Ns,this.ys,this.wr,this.Is,this.Ms,this.Us()-1,this.Es,this.Ts);return this.Hs(t),t}Ds(){let t=this.dr,e=this.line,r=this.vs.create(this.Ns,Y.EOF,null,Y.Nr,this.ps.index,this.ps.index-1,e,t);return this.Hs(r),r}Us(){return this.ps.index}Gs(){let t=[],e=this.Zt();for(;e.type!==Y.EOF;)t.push(e),e=this.Zt();return t}Rs(t){let e=this.Ms,r=this.ps.index,s=this.ps.rs(e,r),n="token recognition error at: '"+this.Xs(s)+"'";this.Kr().Er(this,null,this.Es,this.Ts,n,t)}Xs(t){let e=[];for(let r=0;r<t.length;r++)e.push(t[r]);return e.join("")}qs(t){return t.charCodeAt(0)===Y.EOF?"<EOF>":"\n"===t?"\\n":"\t"===t?"\\t":"\r"===t?"\\r":t}js(t){return"'"+this.qs(t)+"'"}Os(t){this.ps.LA(1)!==Y.EOF&&(t instanceof it?this.br.Js(this.ps):this.ps.Js())}get $s(){return this.ps}set $s(t){this.ps=null,this.Ns=[this,this.ps],this.reset(),this.ps=t,this.Ns=[this,this.ps]}get Ws(){return this.ps.Ws}get type(){return this.ys}set type(t){this.ys=t}get line(){return this.br.line}set line(t){this.br.line=t}get dr(){return this.br.dr}set dr(t){this.br.dr=t}get text(){return null!==this.wr?this.wr:this.br.rs(this.ps)}set text(t){this.wr=t}}ut.Cs=0,ut.MORE=-2,ut.SKIP=-3,ut.Ys=Y.Nr,ut.HIDDEN=Y.Mr,ut.Ks=0,ut.zs=1114111;class lt{}class ht extends lt{constructor(t){super(),this.Qs=t,this.Zs=[],this.index=-1,this.tn=!1}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.en(),this.index=this.rn(t)}get size(){return this.Zs.length}get(t){return this.en(),this.Zs[t]}Js(){let t=!1;if(t=this.index>=0&&(this.tn?this.index<this.Zs.length-1:this.index<this.Zs.length),!t&&this.LA(1)===Y.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.rn(this.index+1))}sync(t){let e=t-this.Zs.length+1;return!(e>0)||this.fetch(e)>=e}fetch(t){if(this.tn)return 0;for(let e=0;e<t;e++){let t=this.Qs.Zt();if(t.cr=this.Zs.length,this.Zs.push(t),t.type===Y.EOF)return this.tn=!0,e+1}return t}sn(t,e,r){if(void 0===r&&(r=null),t<0||e<0)return null;this.en();let s=[];e>=this.Zs.length&&(e=this.Zs.length-1);for(let n=t;n<e;n++){let t=this.Zs[n];if(t.type===Y.EOF)break;(null===r||r.contains(t.type))&&s.push(t)}return s}LA(t){return this.LT(t).type}LB(t){return this.index-t<0?null:this.Zs[this.index-t]}LT(t){if(this.en(),0===t)return null;if(t<0)return this.LB(-t);let e=this.index+t-1;return this.sync(e),e>=this.Zs.length?this.Zs[this.Zs.length-1]:this.Zs[e]}rn(t){return t}en(){-1===this.index&&this.nn()}nn(){this.sync(0),this.index=this.rn(0)}un(t){this.Qs=t,this.Zs=[],this.index=-1,this.tn=!1}ln(t,e){if(this.sync(t),t>=this.Zs.length)return-1;let r=this.Zs[t];for(;r.channel!==e;){if(r.type===Y.EOF)return-1;t+=1,this.sync(t),r=this.Zs[t]}return t}hn(t,e){for(;t>=0&&this.Zs[t].channel!==e;)t-=1;return t}an(t,e){if(void 0===e&&(e=-1),this.en(),t<0||t>=this.Zs.length)throw t+" not in 0.."+this.Zs.length-1;let r=this.ln(t+1,ut.Ys),s=t+1,n=-1===r?this.Zs.length-1:r;return this.cn(s,n,e)}fn(t,e){if(void 0===e&&(e=-1),this.en(),t<0||t>=this.Zs.length)throw t+" not in 0.."+this.Zs.length-1;let r=this.hn(t-1,ut.Ys);if(r===t-1)return null;let s=r+1,n=t-1;return this.cn(s,n,e)}cn(t,e,r){let s=[];for(let n=t;n<e+1;n++){let t=this.Zs[n];-1===r?t.channel!==ut.Ys&&s.push(t):t.channel===r&&s.push(t)}return 0===s.length?null:s}dn(){return this.Qs.dn()}rs(t){this.en(),this.fill(),t||(t=new nt(0,this.Zs.length-1));let e=t.start;e instanceof Y&&(e=e.cr);let r=t.stop;if(r instanceof Y&&(r=r.cr),null===e||null===r||e<0||r<0)return"";r>=this.Zs.length&&(r=this.Zs.length-1);let s="";for(let t=e;t<r+1;t++){let e=this.Zs[t];if(e.type===Y.EOF)break;s+=e.text}return s}fill(){for(this.en();1e3===this.fetch(1e3););}}Object.defineProperty(ht,"size",{get:function(){return this.Zs.length}});class at extends ht{constructor(t,e){super(t),this.channel=void 0===e?Y.Nr:e}rn(t){return this.ln(t,this.channel)}LB(t){if(0===t||this.index-t<0)return null;let e=this.index,r=1;for(;r<=t;)e=this.hn(e-1,this.channel),r+=1;return e<0?null:this.Zs[e]}LT(t){if(this.en(),0===t)return null;if(t<0)return this.LB(-t);let e=this.index,r=1;for(;r<t;)this.sync(e+1)&&(e=this.ln(e+1,this.channel)),r+=1;return this.Zs[e]}wn(){let t=0;this.fill();for(let e=0;e<this.Zs.length;e++){let r=this.Zs[e];if(r.channel===this.channel&&(t+=1),r.type===Y.EOF)break}return t}}function ot(t,e){if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!(t[r]===e[r]||t[r].equals&&t[r].equals(e[r])))return!1;return!0}let ct=Math.round(Math.random()*Math.pow(2,32));function ft(t){if(!t)return 0;let e,r,s=typeof t,n="string"===s?t:!("object"!==s||!t.toString)&&t.toString();if(!n)return 0;let i=3&n.length,u=n.length-i,l=ct,h=3432918353,a=461845907,o=0;for(;o<u;)r=255&n.charCodeAt(o)|(255&n.charCodeAt(++o))<<8|(255&n.charCodeAt(++o))<<16|(255&n.charCodeAt(++o))<<24,++o,r=(65535&r)*h+(((r>>>16)*h&65535)<<16)&4294967295,r=r<<15|r>>>17,r=(65535&r)*a+(((r>>>16)*a&65535)<<16)&4294967295,l^=r,l=l<<13|l>>>19,e=5*(65535&l)+((5*(l>>>16)&65535)<<16)&4294967295,l=27492+(65535&e)+(((e>>>16)+58964&65535)<<16);switch(r=0,i){case 3:r^=(255&n.charCodeAt(o+2))<<16;case 2:r^=(255&n.charCodeAt(o+1))<<8;case 1:r^=255&n.charCodeAt(o),r=(65535&r)*h+(((r>>>16)*h&65535)<<16)&4294967295,r=r<<15|r>>>17,r=(65535&r)*a+(((r>>>16)*a&65535)<<16)&4294967295,l^=r}return l^=n.length,l^=l>>>16,l=2246822507*(65535&l)+((2246822507*(l>>>16)&65535)<<16)&4294967295,l^=l>>>13,l=3266489909*(65535&l)+((3266489909*(l>>>16)&65535)<<16)&4294967295,l^=l>>>16,l>>>0}class dt{constructor(){this.count=0,this.hash=0}update(){for(let t=0;t<arguments.length;t++){let e=arguments[t];if(null!=e)if(Array.isArray(e))this.update.apply(this,e);else{let t=0;switch(typeof e){case"undefined":case"function":continue;case"number":case"boolean":t=e;break;case"string":t=ft(e);break;default:e.gn&&e.gn(this);continue}t*=3432918353,t=t<<15|t>>>17,t*=461845907,this.count=this.count+1;let r=this.hash^t;r=r<<13|r>>>19,r=5*r+3864292196,this.hash=r}}}finish(){let t=this.hash^4*this.count;return t^=t>>>16,t*=2246822507,t^=t>>>13,t*=3266489909,t^=t>>>16,t}static pn(){let t=new dt;return t.update.apply(t,arguments),t.finish()}}function wt(t){return t?"string"==typeof t?ft(t):t.mn():-1}function gt(t,e){return t&&t.equals?t.equals(e):t===e}function pt(t){return null===t?"null":t}function mt(t){return Array.isArray(t)?"["+t.map(pt).join(", ")+"]":"null"}class vt{constructor(t,e){this.vn=new Array(16),this.threshold=Math.floor(12),this.Nn=0,this.xn=t||wt,this.Mn=e||gt}get(t){if(null==t)return t;let e=this.En(t);if(!e)return null;for(let r of e)if(this.Mn(r,t))return r;return null}add(t){return this.Tn(t)===t}Tn(t){this.Sn();let e=this.In(t),r=this.vn[e];if(!r)return r=[t],this.vn[e]=r,this.Nn++,t;for(let e of r)if(this.Mn(e,t))return e;return r.push(t),this.Nn++,t}has(t){return null!=this.get(t)}values(){return this.vn.filter(t=>null!=t).flat(1)}toString(){return mt(this.values())}get length(){return this.Nn}In(t){return this.xn(t)&this.vn.length-1}En(t){return this.vn[this.In(t)]}Sn(){if(this.Nn<=this.threshold)return;let t=this.vn,e=2*this.vn.length;this.vn=new Array(e),this.threshold=Math.floor(.75*e);for(let e of t)if(e)for(let t of e){let e=this.In(t),r=this.vn[e];r||(r=[],this.vn[e]=r),r.push(t)}}}class Nt{mn(){let t=new dt;return this.gn(t),t.finish()}evaluate(t,e){}yn(t,e){return this}static An(t,e){if(null===t||t===Nt.NONE)return e;if(null===e||e===Nt.NONE)return t;let r=new xt(t,e);return 1===r.bn.length?r.bn[0]:r}static Cn(t,e){if(null===t)return e;if(null===e)return t;if(t===Nt.NONE||e===Nt.NONE)return Nt.NONE;let r=new Mt(t,e);return 1===r.bn.length?r.bn[0]:r}}class xt extends Nt{constructor(t,e){super();let r=new vt;t instanceof xt?t.bn.map(function(t){r.add(t)}):r.add(t),e instanceof xt?e.bn.map(function(t){r.add(t)}):r.add(e);let s=Et(r);if(s.length>0){let t=null;s.map(function(e){(null===t||e.Dn<t.Dn)&&(t=e)}),r.add(t)}this.bn=Array.from(r.values())}equals(t){return this===t||t instanceof xt&&ot(this.bn,t.bn)}gn(t){t.update(this.bn,"AND")}evaluate(t,e){for(let r=0;r<this.bn.length;r++)if(!this.bn[r].evaluate(t,e))return!1;return!0}yn(t,e){let r=!1,s=[];for(let n=0;n<this.bn.length;n++){let i=this.bn[n],u=i.yn(t,e);if(r|=u!==i,null===u)return null;u!==Nt.NONE&&s.push(u)}if(!r)return this;if(0===s.length)return Nt.NONE;let n=null;return s.map(function(t){n=null===n?t:Nt.An(n,t)}),n}toString(){let t=this.bn.map(t=>t.toString());return(t.length>3?t.slice(3):t).join("&&")}}class Mt extends Nt{constructor(t,e){super();let r=new vt;t instanceof Mt?t.bn.map(function(t){r.add(t)}):r.add(t),e instanceof Mt?e.bn.map(function(t){r.add(t)}):r.add(e);let s=Et(r);if(s.length>0){let t=s.sort(function(t,e){return t.Rn(e)}),e=t[t.length-1];r.add(e)}this.bn=Array.from(r.values())}equals(t){return this===t||t instanceof Mt&&ot(this.bn,t.bn)}gn(t){t.update(this.bn,"OR")}evaluate(t,e){for(let r=0;r<this.bn.length;r++)if(this.bn[r].evaluate(t,e))return!0;return!1}yn(t,e){let r=!1,s=[];for(let n=0;n<this.bn.length;n++){let i=this.bn[n],u=i.yn(t,e);if(r|=u!==i,u===Nt.NONE)return Nt.NONE;null!==u&&s.push(u)}return r?(0===s.length||s.map(function(t){return t}),null):this}toString(){let t=this.bn.map(t=>t.toString());return(t.length>3?t.slice(3):t).join("||")}}function Et(t){let e=[];return t.values().map(function(t){t instanceof Nt.PrecedencePredicate&&e.push(t)}),e}function Tt(t,e){if(null===t){let t={state:null,alt:null,context:null,On:null};return e&&(t.Fn=0),t}{let r={};return r.state=t.state||null,r.alt=void 0===t.alt?null:t.alt,r.context=t.context||null,r.On=t.On||null,e&&(r.Fn=t.Fn||0,r.Ln=t.Ln||!1),r}}class St{constructor(t,e){this.kn(t,e),t=Tt(t),e=Tt(e,!0),this.state=null!==t.state?t.state:e.state,this.alt=null!==t.alt?t.alt:e.alt,this.context=null!==t.context?t.context:e.context,this.On=null!==t.On?t.On:null!==e.On?e.On:Nt.NONE,this.Fn=e.Fn,this.Ln=e.Ln}kn(t,e){null!==t.context&&void 0!==t.context||null!==e&&null!==e.context&&void 0!==e.context||(this.context=null)}mn(){let t=new dt;return this.gn(t),t.finish()}gn(t){t.update(this.state.Pn,this.alt,this.context,this.On)}equals(t){return this===t||t instanceof St&&this.state.Pn===t.state.Pn&&this.alt===t.alt&&(null===this.context?null===t.context:this.context.equals(t.context))&&this.On.equals(t.On)&&this.Ln===t.Ln}_n(){let t=new dt;return t.update(this.state.Pn,this.alt,this.On),t.finish()}Vn(t){return this===t||t instanceof St&&this.state.Pn===t.state.Pn&&this.alt===t.alt&&this.On.equals(t.On)}toString(){return"("+this.state+","+this.alt+(null!==this.context?",["+this.context.toString()+"]":"")+(this.On!==Nt.NONE?","+this.On.toString():"")+(this.Fn>0?",up="+this.Fn:"")+")"}}class It{constructor(){this.Bn=null,this.readOnly=!1}first(t){return null===this.Bn||0===this.Bn.length?Y.mr:this.Bn[0].start}Hn(t){this.Un(new nt(t,t+1))}addRange(t,e){this.Un(new nt(t,e+1))}Un(t){if(null===this.Bn)this.Bn=[],this.Bn.push(t.clone());else{for(let e=0;e<this.Bn.length;e++){let r=this.Bn[e];if(t.stop<r.start)return void this.Bn.splice(e,0,t);if(t.stop===r.start)return void(this.Bn[e]=new nt(t.start,r.stop));if(t.start<=r.stop)return this.Bn[e]=new nt(Math.min(r.start,t.start),Math.max(r.stop,t.stop)),void this.reduce(e)}this.Bn.push(t.clone())}}Gn(t){return null!==t.Bn&&t.Bn.forEach(t=>this.Un(t),this),this}reduce(t){if(t<this.Bn.length-1){let e=this.Bn[t],r=this.Bn[t+1];e.stop>=r.stop?(this.Bn.splice(t+1,1),this.reduce(t)):e.stop>=r.start&&(this.Bn[t]=new nt(e.start,r.stop),this.Bn.splice(t+1,1))}}Xn(t,e){let r=new It;return r.Un(new nt(t,e+1)),null!==this.Bn&&this.Bn.forEach(t=>r.removeRange(t)),r}contains(t){if(null===this.Bn)return!1;for(let e=0;e<this.Bn.length;e++)if(this.Bn[e].contains(t))return!0;return!1}removeRange(t){if(t.start===t.stop-1)this.qn(t.start);else if(null!==this.Bn){let e=0;for(let r=0;r<this.Bn.length;r++){let r=this.Bn[e];if(t.stop<=r.start)return;if(t.start>r.start&&t.stop<r.stop){this.Bn[e]=new nt(r.start,t.start);let s=new nt(t.stop,r.stop);return void this.Bn.splice(e,0,s)}t.start<=r.start&&t.stop>=r.stop?(this.Bn.splice(e,1),e-=1):t.start<r.stop?this.Bn[e]=new nt(r.start,t.start):t.stop<r.stop&&(this.Bn[e]=new nt(t.stop,r.stop)),e+=1}}}qn(t){if(null!==this.Bn)for(let e=0;e<this.Bn.length;e++){let r=this.Bn[e];if(t<r.start)return;if(t===r.start&&t===r.stop-1)return void this.Bn.splice(e,1);if(t===r.start)return void(this.Bn[e]=new nt(r.start+1,r.stop));if(t===r.stop-1)return void(this.Bn[e]=new nt(r.start,r.stop-1));if(t<r.stop-1){let s=new nt(r.start,t);return r.start=t+1,void this.Bn.splice(e,0,s)}}}toString(t,e,r){return t=t||null,e=e||null,r=r||!1,null===this.Bn?"{}":null!==t||null!==e?this.jn(t,e):r?this.Jn():this.$n()}Jn(){let t=[];for(let e=0;e<this.Bn.length;e++){let r=this.Bn[e];r.stop===r.start+1?r.start===Y.EOF?t.push("<EOF>"):t.push("'"+String.fromCharCode(r.start)+"'"):t.push("'"+String.fromCharCode(r.start)+"'..'"+String.fromCharCode(r.stop-1)+"'")}return t.length>1?"{"+t.join(", ")+"}":t[0]}$n(){let t=[];for(let e=0;e<this.Bn.length;e++){let r=this.Bn[e];r.stop===r.start+1?r.start===Y.EOF?t.push("<EOF>"):t.push(r.start.toString()):t.push(r.start.toString()+".."+(r.stop-1).toString())}return t.length>1?"{"+t.join(", ")+"}":t[0]}jn(t,e){let r=[];for(let s=0;s<this.Bn.length;s++){let n=this.Bn[s];for(let s=n.start;s<n.stop;s++)r.push(this.Wn(t,e,s))}return r.length>1?"{"+r.join(", ")+"}":r[0]}Wn(t,e,r){return r===Y.EOF?"<EOF>":r===Y.EPSILON?"<EPSILON>":t[r]||e[r]}get length(){return this.Bn.map(t=>t.length).reduce((t,e)=>t+e)}}class yt{constructor(){this.Zr=null,this.Pn=yt.Yn,this.Kn=null,this.zn=0,this.Qn=!1,this.Zn=[],this.ti=null}toString(){return this.Pn}equals(t){return t instanceof yt&&this.Pn===t.Pn}ei(){return!1}ri(t,e){void 0===e&&(e=-1),0===this.Zn.length?this.Qn=t.si:this.Qn!==t.si&&(this.Qn=!1),-1===e?this.Zn.push(t):this.Zn.splice(e,1,t)}}yt.mr=0,yt.BASIC=1,yt.ni=2,yt.ii=3,yt.ui=4,yt.li=5,yt.hi=6,yt.ai=7,yt.oi=8,yt.ci=9,yt.fi=10,yt.di=11,yt.wi=12,yt.gi=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],yt.Yn=-1;class At extends yt{constructor(){return super(),this.Kn=yt.ai,this}}class bt{constructor(t){if(null==t)throw"target cannot be null.";this.target=t,this.si=!1,this.label=null}}bt.EPSILON=1,bt.RANGE=2,bt.RULE=3,bt.PREDICATE=4,bt.ATOM=5,bt.ACTION=6,bt.SET=7,bt.pi=8,bt.WILDCARD=9,bt.PRECEDENCE=10,bt.gi=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],bt.mi={EpsilonTransition:bt.EPSILON,RangeTransition:bt.RANGE,RuleTransition:bt.RULE,PredicateTransition:bt.PREDICATE,AtomTransition:bt.ATOM,ActionTransition:bt.ACTION,Ni:bt.SET,NotSetTransition:bt.pi,WildcardTransition:bt.WILDCARD,PrecedencePredicateTransition:bt.PRECEDENCE};class Ct extends bt{constructor(t,e,r,s){super(t),this.zn=e,this.Dn=r,this.xi=s,this.Mi=bt.RULE,this.si=!0}matches(t,e,r){return!1}}class Dt extends bt{constructor(t,e){super(t),this.Mi=bt.SET,null!=e?this.label=e:(this.label=new It,this.label.Hn(Y.mr))}matches(t,e,r){return this.label.contains(t)}toString(){return this.label.toString()}}class Rt extends Dt{constructor(t,e){super(t,e),this.Mi=bt.pi}matches(t,e,r){return t>=e&&t<=r&&!super.matches(t,e,r)}toString(){return"~"+super.toString()}}class Ot extends bt{constructor(t){super(t),this.Mi=bt.WILDCARD}matches(t,e,r){return t>=e&&t<=r}toString(){return"."}}class Ft extends bt{constructor(t){super(t)}}class Lt{}class kt extends Lt{}class Pt extends kt{}class _t extends Pt{get Ei(){throw new Error("missing interface implementation")}}class Vt extends Pt{}class Bt extends Vt{}let Ht={Ti:function(t,e,r){e=e||null,null!==(r=r||null)&&(e=r.Xr);let s=Ht.Si(t,e);s=function(t){return t.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(s);let n=t.Ii();if(0===n)return s;let i="("+s+" ";n>0&&(s=Ht.Ti(t.yi(0),e),i=i.concat(s));for(let r=1;r<n;r++)s=Ht.Ti(t.yi(r),e),i=i.concat(" "+s);return i=i.concat(")"),i},Si:function(t,e,r){if(e=e||null,null!==(r=r||null)&&(e=r.Xr),null!==e){if(t instanceof _t){let r=t.Ei.Ai();return 0!=r?e[t.zn]+":"+r:e[t.zn]}if(t instanceof Bt)return t.toString();if(t instanceof Vt&&null!==t.bi)return t.bi.text}let s=t.Ci();return s instanceof Y?s.text:t.Ci().toString()},Di:function(t){let e=[];for(let r=0;r<t.Ii();r++)e.push(t.yi(r));return e},Ri:function(t){let e=[];for(t=t.getParent();null!==t;)e=[t].concat(e),t=t.getParent();return e},Oi:function(t,e){return Ht.Fi(t,e,!0)},Li:function(t,e){return Ht.Fi(t,e,!1)},Fi:function(t,e,r){let s=[];return Ht.ki(t,e,r,s),s},ki:function(t,e,r,s){r&&t instanceof Vt?t.bi.type===e&&s.push(t):!r&&t instanceof _t&&t.zn===e&&s.push(t);for(let n=0;n<t.Ii();n++)Ht.ki(t.yi(n),e,r,s)},Pi:function(t){let e=[t];for(let r=0;r<t.Ii();r++)e=e.concat(Ht.Pi(t.yi(r)));return e}};const Ut=Ht;class Gt extends _t{constructor(t,e){super(),this._i=t||null,this.Vi=e||-1}Bi(){let t=0,e=this;for(;null!==e;)e=e._i,t+=1;return t}Hi(){return-1===this.Vi}Ui(){return nt.ds}get Ei(){return this}Ci(){return this}rs(){return 0===this.Ii()?"":this.children.map(function(t){return t.rs()}).join("")}Ai(){return 0}Gi(t){}yi(t){return null}Ii(){return 0}accept(t){return t.Xi(this)}Ti(t,e){return Ut.Ti(this,t,e)}toString(t,e){t=t||null,e=e||null;let r=this,s="[";for(;null!==r&&r!==e;){if(null===t)r.Hi()||(s+=r.Vi);else{let e=r.zn;s+=e>=0&&e<t.length?t[e]:""+e}null===r._i||null===t&&r._i.Hi()||(s+=" "),r=r._i}return s+="]",s}}class Xt{constructor(t){this.qi=t}Hi(){return this===Xt.EMPTY}ji(){return this.Ji(this.length-1)===Xt.$i}mn(){return this.qi}gn(t){t.update(this.qi)}}Xt.EMPTY=null,Xt.$i=2147483647,Xt.Wi=1,Xt.id=Xt.Wi,Xt.Yi=!1;class qt extends Xt{constructor(t,e){let r=new dt;return r.update(t,e),super(r.finish()),this.Ki=t,this.zi=e,this}Hi(){return this.zi[0]===Xt.$i}getParent(t){return this.Ki[t]}Ji(t){return this.zi[t]}equals(t){return this===t||t instanceof qt&&this.mn()===t.mn()&&ot(this.zi,t.zi)&&ot(this.Ki,t.Ki)}toString(){if(this.Hi())return"[]";{let t="[";for(let e=0;e<this.zi.length;e++)e>0&&(t+=", "),this.zi[e]!==Xt.$i?(t+=this.zi[e],null!==this.Ki[e]?t=t+" "+this.Ki[e]:t+="null"):t+="$";return t+"]"}}get length(){return this.zi.length}}class jt extends Xt{constructor(t,e){let r=0,s=new dt;null!==t?s.update(t,e):s.update(1),r=s.finish(),super(r),this._i=t,this.Qi=e}getParent(t){return this._i}Ji(t){return this.Qi}equals(t){return this===t||t instanceof jt&&this.mn()===t.mn()&&this.Qi===t.Qi&&(null==this._i?null==t._i:this._i.equals(t._i))}toString(){let t=null===this._i?"":this._i.toString();return 0===t.length?this.Qi===Xt.$i?"$":""+this.Qi:this.Qi+" "+t}get length(){return 1}static create(t,e){return e===Xt.$i&&null===t?Xt.EMPTY:new jt(t,e)}}class Jt extends jt{constructor(){super(null,Xt.$i)}Hi(){return!0}getParent(t){return null}Ji(t){return this.Qi}equals(t){return this===t}toString(){return"$"}}Xt.EMPTY=new Jt;class $t{constructor(t,e){this.vn=new Array(16),this.threshold=Math.floor(12),this.Nn=0,this.xn=t||wt,this.Mn=e||gt}set(t,e){this.Sn();let r=this.In(t),s=this.vn[r];if(!s)return s=[[t,e]],this.vn[r]=s,this.Nn++,e;let n=s.find(e=>this.Mn(e[0],t),this);if(n){let t=n[1];return n[1]=e,t}return s.push([t,e]),this.Nn++,e}Zi(t){let e=this.En(t);return!!e&&!!e.find(e=>this.Mn(e[0],t),this)}get(t){let e=this.En(t);if(!e)return null;let r=e.find(e=>this.Mn(e[0],t),this);return r?r[1]:null}entries(){return this.vn.filter(t=>null!=t).flat(1)}tu(){return this.entries().map(t=>t[0])}getValues(){return this.entries().map(t=>t[1])}toString(){return"["+this.entries().map(t=>"{"+t[0]+":"+t[1]+"}").join(", ")+"]"}get length(){return this.Nn}In(t){return this.xn(t)&this.vn.length-1}En(t){return this.vn[this.In(t)]}Sn(){if(this.Nn<=this.threshold)return;let t=this.vn,e=2*this.vn.length;this.vn=new Array(e),this.threshold=Math.floor(.75*e);for(let e of t)if(e)for(let t of e){let e=this.In(t[0]),r=this.vn[e];r||(r=[],this.vn[e]=r),r.push(t)}}}function Wt(t,e){if(null==e&&(e=Gt.EMPTY),null===e._i||e===Gt.EMPTY)return Xt.EMPTY;let r=Wt(t,e._i),s=t.states[e.Vi].Zn[0];return jt.create(r,s.xi.Pn)}function Yt(t,e,r){if(t.Hi())return t;let s=r.get(t)||null;if(null!==s)return s;if(s=e.get(t),null!==s)return r.set(t,s),s;let n=!1,i=[];for(let s=0;s<i.length;s++){let u=Yt(t.getParent(s),e,r);if(n||u!==t.getParent(s)){if(!n){i=[];for(let e=0;e<t.length;e++)i[e]=t.getParent(e);n=!0}i[s]=u}}if(!n)return e.add(t),r.set(t,t),t;let u=null;return u=0===i.length?Xt.EMPTY:1===i.length?jt.create(i[0],t.Ji(0)):new qt(i,t.zi),e.add(u),r.set(u,u),r.set(t,u),u}function Kt(t,e,r,s){if(t===e)return t;if(t instanceof jt&&e instanceof jt)return function(t,e,r,s){if(null!==s){let r=s.get(t,e);if(null!==r)return r;if(r=s.get(e,t),null!==r)return r}let n=function(t,e,r){if(r){if(t===Xt.EMPTY)return Xt.EMPTY;if(e===Xt.EMPTY)return Xt.EMPTY}else{if(t===Xt.EMPTY&&e===Xt.EMPTY)return Xt.EMPTY;if(t===Xt.EMPTY){let t=[e.Qi,Xt.$i],r=[e._i,null];return new qt(r,t)}if(e===Xt.EMPTY){let e=[t.Qi,Xt.$i],r=[t._i,null];return new qt(r,e)}}return null}(t,e,r);if(null!==n)return null!==s&&s.set(t,e,n),n;if(t.Qi===e.Qi){let n=Kt(t._i,e._i,r,s);if(n===t._i)return t;if(n===e._i)return e;let i=jt.create(n,t.Qi);return null!==s&&s.set(t,e,i),i}{let r=null;if((t===e||null!==t._i&&t._i===e._i)&&(r=t._i),null!==r){let n=[t.Qi,e.Qi];t.Qi>e.Qi&&(n[0]=e.Qi,n[1]=t.Qi);let i=new qt([r,r],n);return null!==s&&s.set(t,e,i),i}let n=[t.Qi,e.Qi],i=[t._i,e._i];t.Qi>e.Qi&&(n[0]=e.Qi,n[1]=t.Qi,i=[e._i,t._i]);let u=new qt(i,n);return null!==s&&s.set(t,e,u),u}}(t,e,r,s);if(r){if(t instanceof Jt)return t;if(e instanceof Jt)return e}return t instanceof jt&&(t=new qt([t.getParent()],[t.Qi])),e instanceof jt&&(e=new qt([e.getParent()],[e.Qi])),function(t,e,r,s){if(null!==s){let r=s.get(t,e);if(null!==r)return Xt.Yi,r;if(r=s.get(e,t),null!==r)return Xt.Yi,r}let n=0,i=0,u=0,l=new Array(t.zi.length+e.zi.length).fill(0),h=new Array(t.zi.length+e.zi.length).fill(null);for(;n<t.zi.length&&i<e.zi.length;){let a=t.Ki[n],o=e.Ki[i];if(t.zi[n]===e.zi[i]){let e=t.zi[n];e===Xt.$i&&null===a&&null===o||null!==a&&null!==o&&a===o?(h[u]=a,l[u]=e):(h[u]=Kt(a,o,r,s),l[u]=e),n+=1,i+=1}else t.zi[n]<e.zi[i]?(h[u]=a,l[u]=t.zi[n],n+=1):(h[u]=o,l[u]=e.zi[i],i+=1);u+=1}if(n<t.zi.length)for(let e=n;e<t.zi.length;e++)h[u]=t.Ki[e],l[u]=t.zi[e],u+=1;else for(let t=i;t<e.zi.length;t++)h[u]=e.Ki[t],l[u]=e.zi[t],u+=1;if(u<h.length){if(1===u){let r=jt.create(h[0],l[0]);return null!==s&&s.set(t,e,r),r}h=h.slice(0,u),l=l.slice(0,u)}let a=new qt(h,l);return a.equals(t)?(null!==s&&s.set(t,e,t),Xt.Yi,t):a.equals(e)?(null!==s&&s.set(t,e,e),Xt.Yi,e):(function(t){let e=new $t;for(let r=0;r<t.length;r++){let s=t[r];e.Zi(s)||e.set(s,s)}for(let r=0;r<t.length;r++)t[r]=e.get(t[r])}(h),null!==s&&s.set(t,e,a),Xt.Yi,a)}(t,e,r,s)}class zt{constructor(){this.data=new Uint32Array(1)}set(t){zt.eu(t),this.ru(t),this.data[t>>>5]|=1<<t%32}get(t){zt.eu(t);let e=t>>>5;return!(e>=this.data.length||!(this.data[e]&1<<t%32))}clear(t){zt.eu(t);let e=t>>>5;e<this.data.length&&(this.data[e]&=~(1<<t))}or(t){let e=Math.min(this.data.length,t.data.length);for(let r=0;r<e;++r)this.data[r]|=t.data[r];if(this.data.length<t.data.length){this.ru((t.data.length<<5)-1);let r=t.data.length;for(let s=e;s<r;++s)this.data[s]=t.data[s]}}values(){let t=new Array(this.length),e=0,r=this.data.length;for(let s=0;s<r;++s){let r=this.data[s];for(;0!==r;){let n=r&-r;t[e++]=(s<<5)+zt.su(n-1),r^=n}}return t}minValue(){for(let t=0;t<this.data.length;++t){let e=this.data[t];if(0!==e){let r=0;for(;!(1&e);)r++,e>>=1;return r+32*t}}return 0}mn(){return dt.pn(this.values())}equals(t){return t instanceof zt&&ot(this.data,t.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.data.map(t=>zt.su(t)).reduce((t,e)=>t+e,0)}ru(t){let e=t+32>>>5;if(e<=this.data.length)return;let r=new Uint32Array(e);r.set(this.data),r.fill(0,this.data.length),this.data=r}static eu(t){if(t<0)throw new RangeError("index cannot be negative")}static su(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,0+(t+=t>>16)&63}}class Qt{constructor(t){this.Zr=t}nu(t){if(null===t)return null;let e=t.Zn.length,r=[];for(let s=0;s<e;s++){r[s]=new It;let e=new vt,n=!1;this.iu(t.transition(s).target,null,Xt.EMPTY,r[s],e,new zt,n,!1),(0===r[s].length||r[s].contains(Qt.uu))&&(r[s]=null)}return r}LOOK(t,e,r){let s=new It,n=null!==(r=r||null)?Wt(t.Zr,r):null;return this.iu(t,e,n,s,new vt,new zt,!0,!0),s}iu(t,e,r,s,n,i,u,l){let h=new St({state:t,alt:0,context:r},null);if(!n.has(h)){if(n.add(h),t===e){if(null===r)return void s.Hn(Y.EPSILON);if(r.Hi()&&l)return void s.Hn(Y.EOF)}if(t instanceof At){if(null===r)return void s.Hn(Y.EPSILON);if(r.Hi()&&l)return void s.Hn(Y.EOF);if(r!==Xt.EMPTY){let h=i.get(t.zn);try{i.clear(t.zn);for(let t=0;t<r.length;t++){let h=this.Zr.states[r.Ji(t)];this.iu(h,e,r.getParent(t),s,n,i,u,l)}}finally{h&&i.set(t.zn)}return}}for(let h=0;h<t.Zn.length;h++){let a=t.Zn[h];if(a.constructor===Ct){if(i.get(a.target.zn))continue;let t=jt.create(r,a.xi.Pn);try{i.set(a.target.zn),this.iu(a.target,e,t,s,n,i,u,l)}finally{i.clear(a.target.zn)}}else if(a instanceof Ft)u?this.iu(a.target,e,r,s,n,i,u,l):s.Hn(Qt.uu);else if(a.si)this.iu(a.target,e,r,s,n,i,u,l);else if(a.constructor===Ot)s.addRange(Y.vr,this.Zr.lu);else{let t=a.label;null!==t&&(a instanceof Rt&&(t=t.Xn(Y.vr,this.Zr.lu)),s.Gn(t))}}}}}Qt.uu=Y.mr;class Zt{constructor(t,e){this.hu=t,this.lu=e,this.states=[],this.au=[],this.ou=[],this.cu=null,this.fu={},this.du=null,this.wu=null,this.gu=[]}pu(t,e){return new Qt(this).LOOK(t,null,e)}mu(t){return null!==t.ti||(t.ti=this.pu(t,null),t.ti.readOnly=!0),t.ti}vu(t,e){return void 0===e?this.mu(t):this.pu(t,e)}Nu(t){null!==t&&(t.Zr=this,t.Pn=this.states.length),this.states.push(t)}xu(t){this.states[t.Pn]=null}Mu(t){return this.au.push(t),t.Eu=this.au.length-1,t.Eu}Tu(t){return 0===this.au.length?null:this.au[t]}fs(t,e){if(t<0||t>=this.states.length)throw"Invalid state number.";let r=this.states[t],s=this.vu(r);if(!s.contains(Y.EPSILON))return s;let n=new It;for(n.Gn(s),n.qn(Y.EPSILON);null!==e&&e.Vi>=0&&s.contains(Y.EPSILON);){let t=this.states[e.Vi].Zn[0];s=this.vu(t.xi),n.Gn(s),n.qn(Y.EPSILON),e=e._i}return s.contains(Y.EPSILON)&&n.Hn(Y.EOF),n}}Zt.Su=0;class te extends yt{constructor(){super(),this.Kn=yt.BASIC}}class ee extends yt{constructor(){return super(),this.Eu=-1,this.Iu=!1,this}}class re extends ee{constructor(){return super(),this.yu=null,this}}class se extends yt{constructor(){return super(),this.Kn=yt.oi,this.Au=null,this}}class ne extends yt{constructor(){return super(),this.Kn=yt.wi,this.bu=null,this}}class ie extends yt{constructor(){return super(),this.Kn=yt.ni,this.Cu=null,this.Du=!1,this}}class ue extends ee{constructor(){return super(),this.Kn=yt.hi,this}}class le extends ee{constructor(){return super(),this.Kn=yt.di,this}}class he extends yt{constructor(){return super(),this.Kn=yt.ci,this}}class ae extends ee{constructor(){return super(),this.Kn=yt.fi,this.bu=null,this.Ru=null,this}}class oe extends re{constructor(){return super(),this.Kn=yt.ui,this.bu=null,this}}class ce extends re{constructor(){return super(),this.Kn=yt.li,this}}class fe extends re{constructor(){return super(),this.Kn=yt.ii,this}}class de extends bt{constructor(t,e){super(t),this.Ou=e,this.label=this.Fu(),this.Mi=bt.ATOM}Fu(){let t=new It;return t.Hn(this.Ou),t}matches(t,e,r){return this.Ou===t}toString(){return this.Ou}}class we extends bt{constructor(t,e,r){super(t),this.Mi=bt.RANGE,this.start=e,this.stop=r,this.label=this.Fu()}Fu(){let t=new It;return t.addRange(this.start,this.stop),t}matches(t,e,r){return t>=this.start&&t<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class ge extends bt{constructor(t,e,r,s){super(t),this.Mi=bt.ACTION,this.zn=e,this.Lu=void 0===r?-1:r,this.ku=void 0!==s&&s,this.si=!0}matches(t,e,r){return!1}toString(){return"action_"+this.zn+":"+this.Lu}}class pe extends bt{constructor(t,e){super(t),this.Mi=bt.EPSILON,this.si=!0,this.Pu=e}matches(t,e,r){return!1}toString(){return"epsilon"}}class me extends Nt{constructor(t,e,r){super(),this.zn=void 0===t?-1:t,this._u=void 0===e?-1:e,this.ku=void 0!==r&&r}evaluate(t,e){let r=this.ku?e:null;return t.zr(r,this.zn,this._u)}gn(t){t.update(this.zn,this._u,this.ku)}equals(t){return this===t||t instanceof me&&this.zn===t.zn&&this._u===t._u&&this.ku===t.ku}toString(){return"{"+this.zn+":"+this._u+"}?"}}Nt.NONE=new me;class ve extends Ft{constructor(t,e,r,s){super(t),this.Mi=bt.PREDICATE,this.zn=e,this._u=r,this.ku=s,this.si=!0}matches(t,e,r){return!1}Vu(){return new me(this.zn,this._u,this.ku)}toString(){return"pred_"+this.zn+":"+this._u}}class Ne extends Nt{constructor(t){super(),this.Dn=void 0===t?0:t}evaluate(t,e){return t.Qr(e,this.Dn)}yn(t,e){return t.Qr(e,this.Dn)?Nt.NONE:null}Rn(t){return this.Dn-t.Dn}gn(t){t.update(this.Dn)}equals(t){return this===t||t instanceof Ne&&this.Dn===t.Dn}toString(){return"{"+this.Dn+">=prec}?"}}Nt.PrecedencePredicate=Ne;class xe extends Ft{constructor(t,e){super(t),this.Mi=bt.PRECEDENCE,this.Dn=e,this.si=!0}matches(t,e,r){return!1}Vu(){return new Ne(this.Dn)}toString(){return this.Dn+" >= _p"}}class Me{constructor(t){void 0===t&&(t=null),this.readOnly=!1,this.Bu=null===t||t.Bu,this.Hu=null!==t&&t.Hu}}Me.Uu=new Me,Me.Uu.readOnly=!0;class Ee{constructor(t){this.Gu=t,this.Xu=!1}mn(){let t=new dt;return this.gn(t),t.finish()}gn(t){t.update(this.Gu)}equals(t){return this===t}}class Te extends Ee{constructor(){super(6)}qu(t){t.Fs()}toString(){return"skip"}}Te.INSTANCE=new Te;class Se extends Ee{constructor(t){super(0),this.channel=t}qu(t){t.Is=this.channel}gn(t){t.update(this.Gu,this.channel)}equals(t){return this===t||t instanceof Se&&this.channel===t.channel}toString(){return"channel("+this.channel+")"}}class Ie extends Ee{constructor(t,e){super(1),this.zn=t,this.Lu=e,this.Xu=!0}qu(t){t.action(null,this.zn,this.Lu)}gn(t){t.update(this.Gu,this.zn,this.Lu)}equals(t){return this===t||t instanceof Ie&&this.zn===t.zn&&this.Lu===t.Lu}}class ye extends Ee{constructor(){super(3)}qu(t){t.Ls()}toString(){return"more"}}ye.INSTANCE=new ye;class Ae extends Ee{constructor(t){super(7),this.type=t}qu(t){t.type=this.type}gn(t){t.update(this.Gu,this.type)}equals(t){return this===t||t instanceof Ae&&this.type===t.type}toString(){return"type("+this.type+")"}}class be extends Ee{constructor(t){super(5),this.mode=t}qu(t){t.Vs(this.mode)}gn(t){t.update(this.Gu,this.mode)}equals(t){return this===t||t instanceof be&&this.mode===t.mode}toString(){return"pushMode("+this.mode+")"}}class Ce extends Ee{constructor(){super(4)}qu(t){t.Bs()}toString(){return"popMode"}}Ce.INSTANCE=new Ce;class De extends Ee{constructor(t){super(2),this.mode=t}qu(t){t.ks(this.mode)}gn(t){t.update(this.Gu,this.mode)}equals(t){return this===t||t instanceof De&&this.mode===t.mode}toString(){return"mode("+this.mode+")"}}function Re(t,e){let r=[];return r[t-1]=e,r.map(function(t){return e})}class Oe{constructor(t){null==t&&(t=Me.Uu),this.ju=t,this.Ju=null,this.$u=null}Wu(t){let e=this.reset(t);this.Dr(e),e&&this.Yu();let r=this.Ku();this.zu(r,e),this.Qu(r,e),this.Zu(r);let s=[];return this.tl(r,s,this.el.bind(this)),e&&this.tl(r,s,this.rl.bind(this)),this.sl(r,s),this.nl(r),this.il(r,e),this.ul(r),this.Bu(r),this.ju.Hu&&1===r.hu&&(this.Hu(r),this.Bu(r)),r}reset(t){if(3===(t.charCodeAt?t.charCodeAt(0):t[0])){let e=function(t){let e=t.charCodeAt(0);return e>1?e-2:e+65534},r=t.split("").map(e);return r[0]=t.charCodeAt(0),this.data=r,this.ll=0,!0}return this.data=t,this.ll=0,!1}Yu(){let t=0;for(;t++<8;)this.el()}Dr(t){let e=this.el();if(!t&&4!==e)throw"Could not deserialize ATN with version "+e+" (expected 4)."}Ku(){let t=this.el(),e=this.el();return new Zt(t,e)}zu(t,e){let r,s,n,i=[],u=[],l=this.el();for(let r=0;r<l;r++){let r=this.el();if(r===yt.mr){t.Nu(null);continue}let s=this.el();e&&65535===s&&(s=-1);let n=this.hl(r,s);if(r===yt.wi){let t=this.el();i.push([n,t])}else if(n instanceof re){let t=this.el();u.push([n,t])}t.Nu(n)}for(r=0;r<i.length;r++)s=i[r],s[0].bu=t.states[s[1]];for(r=0;r<u.length;r++)s=u[r],s[0].yu=t.states[s[1]];let h=this.el();for(r=0;r<h;r++)n=this.el(),t.states[n].Iu=!0;let a=this.el();for(r=0;r<a;r++)n=this.el(),t.states[n].Du=!0}Qu(t,e){let r,s=this.el();for(0===t.hu&&(t.du=Re(s,0)),t.ou=Re(s,0),r=0;r<s;r++){let s=this.el();if(t.ou[r]=t.states[s],0===t.hu){let s=this.el();e&&65535===s&&(s=Y.EOF),t.du[r]=s}}for(t.cu=Re(s,0),r=0;r<t.states.length;r++){let e=t.states[r];e instanceof At&&(t.cu[e.zn]=e,t.ou[e.zn].Cu=e)}}Zu(t){let e=this.el();for(let r=0;r<e;r++){let e=this.el();t.gu.push(t.states[e])}}tl(t,e,r){let s=this.el();for(let t=0;t<s;t++){let t=new It;e.push(t);let s=this.el();0!==this.el()&&t.Hn(-1);for(let e=0;e<s;e++){let e=r(),s=r();t.addRange(e,s)}}}sl(t,e){let r,s,n,i,u,l=this.el();for(r=0;r<l;r++){let r=this.el(),s=this.el(),n=this.el(),u=this.el(),l=this.el(),h=this.el();i=this.al(t,n,r,s,u,l,h,e),t.states[r].ri(i)}for(r=0;r<t.states.length;r++)for(n=t.states[r],s=0;s<n.Zn.length;s++){let e=n.Zn[s];if(!(e instanceof Ct))continue;let r=-1;t.ou[e.target.zn].Du&&0===e.Dn&&(r=e.target.zn),i=new pe(e.xi,r),t.cu[e.target.zn].ri(i)}for(r=0;r<t.states.length;r++){if(n=t.states[r],n instanceof re){if(null===n.yu)throw"IllegalState";if(null!==n.yu.Au)throw"IllegalState";n.yu.Au=n}if(n instanceof le)for(s=0;s<n.Zn.length;s++)u=n.Zn[s].target,u instanceof oe&&(u.bu=n);else if(n instanceof he)for(s=0;s<n.Zn.length;s++)u=n.Zn[s].target,u instanceof ae&&(u.bu=n)}}nl(t){let e=this.el();for(let r=0;r<e;r++){let e=this.el(),s=t.states[e];t.au.push(s),s.Eu=r}}il(t,e){if(0===t.hu){let r=this.el();t.wu=Re(r,null);for(let s=0;s<r;s++){let r=this.el(),n=this.el();e&&65535===n&&(n=-1);let i=this.el();e&&65535===i&&(i=-1),t.wu[s]=this.ol(r,n,i)}}}Hu(t){let e,r=t.ou.length;for(e=0;e<r;e++)t.du[e]=t.lu+e+1;for(e=0;e<r;e++)this.cl(t,e)}cl(t,e){let r,s,n=new fe;n.zn=e,t.Nu(n);let i=new se;i.zn=e,t.Nu(i),n.yu=i,t.Mu(n),i.Au=n;let u=null,l=null;if(t.ou[e].Du){for(l=null,r=0;r<t.states.length;r++)if(s=t.states[r],this.fl(s,e)){l=s,u=s.bu.Zn[0];break}if(null===u)throw"Couldn't identify final state of the precedence rule prefix section."}else l=t.cu[e];for(r=0;r<t.states.length;r++){s=t.states[r];for(let t=0;t<s.Zn.length;t++){let e=s.Zn[t];e!==u&&e.target===l&&(e.target=i)}}let h=t.ou[e],a=h.Zn.length;for(;a>0;)n.ri(h.Zn[a-1]),h.Zn=h.Zn.slice(-1);t.ou[e].ri(new pe(n)),i.ri(new pe(l));let o=new te;t.Nu(o),o.ri(new de(i,t.du[e])),n.ri(new pe(o))}fl(t,e){if(t.zn!==e)return null;if(!(t instanceof ae))return null;let r=t.Zn[t.Zn.length-1].target;return r instanceof ne&&r.Qn&&r.Zn[0].target instanceof At?t:null}ul(t){for(let e=0;e<t.states.length;e++){let r=t.states[e];if(r instanceof ae&&t.ou[r.zn].Du){let t=r.Zn[r.Zn.length-1].target;t instanceof ne&&t.Qn&&t.Zn[0].target instanceof At&&(r.Ru=!0)}}}Bu(t){if(this.ju.Bu)for(let e=0;e<t.states.length;e++){let r=t.states[e];if(null!==r)if(this.dl(r.Qn||r.Zn.length<=1),r instanceof oe)this.dl(null!==r.bu);else if(r instanceof ae)if(this.dl(null!==r.bu),this.dl(2===r.Zn.length),r.Zn[0].target instanceof ce)this.dl(r.Zn[1].target instanceof ne),this.dl(!r.Iu);else{if(!(r.Zn[0].target instanceof ne))throw"IllegalState";this.dl(r.Zn[1].target instanceof ce),this.dl(r.Iu)}else r instanceof he?(this.dl(1===r.Zn.length),this.dl(r.Zn[0].target instanceof ae)):r instanceof ne?this.dl(null!==r.bu):r instanceof ie?this.dl(null!==r.Cu):r instanceof re?this.dl(null!==r.yu):r instanceof se?this.dl(null!==r.Au):r instanceof ee?this.dl(r.Zn.length<=1||r.Eu>=0):this.dl(r.Zn.length<=1||r instanceof At)}}dl(t,e){if(!t)throw null==e&&(e="IllegalState"),e}el(){return this.data[this.ll++]}rl(){return this.el()|this.el()<<16}al(t,e,r,s,n,i,u,l){let h=t.states[s];switch(e){case bt.EPSILON:return new pe(h);case bt.RANGE:return new we(h,0!==u?Y.EOF:n,i);case bt.RULE:return new Ct(t.states[n],i,u,h);case bt.PREDICATE:return new ve(h,n,i,0!==u);case bt.PRECEDENCE:return new xe(h,n);case bt.ATOM:return new de(h,0!==u?Y.EOF:n);case bt.ACTION:return new ge(h,n,i,0!==u);case bt.SET:return new Dt(h,l[n]);case bt.pi:return new Rt(h,l[n]);case bt.WILDCARD:return new Ot(h);default:throw"The specified transition type: "+e+" is not valid."}}hl(t,e){if(null===this.Ju){let t=[];t[yt.mr]=null,t[yt.BASIC]=()=>new te,t[yt.ni]=()=>new ie,t[yt.ii]=()=>new fe,t[yt.ui]=()=>new oe,t[yt.li]=()=>new ce,t[yt.hi]=()=>new ue,t[yt.ai]=()=>new At,t[yt.oi]=()=>new se,t[yt.ci]=()=>new he,t[yt.fi]=()=>new ae,t[yt.di]=()=>new le,t[yt.wi]=()=>new ne,this.Ju=t}if(t>this.Ju.length||null===this.Ju[t])throw"The specified state type "+t+" is not valid.";{let r=this.Ju[t]();if(null!==r)return r.zn=e,r}}ol(t,e,r){if(null===this.$u){let t=[];t[0]=(t,e)=>new Se(t),t[1]=(t,e)=>new Ie(t,e),t[2]=(t,e)=>new De(t),t[3]=(t,e)=>ye.INSTANCE,t[4]=(t,e)=>Ce.INSTANCE,t[5]=(t,e)=>new be(t),t[6]=(t,e)=>Te.INSTANCE,t[7]=(t,e)=>new Ae(t),this.$u=t}if(t>this.$u.length||null===this.$u[t])throw"The specified lexer action type "+t+" is not valid.";return this.$u[t](e,r)}}function Fe(t){return t._n()}function Le(t,e){return t===e||null!==t&&null!==e&&t.Vn(e)}class ke{constructor(t){this.wl=new vt(Fe,Le),this.gl=void 0===t||t,this.readOnly=!1,this.pl=[],this.ml=0,this.vl=null,this.Nl=!1,this.xl=!1,this.qi=-1}add(t,e){if(void 0===e&&(e=null),this.readOnly)throw"This set is readonly";t.On!==Nt.NONE&&(this.Nl=!0),t.Fn>0&&(this.xl=!0);let r=this.wl.Tn(t);if(r===t)return this.qi=-1,this.pl.push(t),!0;let s=!this.gl,n=Kt(r.context,t.context,s,e);return r.Fn=Math.max(r.Fn,t.Fn),t.Ln&&(r.Ln=!0),r.context=n,!0}Ml(){let t=new vt;for(let e=0;e<this.pl.length;e++)t.add(this.pl[e].state);return t}El(){let t=[];for(let e=0;e<this.pl.length;e++){let r=this.pl[e].On;r!==Nt.NONE&&t.push(r.On)}return t}Tl(t){if(this.readOnly)throw"This set is readonly";if(0!==this.wl.length)for(let e=0;e<this.pl.length;e++){let r=this.pl[e];r.context=t.Sl(r.context)}}addAll(t){for(let e=0;e<t.length;e++)this.add(t[e]);return!1}equals(t){return this===t||t instanceof ke&&ot(this.pl,t.pl)&&this.gl===t.gl&&this.ml===t.ml&&this.vl===t.vl&&this.Nl===t.Nl&&this.xl===t.xl}mn(){let t=new dt;return t.update(this.pl),t.finish()}gn(t){this.readOnly?(-1===this.qi&&(this.qi=this.mn()),t.update(this.qi)):t.update(this.mn())}Hi(){return 0===this.pl.length}contains(t){if(null===this.wl)throw"This method is not implemented for readonly sets.";return this.wl.contains(t)}Il(t){if(null===this.wl)throw"This method is not implemented for readonly sets.";return this.wl.Il(t)}clear(){if(this.readOnly)throw"This set is readonly";this.pl=[],this.qi=-1,this.wl=new vt}yl(t){this.readOnly=t,t&&(this.wl=null)}toString(){return mt(this.pl)+(this.Nl?",hasSemanticContext="+this.Nl:"")+(this.ml!==Zt.Su?",uniqueAlt="+this.ml:"")+(null!==this.vl?",conflictingAlts="+this.vl:"")+(this.xl?",dipsIntoOuterContext":"")}get items(){return this.pl}get length(){return this.pl.length}}class Pe{constructor(t,e){return null===t&&(t=-1),null===e&&(e=new ke),this.Pn=t,this.pl=e,this.Al=null,this.bl=!1,this.Cl=0,this.Dl=null,this.Rl=!1,this.Ol=null,this}Fl(){let t=new vt;if(null!==this.pl)for(let e=0;e<this.pl.length;e++){let r=this.pl[e];t.add(r.alt)}return 0===t.length?null:t}equals(t){return this===t||t instanceof Pe&&this.pl.equals(t.pl)}toString(){let t=this.Pn+":"+this.pl;return this.bl&&(t+="=>",null!==this.Ol?t+=this.Ol:t+=this.Cl),t}mn(){let t=new dt;return t.update(this.pl),t.finish()}}class _e{constructor(t,e){return this.Zr=t,this.Ll=e,this}Sl(t){if(null===this.Ll)return t;let e=new $t;return Yt(t,this.Ll,e)}}_e.ERROR=new Pe(2147483647,new ke);class Ve extends ke{constructor(){super(),this.wl=new vt}}class Be extends St{constructor(t,e){super(t,e);let r=t.Dl||null;return this.Dl=r||(null!==e?e.Dl:null),this.kl=null!==e&&this.Pl(e,this.state),this}gn(t){t.update(this.state.Pn,this.alt,this.context,this.On,this.kl,this.Dl)}equals(t){return this===t||t instanceof Be&&this.kl===t.kl&&(this.Dl?this.Dl.equals(t.Dl):!t.Dl)&&super.equals(t)}Pl(t,e){return t.kl||e instanceof ee&&e.Iu}}class He extends Ee{constructor(t,e){super(e.Gu),this.offset=t,this.action=e,this.Xu=!0}qu(t){this.action.qu(t)}gn(t){t.update(this.Gu,this.offset,this.action)}equals(t){return this===t||t instanceof He&&this.offset===t.offset&&this.action===t.action}}class Ue{constructor(t){return this.wu=null===t?[]:t,this.qi=dt.pn(t),this}_l(t){let e=null;for(let r=0;r<this.wu.length;r++)!this.wu[r].Xu||this.wu[r]instanceof He||(null===e&&(e=this.wu.concat([])),e[r]=new He(t,this.wu[r]));return null===e?this:new Ue(e)}qu(t,e,r){let s=!1,n=e.index;try{for(let i=0;i<this.wu.length;i++){let u=this.wu[i];if(u instanceof He){let t=u.offset;e.seek(r+t),u=u.action,s=r+t!==n}else u.Xu&&(e.seek(n),s=!1);u.qu(t)}}finally{s&&e.seek(n)}}mn(){return this.qi}gn(t){t.update(this.qi)}equals(t){if(this===t)return!0;if(t instanceof Ue){if(this.qi!=t.qi)return!1;if(this.wu.length!=t.wu.length)return!1;{let e=this.wu.length;for(let r=0;r<e;++r)if(!this.wu[r].equals(t.wu[r]))return!1;return!0}}return!1}static append(t,e){if(null===t)return new Ue([e]);let r=t.wu.concat([e]);return new Ue(r)}}function Ge(t){t.index=-1,t.line=0,t.dr=-1,t.Vl=null}class Xe{constructor(){Ge(this)}reset(){Ge(this)}}class qe extends _e{constructor(t,e,r,s){super(e,s),this.Bl=r,this.Hl=t,this.ws=-1,this.line=1,this.dr=0,this.mode=ut.Cs,this.Ul=new Xe}Gl(t){this.dr=t.dr,this.line=t.line,this.mode=t.mode,this.ws=t.ws}match(t,e){this.mode=e;let r=t.mark();try{this.ws=t.index,this.Ul.reset();let r=this.Bl[e];return null===r.Xl?this.ql(t):this.jl(t,r.Xl)}finally{t.release(r)}}reset(){this.Ul.reset(),this.ws=-1,this.line=1,this.dr=0,this.mode=ut.Cs}ql(t){let e=this.Zr.gu[this.mode];qe.debug,this.mode;let r=this.Jl(t,e),s=r.Nl;r.Nl=!1;let n=this.$l(r);s||(this.Bl[this.mode].Xl=n);let i=this.jl(t,n);return qe.debug,i}jl(t,e){qe.debug,e.bl&&this.Wl(this.Ul,t,e);let r=t.LA(1),s=e;for(;;){qe.debug;let e=this.Yl(s,r);if(null===e&&(e=this.Kl(t,s,r)),e===_e.ERROR)break;if(r!==Y.EOF&&this.Js(t),e.bl&&(this.Wl(this.Ul,t,e),r===Y.EOF))break;r=t.LA(1),s=e}return this.zl(this.Ul,t,s.pl,r)}Yl(t,e){if(null===t.Al||e<qe.Ql||e>qe.Zl)return null;let r=t.Al[e-qe.Ql];return void 0===r&&(r=null),qe.debug,r}Kl(t,e,r){let s=new Ve;return this.th(t,e.pl,s,r),0===s.items.length?(s.Nl||this.eh(e,r,_e.ERROR),_e.ERROR):this.eh(e,r,null,s)}zl(t,e,r,s){if(null!==this.Ul.Vl){let r=t.Vl.Dl;return this.accept(e,r,this.ws,t.index,t.line,t.dr),t.Vl.Cl}if(s===Y.EOF&&e.index===this.ws)return Y.EOF;throw new it(this.Hl,e,this.ws,r)}th(t,e,r,s){let n=Zt.Su;for(let i=0;i<e.items.length;i++){let u=e.items[i],l=u.alt===n;if(!l||!u.kl){qe.debug;for(let e=0;e<u.state.Zn.length;e++){let i=u.state.Zn[e],h=this.rh(i,s);if(null!==h){let e=u.Dl;null!==e&&(e=e._l(t.index-this.ws));let i=s===Y.EOF,a=new Be({state:h,Dl:e},u);this.sh(t,a,r,l,!0,i)&&(n=u.alt)}}}}}accept(t,e,r,s,n,i){qe.debug,t.seek(s),this.line=n,this.dr=i,null!==e&&null!==this.Hl&&e.qu(this.Hl,t,r)}rh(t,e){return t.matches(e,0,ut.zs)?t.target:null}Jl(t,e){let r=Xt.EMPTY,s=new Ve;for(let n=0;n<e.Zn.length;n++){let i=e.Zn[n].target,u=new Be({state:i,alt:n+1,context:r},null);this.sh(t,u,s,!1,!1,!1)}return s}sh(t,e,r,s,n,i){let u=null;if(qe.debug,e.state instanceof At){if(qe.debug&&this.Hl,null===e.context||e.context.ji()){if(null===e.context||e.context.Hi())return r.add(e),!0;r.add(new Be({state:e.state,context:Xt.EMPTY},e)),s=!0}if(null!==e.context&&!e.context.Hi())for(let l=0;l<e.context.length;l++)if(e.context.Ji(l)!==Xt.$i){let h=e.context.getParent(l),a=this.Zr.states[e.context.Ji(l)];u=new Be({state:a,context:h},e),s=this.sh(t,u,r,s,n,i)}return s}e.state.Qn||s&&e.kl||r.add(e);for(let l=0;l<e.state.Zn.length;l++){let h=e.state.Zn[l];u=this.nh(t,e,h,r,n,i),null!==u&&(s=this.sh(t,u,r,s,n,i))}return s}nh(t,e,r,s,n,i){let u=null;if(r.Mi===bt.RULE){let t=jt.create(e.context,r.xi.Pn);u=new Be({state:r.target,context:t},e)}else{if(r.Mi===bt.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(r.Mi===bt.PREDICATE)qe.debug,s.Nl=!0,this.ih(t,r.zn,r._u,n)&&(u=new Be({state:r.target},e));else if(r.Mi===bt.ACTION)if(null===e.context||e.context.ji()){let t=Ue.append(e.Dl,this.Zr.wu[r.Lu]);u=new Be({state:r.target,Dl:t},e)}else u=new Be({state:r.target},e);else r.Mi===bt.EPSILON?u=new Be({state:r.target},e):r.Mi!==bt.ATOM&&r.Mi!==bt.RANGE&&r.Mi!==bt.SET||i&&r.matches(Y.EOF,0,ut.zs)&&(u=new Be({state:r.target},e))}return u}ih(t,e,r,s){if(null===this.Hl)return!0;if(!s)return this.Hl.zr(null,e,r);let n=this.dr,i=this.line,u=t.index,l=t.mark();try{return this.Js(t),this.Hl.zr(null,e,r)}finally{this.dr=n,this.line=i,t.seek(u),t.release(l)}}Wl(t,e,r){t.index=e.index,t.line=this.line,t.dr=this.dr,t.Vl=r}eh(t,e,r,s){if(void 0===r&&(r=null),void 0===s&&(s=null),null===r&&null!==s){let t=s.Nl;if(s.Nl=!1,r=this.$l(s),t)return r}return e<qe.Ql||e>qe.Zl||(qe.debug,null===t.Al&&(t.Al=[]),t.Al[e-qe.Ql]=r),r}$l(t){let e=new Pe(null,t),r=null;for(let e=0;e<t.items.length;e++){let s=t.items[e];if(s.state instanceof At){r=s;break}}null!==r&&(e.bl=!0,e.Dl=r.Dl,e.Cl=this.Zr.du[r.state.zn]);let s=this.Bl[this.mode],n=s.states.get(e);if(null!==n)return n;let i=e;return i.Pn=s.states.length,t.yl(!0),i.pl=t,s.states.add(i),i}uh(t){return this.Bl[t]}rs(t){return t.rs(this.ws,t.index-1)}Js(t){t.LA(1)==="\n".charCodeAt(0)?(this.line+=1,this.dr=0):this.dr+=1,t.Js()}hh(t){return-1===t?"EOF":"'"+String.fromCharCode(t)+"'"}}qe.debug=!1,qe.ah=!1,qe.Ql=0,qe.Zl=127;class je{constructor(t,e){this.alt=e,this.oh=t}toString(){return"("+this.oh+", "+this.alt+")"}}class Je{constructor(){this.data={}}get(t){return this.data["k-"+t]||null}set(t,e){this.data["k-"+t]=e}values(){return Object.keys(this.data).filter(t=>t.startsWith("k-")).map(t=>this.data[t],this)}}let $e={SLL:0,LL:1,fh:2,dh:function(t,e){if($e.wh(e))return!0;if(t===$e.SLL&&e.Nl){let t=new ke;for(let r=0;r<e.items.length;r++){let s=e.items[r];s=new St({On:Nt.NONE},s),t.add(s)}e=t}let r=$e.gh(e);return $e.ph(r)&&!$e.mh(e)},Nh:function(t){for(let e=0;e<t.items.length;e++)if(t.items[e].state instanceof At)return!0;return!1},wh:function(t){for(let e=0;e<t.items.length;e++)if(!(t.items[e].state instanceof At))return!1;return!0},xh:function(t){return $e.Mh(t)},Eh:function(t){return!$e.Th(t)},Th:function(t){for(let e=0;e<t.length;e++)if(1===t[e].length)return!0;return!1},ph:function(t){for(let e=0;e<t.length;e++)if(t[e].length>1)return!0;return!1},Sh:function(t){let e=null;for(let r=0;r<t.length;r++){let s=t[r];if(null===e)e=s;else if(s!==e)return!1}return!0},Ih:function(t){let e=$e.yh(t);return 1===e.length?e.minValue():Zt.Su},yh:function(t){let e=new zt;return t.map(function(t){e.or(t)}),e},gh:function(t){let e=new $t;return e.xn=function(t){dt.pn(t.state.Pn,t.context)},e.Mn=function(t,e){return t.state.Pn===e.state.Pn&&t.context.equals(e.context)},t.items.map(function(t){let r=e.get(t);null===r&&(r=new zt,e.set(t,r)),r.set(t.alt)}),e.getValues()},Ah:function(t){let e=new Je;return t.items.map(function(t){let r=e.get(t.state);null===r&&(r=new zt,e.set(t.state,r)),r.set(t.alt)}),e},mh:function(t){let e=$e.Ah(t).values();for(let t=0;t<e.length;t++)if(1===e[t].length)return!0;return!1},Mh:function(t){let e=null;for(let r=0;r<t.length;r++){let s=t[r].minValue();if(null===e)e=s;else if(e!==s)return Zt.Su}return e}};const We=$e;class Ye extends st{constructor(t,e,r,s,n,i){i=i||t.bh,s=s||t.Ch(),r=r||t.Ch(),e=e||t.pr(),super({message:"",us:t,input:e,ls:i}),this.gs=n,this.Dh=r,this.hs=s}}class Ke{constructor(t){this.Rh=t||$t,this.Oh=new this.Rh}get(t,e){let r=this.Oh.get(t)||null;return null===r?null:r.get(e)||null}set(t,e,r){let s=this.Oh.get(t)||null;null===s&&(s=new this.Rh,this.Oh.set(t,s)),s.set(e,r)}}const ze={ATN:Zt,ATNDeserializer:Oe,LexerATNSimulator:qe,ParserATNSimulator:class extends _e{constructor(t,e,r,s){super(e,s),this.Fh=t,this.Bl=r,this.Lh=We.LL,this.ps=null,this.kh=0,this.Ph=null,this._h=null,this.Vh=null,this.debug=!1,this.Bh=!1,this.Hh=!1,this.Yi=!1,this.ah=!1,this.Uh=!1}reset(){}Gh(t,e,r){this.debug||this.Yi,this.ps=t,this.kh=t.index,this.Ph=r;let s=this.Bl[e];this._h=s;let n=t.mark(),i=t.index;try{let e;if(e=s.Xh?s.qh(this.Fh.jh()):s.Xl,null===e){null===r&&(r=Gt.EMPTY),this.debug;let t=!1,n=this.Jl(s.Jh,Gt.EMPTY,t);s.Xh?(s.Xl.pl=n,n=this.$h(n),e=this.$l(s,new Pe(null,n)),s.Wh(this.Fh.jh(),e)):(e=this.$l(s,new Pe(null,n)),s.Xl=e)}let n=this.jl(s,e,t,i,r);return this.debug,n}finally{this._h=null,this.Vh=null,t.seek(i),t.release(n)}}jl(t,e,r,s,n){let i;this.debug||this.Yi;let u=e;this.debug;let l=r.LA(1);for(;;){let e=this.Yl(u,l);if(null===e&&(e=this.Kl(t,u,l)),e===_e.ERROR){let t=this.Yh(r,n,u.pl,s);if(r.seek(s),i=this.Kh(u.pl,n),i!==Zt.Su)return i;throw t}if(e.Rl&&this.Lh!==We.SLL){let u=null;if(null!==e.Ol){this.debug;let t=r.index;if(t!==s&&r.seek(s),u=this.zh(e.Ol,n,!0),1===u.length)return this.debug,u.minValue();t!==s&&r.seek(t)}this.ah;let l=!0,h=this.Jl(t.Jh,n,l);return this.Sr(t,u,e.pl,s,r.index),i=this.Qh(t,e,h,r,s,n),i}if(e.bl){if(null===e.Ol)return e.Cl;let i=r.index;r.seek(s);let u=this.zh(e.Ol,n,!0);if(0===u.length)throw this.Yh(r,n,e.pl,s);return 1===u.length||this.Tr(t,e,s,i,!1,u,e.pl),u.minValue()}u=e,l!==Y.EOF&&(r.Js(),l=r.LA(1))}}Yl(t,e){let r=t.Al;return null===r?null:r[e+1]||null}Kl(t,e,r){let s=this.Zh(e.pl,r,!1);if(null===s)return this.eh(t,e,r,_e.ERROR),_e.ERROR;let n=new Pe(null,s),i=this.Ih(s);return this.debug&&We.gh(s),i!==Zt.Su?(n.bl=!0,n.pl.ml=i,n.Cl=i):We.dh(this.Lh,s)&&(n.pl.vl=this.ta(s),n.Rl=!0,n.bl=!0,n.Cl=n.pl.vl.minValue()),n.bl&&n.pl.Nl&&(this.ea(n,this.Zr.Tu(t.Eu)),null!==n.Ol&&(n.Cl=Zt.Su)),n=this.eh(t,e,r,n),n}ea(t,e){let r=e.Zn.length,s=this.ra(t.pl),n=this.sa(s,t.pl,r);null!==n?(t.Ol=this.na(s,n),t.Cl=Zt.Su):t.Cl=s.minValue()}Qh(t,e,r,s,n,i){this.debug||this.Yi;let u,l=!1,h=r;s.seek(n);let a=s.LA(1),o=-1;for(;;){if(u=this.Zh(h,a,!0),null===u){let t=this.Yh(s,i,h,n);s.seek(n);let e=this.Kh(h,i);if(e!==Zt.Su)return e;throw t}let t=We.gh(u);if(this.debug,u.ml=this.Ih(u),u.ml!==Zt.Su){o=u.ml;break}if(this.Lh!==We.fh){if(o=We.xh(t),o!==Zt.Su)break}else if(We.Eh(t)&&We.Sh(t)){l=!0,o=We.Mh(t);break}h=u,a!==Y.EOF&&(s.Js(),a=s.LA(1))}return u.ml!==Zt.Su?(this.Ir(t,o,u,n,s.index),o):(this.Tr(t,e,n,s.index,l,null,u),o)}Zh(t,e,r){this.debug,null===this.Vh&&(this.Vh=new Ke);let s=new ke(r),n=null;for(let i=0;i<t.items.length;i++){let u=t.items[i];if(this.debug,u.state instanceof At)(r||e===Y.EOF)&&(null===n&&(n=[]),n.push(u),this.Hh);else for(let t=0;t<u.state.Zn.length;t++){let r=u.state.Zn[t],n=this.rh(r,e);if(null!==n){let t=new St({state:n},u);s.add(t,this.Vh),this.Hh}}}let i=null;if(null===n&&e!==Y.EOF&&(1===s.items.length||this.Ih(s)!==Zt.Su)&&(i=s),null===i){i=new ke(r);let t=new vt,n=e===Y.EOF;for(let e=0;e<s.items.length;e++)this.sh(s.items[e],i,t,!1,r,n)}if(e===Y.EOF&&(i=this.ia(i,i===s)),!(null===n||r&&We.Nh(i)))for(let t=0;t<n.length;t++)i.add(n[t],this.Vh);return this.Yi,0===i.items.length?null:i}ia(t,e){if(We.wh(t))return t;let r=new ke(t.gl);for(let s=0;s<t.items.length;s++){let n=t.items[s];if(n.state instanceof At)r.add(n,this.Vh);else if(e&&n.state.Qn&&this.Zr.vu(n.state).contains(Y.EPSILON)){let t=this.Zr.cu[n.state.zn];r.add(new St({state:t},n),this.Vh)}}return r}Jl(t,e,r){let s=Wt(this.Zr,e),n=new ke(r);this.Yi;for(let e=0;e<t.Zn.length;e++){let i=t.Zn[e].target,u=new St({state:i,alt:e+1,context:s},null),l=new vt;this.sh(u,n,l,!0,r,!1)}return n}$h(t){let e,r=[],s=new ke(t.gl);for(let n=0;n<t.items.length;n++){if(e=t.items[n],1!==e.alt)continue;let i=e.On.yn(this.Fh,this.Ph);null!==i&&(r[e.state.Pn]=e.context,i!==e.On?s.add(new St({On:i},e),this.Vh):s.add(e,this.Vh))}for(let n=0;n<t.items.length;n++)if(e=t.items[n],1!==e.alt){if(!e.Ln){let t=r[e.state.Pn]||null;if(null!==t&&t.equals(e.context))continue}s.add(e,this.Vh)}return s}rh(t,e){return t.matches(e,0,this.Zr.lu)?t.target:null}sa(t,e,r){let s=[];for(let r=0;r<e.items.length;r++){let n=e.items[r];t.get(n.alt)&&(s[n.alt]=Nt.Cn(s[n.alt]||null,n.On))}let n=0;for(let t=1;t<r+1;t++){let e=s[t]||null;null===e?s[t]=Nt.NONE:e!==Nt.NONE&&(n+=1)}return 0===n&&(s=null),this.debug,s}na(t,e){let r=[],s=!1;for(let n=1;n<e.length;n++){let i=e[n];null!==t&&t.get(n)&&r.push(new je(i,n)),i!==Nt.NONE&&(s=!0)}return s?r:null}Kh(t,e){let r=this.ua(t,e),s=r[0],n=r[1],i=this.la(s);return i!==Zt.Su||n.items.length>0&&(i=this.la(n),i!==Zt.Su)?i:Zt.Su}la(t){let e=[];for(let r=0;r<t.items.length;r++){let s=t.items[r];(s.Fn>0||s.state instanceof At&&s.context.ji())&&e.indexOf(s.alt)<0&&e.push(s.alt)}return 0===e.length?Zt.Su:Math.min.apply(null,e)}ua(t,e){let r=new ke(t.gl),s=new ke(t.gl);for(let n=0;n<t.items.length;n++){let i=t.items[n];i.On!==Nt.NONE?i.On.evaluate(this.Fh,e)?r.add(i):s.add(i):r.add(i)}return[r,s]}zh(t,e,r){let s=new zt;for(let n=0;n<t.length;n++){let i=t[n];if(i.oh===Nt.NONE){if(s.set(i.alt),!r)break;continue}let u=i.oh.evaluate(this.Fh,e);if(this.debug||this.ah,u&&(this.debug||this.ah,s.set(i.alt),!r))break}return s}sh(t,e,r,s,n,i){this.ha(t,e,r,s,n,0,i)}ha(t,e,r,s,n,i,u){if(this.Yi||this.Bh,t.state instanceof At){if(!t.context.Hi()){for(let l=0;l<t.context.length;l++){if(t.context.Ji(l)===Xt.$i){if(n){e.add(new St({state:t.state,context:Xt.EMPTY},t),this.Vh);continue}this.debug,this.aa(t,e,r,s,n,i,u);continue}let h=this.Zr.states[t.context.Ji(l)],a=t.context.getParent(l),o={state:h,alt:t.alt,context:a,On:t.On},c=new St(o,null);c.Fn=t.Fn,this.ha(c,e,r,s,n,i-1,u)}return}if(n)return void e.add(t,this.Vh);this.debug}this.aa(t,e,r,s,n,i,u)}aa(t,e,r,s,n,i,u){let l=t.state;l.Qn||e.add(t,this.Vh);for(let h=0;h<l.Zn.length;h++){if(0===h&&this.oa(t))continue;let a=l.Zn[h],o=s&&!(a instanceof ge),c=this.nh(t,a,o,0===i,n,u);if(null!==c){let s=i;if(t.state instanceof At){if(null!==this._h&&this._h.Xh&&a.Pu===this._h.Jh.zn&&(c.Ln=!0),c.Fn+=1,r.Tn(c)!==c)continue;e.xl=!0,s-=1,this.debug}else{if(!a.si&&r.Tn(c)!==c)continue;a instanceof Ct&&s>=0&&(s+=1)}this.ha(c,e,r,o,n,s,u)}}}oa(t){let e=t.state;if(e.Kn!==yt.fi)return!1;if(e.Kn!==yt.fi||!e.Ru||t.context.Hi()||t.context.ji())return!1;let r=t.context.length;for(let s=0;s<r;s++)if(this.Zr.states[t.context.Ji(s)].zn!==e.zn)return!1;let s=e.Zn[0].target.yu.Pn,n=this.Zr.states[s];for(let s=0;s<r;s++){let r=t.context.Ji(s),i=this.Zr.states[r];if(1!==i.Zn.length||!i.Zn[0].si)return!1;let u=i.Zn[0].target;if(!(i.Kn===yt.oi&&u===e||i===n||u===n||u.Kn===yt.oi&&1===u.Zn.length&&u.Zn[0].si&&u.Zn[0].target===e))return!1}return!0}ca(t){return null!==this.Fh&&t>=0?this.Fh.Xr[t]:"<rule "+t+">"}nh(t,e,r,s,n,i){switch(e.Mi){case bt.RULE:return this.fa(t,e);case bt.PRECEDENCE:return this.da(t,e,r,s,n);case bt.PREDICATE:return this.wa(t,e,r,s,n);case bt.ACTION:return this.ga(t,e);case bt.EPSILON:return new St({state:e.target},t);case bt.ATOM:case bt.RANGE:case bt.SET:return i&&e.matches(Y.EOF,0,1)?new St({state:e.target},t):null;default:return null}}ga(t,e){return this.debug&&(-1===e.Lu||e.Lu),new St({state:e.target},t)}da(t,e,r,s,n){this.debug&&this.Fh;let i=null;if(r&&s)if(n){let r=this.ps.index;this.ps.seek(this.kh);let s=e.Vu().evaluate(this.Fh,this.Ph);this.ps.seek(r),s&&(i=new St({state:e.target},t))}else{let r=Nt.An(t.On,e.Vu());i=new St({state:e.target,On:r},t)}else i=new St({state:e.target},t);return this.debug,i}wa(t,e,r,s,n){this.debug&&this.Fh;let i=null;if(r&&(e.ku&&s||!e.ku))if(n){let r=this.ps.index;this.ps.seek(this.kh);let s=e.Vu().evaluate(this.Fh,this.Ph);this.ps.seek(r),s&&(i=new St({state:e.target},t))}else{let r=Nt.An(t.On,e.Vu());i=new St({state:e.target,On:r},t)}else i=new St({state:e.target},t);return this.debug,i}fa(t,e){this.debug;let r=e.xi,s=jt.create(t.context,r.Pn);return new St({state:e.target,context:s},t)}ta(t){let e=We.gh(t);return We.yh(e)}ra(t){let e=null;return t.ml!==Zt.Su?(e=new zt,e.set(t.ml)):e=t.vl,e}hh(t){return t===Y.EOF?"EOF":null===this.Fh||null===this.Fh.kr||t>=this.Fh.kr.length&&t>=this.Fh._r.length?""+t:(this.Fh.kr[t]||this.Fh._r[t])+"<"+t+">"}pa(t){return this.hh(t.LA(1))}ma(t){let e=t.va();for(let t=0;t<e.length;t++){let r=e[t],s="no edges";if(r.state.Zn.length>0){let t=r.state.Zn[0];t instanceof de?s="Atom "+this.hh(t.label):t instanceof Dt&&(s=(t instanceof Rt?"~":"")+"Set "+t.set)}}}Yh(t,e,r,s){return new Ye(this.Fh,t,t.get(s),t.LT(1),r,e)}Ih(t){let e=Zt.Su;for(let r=0;r<t.items.length;r++){let s=t.items[r];if(e===Zt.Su)e=s.alt;else if(s.alt!==e)return Zt.Su}return e}eh(t,e,r,s){return this.debug,null===s?null:(s=this.$l(t,s),null===e||r<-1||r>this.Zr.lu||(null===e.Al&&(e.Al=[]),e.Al[r+1]=s,this.debug&&(null===this.Fh||this.Fh.kr,null===this.Fh||this.Fh._r)),s)}$l(t,e){if(e===_e.ERROR)return e;let r=t.states.get(e);return null!==r?(this.Yi,r):(e.Pn=t.states.length,e.pl.readOnly||(e.pl.Tl(this),e.pl.yl(!0)),this.Yi,t.states.add(e),this.debug,e)}Sr(t,e,r,s,n){(this.debug||this.Uh)&&new nt(s,n+1),null!==this.Fh&&this.Fh.Kr().Sr(this.Fh,t,s,n,e,r)}Ir(t,e,r,s,n){(this.debug||this.Uh)&&new nt(s,n+1),null!==this.Fh&&this.Fh.Kr().Ir(this.Fh,t,s,n,e,r)}Tr(t,e,r,s,n,i,u){(this.debug||this.Uh)&&new nt(r,s+1),null!==this.Fh&&this.Fh.Kr().Tr(this.Fh,t,r,s,n,i,u)}},PredictionContextCache:class{constructor(){this.cache=new $t}add(t){if(t===Xt.EMPTY)return Xt.EMPTY;let e=this.cache.get(t)||null;return null!==e?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}}};class Qe{constructor(t,e,r){this.Na=t,this.kr=e||[],this._r=r||[]}toString(){if(null===this.Na.Xl)return null;let t="",e=this.Na.xa();for(let r=0;r<e.length;r++){let s=e[r];if(null!==s.Al){let e=s.Al.length;for(let r=0;r<e;r++){let e=s.Al[r]||null;null!==e&&2147483647!==e.Pn&&(t=t.concat(this.Ma(s)),t=t.concat("-"),t=t.concat(this.Ea(r)),t=t.concat("->"),t=t.concat(this.Ma(e)),t=t.concat("\n"))}}}return 0===t.length?null:t}Ea(t){return 0===t?"EOF":null!==this.kr||null!==this._r?this.kr[t-1]||this._r[t-1]:String.fromCharCode(t-1)}Ma(t){let e=(t.bl?":":"")+"s"+t.Pn+(t.Rl?"^":"");return t.bl?null!==t.Ol?e+"=>"+mt(t.Ol):e+"=>"+t.Cl.toString():e}}class Ze extends Qe{constructor(t){super(t,null)}Ea(t){return"'"+String.fromCharCode(t)+"'"}}const tr={DFA:class{constructor(t,e){if(void 0===e&&(e=0),this.Jh=t,this.Eu=e,this.Ta=new vt,this.Xl=null,this.Xh=!1,t instanceof ae&&t.Ru){this.Xh=!0;let t=new Pe(null,new ke);t.Al=[],t.bl=!1,t.Rl=!1,this.Xl=t}}qh(t){if(!this.Xh)throw"Only precedence DFAs may contain a precedence start state.";return t<0||t>=this.Xl.Al.length?null:this.Xl.Al[t]||null}Wh(t,e){if(!this.Xh)throw"Only precedence DFAs may contain a precedence start state.";t<0||(this.Xl.Al[t]=e)}Sa(t){if(this.Xh!==t){if(this.Ta=new vt,t){let t=new Pe(null,new ke);t.Al=[],t.bl=!1,t.Rl=!1,this.Xl=t}else this.Xl=null;this.Xh=t}}xa(){return this.Ta.values().sort(function(t,e){return t.Pn-e.Pn})}toString(t,e){return t=t||null,e=e||null,null===this.Xl?"":new Qe(this,t,e).toString()}Ia(){return null===this.Xl?"":new Ze(this).toString()}get states(){return this.Ta}}},er={ParseTreeVisitor:class{ya(t){return Array.isArray(t)?t.map(function(t){return t.accept(this)},this):t.accept(this)}Xi(t){return t.children?this.ya(t.children):null}Aa(t){}ba(t){}}},rr={RecognitionException:st};class sr extends st{constructor(t,e,r){super({message:nr(e,r||null),us:t,input:t.pr(),ls:t.bh});let s=t.br.Zr.states[t.state].Zn[0];s instanceof ve?(this.zn=s.zn,this.Ca=s._u):(this.zn=0,this.Ca=0),this.Da=e,this.hs=t.Ch()}}function nr(t,e){return null!==e?e:"failed predicate: {"+t+"}?"}class ir extends st{constructor(t){super({message:"",us:t,input:t.pr(),ls:t.bh}),this.hs=t.Ch()}}class ur{reset(t){}Ra(t){}Os(t,e){}sync(t){}Oa(t){}reportError(t){}}class lr extends ur{constructor(){super(),this.Fa=!1,this.La=-1,this.ka=null,this.Pa=null,this._a=0}reset(t){this.Va(t)}Ba(t){this.Fa=!0}Oa(t){return this.Fa}Va(t){this.Fa=!1,this.ka=null,this.La=-1}Ha(t){this.Va(t)}reportError(t,e){this.Oa(t)||(this.Ba(t),e instanceof Ye?this.Ua(t,e):e instanceof ir?this.Ga(t,e):e instanceof sr?this.Xa(t,e):t.qa(e.$r(),e.getMessage(),e))}Os(t,e){this.La===t.pr().index&&null!==this.ka&&this.ka.indexOf(t.state)>=0&&t.Js(),this.La=t.ps.index,null===this.ka&&(this.ka=[]),this.ka.push(t.state);let r=this.ja(t);this.Ja(t,r)}sync(t){if(this.Oa(t))return;let e=t.br.Zr.states[t.state],r=t.$a().LA(1),s=t.Zr.vu(e);if(s.contains(r))return this.Pa=null,void(this._a=yt.Yn);if(s.contains(Y.EPSILON))null===this.Pa&&(this.Pa=t.bh,this.Wa=t.Cr);else switch(e.Kn){case yt.ii:case yt.li:case yt.ui:case yt.fi:if(null!==this.Ya(t))return;throw new ir(t);case yt.di:case yt.ci:{this.Ka(t);let e=new It;e.Gn(t.fs());let r=e.Gn(this.ja(t));this.Ja(t,r)}}}Ua(t,e){let r,s=t.$a();r=null!==s?e.Dh.type===Y.EOF?"<EOF>":s.rs(new nt(e.Dh.cr,e.hs.cr)):"<unknown input>";let n="no viable alternative at input "+this.za(r);t.qa(n,e.hs,e)}Ga(t,e){let r="mismatched input "+this.Wr(e.hs)+" expecting "+e.fs().toString(t.kr,t._r);t.qa(r,e.hs,e)}Xa(t,e){let r="rule "+t.Xr[t.bh.zn]+" "+e.message;t.qa(r,e.hs,e)}Ka(t){if(this.Oa(t))return;this.Ba(t);let e=t.Ch(),r="extraneous input "+this.Wr(e)+" expecting "+this.fs(t).toString(t.kr,t._r);t.qa(r,e,null)}Qa(t){if(this.Oa(t))return;this.Ba(t);let e=t.Ch(),r="missing "+this.fs(t).toString(t.kr,t._r)+" at "+this.Wr(e);t.qa(r,e,null)}Ra(t){let e=this.Ya(t);if(null!==e)return t.Js(),e;if(this.Za(t))return this.eo(t);throw new ir(t)}Za(t){let e=t.$a().LA(1),r=t.br.Zr,s=r.states[t.state].Zn[0].target;return!!r.vu(s,t.bh).contains(e)&&(this.Qa(t),!0)}Ya(t){let e=t.$a().LA(2);if(this.fs(t).contains(e)){this.Ka(t),t.Js();let e=t.Ch();return this.Ha(t),e}return null}eo(t){let e,r=t.Ch(),s=this.fs(t).first();e=s===Y.EOF?"<missing EOF>":"<missing "+t.kr[s]+">";let n=r,i=t.$a().LT(-1);return n.type===Y.EOF&&null!==i&&(n=i),t.ro().create(n.source,s,e,Y.Nr,-1,-1,n.line,n.dr)}fs(t){return t.fs()}Wr(t){if(null===t)return"<no token>";let e=t.text;return null===e&&(e=t.type===Y.EOF?"<EOF>":"<"+t.type+">"),this.za(e)}za(t){return"'"+(t=(t=(t=t.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}ja(t){let e=t.br.Zr,r=t.bh,s=new It;for(;null!==r&&r.Vi>=0;){let t=e.states[r.Vi].Zn[0],n=e.vu(t.xi);s.Gn(n),r=r._i}return s.qn(Y.EPSILON),s}Ja(t,e){let r=t.$a().LA(1);for(;r!==Y.EOF&&!e.contains(r);)t.Js(),r=t.$a().LA(1)}}class hr{Aa(t){}ba(t){}so(t){}no(t){}}class ar extends hr{constructor(t){super(),this.Fh=t}so(t){}Aa(t){}no(t){}}class or extends Z{constructor(t){super(),this.ps=null,this.io=new lr,this.uo=[],this.uo.push(0),this.bh=null,this.lo=!0,this.ho=null,this.ao=null,this.oo=0,this.co(t)}reset(){null!==this.ps&&this.ps.seek(0),this.io.reset(this),this.bh=null,this.oo=0,this.fo(!1),this.uo=[],this.uo.push(0),null!==this.br&&this.br.reset()}match(t){let e=this.Ch();return e.type===t?(this.io.Ha(this),this.Js()):(e=this.io.Ra(this),this.lo&&-1===e.cr&&this.bh.do(e)),e}wo(){let t=this.Ch();return t.type>0?(this.io.Ha(this),this.Js()):(t=this.io.Ra(this),this.lo&&-1===t.cr&&this.bh.do(t)),t}po(){return this.ao||[]}mo(t){if(null===t)throw"listener";null===this.ao&&(this.ao=[]),this.ao.push(t)}vo(t){if(null!==this.ao){let e=this.ao.indexOf(t);e>=0&&this.ao.splice(e,1),0===this.ao.length&&(this.ao=null)}}No(){this.ao=null}xo(){if(null!==this.ao){let t=this.bh;this.ao.forEach(function(e){e.so(t),t.Mo(e)})}}Eo(){if(null!==this.ao){let t=this.bh;this.ao.slice(0).reverse().forEach(function(e){t.To(e),e.no(t)})}}ro(){return this.ps.Qs.vs}So(t){this.ps.Qs.vs=t}Io(){let t=this.yo();if(null===t)throw"The current parser does not support an ATN with bypass alternatives.";let e=this.Ao[t];if(null===e){let r=new Me;r.Hu=!0,e=new Oe(r).Wu(t),this.Ao[t]=e}return e}pr(){return this.$a()}co(t){this.bo(t)}$a(){return this.ps}bo(t){this.ps=null,this.reset(),this.ps=t}get Co(){return this.oo}Ch(){return this.ps.LT(1)}qa(t,e,r){r=r||null,null===(e=e||null)&&(e=this.Ch()),this.oo+=1;let s=e.line,n=e.dr;this.Kr().Er(this,e,s,n,t,r)}Js(){let t=this.Ch();t.type!==Y.EOF&&this.pr().Js();let e=null!==this.ao&&this.ao.length>0;if(this.lo||e){let r;r=this.io.Oa(this)?this.bh.do(t):this.bh.Do(t),r.Vi=this.state,e&&this.ao.forEach(function(t){r instanceof Bt||void 0!==r.Ro&&r.Ro()?t.ba(r):r instanceof Vt&&t.Aa(r)})}return t}Oo(){null!==this.bh._i&&this.bh._i.Fo(this.bh)}Mo(t,e,r){this.state=e,this.bh=t,this.bh.start=this.ps.LT(1),this.lo&&this.Oo(),this.xo()}To(){this.bh.stop=this.ps.LT(-1),this.Eo(),this.state=this.bh.Vi,this.bh=this.bh._i}Lo(t,e){t.Gi(e),this.lo&&this.bh!==t&&null!==this.bh._i&&(this.bh._i.ko(),this.bh._i.Fo(t)),this.bh=t}jh(){return 0===this.uo.length?-1:this.uo[this.uo.length-1]}Po(t,e,r,s){this.state=e,this.uo.push(s),this.bh=t,this.bh.start=this.ps.LT(1),this.xo()}_o(t,e,r){let s=this.bh;s._i=t,s.Vi=e,s.stop=this.ps.LT(-1),this.bh=t,this.bh.start=s.start,this.lo&&this.bh.Fo(s),this.xo()}Vo(t){this.uo.pop(),this.bh.stop=this.ps.LT(-1);let e=this.bh,r=this.po();if(null!==r&&r.length>0)for(;this.bh!==t;)this.Eo(),this.bh=this.bh._i;else this.bh=t;e._i=t,this.lo&&null!==t&&t.Fo(e)}Bo(t){let e=this.bh;for(;null!==e;){if(e.zn===t)return e;e=e._i}return null}Qr(t,e){return e>=this.uo[this.uo.length-1]}Ho(t){return!1}Uo(t){let e=this.br.Zr,r=this.bh,s=e.states[this.state],n=e.vu(s);if(n.contains(t))return!0;if(!n.contains(Y.EPSILON))return!1;for(;null!==r&&r.Vi>=0&&n.contains(Y.EPSILON);){let s=e.states[r.Vi].Zn[0];if(n=e.vu(s.xi),n.contains(t))return!0;r=r._i}return!(!n.contains(Y.EPSILON)||t!==Y.EOF)}fs(){return this.br.Zr.fs(this.state,this.bh)}Go(){let t=this.br.Zr,e=t.states[this.state];return t.vu(e)}Xo(t){let e=this.Gr()[t];return null!==e?e:-1}qo(t){null===(t=t||null)&&(t=this.bh);let e=[];for(;null!==t;){let r=t.zn;r<0?e.push("n/a"):e.push(this.Xr[r]),t=t._i}return e}jo(){return this.br.Bl.toString()}Jo(){let t=!1;for(let e=0;e<this.br.Bl.length;e++){let r=this.br.Bl[e];r.states.length>0&&(this.Wo.$o("Decision "+r.Eu+":"),this.Wo.print(r.toString(this.kr,this._r)),t=!0)}}dn(){return this.ps.dn()}fo(t){t?(null!==this.ho&&this.vo(this.ho),this.ho=new ar(this),this.mo(this.ho)):(this.vo(this.ho),this.ho=null)}}or.Ao={};class cr extends Vt{constructor(t){super(),this._i=null,this.bi=t}yi(t){return null}Yo(){return this.bi}getParent(){return this._i}Ci(){return this.bi}Ui(){if(null===this.bi)return nt.ds;let t=this.bi.cr;return new nt(t,t)}Ii(){return 0}accept(t){return t.Aa(this)}rs(){return this.bi.text}toString(){return this.bi.type===Y.EOF?"<EOF>":this.bi.text}}class fr extends cr{constructor(t){super(t)}Ro(){return!0}accept(t){return t.ba(this)}}class dr extends Gt{constructor(t,e){super(t,e),this.children=null,this.start=null,this.stop=null,this.exception=null}Ko(t){this._i=t._i,this.Vi=t.Vi,this.children=null,this.start=t.start,this.stop=t.stop,t.children&&(this.children=[],t.children.map(function(t){t instanceof fr&&(this.children.push(t),t._i=this)},this))}Mo(t){}To(t){}Fo(t){return null===this.children&&(this.children=[]),this.children.push(t),t}ko(){null!==this.children&&this.children.pop()}Do(t){let e=new cr(t);return this.Fo(e),e._i=this,e}do(t){let e=new fr(t);return this.Fo(e),e._i=this,e}yi(t,e){if(e=e||null,null===this.children||t<0||t>=this.children.length)return null;if(null===e)return this.children[t];for(let r=0;r<this.children.length;r++){let s=this.children[r];if(s instanceof e){if(0===t)return s;t-=1}}return null}zo(t,e){if(null===this.children||e<0||e>=this.children.length)return null;for(let r=0;r<this.children.length;r++){let s=this.children[r];if(s instanceof Vt&&s.bi.type===t){if(0===e)return s;e-=1}}return null}sn(t){if(null===this.children)return[];{let e=[];for(let r=0;r<this.children.length;r++){let s=this.children[r];s instanceof Vt&&s.bi.type===t&&e.push(s)}return e}}Qo(t,e){return this.yi(e,t)}Zo(t){if(null===this.children)return[];{let e=[];for(let r=0;r<this.children.length;r++){let s=this.children[r];s instanceof t&&e.push(s)}return e}}Ii(){return null===this.children?0:this.children.length}Ui(){return null===this.start||null===this.stop?nt.ds:new nt(this.start.cr,this.stop.cr)}}Gt.EMPTY=new dr;const wr={Zr:ze,Na:tr,tc:er,error:rr,Lexer:ut,Parser:or,ParserRuleContext:dr,Token:Y},gr=(new wr.Zr.ATNDeserializer).Wu([4,0,38,607,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,29,4,29,152,8,29,11,29,12,29,153,3,29,156,8,29,1,29,1,29,5,29,160,8,29,10,29,12,29,163,9,29,1,29,1,29,4,29,167,8,29,11,29,12,29,168,3,29,171,8,29,1,29,1,29,1,29,4,29,176,8,29,11,29,12,29,177,3,29,180,8,29,1,29,1,29,5,29,184,8,29,10,29,12,29,187,9,29,1,29,1,29,4,29,191,8,29,11,29,12,29,192,3,29,195,8,29,3,29,197,8,29,1,29,1,29,3,29,201,8,29,1,29,1,29,3,29,205,8,29,3,29,207,8,29,1,30,1,30,1,30,1,30,5,30,213,8,30,10,30,12,30,216,9,30,1,30,1,30,1,30,1,30,1,30,5,30,223,8,30,10,30,12,30,226,9,30,1,30,1,30,1,30,1,30,1,30,5,30,233,8,30,10,30,12,30,236,9,30,1,30,3,30,239,8,30,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,289,8,32,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,563,8,34,1,34,1,34,5,34,567,8,34,10,34,12,34,570,9,34,3,34,572,8,34,1,35,1,35,1,36,4,36,577,8,36,11,36,12,36,578,1,36,1,36,1,37,1,37,1,37,1,37,5,37,587,8,37,10,37,12,37,590,9,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,5,38,601,8,38,10,38,12,38,604,9,38,1,38,1,38,1,588,0,39,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,0,73,36,75,37,77,38,1,0,11,1,0,48,57,1,0,49,57,2,0,43,43,45,45,1,0,39,39,1,0,34,34,1,0,96,96,2,0,65,90,95,95,3,0,48,57,65,90,95,95,10,0,192,214,216,246,248,8191,11264,12287,12352,12687,13056,13183,13312,16383,19968,55295,63744,64255,65280,65520,3,0,9,10,12,13,32,32,2,0,10,10,13,13,680,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,1,79,1,0,0,0,3,81,1,0,0,0,5,83,1,0,0,0,7,85,1,0,0,0,9,87,1,0,0,0,11,89,1,0,0,0,13,91,1,0,0,0,15,93,1,0,0,0,17,95,1,0,0,0,19,97,1,0,0,0,21,99,1,0,0,0,23,101,1,0,0,0,25,103,1,0,0,0,27,105,1,0,0,0,29,107,1,0,0,0,31,110,1,0,0,0,33,112,1,0,0,0,35,115,1,0,0,0,37,117,1,0,0,0,39,120,1,0,0,0,41,124,1,0,0,0,43,128,1,0,0,0,45,131,1,0,0,0,47,134,1,0,0,0,49,137,1,0,0,0,51,140,1,0,0,0,53,142,1,0,0,0,55,144,1,0,0,0,57,146,1,0,0,0,59,206,1,0,0,0,61,238,1,0,0,0,63,240,1,0,0,0,65,288,1,0,0,0,67,290,1,0,0,0,69,571,1,0,0,0,71,573,1,0,0,0,73,576,1,0,0,0,75,582,1,0,0,0,77,596,1,0,0,0,79,80,5,46,0,0,80,2,1,0,0,0,81,82,5,40,0,0,82,4,1,0,0,0,83,84,5,44,0,0,84,6,1,0,0,0,85,86,5,41,0,0,86,8,1,0,0,0,87,88,5,91,0,0,88,10,1,0,0,0,89,90,5,93,0,0,90,12,1,0,0,0,91,92,5,33,0,0,92,14,1,0,0,0,93,94,5,37,0,0,94,16,1,0,0,0,95,96,5,42,0,0,96,18,1,0,0,0,97,98,5,47,0,0,98,20,1,0,0,0,99,100,5,43,0,0,100,22,1,0,0,0,101,102,5,45,0,0,102,24,1,0,0,0,103,104,5,38,0,0,104,26,1,0,0,0,105,106,5,62,0,0,106,28,1,0,0,0,107,108,5,62,0,0,108,109,5,61,0,0,109,30,1,0,0,0,110,111,5,60,0,0,111,32,1,0,0,0,112,113,5,60,0,0,113,114,5,61,0,0,114,34,1,0,0,0,115,116,5,61,0,0,116,36,1,0,0,0,117,118,5,61,0,0,118,119,5,61,0,0,119,38,1,0,0,0,120,121,5,61,0,0,121,122,5,61,0,0,122,123,5,61,0,0,123,40,1,0,0,0,124,125,5,33,0,0,125,126,5,61,0,0,126,127,5,61,0,0,127,42,1,0,0,0,128,129,5,33,0,0,129,130,5,61,0,0,130,44,1,0,0,0,131,132,5,60,0,0,132,133,5,62,0,0,133,46,1,0,0,0,134,135,5,38,0,0,135,136,5,38,0,0,136,48,1,0,0,0,137,138,5,124,0,0,138,139,5,124,0,0,139,50,1,0,0,0,140,141,5,63,0,0,141,52,1,0,0,0,142,143,5,58,0,0,143,54,1,0,0,0,144,145,5,123,0,0,145,56,1,0,0,0,146,147,5,125,0,0,147,58,1,0,0,0,148,155,5,48,0,0,149,151,5,46,0,0,150,152,7,0,0,0,151,150,1,0,0,0,152,153,1,0,0,0,153,151,1,0,0,0,153,154,1,0,0,0,154,156,1,0,0,0,155,149,1,0,0,0,155,156,1,0,0,0,156,207,1,0,0,0,157,161,7,1,0,0,158,160,7,0,0,0,159,158,1,0,0,0,160,163,1,0,0,0,161,159,1,0,0,0,161,162,1,0,0,0,162,170,1,0,0,0,163,161,1,0,0,0,164,166,5,46,0,0,165,167,7,0,0,0,166,165,1,0,0,0,167,168,1,0,0,0,168,166,1,0,0,0,168,169,1,0,0,0,169,171,1,0,0,0,170,164,1,0,0,0,170,171,1,0,0,0,171,207,1,0,0,0,172,179,5,48,0,0,173,175,5,46,0,0,174,176,7,0,0,0,175,174,1,0,0,0,176,177,1,0,0,0,177,175,1,0,0,0,177,178,1,0,0,0,178,180,1,0,0,0,179,173,1,0,0,0,179,180,1,0,0,0,180,197,1,0,0,0,181,185,7,1,0,0,182,184,7,0,0,0,183,182,1,0,0,0,184,187,1,0,0,0,185,183,1,0,0,0,185,186,1,0,0,0,186,194,1,0,0,0,187,185,1,0,0,0,188,190,5,46,0,0,189,191,7,0,0,0,190,189,1,0,0,0,191,192,1,0,0,0,192,190,1,0,0,0,192,193,1,0,0,0,193,195,1,0,0,0,194,188,1,0,0,0,194,195,1,0,0,0,195,197,1,0,0,0,196,172,1,0,0,0,196,181,1,0,0,0,197,198,1,0,0,0,198,200,5,69,0,0,199,201,7,2,0,0,200,199,1,0,0,0,200,201,1,0,0,0,201,202,1,0,0,0,202,204,7,0,0,0,203,205,7,0,0,0,204,203,1,0,0,0,204,205,1,0,0,0,205,207,1,0,0,0,206,148,1,0,0,0,206,157,1,0,0,0,206,196,1,0,0,0,207,60,1,0,0,0,208,214,5,39,0,0,209,213,8,3,0,0,210,211,5,92,0,0,211,213,5,39,0,0,212,209,1,0,0,0,212,210,1,0,0,0,213,216,1,0,0,0,214,212,1,0,0,0,214,215,1,0,0,0,215,217,1,0,0,0,216,214,1,0,0,0,217,239,5,39,0,0,218,224,5,34,0,0,219,223,8,4,0,0,220,221,5,92,0,0,221,223,5,34,0,0,222,219,1,0,0,0,222,220,1,0,0,0,223,226,1,0,0,0,224,222,1,0,0,0,224,225,1,0,0,0,225,227,1,0,0,0,226,224,1,0,0,0,227,239,5,34,0,0,228,234,5,96,0,0,229,233,8,5,0,0,230,231,5,92,0,0,231,233,5,96,0,0,232,229,1,0,0,0,232,230,1,0,0,0,233,236,1,0,0,0,234,232,1,0,0,0,234,235,1,0,0,0,235,237,1,0,0,0,236,234,1,0,0,0,237,239,5,96,0,0,238,208,1,0,0,0,238,218,1,0,0,0,238,228,1,0,0,0,239,62,1,0,0,0,240,241,5,78,0,0,241,242,5,85,0,0,242,243,5,76,0,0,243,244,5,76,0,0,244,64,1,0,0,0,245,289,5,77,0,0,246,247,5,75,0,0,247,289,5,77,0,0,248,249,5,68,0,0,249,289,5,77,0,0,250,251,5,67,0,0,251,289,5,77,0,0,252,253,5,77,0,0,253,289,5,77,0,0,254,255,5,77,0,0,255,289,5,50,0,0,256,257,5,75,0,0,257,258,5,77,0,0,258,289,5,50,0,0,259,260,5,68,0,0,260,261,5,77,0,0,261,289,5,50,0,0,262,263,5,67,0,0,263,264,5,77,0,0,264,289,5,50,0,0,265,266,5,77,0,0,266,267,5,77,0,0,267,289,5,50,0,0,268,269,5,77,0,0,269,289,5,51,0,0,270,271,5,75,0,0,271,272,5,77,0,0,272,289,5,51,0,0,273,274,5,68,0,0,274,275,5,77,0,0,275,289,5,51,0,0,276,277,5,67,0,0,277,278,5,77,0,0,278,289,5,51,0,0,279,280,5,77,0,0,280,281,5,77,0,0,281,289,5,51,0,0,282,289,5,76,0,0,283,284,5,77,0,0,284,289,5,76,0,0,285,289,5,71,0,0,286,287,5,75,0,0,287,289,5,71,0,0,288,245,1,0,0,0,288,246,1,0,0,0,288,248,1,0,0,0,288,250,1,0,0,0,288,252,1,0,0,0,288,254,1,0,0,0,288,256,1,0,0,0,288,259,1,0,0,0,288,262,1,0,0,0,288,265,1,0,0,0,288,268,1,0,0,0,288,270,1,0,0,0,288,273,1,0,0,0,288,276,1,0,0,0,288,279,1,0,0,0,288,282,1,0,0,0,288,283,1,0,0,0,288,285,1,0,0,0,288,286,1,0,0,0,289,66,1,0,0,0,290,291,5,84,0,0,291,68,1,0,0,0,292,293,5,80,0,0,293,294,5,69,0,0,294,295,5,82,0,0,295,296,5,67,0,0,296,297,5,69,0,0,297,298,5,78,0,0,298,299,5,84,0,0,299,300,5,73,0,0,300,301,5,76,0,0,301,302,5,69,0,0,302,303,5,46,0,0,303,304,5,73,0,0,304,305,5,78,0,0,305,572,5,67,0,0,306,307,5,80,0,0,307,308,5,69,0,0,308,309,5,82,0,0,309,310,5,67,0,0,310,311,5,69,0,0,311,312,5,78,0,0,312,313,5,84,0,0,313,314,5,82,0,0,314,315,5,65,0,0,315,316,5,78,0,0,316,317,5,75,0,0,317,318,5,46,0,0,318,319,5,73,0,0,319,320,5,78,0,0,320,572,5,67,0,0,321,322,5,83,0,0,322,323,5,84,0,0,323,324,5,68,0,0,324,325,5,69,0,0,325,326,5,86,0,0,326,327,5,46,0,0,327,572,5,83,0,0,328,329,5,83,0,0,329,330,5,84,0,0,330,331,5,68,0,0,331,332,5,69,0,0,332,333,5,86,0,0,333,334,5,46,0,0,334,572,5,80,0,0,335,336,5,67,0,0,336,337,5,79,0,0,337,338,5,86,0,0,338,339,5,65,0,0,339,340,5,82,0,0,340,341,5,73,0,0,341,342,5,65,0,0,342,343,5,78,0,0,343,344,5,67,0,0,344,345,5,69,0,0,345,346,5,46,0,0,346,572,5,80,0,0,347,348,5,67,0,0,348,349,5,79,0,0,349,350,5,86,0,0,350,351,5,65,0,0,351,352,5,82,0,0,352,353,5,73,0,0,353,354,5,65,0,0,354,355,5,78,0,0,355,356,5,67,0,0,356,357,5,69,0,0,357,358,5,46,0,0,358,572,5,83,0,0,359,360,5,86,0,0,360,361,5,65,0,0,361,362,5,82,0,0,362,363,5,46,0,0,363,572,5,83,0,0,364,365,5,86,0,0,365,366,5,65,0,0,366,367,5,82,0,0,367,368,5,46,0,0,368,572,5,80,0,0,369,370,5,78,0,0,370,371,5,79,0,0,371,372,5,82,0,0,372,373,5,77,0,0,373,374,5,46,0,0,374,375,5,68,0,0,375,376,5,73,0,0,376,377,5,83,0,0,377,572,5,84,0,0,378,379,5,78,0,0,379,380,5,79,0,0,380,381,5,82,0,0,381,382,5,77,0,0,382,383,5,46,0,0,383,384,5,73,0,0,384,385,5,78,0,0,385,572,5,86,0,0,386,387,5,78,0,0,387,388,5,79,0,0,388,389,5,82,0,0,389,390,5,77,0,0,390,391,5,46,0,0,391,392,5,83,0,0,392,393,5,46,0,0,393,394,5,68,0,0,394,395,5,73,0,0,395,396,5,83,0,0,396,572,5,84,0,0,397,398,5,78,0,0,398,399,5,79,0,0,399,400,5,82,0,0,400,401,5,77,0,0,401,402,5,46,0,0,402,403,5,83,0,0,403,404,5,46,0,0,404,405,5,73,0,0,405,406,5,78,0,0,406,572,5,86,0,0,407,408,5,66,0,0,408,409,5,69,0,0,409,410,5,84,0,0,410,411,5,65,0,0,411,412,5,46,0,0,412,413,5,68,0,0,413,414,5,73,0,0,414,415,5,83,0,0,415,572,5,84,0,0,416,417,5,66,0,0,417,418,5,69,0,0,418,419,5,84,0,0,419,420,5,65,0,0,420,421,5,46,0,0,421,422,5,73,0,0,422,423,5,78,0,0,423,572,5,86,0,0,424,425,5,66,0,0,425,426,5,73,0,0,426,427,5,78,0,0,427,428,5,79,0,0,428,429,5,77,0,0,429,430,5,46,0,0,430,431,5,68,0,0,431,432,5,73,0,0,432,433,5,83,0,0,433,572,5,84,0,0,434,435,5,69,0,0,435,436,5,88,0,0,436,437,5,80,0,0,437,438,5,79,0,0,438,439,5,78,0,0,439,440,5,46,0,0,440,441,5,68,0,0,441,442,5,73,0,0,442,443,5,83,0,0,443,572,5,84,0,0,444,445,5,70,0,0,445,446,5,46,0,0,446,447,5,68,0,0,447,448,5,73,0,0,448,449,5,83,0,0,449,572,5,84,0,0,450,451,5,70,0,0,451,452,5,46,0,0,452,453,5,73,0,0,453,454,5,78,0,0,454,572,5,86,0,0,455,456,5,71,0,0,456,457,5,65,0,0,457,458,5,77,0,0,458,459,5,77,0,0,459,460,5,65,0,0,460,461,5,46,0,0,461,462,5,68,0,0,462,463,5,73,0,0,463,464,5,83,0,0,464,572,5,84,0,0,465,466,5,71,0,0,466,467,5,65,0,0,467,468,5,77,0,0,468,469,5,77,0,0,469,470,5,65,0,0,470,471,5,46,0,0,471,472,5,73,0,0,472,473,5,78,0,0,473,572,5,86,0,0,474,475,5,71,0,0,475,476,5,65,0,0,476,477,5,77,0,0,477,478,5,77,0,0,478,479,5,65,0,0,479,480,5,76,0,0,480,481,5,78,0,0,481,482,5,46,0,0,482,483,5,80,0,0,483,484,5,82,0,0,484,485,5,69,0,0,485,486,5,67,0,0,486,487,5,73,0,0,487,488,5,83,0,0,488,572,5,69,0,0,489,490,5,72,0,0,490,491,5,89,0,0,491,492,5,80,0,0,492,493,5,71,0,0,493,494,5,69,0,0,494,495,5,79,0,0,495,496,5,77,0,0,496,497,5,46,0,0,497,498,5,68,0,0,498,499,5,73,0,0,499,500,5,83,0,0,500,572,5,84,0,0,501,502,5,76,0,0,502,503,5,79,0,0,503,504,5,71,0,0,504,505,5,78,0,0,505,506,5,79,0,0,506,507,5,82,0,0,507,508,5,77,0,0,508,509,5,46,0,0,509,510,5,73,0,0,510,511,5,78,0,0,511,572,5,86,0,0,512,513,5,76,0,0,513,514,5,79,0,0,514,515,5,71,0,0,515,516,5,78,0,0,516,517,5,79,0,0,517,518,5,82,0,0,518,519,5,77,0,0,519,520,5,46,0,0,520,521,5,68,0,0,521,522,5,73,0,0,522,523,5,83,0,0,523,572,5,84,0,0,524,525,5,78,0,0,525,526,5,69,0,0,526,527,5,71,0,0,527,528,5,66,0,0,528,529,5,73,0,0,529,530,5,78,0,0,530,531,5,79,0,0,531,532,5,77,0,0,532,533,5,46,0,0,533,534,5,68,0,0,534,535,5,73,0,0,535,536,5,83,0,0,536,572,5,84,0,0,537,538,5,80,0,0,538,539,5,79,0,0,539,540,5,73,0,0,540,541,5,83,0,0,541,542,5,83,0,0,542,543,5,79,0,0,543,544,5,78,0,0,544,545,5,46,0,0,545,546,5,68,0,0,546,547,5,73,0,0,547,548,5,83,0,0,548,572,5,84,0,0,549,550,5,84,0,0,550,551,5,46,0,0,551,552,5,68,0,0,552,553,5,73,0,0,553,554,5,83,0,0,554,572,5,84,0,0,555,556,5,84,0,0,556,557,5,46,0,0,557,558,5,73,0,0,558,559,5,78,0,0,559,572,5,86,0,0,560,563,7,6,0,0,561,563,3,71,35,0,562,560,1,0,0,0,562,561,1,0,0,0,563,568,1,0,0,0,564,567,7,7,0,0,565,567,3,71,35,0,566,564,1,0,0,0,566,565,1,0,0,0,567,570,1,0,0,0,568,566,1,0,0,0,568,569,1,0,0,0,569,572,1,0,0,0,570,568,1,0,0,0,571,292,1,0,0,0,571,306,1,0,0,0,571,321,1,0,0,0,571,328,1,0,0,0,571,335,1,0,0,0,571,347,1,0,0,0,571,359,1,0,0,0,571,364,1,0,0,0,571,369,1,0,0,0,571,378,1,0,0,0,571,386,1,0,0,0,571,397,1,0,0,0,571,407,1,0,0,0,571,416,1,0,0,0,571,424,1,0,0,0,571,434,1,0,0,0,571,444,1,0,0,0,571,450,1,0,0,0,571,455,1,0,0,0,571,465,1,0,0,0,571,474,1,0,0,0,571,489,1,0,0,0,571,501,1,0,0,0,571,512,1,0,0,0,571,524,1,0,0,0,571,537,1,0,0,0,571,549,1,0,0,0,571,555,1,0,0,0,571,562,1,0,0,0,572,70,1,0,0,0,573,574,7,8,0,0,574,72,1,0,0,0,575,577,7,9,0,0,576,575,1,0,0,0,577,578,1,0,0,0,578,576,1,0,0,0,578,579,1,0,0,0,579,580,1,0,0,0,580,581,6,36,0,0,581,74,1,0,0,0,582,583,5,47,0,0,583,584,5,42,0,0,584,588,1,0,0,0,585,587,9,0,0,0,586,585,1,0,0,0,587,590,1,0,0,0,588,589,1,0,0,0,588,586,1,0,0,0,589,591,1,0,0,0,590,588,1,0,0,0,591,592,5,42,0,0,592,593,5,47,0,0,593,594,1,0,0,0,594,595,6,37,0,0,595,76,1,0,0,0,596,597,5,47,0,0,597,598,5,47,0,0,598,602,1,0,0,0,599,601,8,10,0,0,600,599,1,0,0,0,601,604,1,0,0,0,602,600,1,0,0,0,602,603,1,0,0,0,603,605,1,0,0,0,604,602,1,0,0,0,605,606,6,38,0,0,606,78,1,0,0,0,30,0,153,155,161,168,170,177,179,185,192,194,196,200,204,206,212,214,222,224,232,234,238,288,562,566,568,571,578,588,602,1,6,0,0]),pr=gr.au.map((t,e)=>new wr.Na.DFA(t,e));class mr extends wr.Lexer{static ec="";static rc=[];static sc=[];static kr=[];static _r=[];static Xr=[];constructor(t){super(t),this.br=new wr.Zr.LexerATNSimulator(this,gr,pr,new wr.Zr.PredictionContextCache)}}const vr=(new wr.Zr.ATNDeserializer).Wu([4,1,38,142,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,24,8,1,10,1,12,1,27,9,1,3,1,29,8,1,1,1,1,1,1,1,1,1,1,1,5,1,36,8,1,10,1,12,1,39,9,1,1,1,5,1,42,8,1,10,1,12,1,45,9,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,53,8,1,10,1,12,1,56,9,1,1,1,5,1,59,8,1,10,1,12,1,62,9,1,1,1,1,1,1,1,1,1,1,1,3,1,69,8,1,1,1,1,1,3,1,73,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,106,8,1,10,1,12,1,109,9,1,3,1,111,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,128,8,1,10,1,12,1,131,9,1,1,2,3,2,134,8,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,0,1,2,4,0,2,4,6,0,7,1,0,33,35,1,0,33,34,1,0,8,10,1,0,11,13,1,0,14,17,1,0,18,23,1,0,30,35,167,0,8,1,0,0,0,2,72,1,0,0,0,4,133,1,0,0,0,6,137,1,0,0,0,8,9,3,2,1,0,9,10,5,0,0,1,10,1,1,0,0,0,11,12,6,1,-1,0,12,13,5,2,0,0,13,14,3,2,1,0,14,15,5,4,0,0,15,73,1,0,0,0,16,17,5,7,0,0,17,73,3,2,1,16,18,19,7,0,0,0,19,28,5,2,0,0,20,25,3,2,1,0,21,22,5,3,0,0,22,24,3,2,1,0,23,21,1,0,0,0,24,27,1,0,0,0,25,23,1,0,0,0,25,26,1,0,0,0,26,29,1,0,0,0,27,25,1,0,0,0,28,20,1,0,0,0,28,29,1,0,0,0,29,30,1,0,0,0,30,73,5,4,0,0,31,32,5,28,0,0,32,37,3,6,3,0,33,34,5,3,0,0,34,36,3,6,3,0,35,33,1,0,0,0,36,39,1,0,0,0,37,35,1,0,0,0,37,38,1,0,0,0,38,43,1,0,0,0,39,37,1,0,0,0,40,42,5,3,0,0,41,40,1,0,0,0,42,45,1,0,0,0,43,41,1,0,0,0,43,44,1,0,0,0,44,46,1,0,0,0,45,43,1,0,0,0,46,47,5,29,0,0,47,73,1,0,0,0,48,49,5,5,0,0,49,54,3,2,1,0,50,51,5,3,0,0,51,53,3,2,1,0,52,50,1,0,0,0,53,56,1,0,0,0,54,52,1,0,0,0,54,55,1,0,0,0,55,60,1,0,0,0,56,54,1,0,0,0,57,59,5,3,0,0,58,57,1,0,0,0,59,62,1,0,0,0,60,58,1,0,0,0,60,61,1,0,0,0,61,63,1,0,0,0,62,60,1,0,0,0,63,64,5,6,0,0,64,73,1,0,0,0,65,73,5,35,0,0,66,68,3,4,2,0,67,69,7,1,0,0,68,67,1,0,0,0,68,69,1,0,0,0,69,73,1,0,0,0,70,73,5,31,0,0,71,73,5,32,0,0,72,11,1,0,0,0,72,16,1,0,0,0,72,18,1,0,0,0,72,31,1,0,0,0,72,48,1,0,0,0,72,65,1,0,0,0,72,66,1,0,0,0,72,70,1,0,0,0,72,71,1,0,0,0,73,129,1,0,0,0,74,75,10,14,0,0,75,76,7,2,0,0,76,128,3,2,1,15,77,78,10,13,0,0,78,79,7,3,0,0,79,128,3,2,1,14,80,81,10,12,0,0,81,82,7,4,0,0,82,128,3,2,1,13,83,84,10,11,0,0,84,85,7,5,0,0,85,128,3,2,1,12,86,87,10,10,0,0,87,88,5,24,0,0,88,128,3,2,1,11,89,90,10,9,0,0,90,91,5,25,0,0,91,128,3,2,1,10,92,93,10,8,0,0,93,94,5,26,0,0,94,95,3,2,1,0,95,96,5,27,0,0,96,97,3,2,1,9,97,128,1,0,0,0,98,99,10,21,0,0,99,100,5,1,0,0,100,101,7,0,0,0,101,110,5,2,0,0,102,107,3,2,1,0,103,104,5,3,0,0,104,106,3,2,1,0,105,103,1,0,0,0,106,109,1,0,0,0,107,105,1,0,0,0,107,108,1,0,0,0,108,111,1,0,0,0,109,107,1,0,0,0,110,102,1,0,0,0,110,111,1,0,0,0,111,112,1,0,0,0,112,128,5,4,0,0,113,114,10,20,0,0,114,115,5,5,0,0,115,116,5,35,0,0,116,128,5,6,0,0,117,118,10,19,0,0,118,119,5,5,0,0,119,120,3,2,1,0,120,121,5,6,0,0,121,128,1,0,0,0,122,123,10,18,0,0,123,124,5,1,0,0,124,128,7,0,0,0,125,126,10,15,0,0,126,128,5,8,0,0,127,74,1,0,0,0,127,77,1,0,0,0,127,80,1,0,0,0,127,83,1,0,0,0,127,86,1,0,0,0,127,89,1,0,0,0,127,92,1,0,0,0,127,98,1,0,0,0,127,113,1,0,0,0,127,117,1,0,0,0,127,122,1,0,0,0,127,125,1,0,0,0,128,131,1,0,0,0,129,127,1,0,0,0,129,130,1,0,0,0,130,3,1,0,0,0,131,129,1,0,0,0,132,134,5,12,0,0,133,132,1,0,0,0,133,134,1,0,0,0,134,135,1,0,0,0,135,136,5,30,0,0,136,5,1,0,0,0,137,138,7,6,0,0,138,139,5,27,0,0,139,140,3,2,1,0,140,7,1,0,0,0,13,25,28,37,43,54,60,68,72,107,110,127,129,133]),Nr=vr.au.map((t,e)=>new wr.Na.DFA(t,e)),xr=new wr.Zr.PredictionContextCache;class Mr extends wr.Parser{static ec="";static kr=[];static _r=[];static Xr=[];constructor(t){super(t),this.br=new wr.Zr.ParserATNSimulator(this,vr,Nr,xr),this.Xr=Mr.Xr,this.kr=Mr.kr,this._r=Mr._r}zr(t,e,r){return!0}nc(){let t=new Er(this,this.bh,this.state);this.Mo(t,0,0);try{this.Lo(t,1),this.state=8,this.uc(0),this.match(-1)}catch(e){if(!(e instanceof wr.error.RecognitionException))throw e;t.exception=e,this.io.reportError(this,e),this.io.Os(this,e)}finally{this.To()}return t}uc(t){void 0===t&&(t=0);const e=this.bh,r=this.state;let s=new Tr(this,this.bh,r);this.Po(s,2,1,t);var n=0;try{switch(this.Lo(s,1),this.io.sync(this),this.br.Gh(this.ps,7,this.bh)){case 1:s=new Pr(this,s),this.bh=s,this.match(2),this.state=13,this.uc(0),this.match(4);break;case 2:s=new kr(this,s),this.bh=s,this.match(7),this.state=17,this.uc(16);break;case 3:if(s=new br(this,s),this.bh=s,s.f=this.ps.LT(1),(n=this.ps.LA(1))-33&-32||!(1<<n-33&7)?s.f=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.match(2),this.io.sync(this),!(-32&(n=this.ps.LA(1)))&&1<<n&3489665188||!(n-32&-32)&&1<<n-32&15)for(this.state=20,this.uc(0),this.io.sync(this),n=this.ps.LA(1);3===n;)this.match(3),this.state=22,this.uc(0),this.io.sync(this),n=this.ps.LA(1);this.match(4);break;case 4:s=new Rr(this,s),this.bh=s,this.match(28),this.state=32,this.lc(),this.io.sync(this);for(var i=this.br.Gh(this.ps,2,this.bh);2!=i&&i!=wr.Zr.ATN.Su;)1===i&&(this.match(3),this.state=34,this.lc()),this.io.sync(this),i=this.br.Gh(this.ps,2,this.bh);for(this.io.sync(this),n=this.ps.LA(1);3===n;)this.match(3),this.io.sync(this),n=this.ps.LA(1);this.match(29);break;case 5:for(s=new Fr(this,s),this.bh=s,this.match(5),this.state=49,this.uc(0),this.io.sync(this),i=this.br.Gh(this.ps,4,this.bh);2!=i&&i!=wr.Zr.ATN.Su;)1===i&&(this.match(3),this.state=51,this.uc(0)),this.io.sync(this),i=this.br.Gh(this.ps,4,this.bh);for(this.io.sync(this),n=this.ps.LA(1);3===n;)this.match(3),this.io.sync(this),n=this.ps.LA(1);this.match(6);break;case 6:s=new _r(this,s),this.bh=s,this.match(35);break;case 7:s=new Vr(this,s),this.bh=s,this.state=66,this.hc(),this.io.sync(this),1===this.br.Gh(this.ps,6,this.bh)&&(s.unit=this.ps.LT(1),33!==(n=this.ps.LA(1))&&34!==n?s.unit=this.io.Ra(this):(this.io.Ha(this),this.Js()));break;case 8:s=new Cr(this,s),this.bh=s,this.match(31);break;case 9:s=new Br(this,s),this.bh=s,this.match(32)}for(this.bh.stop=this.ps.LT(-1),this.io.sync(this),i=this.br.Gh(this.ps,11,this.bh);2!=i&&i!=wr.Zr.ATN.Su;){if(1===i)switch(null!==this.ao&&this.Eo(),this.io.sync(this),this.br.Gh(this.ps,10,this.bh)){case 1:s=new Lr(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.ps.LT(1),-32&(n=this.ps.LA(1))||!(1<<n&1792)?s.ac=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.state=76,this.uc(15);break;case 2:s=new Dr(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.ps.LT(1),-32&(n=this.ps.LA(1))||!(1<<n&14336)?s.ac=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.state=79,this.uc(14);break;case 3:s=new Ir(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.ps.LT(1),-32&(n=this.ps.LA(1))||!(1<<n&245760)?s.ac=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.state=82,this.uc(13);break;case 4:s=new Ir(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.ps.LT(1),-32&(n=this.ps.LA(1))||!(1<<n&16515072)?s.ac=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.state=85,this.uc(12);break;case 5:s=new yr(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.match(24),this.state=88,this.uc(11);break;case 6:s=new yr(this,new Tr(this,e,r)),this._o(s,2,1),s.ac=this.match(25),this.state=91,this.uc(10);break;case 7:s=new Sr(this,new Tr(this,e,r)),this._o(s,2,1),this.match(26),this.state=94,this.uc(0),this.match(27),this.state=96,this.uc(9);break;case 8:if(s=new br(this,new Tr(this,e,r)),this._o(s,2,1),this.match(1),s.f=this.ps.LT(1),(n=this.ps.LA(1))-33&-32||!(1<<n-33&7)?s.f=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.match(2),this.io.sync(this),!(-32&(n=this.ps.LA(1)))&&1<<n&3489665188||!(n-32&-32)&&1<<n-32&15)for(this.state=102,this.uc(0),this.io.sync(this),n=this.ps.LA(1);3===n;)this.match(3),this.state=104,this.uc(0),this.io.sync(this),n=this.ps.LA(1);this.match(4);break;case 9:s=new Or(this,new Tr(this,e,r)),this._o(s,2,1),this.match(5),this.match(35),this.match(6);break;case 10:s=new Or(this,new Tr(this,e,r)),this._o(s,2,1),this.match(5),this.state=119,this.uc(0),this.match(6);break;case 11:s=new Or(this,new Tr(this,e,r)),this._o(s,2,1),this.match(1),s.oc=this.ps.LT(1),(n=this.ps.LA(1))-33&-32||!(1<<n-33&7)?s.oc=this.io.Ra(this):(this.io.Ha(this),this.Js());break;case 12:s=new Ar(this,new Tr(this,e,r)),this._o(s,2,1),this.match(8)}this.io.sync(this),i=this.br.Gh(this.ps,11,this.bh)}}catch(t){if(!(t instanceof wr.error.RecognitionException))throw t;s.exception=t,this.io.reportError(this,t),this.io.Os(this,t)}finally{this.Vo(e)}return s}hc(){let t=new Hr(this,this.bh,this.state);this.Mo(t,4,2);try{this.Lo(t,1),this.io.sync(this),12===this.ps.LA(1)&&this.match(12),this.match(30)}catch(e){if(!(e instanceof wr.error.RecognitionException))throw e;t.exception=e,this.io.reportError(this,e),this.io.Os(this,e)}finally{this.To()}return t}lc(){let t=new Ur(this,this.bh,this.state);this.Mo(t,6,3);var e=0;try{this.Lo(t,1),t.key=this.ps.LT(1),(e=this.ps.LA(1))-30&-32||!(1<<e-30&63)?t.key=this.io.Ra(this):(this.io.Ha(this),this.Js()),this.match(27),this.state=139,this.uc(0)}catch(e){if(!(e instanceof wr.error.RecognitionException))throw e;t.exception=e,this.io.reportError(this,e),this.io.Os(this,e)}finally{this.To()}return t}}class Er extends wr.ParserRuleContext{constructor(t,e,r){super(e,r),this.Fh=t,this.zn=0}uc(){return this.Qo(Tr,0)}accept(t){return t.cc(this)}}class Tr extends wr.ParserRuleContext{constructor(t,e,r){super(e,r),this.Fh=t,this.zn=1}Ko(t){super.Ko(t)}}class Sr extends Tr{constructor(t,e){super(t),super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.fc(this)}}class Ir extends Tr{constructor(t,e){super(t),this.ac=null,super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.dc(this)}}class yr extends Tr{constructor(t,e){super(t),this.ac=null,super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.wc(this)}}class Ar extends Tr{constructor(t,e){super(t),super.Ko(e)}uc(){return this.Qo(Tr,0)}accept(t){return t.gc(this)}}class br extends Tr{constructor(t,e){super(t),this.f=null,super.Ko(e)}PARAMETER(){return this.zo(35,0)}uc=function(t){return this.Zo(Tr)};accept(t){return t.mc(this)}}class Cr extends Tr{constructor(t,e){super(t),super.Ko(e)}accept(t){return t.vc(this)}}class Dr extends Tr{constructor(t,e){super(t),this.ac=null,super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.Nc(this)}}class Rr extends Tr{constructor(t,e){super(t),super.Ko(e)}lc=function(t){return this.Zo(Ur)};accept(t){return t.xc(this)}}class Or extends Tr{constructor(t,e){super(t),this.oc=null,super.Ko(e)}uc=function(t){return this.Zo(Tr)};PARAMETER(){return this.zo(35,0)}accept(t){return t.Mc(this)}}class Fr extends Tr{constructor(t,e){super(t),super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.Ec(this)}}class Lr extends Tr{constructor(t,e){super(t),this.ac=null,super.Ko(e)}uc=function(t){return this.Zo(Tr)};accept(t){return t.Tc(this)}}class kr extends Tr{constructor(t,e){super(t),super.Ko(e)}uc(){return this.Qo(Tr,0)}accept(t){return t.Sc(this)}}class Pr extends Tr{constructor(t,e){super(t),super.Ko(e)}uc(){return this.Qo(Tr,0)}accept(t){return t.Ic(this)}}class _r extends Tr{constructor(t,e){super(t),super.Ko(e)}PARAMETER(){return this.zo(35,0)}accept(t){return t.yc(this)}}class Vr extends Tr{constructor(t,e){super(t),this.unit=null,super.Ko(e)}hc(){return this.Qo(Hr,0)}accept(t){return t.Ac(this)}}class Br extends Tr{constructor(t,e){super(t),super.Ko(e)}accept(t){return t.bc(this)}}class Hr extends wr.ParserRuleContext{constructor(t,e,r){super(e,r),this.Fh=t,this.zn=2}accept(t){return t.Cc(this)}}class Ur extends wr.ParserRuleContext{constructor(t,e,r){super(e,r),this.Fh=t,this.zn=3,this.key=null}uc(){return this.Qo(Tr,0)}PARAMETER(){return this.zo(35,0)}accept(t){return t.Dc(this)}}class Gr extends K{constructor(){super(),this.IsError=!1,this.ErrorMsg=null}Er(t,e,r,s,n,i){this.IsError=!0,this.ErrorMsg=n}}class Xr extends wr.tc.ParseTreeVisitor{cc(t){return this.Xi(t)}fc(t){return this.Xi(t)}dc(t){return this.Xi(t)}wc(t){return this.Xi(t)}gc(t){return this.Xi(t)}mc(t){return this.Xi(t)}vc(t){return this.Xi(t)}Nc(t){return this.Xi(t)}xc(t){return this.Xi(t)}Mc(t){return this.Xi(t)}Ec(t){return this.Xi(t)}Tc(t){return this.Xi(t)}Sc(t){return this.Xi(t)}Ic(t){return this.Xi(t)}yc(t){return this.Xi(t)}Ac(t){return this.Xi(t)}bc(t){return this.Xi(t)}Cc(t){return this.Xi(t)}Dc(t){return this.Xi(t)}}class qr{get Name(){throw new Error("FIXME")}evaluate(t,e=null){throw new Error("FIXME")}Rc(){const t=[];return this.Rc(t,!1),t.join("")}Rc(t,e){throw new Error("FIXME")}Oc(t,e){return t.ToText("Function '{0}' parameter {1} is error!",this.Name,e)}Fc(t,e){return t.ToBoolean("Function '{0}' parameter {1} is error!",this.Name,e)}Lc(t,e){return t.ToNumber("Function '{0}' parameter {1} is error!",this.Name,e)}kc(t,e){return t.ToArray("Function '{0}' parameter {1} is error!",this.Name,e)}Pc(t,e){return t.ToMyDate("Function '{0}' parameter {1} is error!",this.Name,e)}_c(t){return _.Error("Function '{0}' parameter {1} is error!",this.Name,t)}Vc(){return _.Error("Function '{0}' parameter is error!",this.Name)}Bc(){return _.Error("Function '{0}' compare is error.",this.Name)}Hc(){return _.Error("Function '{0}' Div 0 error!",this.Name)}Uc(){return _.Error("Function '{0}' Num error!",this.Name)}Gc(){return h.NONE}Xc(t,e,r,s,n=null){try{const i=r(this.evaluate(t,n));return i.IsError?(t.LastError=i.ErrorMsg,e):s(i)}catch(e){t.LastError=e.message}return e}qc(t,e,r=null){const s=typeof e;return"number"===s?this.jc(t,e,r):"string"===s?this.Jc(t,e,r):"boolean"===s?this.$c(t,e,r):e}Wc(t,e,r=null){return this.Xc(t,e,t=>t.IsNumber?t:t.ToNumber("It can't be converted to number!"),t=>t.IntValue,r)}jc(t,e,r=null){return this.Xc(t,e,t=>t.IsNumber?t:t.ToNumber("It can't be converted to number!"),t=>t.NumberValue,r)}Jc(t,e,r=null){return this.Xc(t,e,t=>t.IsText?t:t.ToText("It can't be converted to string!"),t=>t.TextValue,r)}$c(t,e,r=null){return this.Xc(t,e,t=>t.IsBoolean?t:t.ToBoolean("It can't be converted to bool!"),t=>t.BooleanValue,r)}Yc(t,e,r=null){return this.Xc(t,e,t=>t.IsDate?t:t.ToMyDate("It can't be converted to DateTime!"),e=>t.UseLocalTime?e.DateValue.ToDateTime(1):e.DateValue.ToDateTime(0),r)}Kc(t,e,r=null){return this.Xc(t,e,t=>t.IsDate?t:t.ToMyDate("It can't be converted to DateTime!"),t=>t.DateValue.ToTimeSpan(),r)}}class jr extends qr{constructor(t){super(),Array.isArray(t)?this.a=t[0]:this.a=t}Rc(t,e){this.zc(t,this.Name)}zc(t,e){t.push(e),t.push("("),this.a.Rc(t,!1),t.push(")")}Qc(t,e){let r=this.a.evaluate(t,e);return r.IsText?r:this.Oc(r,1)}Zc(t,e){let r=this.a.evaluate(t,e);return r.IsNumber?r:this.Lc(r,1)}tf(t,e){let r=this.a.evaluate(t,e);return r.IsDate?r:this.Pc(r,1)}ef(t,e){let r=this.a.evaluate(t,e);return r.IsBoolean?r:this.Fc(r,1)}rf(t,e){let r=this.a.evaluate(t,e);return r.IsArray?r:this.kc(r,1)}evaluate(t,e=null){throw new Error("FIXME")}}class Jr extends jr{constructor(t,e){Array.isArray(t)?(super(t[0]),this.b=null,t.length>=2&&(this.b=t[1])):(super(t),this.b=e)}zc(t,e){t.push(e),t.push("("),this.a.Rc(t,!1),null!=this.b&&(t.push(", "),this.b.Rc(t,!1)),t.push(")")}sf(t,e){let r=this.b.evaluate(t,e);return r.IsText?r:this.Oc(r,2)}nf(t,e){let r=this.b.evaluate(t,e);return r.IsNumber?r:this.Lc(r,2)}if(t,e){let r=this.b.evaluate(t,e);return r.IsDate?r:this.Pc(r,2)}uf(t,e){let r=this.b.evaluate(t,e);return r.IsBoolean?r:this.Fc(r,2)}lf(t,e){let r=this.b.evaluate(t,e);return r.IsArray?r:this.kc(r,2)}evaluate(t,e=null){throw new Error("FIXME")}}class $r extends Jr{get Name(){return"*"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(1===r.NumberValue)return s;if(1===s.NumberValue)return r;let n=r.NumberValue*s.NumberValue;return isFinite(n)?_.Create(n):this.Uc()}Rc(t,e){e&&t.append("("),this.a.Rc(t,!0),t.append(" * "),this.b.Rc(t,!0),e&&t.append(")")}}class Wr extends Jr{get Name(){return"/"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(0===s.NumberValue)return this.Hc();if(1===s.NumberValue)return r;let n=r.NumberValue/s.NumberValue;return isFinite(n)?_.Create(n):this.Uc()}Rc(t,e){e&&t.append("("),this.a.Rc(t,!0),t.append(" / "),this.b.Rc(t,!0),e&&t.append(")")}}class Yr extends Jr{get Name(){return"%"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(0===s.NumberValue)return this.Hc();let n=r.NumberValue,i=s.NumberValue,u=n%i;return 0!=u&&u<0!=i<0&&(u+=i),_.Create(u)}Rc(t,e){e&&t.append("("),this.a.Rc(t,!0),t.append(" % "),this.b.Rc(t,!0),e&&t.append(")")}}class Kr extends Jr{get Name(){return"+"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue+s.NumberValue;return isFinite(n)?_.Create(n):this.Uc()}Rc(t,e){e&&t.append("("),this.a.Rc(t,!1),t.append(" + "),this.b.Rc(t,!1),e&&t.append(")")}}class zr extends Jr{get Name(){return"-"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(0===s.NumberValue)return r;let n=r.NumberValue-s.NumberValue;return isFinite(n)?_.Create(n):this.Uc()}Rc(t,e){e&&t.append("("),this.a.Rc(t,!1),t.append(" - "),this.b.Rc(t,!1),e&&t.append(")")}}class Qr extends Jr{get Name(){return"&"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);return s.IsError?s:_.Create(r.TextValue+s.TextValue)}Rc(t,e){e&&t.append("("),this.a.Rc(t,!1),t.append(" & "),this.b.Rc(t,!1),e&&t.append(")")}}class Zr extends Jr{constructor(t){super(t)}get Name(){return"=="}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue===s.NumberValue):r.IsText?_.Create(r.TextValue===s.TextValue):r.IsBoolean?_.Create(r.BooleanValue===s.BooleanValue):r.IsDate?_.Create(r.DateValue.ToLong()===s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.False:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue===s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" == "),this.b.Rc(t,!1),e&&t.push(")")}}class ts extends Jr{constructor(t){super(t)}get Name(){return"<"}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue<s.NumberValue):r.IsText?r.TextValue<s.TextValue?_.True:_.False:r.IsBoolean?(r=r.ToNumber(),s=s.ToNumber(),_.Create(r.NumberValue<s.NumberValue)):r.IsDate?_.Create(r.DateValue.ToLong()<s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.False:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue<s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" < "),this.b.Rc(t,!1),e&&t.push(")")}}class es extends Jr{constructor(t){super(t)}get Name(){return"<="}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue<=s.NumberValue):r.IsText?r.TextValue<=s.TextValue?_.True:_.False:r.IsBoolean?(r=r.ToNumber(),s=s.ToNumber(),_.Create(r.NumberValue<=s.NumberValue)):r.IsDate?_.Create(r.DateValue.ToLong()<=s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.False:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue<=s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" <= "),this.b.Rc(t,!1),e&&t.push(")")}}class rs extends Jr{constructor(t){super(t)}get Name(){return">"}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue>s.NumberValue):r.IsText?r.TextValue>s.TextValue?_.True:_.False:r.IsBoolean?(r=r.ToNumber(),s=s.ToNumber(),_.Create(r.NumberValue>s.NumberValue)):r.IsDate?_.Create(r.DateValue.ToLong()>s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.False:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue>s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" > "),this.b.Rc(t,!1),e&&t.push(")")}}class ss extends Jr{constructor(t){super(t)}get Name(){return">="}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue>=s.NumberValue):r.IsText?r.TextValue>=s.TextValue?_.True:_.False:r.IsBoolean?(r=r.ToNumber(),s=s.ToNumber(),_.Create(r.NumberValue>=s.NumberValue)):r.IsDate?_.Create(r.DateValue.ToLong()>=s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.False:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue>=s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" >= "),this.b.Rc(t,!1),e&&t.push(")")}}class ns extends Jr{constructor(t){super(t)}get Name(){return"!="}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);return s.IsError?s:r.Type===s.Type?r.IsNumber?_.Create(r.NumberValue!==s.NumberValue):r.IsText?_.Create(r.TextValue!==s.TextValue):r.IsBoolean?_.Create(r.BooleanValue!==s.BooleanValue):r.IsDate?_.Create(r.DateValue.ToLong()!==s.DateValue.ToLong()):(r.IsNull,this.Bc()):r.IsNull||s.IsNull?_.True:r.IsDate||s.IsDate||r.IsJson||s.IsJson||r.IsArray||s.IsArray||r.IsArrayJson||s.IsArrayJson?this.Bc():(r=this.Lc(r,1),r.IsError?r:(s=this.Lc(s,2),s.IsError?s:_.Create(r.NumberValue!==s.NumberValue)))}Rc(t,e){e&&t.push("("),this.a.Rc(t,!1),t.push(" != "),this.b.Rc(t,!1),e&&t.push(")")}}class is extends Jr{get Name(){return"And"}constructor(t){super(t)}evaluate(t,e){let r=this.ef(t,e);if(r.IsErrorOrNone)return r;if(!1===r.BooleanValue){if(t.UseStrictMode){let r=this.uf(t,e);if(r.IsErrorOrNone)return r}return _.False}return this.uf(t,e)}Rc(t,e){e&&t.append("("),this.a.Rc(t,!1),t.append(" && "),this.b.Rc(t,!1),e&&t.append(")")}}class us extends Jr{get Name(){return"Or"}constructor(t){super(t)}evaluate(t,e){let r=this.ef(t,e);if(r.IsErrorOrNone)return r;if(r.BooleanValue){if(t.UseStrictMode){let r=this.uf(t,e);if(r.IsErrorOrNone)return r}return _.True}return this.uf(t,e)}Rc(t,e){e&&t.append("("),this.a.Rc(t,!1),t.append(" || "),this.b.Rc(t,!1),e&&t.append(")")}}class ls extends qr{constructor(t){super(),this.z=t}hf(t,e,r){for(let s=0;s<this.z.length;s++){let n=this.z[s].evaluate(t,e);if(n.IsError||n.IsNone)return n;r.push(n)}return null}Rc(t,e){this.zc(t,this.Name)}zc(t,e){t.push(e),t.push("(");for(let e=0;e<this.z.length;e++)e>0&&t.push(", "),this.z[e].Rc(t,!1);t.push(")")}rs(t,e,r){let s=this.z[r].evaluate(t,e);return s.IsText?s:this.Oc(s,r)}af(t,e,r){let s=this.z[r].evaluate(t,e);return s.IsNumber?s:this.Lc(s,r)}getDate(t,e,r){let s=this.z[r].evaluate(t,e);return s.IsDate?s:this.Pc(s,r)}cf(t,e,r){let s=this.z[r].evaluate(t,e);return s.IsBoolean?s:this.Fc(s,r)}ff(t,e,r){let s=this.z[r].evaluate(t,e);return s.IsArray?s:this.kc(s,r)}evaluate(t,e=null){throw new Error("FIXME")}}class hs extends ls{get Name(){return"AndN"}constructor(t){super(t)}evaluate(t,e){let r=!0;for(let s=0;s<this.z.length;s++){let n=this.cf(t,e,s);if(n.IsErrorOrNone)return n;if(!1===n.BooleanValue&&(r=!1,!1===t.UseStrictMode))break}return r?_.True:_.False}}class as extends ls{get Name(){return"OrN"}constructor(t){super(t)}evaluate(t,e){let r=!1;for(let s=0;s<this.z.length;s++){let n=this.cf(t,e,s);if(n.IsErrorOrNone)return n;if(n.BooleanValue&&(r=!0,!1===t.UseStrictMode))break}return r?_.True:_.False}}class os extends ls{get Name(){return"Xor"}constructor(t){super(t)}evaluate(t,e){let r=0;for(let s=0;s<this.z.length;s++){let n=this.cf(t,e,s);if(n.IsError)return n;n.BooleanValue&&r++}return r%2==1?_.True:_.False}}class cs extends jr{get Name(){return"Not"}constructor(t){super(t)}evaluate(t,e){let r=this.ef(t,e);return r.IsError?r:r.BooleanValue?_.False:_.True}}class fs extends qr{get Name(){return"Value"}constructor(t,e){super(),this.nr=t,this.df=e}evaluate(t,e){return this.nr}Rc(t,e){if(null==this.df||""===this.df)if(this.nr.IsText){t.append('"');let e=this.nr.TextValue;e=e.replace(/\\/g,"\\\\"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\n/g,"\\n"),e=e.replace(/\t/g,"\\t"),e=e.replace(/\0/g,"\\0"),e=e.replace(/\v/g,"\\v"),e=e.replace(/\a/g,"\\a"),e=e.replace(/\b/g,"\\b"),e=e.replace(/\f/g,"\\f"),e=e.replace(/"/g,'\\"'),t.append(e),t.append('"')}else this.nr.IsDate?(t.append('"'),t.append(this.nr.DateValue.toString()),t.append('"')):this.nr.IsBoolean?t.append(this.nr.BooleanValue?"true":"false"):t.append(this.nr.toString());else t.append(this.df)}}class ds extends jr{get Name(){return"Value"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.wf(r.TextValue);return isNaN(s)?this._c(1):_.Create(s)}wf(t){let e=t.trim();if(0===e.length)return NaN;let r=!1;if(e.startsWith("(")&&e.endsWith(")")&&(r=!0,e=e.substring(1,e.length-1).trim()),e.startsWith("¤")&&(e=e.substring(1).trim()),e.startsWith("+")?e=e.substring(1):e.startsWith("-")&&(r=!r,e=e.substring(1)),e=e.trim(),e.endsWith("-")?(r=!r,e=e.substring(0,e.length-1).trim()):e.endsWith("+")&&(e=e.substring(0,e.length-1).trim()),e=e.replace(/,/g,""),!/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e))return NaN;let s=parseFloat(e);return isNaN(s)?NaN:r?-s:s}}class ws extends jr{get Name(){return"Abs"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.abs(r.NumberValue))}}class gs extends Jr{get Name(){return"Quotient"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(0==s.NumberValue)return this.Hc();let n=r.NumberValue/s.NumberValue;return n<-2147483648||n>2147483647?this.Vc():_.Create(Math.trunc(n))}}class ps extends jr{get Name(){return"Sign"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.sign(r.NumberValue))}}class ms extends jr{get Name(){return"Sqrt"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:r.NumberValue<0?this._c(1):_.Create(Math.sqrt(r.NumberValue))}}class vs extends Jr{get Name(){return"Trunc"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=0;if(null!==this.b&&void 0!==this.b){let r=this.nf(t,e);if(r.IsError)return r;if(s=r.IntValue,s<-15||s>15)return this._c(2)}if(0==r.NumberValue)return r;let n,i=r.NumberValue,u=Math.pow(10,s);return n=i>0?Math.floor(i*u)/u:Math.ceil(i*u)/u,_.Create(n)}}class Ns extends jr{get Name(){return"INT"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.floor(r.NumberValue))}}class xs extends ls{get Name(){return"Gcd"}constructor(t){super(t)}evaluate(t,e){let r=[];for(let s=0;s<this.z.length;s++){let n=this.af(t,e,s);if(n.IsError)return n;r.push(n)}let s=[];for(let t of r){if(!t.IsNumber)return this.Vc();s.push(t.NumberValue)}for(let t=0;t<s.length;t++)if(s[t]<0)return this._c(t+1);return _.Create(this.gf(s))}gf(t){return t.reduce((t,e)=>((t,e)=>{for(t=Math.abs(t),e=Math.abs(e);0!==e;){let r=e;e=t%e,t=r}return t})(t,e),t[0])}}class Ms extends ls{get Name(){return"Lcm"}constructor(t){super(t)}evaluate(t,e){let r=[];for(let s=0;s<this.z.length;s++){let n=this.af(t,e,s);if(n.IsError)return n;r.push(n)}let s=[];for(let t of r){if(!t.IsNumber)return this.Vc();s.push(t.NumberValue)}for(let t=0;t<s.length;t++)if(s[t]<0)return this._c(t+1);return _.Create(this.pf(s))}pf(t){return t.reduce((t,e)=>{return r=t,s=e,Math.abs(r*s)/((t,e)=>{for(t=Math.abs(t),e=Math.abs(e);0!==e;){let r=e;e=t%e,t=r}return t})(r,s);var r,s},t[0])}}class Es extends Jr{get Name(){return"Combin"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.IntValue,i=s.IntValue;if(n<0)return this._c(1);if(i<0||n<i)return this._c(2);let u=1,l=1;for(let t=0;t<i;t++)u*=n-t,l*=t+1;return _.Create(u/l)}}class Ts extends Jr{get Name(){return"Permut"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=s.NumberValue;if(n<0)return this._c(1);if(i<0||n<i)return this._c(2);if(0==i)return _.Create(1);let u=1;for(let t=0;t<i;t++)u*=n-t;return _.Create(u)}}class Ss extends jr{get Name(){return"Percentage"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(r.NumberValue/100)}}class Is extends jr{get Name(){return"Degrees"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue/Math.PI*180;return _.Create(s)}}class ys extends jr{get Name(){return"Radians"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue/180*Math.PI;return _.Create(s)}}class As extends jr{get Name(){return"Cos"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.cos(r.DoubleValue))}}class bs extends jr{get Name(){return"Cosh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s>=66||s<=-66?this._c(1):_.Create(Math.cosh(s))}}class Cs extends jr{get Name(){return"Sin"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.sin(r.DoubleValue))}}class Ds extends jr{get Name(){return"Sinh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s>=66||s<=-66?this._c(1):_.Create(Math.sinh(s))}}class Rs extends jr{get Name(){return"Tan"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.tan(r.DoubleValue))}}class Os extends jr{get Name(){return"Tanh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s>=66?_.Create(1):s<=-66?_.Create(-1):_.Create(Math.tanh(s))}}class Fs extends jr{get Name(){return"Acos"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s<-1||s>1?this._c(1):_.Create(Math.acos(s))}}class Ls extends jr{get Name(){return"Acosh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s<1?this._c(1):_.Create(Math.acosh(s))}}class ks extends jr{get Name(){return"Asin"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s<-1||s>1?this._c(1):_.Create(Math.asin(s))}}class Ps extends jr{get Name(){return"Asinh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.asinh(r.DoubleValue))}}class _s extends jr{get Name(){return"Atan"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.atan(r.DoubleValue))}}class Vs extends jr{get Name(){return"Atanh"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s>=1||s<=-1?this._c(1):_.Create(Math.atanh(s))}}class Bs extends Jr{get Name(){return"Atan2"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);return s.IsError?s:_.Create(Math.atan2(r.NumberValue,s.NumberValue))}}class Hs extends jr{get Name(){return"Cot"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.tan(r.DoubleValue);return 0===s?this.Hc():_.Create(1/s)}}class Us extends jr{get Name(){return"Coth"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;if(s>=66)return _.Create(1);if(s<=-66)return _.Create(-1);let n=Math.tanh(s);return 0===n?this.Hc():_.Create(1/n)}}class Gs extends jr{get Name(){return"Csc"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.sin(r.DoubleValue);return 0===s?this.Hc():_.Create(1/s)}}class Xs extends jr{get Name(){return"Csch"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;if(s>=66||s<=-66)return _.Create(0);let n=Math.sinh(s);return 0===n?this.Hc():_.Create(1/n)}}class qs extends jr{get Name(){return"Sec"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.cos(r.DoubleValue);return 0===s?this.Hc():_.Create(1/s)}}class js extends jr{get Name(){return"Sech"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;if(s>=66||s<=-66)return _.Create(0);let n=Math.cosh(s);return 0===n?this.Hc():_.Create(1/n)}}class Js extends jr{get Name(){return"Acot"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(Math.PI/2-Math.atan(r.DoubleValue))}}class $s extends jr{get Name(){return"Acoth"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return Math.abs(s)<=1?this._c(1):_.Create(.5*Math.log((s+1)/(s-1)))}}class Ws extends Jr{constructor(t){super(t),this.c=null,t.length>=3&&(this.c=t[2])}zc(t,e){t.push(e),t.push("("),this.a.Rc(t,!1),null!=this.b&&(t.push(", "),this.b.Rc(t,!1),null!=this.c&&(t.push(", "),this.c.Rc(t,!1))),t.push(")")}mf(t,e){let r=this.c.evaluate(t,e);return r.IsText?r:this.Oc(r,3)}vf(t,e){let r=this.c.evaluate(t,e);return r.IsNumber?r:this.Lc(r,3)}Nf(t,e){let r=this.c.evaluate(t,e);return r.IsDate?r:this.Pc(r,3)}xf(t,e){let r=this.c.evaluate(t,e);return r.IsBoolean?r:this.Fc(r,3)}Mf(t,e){let r=this.c.evaluate(t,e);return r.IsArray?r:this.kc(r,3)}evaluate(t,e=null){throw new Error("FIXME")}}function Ys(t){return t<0?-Math.round(-t):Math.round(t)}class Ks extends Ws{get Name(){return"Fixed"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=2;if(null!==this.b&&void 0!==this.b){let r=this.nf(t,e);if(r.IsError)return r;if(s=r.IntValue,s<-15||s>15)return this._c(2)}let n=r.NumberValue;if(s>=0){let t=Math.pow(10,s);n=Ys(n*t)/t}else{let t=Math.pow(10,-s);n=Ys(n/t)*t}let i=!1;if(null!==this.c&&void 0!==this.c){let r=this.xf(t,e);if(r.IsError)return r;i=r.BooleanValue}if(!1===i){let t=(s<0?n.toFixed(0):n.toFixed(s)).split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),_.Create(t.join("."))}return _.Create(n.toString())}}class zs extends Jr{get Name(){return"Bin2Oct"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[01]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,2);if(i>=512&&(i-=1024),n=i<0?(1073741823&i).toString(8).padStart(10,"0"):i.toString(8),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class Qs extends Jr{get Name(){return"Bin2Dec"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue;if(!/^[01]+$/.test(s))return this._c(1);if(s.length>10)return this._c(1);let n=parseInt(s,2);if(n>=512&&(n-=1024),null!=this.b){let r=this.nf(t,e);if(r.IsError)return r;if(r.IntValue<0)return this._c(2);let s=n.toString();return s.length>r.IntValue?this._c(2):(s=n<0?"-"+s.substring(1).padStart(r.IntValue-1,"0"):s.padStart(r.IntValue,"0"),_.Create(s))}return _.Create(n)}}class Zs extends Jr{get Name(){return"Bin2Hex"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[01]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,2);if(i>=512&&(i-=1024),n=i<0?(i+1099511627776).toString(16).toUpperCase().padStart(10,"0"):i.toString(16).toUpperCase(),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class tn extends Jr{get Name(){return"Oct2Bin"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[0-7]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,8);if(i>=536870912&&(i-=1073741824),i<-512||i>511)return this._c(1);if(n=i<0?(1023&i).toString(2).padStart(10,"0"):i.toString(2),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class en extends Jr{get Name(){return"Oct2Dec"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue;if(!/^[0-7]+$/.test(s))return this._c(1);if(s.length>10)return this._c(1);let n=parseInt(s,8);if(n>=536870912&&(n-=1073741824),null!=this.b){let r=this.nf(t,e);if(r.IsError)return r;if(r.IntValue<0)return this._c(2);let s=n.toString();return s.length>r.IntValue?this._c(2):(s=n<0?"-"+s.substring(1).padStart(r.IntValue-1,"0"):s.padStart(r.IntValue,"0"),_.Create(s))}return _.Create(n)}}class rn extends Jr{get Name(){return"Oct2Hex"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[0-7]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,8);if(i>=536870912&&(i-=1073741824),n=i<0?(i+1099511627776).toString(16).toUpperCase().padStart(10,"0"):i.toString(16).toUpperCase(),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class sn extends Jr{get Name(){return"Dec2Bin"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.trunc(r.NumberValue);if(s<-512||s>511)return this._c(1);if(s<0)return _.Create((1023&s).toString(2).padStart(10,"0"));let n=s.toString(2);if(null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class nn extends Jr{get Name(){return"Dec2Oct"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.trunc(r.NumberValue);if(s<-536870912||s>536870911)return this._c(1);if(s<0)return _.Create((1073741823&s).toString(8).padStart(10,"0"));let n=s.toString(8);if(null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class un extends Jr{get Name(){return"Dec2Hex"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=Math.trunc(r.NumberValue);if(s<-549755813888||s>549755813887)return this._c(1);if(s<0)return _.Create((s+1099511627776).toString(16).toUpperCase().padStart(10,"0"));let n=s.toString(16).toUpperCase();if(null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class ln extends Jr{get Name(){return"Hex2Bin"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[0-9A-Fa-f]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,16);if(i>=549755813888&&(i-=1099511627776),i<-512||i>511)return this._c(1);if(n=i<0?(1023&i).toString(2).padStart(10,"0"):i.toString(2),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class hn extends Jr{get Name(){return"Hex2Oct"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!/^[0-9A-Fa-f]+$/.test(r.TextValue))return this._c(1);let s=r.TextValue;if(s.length>10)return this._c(1);let n,i=parseInt(s,16);if(i>=549755813888&&(i-=1099511627776),i<-536870912||i>536870911)return this._c(1);if(n=i<0?(1073741823&i).toString(8).padStart(10,"0"):i.toString(8),null!=this.b){let r=this.nf(t,e);return r.IsError?r:r.IntValue<0||r.IntValue>10||n.length>r.IntValue?this._c(2):_.Create(n.padStart(r.IntValue,"0"))}return _.Create(n)}}class an extends Jr{get Name(){return"Hex2Dec"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue;if(!/^[0-9A-Fa-f]+$/.test(s))return this._c(1);if(s.length>10)return this._c(1);let n=parseInt(s,16);if(n>=549755813888&&(n-=1099511627776),null!=this.b){let r=this.nf(t,e);if(r.IsError)return r;if(r.IntValue<0)return this._c(2);let s=n.toString();return s.length>r.IntValue?this._c(2):(s=n<0?"-"+s.substring(1).padStart(r.IntValue-1,"0"):s.padStart(r.IntValue,"0"),_.Create(s))}return _.Create(n)}}function on(t){return t<0?-Math.round(-t):Math.round(t)}class cn extends Jr{get Name(){return"Round"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;if(null===this.b||void 0===this.b)return _.Create(on(r.NumberValue));let s=this.nf(t,e);if(s.IsError)return s;let n=s.IntValue;if(n<-15||n>15)return this._c(2);let i=r.NumberValue;if(n>=0){let t=Math.pow(10,n);return _.Create(on(i*t)/t)}let u=Math.pow(10,-n);return _.Create(on(i/u)*u)}}class fn extends Jr{get Name(){return"RoundDown"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(s.IntValue<-15||s.IntValue>15)return this._c(2);if(0==r.NumberValue)return r;let n=Math.pow(10,s.IntValue),i=r.NumberValue,u=i>=0?Math.floor(i*n)/n:Math.ceil(i*n)/n;return _.Create(u)}}class dn extends Jr{get Name(){return"RoundUp"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;if(s.IntValue<-15||s.IntValue>15)return this._c(2);if(0==r.NumberValue)return r;let n=Math.pow(10,s.IntValue),i=r.NumberValue,u=Math.ceil(Math.abs(i)*n)/n;return i>0?_.Create(u):_.Create(-u)}}class wn extends Jr{get Name(){return"Ceiling"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;if(null===this.b||void 0===this.b)return _.Create(Math.ceil(r.NumberValue));let s=this.nf(t,e);if(s.IsError)return s;let n=s.NumberValue;if(0==n)return _.Zero;let i=r.NumberValue;if(n<0&&i>0)return this._c(1);let u=Math.ceil(i/n)*n;return _.Create(u)}}class gn extends Jr{get Name(){return"Floor"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;if(null===this.b||void 0===this.b)return _.Create(Math.floor(r.NumberValue));let s=this.nf(t,e);if(s.IsError)return s;let n=s.NumberValue;if(0==n)return _.Zero;let i=r.NumberValue;if(n<0&&i>0)return this._c(1);let u=Math.floor(i/n)*n;return _.Create(u)}}class pn extends jr{get Name(){return"Even"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return 0==s?_.Zero:s>0?_.Create(2*Math.ceil(s/2)):_.Create(2*Math.floor(s/2))}}class mn extends jr{get Name(){return"Odd"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return 0==s?_.Create(1):s>0?s%2==1||s%2==-1?r:(s=Math.ceil(s),s%2!=0||s++,_.Create(s)):s%2==1||s%2==-1?r:(s=Math.floor(s),s%2!=0||s--,_.Create(s))}}class vn extends Jr{get Name(){return"Mround"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=s.NumberValue;if(0==n)return this._c(2);let i=r.NumberValue;if(i>0&&n<0||i<0&&n>0)return this._c(2);let u=((l=i/n)<0?-Math.round(-l):Math.round(l))*n;var l;return _.Create(u)}}class Nn extends qr{get Name(){return"Rand"}constructor(){super()}evaluate(t,e){return _.Create(Math.random())}}class xn extends Jr{get Name(){return"RandBetween"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=s.NumberValue;return n>i?this._c(1):_.Create(Math.floor(Math.random()*(i-n+1)+n))}}class Mn extends Jr{get Name(){return"Covariances"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);if(s.IsError)return s;let n=[],i=[],u=k.je(r,n),l=k.je(s,i);if(0==u)return this._c(1);if(0==l)return this._c(2);if(n.length!=i.length)return _.Error("Function '{0}' parameter's count error!",this.Name);if(n.length<2)return _.Error("Function '{0}' parameter's count error!",this.Name);let h=n.reduce((t,e)=>t+e,0)/n.length,a=i.reduce((t,e)=>t+e,0)/i.length,o=0;for(let t=0;t<n.length;t++)o+=(n[t]-h)*(i[t]-a);let c=o/(n.length-1);return _.Create(c)}}class En extends Jr{get Name(){return"Covar"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);if(s.IsError)return s;let n=[],i=[],u=k.je(r,n),l=k.je(s,i);if(0==u)return this._c(1);if(0==l)return this._c(2);if(n.length!=i.length)return _.Error("Function '{0}' parameter's count error!","Covar");if(0==n.length)return _.Error("Function '{0}' parameter's count error!","Covar");let h=n.reduce((t,e)=>t+e,0)/n.length,a=i.reduce((t,e)=>t+e,0)/i.length,o=0;for(let t=0;t<n.length;t++)o+=(n[t]-h)*(i[t]-a);let c=o/n.length;return _.Create(c)}}class Tn extends jr{get Name(){return"Fact"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.IntValue;if(s<0||s>27)return this._c(1);let n=1;for(let t=1;t<=s;t++)n*=t;return _.Create(n)}}class Sn extends jr{get Name(){return"FactDouble"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.IntValue;if(s<0||s>45)return this._c(1);let n=1;for(let t=s;t>0;t-=2)n*=t;return _.Create(n)}}class In extends Jr{get Name(){return"Power"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=s.NumberValue;if(0==n&&i<0)return this.Hc();if(n<0&&i%1!=0)return this._c(1);let u=Math.pow(n,i);return isFinite(u)?_.Create(u):this.Vc()}}class yn extends jr{get Name(){return"Exp"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:r.NumberValue>66?this._c(1):_.Create(Math.exp(r.NumberValue))}}class An extends jr{get Name(){return"Ln"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return s<=0?this._c(1):_.Create(Math.log(s))}}class bn extends Jr{get Name(){return"Log"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;if(s<=0)return this._c(1);if(null===this.b||void 0===this.b)return _.Create(Math.log10(s));let n=this.nf(t,e);if(n.IsError)return n;let i=n.NumberValue;return i<=0||1==i?this._c(2):_.Create(Math.log(s)/Math.log(i))}}class Cn extends jr{get Name(){return"Log10"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return s<=0?this._c(1):_.Create(Math.log10(s))}}class Dn extends ls{get Name(){return"Multinomial"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];for(let t of r){if(t.IsNotNumber)return this.Vc();n.push(t.NumberValue)}let i=0,u=1;for(let t=0;t<n.length;t++){let e=n[t];if(e<-2147483648||e>2147483647)return this._c(t+1);let r=Math.trunc(e);if(r<0)return this._c(t+1);if(u*=this.Ef(r),!isFinite(u))return this.Vc();i+=r}let l=this.Ef(i)/u;return isFinite(l)?_.Create(l):this.Vc()}Ef(t){if(t<=1)return 1;let e=1;for(let r=2;r<=t;r++)e*=r;return e}}class Rn extends ls{get Name(){return"Product"}constructor(t){super(t)}evaluate(t,e){let r=[];for(let s=0;s<this.z.length;s++){let n=this.af(t,e,s);if(n.IsError)return n;r.push(n)}let s=[];for(let t of r){if(!t.IsNumber)return this.Vc();s.push(t.NumberValue)}let n=1;for(let t=0;t<s.length;t++)if(n*=s[t],!isFinite(n))return this.Vc();return _.Create(n)}}class On extends jr{get Name(){return"SqrtPi"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:r.NumberValue<0?this._c(1):_.Create(Math.sqrt(r.NumberValue*Math.PI))}}class Fn extends jr{get Name(){return"Erf"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return _.Create(this.Tf(s))}Tf(t){return t>=0?1-this.Sf(t):this.Sf(-t)-1}Sf(t){let e=Math.abs(t),r=1/(1+.5*e),s=r*Math.exp(-e*e-1.26551223+r*(1.00002368+r*(.37409196+r*(.09678418+r*(r*(.27886807+r*(r*(1.48851587+r*(.17087277*r-.82215223))-1.13520398))-.18628806)))));return t>=0?s:2-s}}class Ln extends jr{get Name(){return"Erfc"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.NumberValue;return _.Create(this.Sf(s))}Sf(t){let e=Math.abs(t),r=1/(1+.5*e),s=r*Math.exp(-e*e-1.26551223+r*(1.00002368+r*(.37409196+r*(.09678418+r*(r*(.27886807+r*(r*(1.48851587+r*(.17087277*r-.82215223))-1.13520398))-.18628806)))));return t>=0?s:2-s}}class kn extends Jr{get Name(){return"BesselI"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=Math.trunc(s.NumberValue),u=this.If(i,n);return isFinite(u)?_.Create(u):this.Vc()}If(t,e){if(e<0)return(t%2==0?1:-1)*this.If(t,-e);if(0===e)return 0===t?1:0;let r=Math.abs(e);if(r<1e-10)return 0===t?1:0;if(t<0&&(t=-t),r>700)return Math.exp(r)/Math.sqrt(2*Math.PI*r)*(1-(4*t*t-1)/(8*r));if(0===t)return this.yf(e);if(1===t)return this.Af(e);let s=this.yf(e),n=this.Af(e),i=0;for(let r=1;r<t;r++)i=n+2*r/e*s,s=n,n=i;return n}yf(t){let e=Math.abs(t);if(e<3.75){let e=t/3.75;return e*=e,1+e*(3.5156229+e*(3.0899424+e*(1.2067492+e*(.2659732+e*(.0360768+.0045813*e)))))}let r=3.75/e;return Math.exp(e/Math.E)/Math.sqrt(e)*(.39894228+r*(.01328592+r*(.00225319+r*(r*(.00916281+r*(r*(.02635537+r*(.00392377*r-.01647633))-.02057706))-.00157565))))}Af(t){let e=Math.abs(t);if(e<3.75){let e=t/3.75;return e*=e,t*(.5+e*(.87890594+e*(.51498869+e*(.15084934+e*(.02658733+e*(.00301532+32411e-8*e))))))}let r=3.75/e,s=Math.exp(e/Math.E)/Math.sqrt(e)*(.39894228+r*(r*(r*(.00163801+r*(r*(.02282967+r*(r*(.01787654-.00420059*r)-.02895312))-.01031555))-.00362018)-.03988024));return t<0?-s:s}}class Pn extends Jr{get Name(){return"BesselJ"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=Math.trunc(s.NumberValue),u=this.bf(i,n);return isFinite(u)?_.Create(u):this.Vc()}bf(t,e){if(0===e)return 0===t?1:0;t<0&&(t=-t);let r=Math.abs(e);if(r<1e-10)return 0===t?1:0;if(0===t)return this.Cf(e);if(1===t)return this.Df(e);if(r>t){let r=this.Cf(e),s=this.Df(e),n=0;for(let i=1;i<t;i++)n=2*i/e*s-r,r=s,s=n;return s}let s=Math.floor(1.5*t+10),n=new Array(s+2);n[s+1]=0,n[s]=1;for(let t=s;t>=1;t--)n[t-1]=2*t/e*n[t]-n[t+1];let i=0;for(let t=0;t<=s;t+=2)i+=2*n[t];return i-=n[0],n[t]/i}Cf(t){let e=Math.abs(t);if(e<8){let e=t*t;return(57568490574+e*(e*(651619640.7+e*(e*(77392.33017+-184.9052456*e)-11214424.18))-13362590354))/(57568490411+e*(1029532985+e*(9494680.718+e*(59272.64853+e*(267.8532712+1*e)))))}let r=8/e,s=r*r,n=e-.785398164,i=1+s*(s*(2734510407e-14+s*(2.093887211e-7*s-2073370639e-15))-.001098628627),u=s*(.0001430488765+s*(s*(7.621095161e-7-9.34935152e-8*s)-6911147651e-15))-.01562499995;return Math.sqrt(.636619772/e)*(Math.cos(n)*i-r*Math.sin(n)*u)}Df(t){let e=Math.abs(t);if(e<8){let e=t*t;return t*(72362614232+e*(e*(242396853.1+e*(e*(15704.4826+-30.16036606*e)-2972611.439))-7895059235))/(144725228442+e*(2300535178+e*(18583304.74+e*(99447.43394+e*(376.9991397+1*e)))))}let r=8/e,s=r*r,n=e-2.356194491,i=1+s*(.00183105+s*(s*(2457520174e-15+-2.40337019e-7*s)-3516396496e-14)),u=.04687499995+s*(s*(8449199096e-15+s*(1.05787412e-7*s-8.8228987e-7))-.0002002690873),l=Math.sqrt(.636619772/e)*(Math.cos(n)*i-r*Math.sin(n)*u);return t<0?-l:l}}class _n extends Jr{get Name(){return"BesselK"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=Math.trunc(s.NumberValue);if(n<=0)return this._c(1);if(i<0)return this._c(2);let u=this.Rf(i,n);return isFinite(u)?_.Create(u):this.Vc()}Rf(t,e){if(t<0&&(t=-t),0===t)return this.Of(e);if(1===t)return this.Ff(e);let r=this.Of(e),s=this.Ff(e),n=0;for(let i=1;i<t;i++)n=s+2*i/e*r,r=s,s=n;return s}Of(t){if(t<=2){let e=t*t/4;return-Math.log(t/2)*this.yf(t)+(e*(.4227842+e*(.23069756+e*(.0348859+e*(.00262698+e*(1075e-7+74e-7*e)))))-.57721566)}let e=2/t;return Math.exp(-t/Math.E)/Math.sqrt(t)*(1.25331414+e*(e*(.02189568+e*(e*(.00587872+e*(53208e-8*e-.0025154))-.01062446))-.07832358))}Ff(t){if(t<=2){let e=t*t/4;return Math.log(t/2)*this.Af(t)+1/t*(1+e*(.15443144+e*(e*(e*(e*(.00110404+4686e-8*e)-.01919402)-.18156897)-.67278579)))}let e=2/t;return Math.exp(-t/Math.E)/Math.sqrt(t)*(1.25331414+e*(.23498619+e*(e*(.01504268+e*(e*(.00325614+-68245e-8*e)-.00780353))-.0365562)))}yf(t){let e=Math.abs(t);if(e<3.75){let e=t/3.75;return e*=e,1+e*(3.5156229+e*(3.0899424+e*(1.2067492+e*(.2659732+e*(.0360768+.0045813*e)))))}let r=3.75/e;return Math.exp(e/Math.E)/Math.sqrt(e)*(.39894228+r*(.01328592+r*(.00225319+r*(r*(.00916281+r*(r*(.02635537+r*(.00392377*r-.01647633))-.02057706))-.00157565))))}Af(t){let e=Math.abs(t);if(e<3.75){let e=t/3.75;return e*=e,t*(.5+e*(.87890594+e*(.51498869+e*(.15084934+e*(.02658733+e*(.00301532+32411e-8*e))))))}let r=3.75/e,s=Math.exp(e/Math.E)/Math.sqrt(e)*(.39894228+r*(r*(r*(.00163801+r*(r*(.02282967+r*(r*(.01787654-.00420059*r)-.02895312))-.01031555))-.00362018)-.03988024));return t<0?-s:s}}class Vn extends Jr{get Name(){return"BesselY"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.NumberValue,i=Math.trunc(s.NumberValue);if(n<=0)return this._c(1);if(i<0)return this._c(2);let u=this.Lf(i,n);return isFinite(u)?_.Create(u):this.Vc()}Lf(t,e){if(t<0&&(t=-t),0===t)return this.kf(e);if(1===t)return this.Pf(e);let r=this.kf(e),s=this.Pf(e),n=0;for(let i=1;i<t;i++)n=2*i/e*s-r,r=s,s=n;return s}kf(t){if(t<8){let e=t*t;return(e*(7062834065+e*(e*(10879881.29+e*(228.4622733*e-86327.92757))-512359803.6))-2957821389)/(40076544269+e*(745249964.8+e*(7189466.438+e*(47447.2647+e*(226.1030244+1*e)))))+.636619772*this.Cf(t)*Math.log(t)}let e=8/t,r=e*e,s=t-.785398164,n=1+r*(r*(2734510407e-14+r*(2.093887211e-7*r-2073370639e-15))-.001098628627),i=r*(.0001430488765+r*(r*(7.621095161e-7+-9.34935152e-8*r)-6911147651e-15))-.01562499995;return Math.sqrt(.636619772/t)*(Math.sin(s)*n+e*Math.cos(s)*i)}Pf(t){if(t<8){let e=t*t;return t*(e*(127527439e4+e*(e*(734926455.1+e*(8511.937935*e-4237922.726))-51534381390))-4900604943e3)/(249958057e5+e*(424441966400+e*(3733650367+e*(22459040.02+e*(102042.605+e*(354.9632885+e))))))+.636619772*(this.Df(t)*Math.log(t)-1/t)}let e=8/t,r=e*e,s=t-2.356194491,n=1+r*(.00183105+r*(r*(2457520174e-15+-2.40337019e-7*r)-3516396496e-14)),i=.04687499995+r*(r*(8449199096e-15+r*(1.05787412e-7*r-8.8228987e-7))-.0002002690873);return Math.sqrt(.636619772/t)*(Math.sin(s)*n+e*Math.cos(s)*i)}Cf(t){let e=Math.abs(t);if(e<8){let e=t*t;return(57568490574+e*(e*(651619640.7+e*(e*(77392.33017+-184.9052456*e)-11214424.18))-13362590354))/(57568490411+e*(1029532985+e*(9494680.718+e*(59272.64853+e*(267.8532712+1*e)))))}let r=8/e,s=r*r,n=e-.785398164,i=1+s*(s*(2734510407e-14+s*(2.093887211e-7*s-2073370639e-15))-.001098628627),u=s*(.0001430488765+s*(s*(7.621095161e-7-9.34935152e-8*s)-6911147651e-15))-.01562499995;return Math.sqrt(.636619772/e)*(Math.cos(n)*i-r*Math.sin(n)*u)}Df(t){let e=Math.abs(t);if(e<8){let e=t*t;return t*(72362614232+e*(e*(242396853.1+e*(e*(15704.4826+-30.16036606*e)-2972611.439))-7895059235))/(144725228442+e*(2300535178+e*(18583304.74+e*(99447.43394+e*(376.9991397+1*e)))))}let r=8/e,s=r*r,n=e-2.356194491,i=1+s*(.00183105+s*(s*(2457520174e-15+-2.40337019e-7*s)-3516396496e-14)),u=.04687499995+s*(s*(8449199096e-15+s*(1.05787412e-7*s-8.8228987e-7))-.0002002690873),l=Math.sqrt(.636619772/e)*(Math.cos(n)*i-r*Math.sin(n)*u);return t<0?-l:l}}class Bn extends ls{get Name(){return"Delta"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<1||this.z.length>2)return this.Vc();let r=this.af(t,e,0);if(r.IsError)return r;let s=r.NumberValue,n=0;if(this.z.length>=2){let r=this.af(t,e,1);if(r.IsError)return r;n=r.NumberValue}return _.Create(s===n?1:0)}}class Hn extends ls{get Name(){return"GeStep"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<1||this.z.length>2)return this.Vc();let r=this.af(t,e,0);if(r.IsError)return r;let s=r.NumberValue,n=0;if(this.z.length>=2){let r=this.af(t,e,1);if(r.IsError)return r;n=r.NumberValue}return _.Create(s>=n?1:0)}}class Un extends ls{get Name(){return"SumSq"}constructor(t){super(t)}evaluate(t,e){let r=[];for(let s=0;s<this.z.length;s++){let n=this.z[s].evaluate(t,e);if(n.IsError)return n;r.push(n)}let s=[];if(0==k.je(r,s))return this.Vc();let n=0;for(let t=0;t<s.length;t++){let e=s[t];n+=e*e}return _.Create(n)}}class Gn extends ls{get Name(){return"SUMPRODUCT"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=[];for(let s=0;s<this.z.length;s++){const n=this.ff(t,e,s);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);r.push(i)}const s=Math.min(...r.map(t=>t.length));let n=0;for(let t=0;t<s;t++){let e=1;for(const s of r)e*=s[t];n+=e}return _.Create(n)}}class Xn extends ls{get Name(){return"SUMX2MY2"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);const u=Math.min(s.length,i.length);let l=0;for(let t=0;t<u;t++)l+=s[t]*s[t]-i[t]*i[t];return _.Create(l)}}class qn extends ls{get Name(){return"SUMX2PY2"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);const u=Math.min(s.length,i.length);let l=0;for(let t=0;t<u;t++)l+=s[t]*s[t]+i[t]*i[t];return _.Create(l)}}class jn extends ls{get Name(){return"SUMXMY2"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);const u=Math.min(s.length,i.length);let l=0;for(let t=0;t<u;t++){const e=s[t]-i[t];l+=e*e}return _.Create(l)}}class Jn extends ls{get Name(){return"SERIESSUM"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.ff(t,e,3);if(h.IsError)return h;let a=0;const o=h.ArrayValue;for(let t=0;t<o.length;t++){const e=o[t];if(e.IsNumber){const r=i+t*l,n=e.NumberValue*Math.pow(s,r);if(!isFinite(n))return this.Vc();a+=n}}return _.Create(a)}}class $n extends jr{get Name(){return"ARABIC"}constructor(t){super(t)}evaluate(t,e){const r=this.Qc(t,e);if(r.IsError)return r;const s=r.TextValue.toUpperCase();return 0!==s.length&&/^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/.test(s)?_.Create(this._f(s)):this._c(1)}_f(t){let e=0,r=0;for(let s=t.length-1;s>=0;s--){const n=this.Vf(t[s]);if(n<0)return this._c(1);n<r?e-=n:e+=n,r=n}return e}Vf(t){switch(t){case"I":return 1;case"V":return 5;case"X":return 10;case"L":return 50;case"C":return 100;case"D":return 500;case"M":return 1e3;default:return-1}}}class Wn extends ls{get Name(){return"ROMAN"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<1)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=Math.floor(r.NumberValue);if(s<0||s>3999)return this._c(1);let n=0;if(this.z.length>1){const r=this.af(t,e,1);if(r.IsError)return r;if(n=Math.floor(r.NumberValue),n<0||n>4)return this._c(2)}return _.Create(this.Bf(s,n))}Bf(t,e){if(0===t)return"";const r=this.Hf[e],s=this.Uf[e];let n="";for(let e=0;e<r.length;e++)for(;t>=r[e];)n+=s[e],t-=r[e];return n}get Hf(){return[[1e3,900,500,400,100,90,50,40,10,9,5,4,1],[1e3,950,900,500,450,400,100,95,90,50,45,40,10,9,5,4,1],[1e3,990,950,900,500,490,450,400,100,99,95,90,50,49,45,40,10,9,5,4,1],[1e3,995,990,950,900,500,495,490,450,400,100,99,95,90,50,49,45,40,10,9,5,4,1],[1e3,999,995,990,950,900,500,499,495,490,450,400,100,99,95,90,50,49,45,40,10,9,5,4,1]]}get Uf(){return[["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"],["M","LM","CM","D","LD","CD","C","VC","XC","L","VL","XL","X","IX","V","IV","I"],["M","XM","LM","CM","D","XD","LD","CD","C","IC","VC","XC","L","IL","VL","XL","X","IX","V","IV","I"],["M","VM","XM","LM","CM","D","VD","XD","LD","CD","C","IC","VC","XC","L","IL","VL","XL","X","IX","V","IV","I"],["M","IM","VM","XM","LM","CM","D","ID","VD","XD","LD","CD","C","IC","VC","XC","L","IL","VL","XL","X","IX","V","IV","I"]]}}class Yn extends ls{get Name(){return"RANK"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.ff(t,e,1);if(n.IsError)return n;let i=0;if(this.z.length>2){const r=this.af(t,e,2);if(r.IsError)return r;i=Math.floor(r.NumberValue)}const u=[];for(const t of n.ArrayValue)t.IsNumber&&u.push(t.NumberValue);if(0==u.length)return this._c(2);let l;return u.sort((t,e)=>t-e),0===i?(u.reverse(),l=u.indexOf(s)+1):l=u.indexOf(s)+1,0==l?this._c(1):_.Create(l)}}class Kn extends ls{get Name(){return"FORECAST"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);const u=this.ff(t,e,2);if(u.IsError)return u;const l=[];for(const t of u.ArrayValue)t.IsNumber&&l.push(t.NumberValue);if(i.length!==l.length||i.length<2)return this.Vc();let h=0,a=0,o=0,c=0;const f=i.length;for(let t=0;t<f;t++)h+=l[t],a+=i[t],o+=l[t]*i[t],c+=l[t]*l[t];const d=h/f,w=a/f,g=f*c-h*h;if(0===g)return this.Hc();const p=(f*o-h*a)/g,m=w-p*d;return _.Create(m+p*s)}}class zn extends ls{get Name(){return"INTERCEPT"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);if(s.length!==i.length||s.length<2)return this.Vc();let u=0,l=0,h=0,a=0;const o=s.length;for(let t=0;t<o;t++)u+=i[t],l+=s[t],h+=i[t]*s[t],a+=i[t]*i[t];const c=u/o,f=l/o,d=o*a-u*u;if(0===d)return this.Hc();const w=f-(o*h-u*l)/d*c;return _.Create(w)}}class Qn extends ls{get Name(){return"SLOPE"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);if(s.length!==i.length||s.length<2)return this.Vc();let u=0,l=0,h=0,a=0;const o=s.length;for(let t=0;t<o;t++)u+=i[t],l+=s[t],h+=i[t]*s[t],a+=i[t]*i[t];const c=o*a-u*u;if(0===c)return this.Hc();const f=(o*h-u*l)/c;return _.Create(f)}}class Zn extends ls{get Name(){return"CORREL"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue){if(!t.IsNumber)return this._c(1);s.push(t.NumberValue)}const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue){if(!t.IsNumber)return this._c(2);i.push(t.NumberValue)}if(s.length!==i.length||s.length<2)return this.Vc();const u=s.length;let l=0,h=0;for(let t=0;t<u;t++)l+=s[t],h+=i[t];const a=l/u,o=h/u;let c=0,f=0,d=0;for(let t=0;t<u;t++){const e=s[t]-a,r=i[t]-o;c+=e*r,f+=e*e,d+=r*r}return 0===f||0===d?this.Hc():_.Create(c/Math.sqrt(f*d))}}class ti extends ls{get Name(){return"PEARSON"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)t.IsNumber&&s.push(t.NumberValue);const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)t.IsNumber&&i.push(t.NumberValue);if(s.length!==i.length||s.length<2)return this.Vc();const u=s.length;let l=0,h=0;for(let t=0;t<u;t++)l+=s[t],h+=i[t];const a=l/u,o=h/u;let c=0,f=0,d=0;for(let t=0;t<u;t++){const e=s[t]-a,r=i[t]-o;c+=e*r,f+=e*e,d+=r*r}return 0===f||0===d?this.Hc():_.Create(c/Math.sqrt(f*d))}}class ei extends ls{get Name(){return"YEARFRAC"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.getDate(t,e,0);if(r.IsError)return r;const s=r.DateValue.ToDateTime(),n=this.getDate(t,e,1);if(n.IsError)return n;const i=n.DateValue.ToDateTime();let u=0;if(this.z.length>2){const r=this.af(t,e,2);if(r.IsError)return r;if(u=Math.floor(r.NumberValue),u<0||u>4)return this._c(3)}const l=this.Gf(s,i,u);return _.Create(l)}Gf(t,e,r){if(t>e){const r=t;t=e,e=r}switch(r){case 0:default:return this.Xf(t,e);case 1:return this.qf(t,e);case 2:return(e-t)/864e5/360;case 3:return(e-t)/864e5/365;case 4:return this.jf(t,e)}}Xf(t,e){let r=t.getDate(),s=e.getDate(),n=1===t.getMonth()&&t.getDate()===this.Jf(t.getFullYear(),1),i=1===e.getMonth()&&e.getDate()===this.Jf(e.getFullYear(),1);return 31===r&&31===s?(r=30,s=30):31===r?r=30:30===r&&31===s?s=30:n&&i?(r=30,s=30):n&&(r=30),(360*(e.getFullYear()-t.getFullYear())+30*(e.getMonth()-t.getMonth())+(s-r))/360}Jf(t,e){return new Date(t,e+1,0).getDate()}jf(t,e){const r=Math.min(30,t.getDate()),s=Math.min(30,e.getDate());return(360*(e.getFullYear()-t.getFullYear())+30*(e.getMonth()-t.getMonth())+(s-r))/360}qf(t,e){const r=t.getFullYear(),s=e.getFullYear();if(r===s)return(e-t)/864e5/(this.$f(r)?366:365);let n=0;const i=this.$f(r)?366:365,u=this.$f(s)?366:365;return n+=(new Date(r,11,31)-t)/864e5/i,n+=(e-new Date(s,0,1))/864e5/u,n+=s-r-1,n}$f(t){return t%4==0&&t%100!=0||t%400==0}}class ri extends ls{get Name(){return"PMT"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;if(0===i)return this.Hc();let h=0;if(this.z.length>3){const r=this.af(t,e,3);if(r.IsError)return r;h=r.NumberValue}let a=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;a=Math.floor(r.NumberValue)}if(0===s)return _.Create(-(l+h)/i);const o=Math.pow(1+s,i);let c=-(l*o+h)*s/(o-1);return 1===a&&(c/=1+s),_.Create(c)}}class si extends ls{get Name(){return"PPMT"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.af(t,e,3);if(h.IsError)return h;const a=h.NumberValue;let o=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;o=r.NumberValue}let c=0;if(this.z.length>5){const r=this.af(t,e,5);if(r.IsError)return r;if(c=r.IntValue,0!==c&&1!==c)return this._c(6)}if(i<1||i>l)return this._c(2);const f=this.Wf(s,l,a,o,c),d=f-this.Yf(s,i,l,a,o,c,f);return _.Create(d)}Wf(t,e,r,s,n){if(0===t)return-(r+s)/e;const i=Math.pow(1+t,e);let u=-(r*i+s)*t/(i-1);return 1===n&&(u/=1+t),u}Yf(t,e,r,s,n,i,u){if(0===t)return 0;const l=Math.pow(1+t,e-1);return 1===i&&1===e?0:-(s*l+u*(l-1)/t)*t}}class ni extends ls{get Name(){return"IPMT"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.af(t,e,3);if(h.IsError)return h;const a=h.NumberValue;let o=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;o=r.NumberValue}let c=0;if(this.z.length>5){const r=this.af(t,e,5);if(r.IsError)return r;if(c=r.IntValue,0!==c&&1!==c)return this._c(6)}if(i<1||i>l)return this._c(2);const f=this.Wf(s,l,a,o,c),d=this.Yf(s,i,l,a,o,c,f);return _.Create(d)}Wf(t,e,r,s,n){if(0===t)return-(r+s)/e;const i=Math.pow(1+t,e);let u=-(r*i+s)*t/(i-1);return 1===n&&(u/=1+t),u}Yf(t,e,r,s,n,i,u){if(0===t)return 0;const l=Math.pow(1+t,e-1);return 1===i&&1===e?0:-(s*l+u*(l-1)/t)*t}}class ii extends ls{get Name(){return"PV"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;let h=0;if(this.z.length>3){const r=this.af(t,e,3);if(r.IsError)return r;h=r.NumberValue}let a=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;if(a=r.IntValue,0!==a&&1!==a)return this._c(5)}if(0===s)return _.Create(-h-l*i);const o=Math.pow(1+s,i);let c;return c=1===a?-(h+l*(1+s)*(o-1)/s)/o:-(h+l*(o-1)/s)/o,_.Create(c)}}class ui extends ls{get Name(){return"FV"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;let h=0;if(this.z.length>3){const r=this.af(t,e,3);if(r.IsError)return r;h=r.NumberValue}let a=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;if(a=r.IntValue,0!==a&&1!==a)return this._c(5)}if(0===s)return _.Create(-h-l*i);const o=Math.pow(1+s,i);let c;return c=1===a?-h*o-l*(1+s)*(o-1)/s:-h*o-l*(o-1)/s,_.Create(c)}}class li extends ls{get Name(){return"NPER"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;let h=0;if(this.z.length>3){const r=this.af(t,e,3);if(r.IsError)return r;h=r.NumberValue}let a=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;a=r.IntValue}if(0===s)return 0===i?this.Hc():_.Create(-(l+h)/i);if(-1===s)return this.Hc();const o=(i*(1+s*a)-h*s)/(l*s+i*(1+s*a)),c=Math.log(o)/Math.log(1+s);return _.Create(c)}}class hi extends ls{get Name(){return"RATE"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;if(s<=0)return this._c(1);let h=0;if(this.z.length>3){const r=this.af(t,e,3);if(r.IsError)return r;h=r.NumberValue}let a=0;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;if(a=Math.floor(r.NumberValue),0!==a&&1!==a)return this._c(5)}let o=.1;if(this.z.length>5){const r=this.af(t,e,5);if(r.IsError)return r;o=r.NumberValue}const c=this.Kf(s,i,l,h,a,o);return null!==c&&isFinite(c)?_.Create(c):this.Vc()}Kf(t,e,r,s,n,i){let u=i;for(let i=0;i<100;i++){const i=Math.pow(1+u,t);let l,h;if(l=1===n?r*i+e*(1+u)*(i-1)/u+s:r*i+e*(i-1)/u+s,h=1===n?r*t*Math.pow(1+u,t-1)+e*(1+u)*(t*u*Math.pow(1+u,t-1)-(i-1))/(u*u)+e*(i-1)/u:r*t*Math.pow(1+u,t-1)+e*(t*u*Math.pow(1+u,t-1)-(i-1))/(u*u),Math.abs(h)<1e-12)break;const a=u-l/h;if(Math.abs(a-u)<1e-10)return a;u=a}return null}}class ai extends ls{get Name(){return"NPV"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue;if(-1===s)return this.Hc();const n=[];for(let r=1;r<this.z.length;r++){const s=this.af(t,e,r);if(s.IsError)return s;n.push(s.NumberValue)}let i=0;for(let t=0;t<n.length;t++)i+=n[t]/Math.pow(1+s,t+1);return _.Create(i)}}class oi extends ls{get Name(){return"XNPV"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue;if(-1===s)return this.Hc();const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)if(t.IsNumber)i.push(t.NumberValue);else{const e=t.ToNumber(`Function '${this.Name}' parameter 2 is error!`);if(e.IsError||e.IsNone)return e;i.push(e.NumberValue)}const u=this.ff(t,e,2);if(u.IsError)return u;const l=u.ArrayValue;if(i.length!==l.length)return this.Vc();if(0===i.length)return this._c(2);const h=[];for(const t of l)if(t.IsDate)h.push(t.DateValue.ToDateTime(0));else{if(!t.IsText)return this._c(3);{const e=P.Parse(t.TextValue);if(null==e)return this._c(3);h.push(e.ToDateTime(0))}}const a=h[0];let o=0;for(let t=0;t<i.length;t++){const e=(h[t]-a)/864e5;o+=i[t]/Math.pow(1+s,e/365)}return _.Create(o)}}class ci extends ls{get Name(){return"IRR"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<1)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)if(t.IsNumber)s.push(t.NumberValue);else{const e=t.ToNumber(`Function '${this.Name}' parameter 1 is error!`);if(e.IsError)return e;s.push(e.NumberValue)}if(0===s.length)return this._c(1);let n=!1,i=!1;for(const t of s)t>0&&(n=!0),t<0&&(i=!0);if(!n||!i)return this._c(1);let u=.1;if(this.z.length>1){const r=this.af(t,e,1);if(r.IsError)return r;u=r.NumberValue}const l=this.zf(s,u);return null===l?this.Vc():_.Create(l)}zf(t,e){let r=e;for(let e=0;e<100;e++){let e=0,s=0;const n=1+r;let i=1;for(let r=0;r<t.length;r++)e+=t[r]/i,s-=r*t[r]/(i*n),i*=n;if(Math.abs(s)<1e-12)break;const u=r-e/s;if(Math.abs(u-r)<1e-10)return u;r=u}return null}}class fi extends ls{get Name(){return"MIRR"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)if(t.IsNumber)s.push(t.NumberValue);else{const e=t.ToNumber(`Function '${this.Name}' parameter 1 is error!`);if(e.IsError||e.IsNone)return e;s.push(e.NumberValue)}const n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;let h=0,a=0;const o=s.length;if(0===o)return this._c(1);if(1===o)return this.Hc();for(let t=0;t<o;t++)s[t]<0?h+=s[t]/Math.pow(1+i,t):a+=s[t]*Math.pow(1+l,o-1-t);if(0===h||0===a)return this.Hc();const c=Math.pow(-a/h,1/(o-1))-1;return _.Create(c)}}class di extends ls{get Name(){return"XIRR"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<2)return this._c(1);const r=this.ff(t,e,0);if(r.IsError)return r;const s=[];for(const t of r.ArrayValue)if(t.IsNumber)s.push(t.NumberValue);else{const e=t.ToNumber(`Function '${this.Name}' parameter 1 is error!`);if(e.IsError||e.IsNone)return e;s.push(e.NumberValue)}const n=this.ff(t,e,1);if(n.IsError)return n;const i=[];for(const t of n.ArrayValue)if(t.IsDate)i.push(t.DateValue.ToDateTime(0));else{if(!t.IsText)return this._c(2);{const e=P.Parse(t.TextValue);if(null==e)return this._c(2);i.push(e.ToDateTime(0))}}if(s.length!==i.length||s.length<2)return this.Vc();let u=.1;if(this.z.length>2){const r=this.af(t,e,2);if(r.IsError)return r;u=r.NumberValue}const l=this.Qf(s,i,u);return null===l?this.Vc():_.Create(l)}Qf(t,e,r){let s=r;const n=e[0];for(let r=0;r<100;r++){let r=0,i=0;for(let u=0;u<t.length;u++){const l=(e[u]-n)/864e5/365,h=Math.pow(1+s,l);r+=t[u]/h,i-=t[u]*l/(h*(1+s))}if(Math.abs(i)<1e-12)break;const u=s-r/i;if(Math.abs(u-s)<1e-10)return u;s=u}return null}}class wi extends ls{get Name(){return"SLN"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<3)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue;if(0===l)return this.Hc();const h=(s-i)/l;return _.Create(h)}}class gi extends ls{get Name(){return"SYD"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;const s=r.NumberValue,n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.af(t,e,3);if(h.IsError)return h;const a=h.NumberValue;if(0===l)return this.Hc();if(l<=0)return this._c(3);if(a<1||a>l)return this._c(4);const o=(s-i)*(l-a+1)*2/(l*(l+1));return _.Create(o)}}class pi extends ls{get Name(){return"DDB"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;let s=r.NumberValue;const n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.af(t,e,3);if(h.IsError)return h;const a=h.NumberValue;let o=2;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;o=r.NumberValue}if(0===l||0===o)return this.Hc();if(l<=0)return this._c(3);if(a<1||a>l)return this._c(4);let c=0,f=s;for(let t=1;t<a;t++){let t=f*o/l;const e=f-i;if(t>e&&(t=e),f-=t,f<=i)break}c=f*o/l;const d=f-i;return c>d&&(c=d),_.Create(c)}}class mi extends ls{get Name(){return"DB"}constructor(t){super(t)}evaluate(t,e){if(this.z.length<4)return this._c(1);const r=this.af(t,e,0);if(r.IsError)return r;let s=r.NumberValue;const n=this.af(t,e,1);if(n.IsError)return n;const i=n.NumberValue,u=this.af(t,e,2);if(u.IsError)return u;const l=u.NumberValue,h=this.af(t,e,3);if(h.IsError)return h;const a=h.NumberValue;let o=12;if(this.z.length>4){const r=this.af(t,e,4);if(r.IsError)return r;if(o=r.IntValue,o<1||o>12)return this._c(5)}if(0===l||0===s)return this.Hc();const c=12===o?Math.floor(l):Math.floor(l)+1;if(a<1||a>c)return this._c(4);if(l<1)return this._c(3);const f=Math.round(1e3*(1-Math.pow(i/s,1/l)))/1e3;let d=0,w=s;for(let t=1;t<=a;t++)d=1===t?s*f*o/12:t===c&&12!==o?w*f*(12-o)/12:w*f,w-=d;return _.Create(d)}}class vi extends jr{get Name(){return"ASC"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Create(this.Zf(r.TextValue))}Zf(t){let e=!1;for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);if(12288===s||s>65280&&s<65375){e=!0;break}}if(!e)return t;let r=[];for(let e=0;e<t.length;e++){let s=t.charCodeAt(e);12288===s?r.push(String.fromCharCode(32)):s>65280&&s<65375?r.push(String.fromCharCode(s-65248)):r.push(t[e])}return r.join("")}}class Ni extends jr{get Name(){return"JIS"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Create(this.td(r.TextValue))}td(t){let e=!1;for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);if(32===s||s>32&&s<127){e=!0;break}}if(!e)return t;let r=[];for(let e=0;e<t.length;e++){let s=t.charCodeAt(e);32===s?r.push(String.fromCharCode(12288)):s>32&&s<127?r.push(String.fromCharCode(s+65248)):r.push(t[e])}return r.join("")}}class xi extends jr{get Name(){return"Char"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.IntValue;if(s<0||s>65535)return this._c(1);let n=String.fromCharCode(s);return _.Create(n)}}class Mi extends jr{get Name(){return"Clean"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue,n=!1;for(let t=0;t<s.length;t++)if(s.charCodeAt(t)<32){n=!0;break}if(!n)return r;let i="";for(let t=0;t<s.length;t++)s.charCodeAt(t)>=32&&(i+=s[t]);return _.Create(i)}}class Ei extends jr{get Name(){return"CODE"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(!r.TextValue)return this._c(1);let s=r.TextValue[0];return _.Create(s.charCodeAt(0))}}class Ti extends ls{get Name(){return"Concatenate"}constructor(t){super(t)}evaluate(t,e){if(0===this.z.length)return _.Create("");if(1===this.z.length){let r=this.z[0].evaluate(t,e).ToText("Function '{0}' parameter {1} is error!",this.Name,1);return r.IsError,r}let r="";for(let s=0;s<this.z.length;s++){let n=this.z[s].evaluate(t,e).ToText("Function '{0}' parameter {1} is error!",this.Name,s+1);if(n.IsError)return n;r+=n.TextValue}return _.Create(r)}}class Si extends Jr{get Name(){return"EXACT"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);return s.IsError?s:_.Create(r.TextValue===s.TextValue)}}class Ii extends Ws{get Name(){return"Find"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;if(null===this.c||void 0===this.c){let e=s.TextValue.indexOf(r.TextValue);return e<0?1===t.ExcelIndex?this.Vc():_.Create(-1):_.Create(e+t.ExcelIndex)}let n=this.vf(t,e);if(n.IsError)return n;let i=n.IntValue-t.ExcelIndex;if(i<0||i>=s.TextValue.length)return this._c(3);let u=s.TextValue.indexOf(r.TextValue,i);return u<0?1===t.ExcelIndex?this.Vc():_.Create(-1):_.Create(u+i+t.ExcelIndex)}}class yi extends Jr{get Name(){return"Left"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(0===r.TextValue.length)return _.Create("");if(null===this.b)return _.Create(r.TextValue.substring(0,1));let s=this.nf(t,e);if(s.IsError)return s;if(s.IntValue<0)return this._c(2);let n=Math.min(s.IntValue,r.TextValue.length);return _.Create(r.TextValue.substring(0,n))}}class Ai extends jr{get Name(){return"Len"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Create(r.TextValue.length)}}class bi extends jr{get Name(){return"Lower"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Create(r.TextValue.toLowerCase())}}class Ci extends Ws{get Name(){return"Mid"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.TextValue,u=s.IntValue-t.ExcelIndex,l=n.IntValue;return u<0?this._c(2):l<0?this._c(3):0===u&&l>=i.length?r:u>=i.length?_.Create(""):(u+l>i.length&&(l=i.length-u),_.Create(i.substring(u,u+l)))}}class Di extends jr{get Name(){return"Proper"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue;if(0===s.length)return _.Create(s);let n=!1,i=!0;for(let t=0;t<s.length;t++){let e=s[t];if(/\p{L}/u.test(e)){if(i){if(e===e.toLowerCase()&&e!==e.toUpperCase()){n=!0;break}}else if(e===e.toUpperCase()&&e!==e.toLowerCase()){n=!0;break}i=!1}else i=!0}if(!n)return r;let u=s.split("");i=!0;for(let t=0;t<u.length;t++){let e=u[t];/\p{L}/u.test(e)?(u[t]=i?e.toUpperCase():e.toLowerCase(),i=!1):i=!0}return _.Create(u.join(""))}}class Ri extends Ws{constructor(t){super(t),this.d=null,t.length>=4&&(this.d=t[3])}zc(t,e){t.push(e),t.push("("),this.a.Rc(t,!1),null!=this.b&&(t.push(", "),this.b.Rc(t,!1),null!=this.c&&(t.push(", "),this.c.Rc(t,!1),null!=this.d&&(t.push(", "),this.d.Rc(t,!1)))),t.push(")")}ed(t,e){let r=this.d.evaluate(t,e);return r.IsText?r:this.Oc(r,4)}rd(t,e){let r=this.d.evaluate(t,e);return r.IsNumber?r:this.Lc(r,4)}sd(t,e){let r=this.d.evaluate(t,e);return r.IsDate?r:this.Pc(r,4)}nd(t,e){let r=this.d.evaluate(t,e);return r.IsBoolean?r:this.Fc(r,4)}ud(t,e){let r=this.d.evaluate(t,e);return r.IsArray?r:this.kc(r,4)}evaluate(t,e=null){throw new Error("FIXME")}}class Oi extends Ri{get Name(){return"Replace"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue;if(null===this.d||void 0===this.d){let n=this.b.evaluate(t,e).ToText("Function '{0}' parameter {1} is error!",this.Name,2);if(n.IsError)return n;let i=this.c.evaluate(t,e).ToText("Function '{0}' parameter {1} is error!",this.Name,3);if(i.IsError)return i;let u=n.TextValue,l=i.TextValue;return 0===u.length||s.indexOf(u)<0?r:_.Create(s.replace(new RegExp(u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),l))}let n=this.nf(t,e);if(n.IsError)return n;let i=this.vf(t,e);if(i.IsError)return i;let u=this.ed(t,e);if(u.IsError)return u;let l=n.IntValue-t.ExcelIndex,h=i.IntValue,a=u.TextValue;if(l<0)return this._c(2);if(h<0)return this._c(3);if(l>=s.length)return _.Create(s+a);let o=s.substring(0,l)+a,c=l+h;return c<s.length&&(o+=s.substring(c)),_.Create(o)}}class Fi extends Jr{get Name(){return"Rept"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.TextValue,i=s.IntValue;if(i<0)return this._c(2);if(0===i)return _.Create("");if(0===n.length)return r;if(n.length>0&&i>Math.floor(32767/n.length))return this._c(2);if(1===i)return r;let u="";for(let t=0;t<i;t++)u+=n;return _.Create(u)}}class Li extends Jr{get Name(){return"Right"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(0===r.TextValue.length)return _.Create("");if(null===this.b)return _.Create(r.TextValue.substring(r.TextValue.length-1,r.TextValue.length));let s=this.nf(t,e);if(s.IsError)return s;if(s.IntValue<0)return this._c(2);let n=Math.min(s.IntValue,r.TextValue.length),i=r.TextValue.length-n;return _.Create(r.TextValue.substring(i,i+n))}}class ki extends jr{get Name(){return"RMB"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:_.Create(this.ld(r.NumberValue))}ld(t){if(0===t)return"零元";let e=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],r=["","拾","佰","仟"],s=["","万","亿","兆","京","垓","秭","穰"],n=["角","分"],i="",u=Math.trunc(t),l=Math.round(100*Math.abs(t-u)+1e-9);if(u<0&&(i="负",u=-u),0===u)i+="零";else{let t=0;for(;u>0;){let n=u%1e4;if(n>0){let u="",l=n,h=0;for(;l>0;){let t=l%10;t>0?u=e[t]+r[h]+u:u&&!u.startsWith("零")&&(u="零"+u),l=Math.floor(l/10),h++}i=u+s[t]+i}u=Math.floor(u/1e4),t++}}if(i+="元",0===l)i+="整";else{let t=Math.floor(l/10),r=l%10;t>0?i+=e[t]+n[0]:r>0&&(i+="零"),r>0&&(i+=e[r]+n[1])}return i}}class Pi extends Ws{get Name(){return"Search"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;if(null===this.c||void 0===this.c){let e=this.hd(s.TextValue,r.TextValue,0);return e<0?1===t.ExcelIndex?this.Vc():_.Create(-1):_.Create(e+t.ExcelIndex)}let n=this.vf(t,e);if(n.IsError)return n;let i=n.IntValue-t.ExcelIndex;if(i<0||i>=s.TextValue.length)return this._c(3);let u=this.hd(s.TextValue,r.TextValue,i);return u<0?1===t.ExcelIndex?this.Vc():_.Create(-1):_.Create(u+t.ExcelIndex)}hd(t,e,r){if(r<0&&(r=0),r>t.length)return-1;const s=this.ad(e);if(0===s.length)return r;for(let e=r;e<=t.length;e++)if(this.wo(t,s,e))return e;return-1}ad(t){const e=[];for(let r=0;r<t.length;r++){const s=t[r];"~"===s?r+1<t.length&&("?"===t[r+1]||"*"===t[r+1]||"~"===t[r+1])?(e.push({kind:"literal",value:t[r+1].toUpperCase()}),r++):e.push({kind:"literal",value:"~"}):"*"===s?e.push({kind:"anySeq"}):"?"===s?e.push({kind:"anyOne"}):e.push({kind:"literal",value:s.toUpperCase()})}return e}wo(t,e,r){let s=0,n=r,i=-1,u=0;for(;s<e.length&&n<t.length;){const r=e[s];if("literal"===r.kind)if(t[n].toUpperCase()===r.value)s++,n++;else{if(-1===i)return!1;s=i+1,n=++u}else"anyOne"===r.kind?(s++,n++):(i=s,u=n,s++)}for(;s<e.length&&"anySeq"===e[s].kind;)s++;return s===e.length}}class _i extends Ri{get Name(){return"Substitute"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=this.mf(t,e);if(n.IsError)return n;if(null===this.d||void 0===this.d)return 0===s.TextValue.length?_.Create(r.TextValue):_.Create(r.TextValue.replace(new RegExp(s.TextValue.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),n.TextValue));let i=this.rd(t,e);if(i.IsError)return i;let u=r.TextValue,l=s.TextValue,h=n.TextValue,a=i.IntValue;if(0===l.length)return _.Create(u);if(a<1)return this._c(4);let o=0,c=0;for(;c<=u.length-l.length;){let t=u.indexOf(l,c);if(t<0)break;if(o++,o===a)return _.Create(u.substring(0,t)+h+u.substring(t+l.length));c=t+l.length}return _.Create(u)}}class Vi extends jr{get Name(){return"T"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return r.IsText?r:_.Create("")}}class Bi extends Jr{get Name(){return"Text"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;if(r.IsText)return r;if(r.IsBoolean)return _.Create(r.BooleanValue?"TRUE":"FALSE");if(r.IsNumber)try{return _.Create(this.od(r.NumberValue,s.TextValue))}catch(t){return this._c(2)}else if(r.IsDate)try{return _.Create(this.fd(r.DateValue,s.TextValue))}catch(t){return this._c(2)}let n=r.ToText("Function '{0}' parameter {1} is error!",this.Name,1);return n.IsError?n:_.Create(n.TextValue)}od(t,e){let r=/^([GgFfNnDdCcEePpXx])(\d*)$/.exec(e);if(r)return this.dd(t,r[1],r[2]?parseInt(r[2],10):0);let s=e.split(";"),n=s[0],i=t<0;i&&s.length>1?(n=s[1],t=-t):0===t&&s.length>2&&(n=s[2]);let u=(n.match(/%/g)||[]).length;u>0&&(t*=Math.pow(100,u),n=n.replace(/%/g,""));let l=/[eE][+-]?\d+/.exec(n);if(l)return this.wd(t,n,l);if(!/[0#]/.test(n))return n;let h=n.indexOf("."),a=h>=0?n.substring(0,h):n,o=h>=0?n.substring(h+1):"",c=0;for(;a.endsWith(",");)a=a.substring(0,a.length-1),c++;c>0&&(t/=Math.pow(1e3,c));let f=a.includes(","),d=a.replace(/,/g,""),w=(d.match(/0/g)||[]).length,g=/[0#]/.test(d),p=[];for(let t=0;t<o.length;t++){let e=o[t];p.push("0"===e||"#"===e?e:null)}let m,v=p.filter(t=>null!==t).length,N=Math.pow(10,v),x=Math.round(Math.abs(t)*N+1e-9),M=Math.floor(x/N),E=x%N;if(g)for(m=M.toString();m.length<w;)m="0"+m;else m=0===M?"":M.toString();f&&(m=m.replace(/\B(?=(\d{3})+(?!\d))/g,","));let T="";if(v>0){T=E.toString().padStart(v,"0");for(let t=p.length-1;t>=0&&"#"===p[t]&&T.endsWith("0");t--)T=T.substring(0,T.length-1)}let S=m+(T.length>0?"."+T:"");return i&&!n.includes("-")&&(S="-"+S),S}dd(t,e,r){switch(e){case"G":case"g":return t.toString();case"F":case"f":{let e=r>0?r:2;return t.toFixed(e)}case"N":case"n":{let e=r>0?r:2,s=Math.abs(t).toFixed(e).split(".");s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");let n=s.join(".");return t<0?"-"+n:n}case"D":case"d":{let e=Math.round(Math.abs(t)).toString().padStart(r,"0");return t<0?"-"+e:e}case"C":case"c":{let e=r>0?r:2,s=Math.abs(t).toFixed(e).split(".");s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");let n="¤"+s.join(".");return t<0?"-"+n:n}case"E":case"e":{let e=r>0?r:6;return t.toExponential(e).replace(/e([+-])(\d+)/,(t,e,r)=>"E"+e+r.padStart(3,"0"))}case"P":case"p":{let e=r>0?r:2,s=(100*Math.abs(t)).toFixed(e).split(".");s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");let n=s.join(".")+"%";return t<0?"-"+n:n}case"X":case"x":{let e=Math.round(t).toString(16).toUpperCase();return r>0&&(e=e.padStart(r,"0")),e}}return t.toString()}wd(t,e,r){let s=r[0],n=parseInt(s.match(/\d+$/)[0].length,10),i=e.substring(0,r.index),u=i.indexOf("."),l=u>=0?i.length-u-1:0,h=Math.abs(t),a=0===h?0:Math.floor(Math.log10(h)),o=t/Math.pow(10,a),c=Math.pow(10,l);o=Math.round(o*c+(o>=0?1e-9:-1e-9))/c,Math.abs(o)>=10&&(o/=10,a+=1);let f=o.toFixed(l),d=Math.abs(a).toString().padStart(n,"0"),w="";return w="+"===s[1]?a>=0?"+":"-":(s[1],a<0?"-":""),f+s[0]+w+d}fd(t,e){const r=["January","February","March","April","May","June","July","August","September","October","November","December"],s=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let n="",i=0;for(;i<e.length;){let u=e[i],l=i;for(;l<e.length&&e[l]===u;)l++;let h=l-i,a="";if("y"===u){let e=t.getFullYear();a=h<=2?e.toString().padStart(2,"0").slice(-2):e.toString().padStart(h,"0")}else if("M"===u){let e=t.getMonth();a=h>=4?r[e]:3===h?r[e].substring(0,3):(e+1).toString().padStart(h,"0")}else if("d"===u){let e=t.getDate();a=h>=4?s[t.getDay()]:3===h?s[t.getDay()].substring(0,3):e.toString().padStart(h,"0")}else if("H"===u)a=t.getHours().toString().padStart(h,"0");else if("h"===u){let e=t.getHours()%12;0===e&&(e=12),a=e.toString().padStart(h,"0")}else if("m"===u)a=t.getMinutes().toString().padStart(h,"0");else if("s"===u)a=t.getSeconds().toString().padStart(h,"0");else if("f"===u)a=t.getMilliseconds().toString().padStart(3,"0").substring(0,h);else if("t"===u)a=t.getHours()<12?"AM":"PM",1===h&&(a=a[0]);else{if("'"===u){let t=e.indexOf("'",i+1);t<0&&(t=e.length),a=e.substring(i+1,t),n+=a,i=t<e.length?t+1:t;continue}a=u.repeat(h)}n+=a,i=l}return n}}class Hi extends jr{get Name(){return"Trim"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue.trim();return s=s.replace(/ +/g," "),s===r.TextValue?r:_.Create(s)}}class Ui extends jr{get Name(){return"Upper"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Create(r.TextValue.toUpperCase())}}class Gi extends jr{get Name(){return"UniChar"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.IntValue;return s<0||s>1114111||s>=55296&&s<=57343?this._c(1):_.Create(String.fromCodePoint(s))}}class Xi extends jr{get Name(){return"Unicode"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:r.TextValue&&0!==r.TextValue.length?_.Create(r.TextValue.codePointAt(0)):this._c(1)}}class qi extends ls{get Name(){return"DateValue"}constructor(t){super(t)}evaluate(t,e){let r=[];for(let s of this.z){let n=s.evaluate(t,e);if(n.IsError)return n;r.push(n)}if(r[0].IsDate)return r[0];let s=0;if(2==r.length){let t=r[1].ToNumber(StringCache.Function_parameter_error,"DateValue",2);if(t.IsError)return t;s=t.IntValue}if(0==s){if(r[0].IsText){let t=new Date(r[0].TextValue);if(!isNaN(t.getTime()))return _.Create(this.gd(t,r[0].TextValue))}let e=r[0].ToNumber(StringCache.Function_parameter_error,"DateValue",1);if(e.IsError)return e;if(e.IntValue<=2958465)return e.ToMyDate();if(e.IntValue<=253402232399){let r=new Date(Date.UTC(1970,0,1,0,0,0)+1e3*e.IntValue);return t.UseLocalTime?_.Create(new P(new Date(r.getTime()+6e4*r.getTimezoneOffset()))):_.Create(new P(r))}let s=new Date(Date.UTC(1970,0,1,0,0,0)+e.IntValue);return t.UseLocalTime?_.Create(new P(new Date(s.getTime()+6e4*s.getTimezoneOffset()))):_.Create(new P(s))}if(1==s){let t=r[0].ToText(StringCache.Function_parameter_error,"DateValue",1);if(t.IsError)return t;let e=new Date(t.TextValue);if(!isNaN(e.getTime()))return _.Create(this.gd(e,t.TextValue))}else{if(2==s){let t=r[0].ToNumber(StringCache.Function_parameter_error,"DateValue",1);return t.IsError?t:t.ToMyDate()}if(3==s){let e=r[0].ToNumber(StringCache.Function_parameter_error,"DateValue",1);if(e.IsError)return e;let s=new Date(Date.UTC(1970,0,1,0,0,0)+e.IntValue);return t.UseLocalTime?_.Create(new P(new Date(s.getTime()+6e4*s.getTimezoneOffset()))):_.Create(new P(s))}if(4==s){let e=r[0].ToNumber(StringCache.Function_parameter_error,"DateValue",1);if(e.IsError)return e;let s=new Date(Date.UTC(1970,0,1,0,0,0)+1e3*e.IntValue);return t.UseLocalTime?_.Create(new P(new Date(s.getTime()+6e4*s.getTimezoneOffset()))):_.Create(new P(s))}}return this.Vc()}gd(t,e){return/^\d{4}-\d{2}-\d{2}/.test(e.trim())?new P(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()):new P(t)}}class ji extends Jr{get Name(){return"Timestamp"}constructor(t){super(t)}evaluate(t,e){let r=0;if(null!=this.b){let s=this.nf(t,e);if(s.IsError)return s;r=s.IntValue}let s,n=this.tf(t,e);return n.IsError?n:(s=t.UseLocalTime?n.DateValue.ToDateTime().valueOf():n.DateValue.ToDateTime(0).valueOf(),0===r?_.Create(s):1===r?_.Create(s/1e3):this._c(2))}}class Ji extends jr{get Name(){return"TimeValue"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue.trim().match(/^([+-]?)(?:(\d+)\.)?(\d+):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?$/);if(s){let t="-"===s[1]?-1:1,e=s[2]?parseInt(s[2],10):0,r=parseInt(s[3],10),n=parseInt(s[4],10),i=s[5]?parseInt(s[5],10):0;if(n>59||i>59)return this._c(1);let u=void 0!==s[6]?parseFloat("0."+s[6]):0,l=Math.round(60*(60*(24*e+r)+n)+i+u),h=Math.trunc(l/60),a=l%60,o=Math.trunc(h/60),c=h%60,f=Math.trunc(o/24),d=new P(null,null,t*f,t*(o%24),t*c,t*a);return _.Create(d)}return this._c(1)}}class $i extends ls{get Name(){return"Date"}constructor(t){super(t)}evaluate(t,e){let r=this.af(t,e,0);if(r.IsError)return r;let s=this.af(t,e,1);if(s.IsError)return s;let n=this.af(t,e,2);if(n.IsError)return n;let i=r.IntValue,u=s.IntValue,l=n.IntValue,h=new Date(i,0,1);if(h.setFullYear(i),h.setMonth(h.getMonth()+(u-1)),h.setDate(l),isNaN(h.getTime()))return this._c(1);let a=0,o=0,c=0;if(this.z.length>=4){let r=this.af(t,e,3);if(r.IsError)return r;if(a=r.IntValue,a<0||a>23)return this._c(4)}if(this.z.length>=5){let r=this.af(t,e,4);if(r.IsError)return r;if(o=r.IntValue,o<0||o>59)return this._c(5)}if(this.z.length>=6){let r=this.af(t,e,5);if(r.IsError)return r;if(c=r.IntValue,c<0||c>59)return this._c(6)}return _.Create(new P(h.getFullYear(),h.getMonth()+1,h.getDate(),a,o,c))}}class Wi extends Ws{get Name(){return"Time"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n,i=r.IntValue,u=s.IntValue;if(i<0||i>23)return this._c(1);if(u<0||u>59)return this._c(2);if(null!==this.c){let r=this.vf(t,e);if(r.IsError)return r;let s=r.IntValue;if(s<0||s>59)return this._c(3);n=new P(0,0,0,i,u,s)}else n=new P(0,0,0,i,u,0);return _.Create(n)}}class Yi extends qr{get Name(){return"Now"}evaluate(t,e){let r=new Date;if(t.UseLocalTime)return _.Create(new P(r));{let t=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds()));return _.Create(new P(t))}}Rc(t,e){t.push("Now()")}}class Ki extends qr{get Name(){return"Today"}evaluate(t,e){let r;return r=t.UseLocalTime?new Date:new Date(Date.UTC((new Date).getFullYear(),(new Date).getMonth(),(new Date).getDate())),_.Create(new P(r.getFullYear(),r.getMonth()+1,r.getDate(),0,0,0))}Rc(t,e){t.push("Today()")}}class zi extends jr{get Name(){return"Year"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:null==r.DateValue.Year?this.Vc():_.Create(r.DateValue.Year)}}class Qi extends jr{get Name(){return"Month"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:null==r.DateValue.Month?this.Vc():_.Create(r.DateValue.Month)}}class Zi extends jr{get Name(){return"Day"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:null==r.DateValue.Day?this.Vc():_.Create(r.DateValue.Day)}}class tu extends jr{get Name(){return"Hour"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:_.Create(r.DateValue.Hour)}}class eu extends jr{get Name(){return"Minute"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:_.Create(r.DateValue.Minute)}}class ru extends jr{get Name(){return"Second"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);return r.IsError?r:_.Create(r.DateValue.Second)}}class su extends Jr{get Name(){return"Weekday"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=1;if(null!=this.b){let r=this.nf(t,e);if(r.IsError)return r;if(s=r.IntValue,1!=s&&2!=s&&3!=s&&(s<11||s>17))return this._c(2)}let n=r.DateValue.ToDateTime().getDay();if(1==s||17==s)return _.Create(n+1);if(2==s||11==s)return 0==n?_.Create(7):_.Create(n);if(3==s)return 0==n?_.Create(6):_.Create(n-1);if(12==s){let t=[6,7,1,2,3,4,5];return _.Create(t[n])}if(13==s){let t=[5,6,7,1,2,3,4];return _.Create(t[n])}if(14==s){let t=[4,5,6,7,1,2,3];return _.Create(t[n])}if(15==s){let t=[3,4,5,6,7,1,2];return _.Create(t[n])}{let t=[2,3,4,5,6,7,1];return _.Create(t[n])}}}class nu extends Ws{get Name(){return"DateDif"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.if(t,e);if(s.IsError)return s;let n=this.mf(t,e);if(n.IsError)return n;let i=r.DateValue,u=s.DateValue,l=i.ToDateTime(),h=u.ToDateTime(),a=n.TextValue.toLowerCase();if("y"===a){let t=!1;return(l.getMonth()<h.getMonth()||l.getMonth()===h.getMonth()&&l.getDate()<=h.getDate())&&(t=!0),t?_.Create(h.getFullYear()-l.getFullYear()):_.Create(h.getFullYear()-l.getFullYear()-1)}if("m"===a){let t=!1;return l.getDate()<=h.getDate()&&(t=!0),t?_.Create(12*h.getFullYear()+h.getMonth()+1-(12*l.getFullYear()+l.getMonth()+1)):_.Create(12*h.getFullYear()+h.getMonth()+1-(12*l.getFullYear()+l.getMonth()+1)-1)}if("d"===a){let t=h.getTime()-l.getTime(),e=Math.trunc(t/864e5);return _.Create(e)}if("yd"===a){let t=t=>{let e=new Date(t.getFullYear(),0,1);return Math.ceil((t.getTime()-e.getTime())/864e5)+1},e=t(h)-t(l);return h.getFullYear()>l.getFullYear()&&e<0&&(e=t(new Date(l.getFullYear(),11,31))+e),_.Create(e)}if("md"===a){let t=h.getDate()-l.getDate();if(t<0){let e;e=11===l.getMonth()?new Date(l.getFullYear()+1,0,0).getDate():new Date(l.getFullYear(),l.getMonth()+1,0).getDate(),t+=e}return _.Create(t)}if("ym"===a){let t=h.getMonth()+1-(l.getMonth()+1);return h.getDate()<l.getDate()&&t--,t<0&&(t+=12),_.Create(t)}return this._c(3)}}class iu extends Ws{get Name(){return"Days360"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.if(t,e);if(s.IsError)return s;let n=r.DateValue,i=s.DateValue,u=n.ToDateTime(),l=i.ToDateTime(),h=!1;if(null!==this.c){let r=this.xf(t,e);if(r.IsError)return r;h=r.BooleanValue}let a=360*l.getFullYear()+30*l.getMonth()-360*u.getFullYear()-30*u.getMonth();if(h)a+=Math.min(l.getDate(),30)-Math.min(u.getDate(),30);else{let t=u.getDate(),e=l.getDate();11==u.getMonth()?t==new Date(u.getFullYear()+1,0,0).getDate()&&(t=30):t==new Date(u.getFullYear(),u.getMonth()+1,0).getDate()&&(t=30),11==l.getMonth()?e==new Date(l.getFullYear()+1,0,0).getDate()&&(e=t<30?31:30):e==new Date(l.getFullYear(),l.getMonth()+1,0).getDate()&&(e=t<30?31:30),a+=e-t}return _.Create(a)}}class uu extends Jr{get Name(){return"EDate"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.DateValue.ToDateTime(),i=new Date(n.getFullYear(),n.getMonth(),1);i.setMonth(i.getMonth()+s.IntValue);let u=new Date(i.getFullYear(),i.getMonth()+1,0).getDate(),l=Math.min(n.getDate(),u);return i.setDate(l),_.Create(new P(i))}}class lu extends Jr{get Name(){return"EOMonth"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=new Date(r.DateValue.ToDateTime().getTime());return n.setHours(0,0,0,0),n.setDate(1),n.setMonth(n.getMonth()+s.IntValue+1),n.setDate(0),_.Create(new P(n))}}class hu extends ls{get Name(){return"NetworkDays"}constructor(t){super(t)}evaluate(t,e){let r=this.getDate(t,e,0);if(r.IsError)return r;let s=this.getDate(t,e,1);if(s.IsError)return s;let n=r.DateValue.ToDateTime(),i=s.DateValue.ToDateTime(),u=new Date(n.getTime()),l=new Date(i.getTime()),h=new Set;for(let r=2;r<this.z.length;r++){let s=this.getDate(t,e,r);if(s.IsError)return s;let n=s.DateValue.ToDateTime().toISOString().split("T")[0];h.add(n)}let a=0,o=!1;if(u>l){let t=u;u=l,l=t,o=!0}for(u.setHours(0,0,0,0),l.setHours(0,0,0,0);u<=l;){let t=u.getDay();if(0!==t&&6!==t){let t=u.toISOString().split("T")[0];h.has(t)||a++}u.setDate(u.getDate()+1)}return _.Create(o?-a:a)}}class au extends ls{get Name(){return"Workday"}constructor(t){super(t)}evaluate(t,e){let r=this.getDate(t,e,0);if(r.IsError)return r;let s=this.af(t,e,1);if(s.IsError)return s;let n=new Date(r.DateValue.ToDateTime().getTime()),i=s.IntValue,u=new Set;for(let r=2;r<this.z.length;r++){let s=this.getDate(t,e,r);if(s.IsError)return s;let n=s.DateValue.ToDateTime().toISOString().split("T")[0];u.add(n)}let l=t=>{let e=t.getDay();return 0===e||6===e},h=t=>new Date(t.getFullYear(),t.getMonth(),t.getDate());if(i>0){for(;1!==n.getDay()&&i>0;)n.setDate(n.getDate()+1),l(n)||u.has(n.toISOString().split("T")[0])||i--;if(0===i)return _.Create(new P(n));let t=new Date(n.getTime());t.setDate(t.getDate()+7*Math.floor(i/5));let e=0,r=h(n),s=h(t);for(let t of u){let n=new Date(t+"T00:00:00");h(n)>r&&h(n)<=s&&!l(n)&&e++}for(n=t,i=i%5+e;i>0;)n.setDate(n.getDate()+1),l(n)||u.has(n.toISOString().split("T")[0])||i--}else if(i<0){for(;5!==n.getDay()&&i<0;)n.setDate(n.getDate()-1),l(n)||u.has(n.toISOString().split("T")[0])||i++;if(0===i)return _.Create(new P(n));let t=new Date(n.getTime());t.setDate(t.getDate()+-7*Math.floor(-i/5));let e=0,r=h(n),s=h(t);for(let t of u){let n=new Date(t+"T00:00:00");h(n)>=s&&h(n)<r&&!l(n)&&e++}for(n=t,i=- -i%5-e;i<0;)n.setDate(n.getDate()-1),l(n)||u.has(n.toISOString().split("T")[0])||i++}return _.Create(new P(n))}}class ou extends Jr{get Name(){return"Weeknum"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=1;if(null!=this.b){let r=this.nf(t,e);if(r.IsError)return r;if(s=r.IntValue,1!=s&&2!=s&&11!=s&&12!=s&&13!=s&&14!=s&&15!=s&&16!=s&&17!=s&&21!=s)return this._c(2)}let n,i=r.DateValue.ToDateTime(),u=i.getFullYear();if(21==s){let t=i.getDay();t=0==t?7:t;let e=new Date(i.getTime());e.setDate(e.getDate()+(4-t));let r=Math.floor((e-new Date(u,0,0))/864e5);return _.Create(Math.floor((r-1)/7)+1)}n=1==s||17==s?0:2==s||11==s?1:12==s?2:13==s?3:14==s?4:15==s?5:6;let l=Math.floor((i-new Date(u,0,0))/864e5)+(new Date(u,0,1).getDay()-n+7)%7,h=Math.ceil(l/7);return _.Create(h)}}class cu extends Jr{get Name(){return"Days"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.if(t,e);if(s.IsError)return s;let n=r.DateValue.ToDateTime(),i=s.DateValue.ToDateTime(),u=new Date(n.getFullYear(),n.getMonth(),n.getDate()),l=new Date(i.getFullYear(),i.getMonth(),i.getDate()),h=u.getTime()-l.getTime(),a=Math.round(h/864e5);return _.Create(a)}}class fu extends Jr{get Name(){return"AddMonths"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.DateValue.ToDateTime(),i=new Date(n.getFullYear(),n.getMonth(),1);i.setMonth(i.getMonth()+s.IntValue);let u=new Date(i.getFullYear(),i.getMonth()+1,0).getDate(),l=Math.min(n.getDate(),u);return i.setDate(l),_.Create(new P(i))}}class du extends Jr{get Name(){return"AddYears"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.DateValue.ToDateTime(),i=new Date(n.getFullYear()+s.IntValue,n.getMonth(),1),u=new Date(i.getFullYear(),i.getMonth()+1,0).getDate(),l=Math.min(n.getDate(),u);return i.setDate(l),_.Create(new P(i))}}class wu extends Jr{get Name(){return"AddSeconds"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=new Date(r.DateValue.ToDateTime().getTime());return n.setSeconds(n.getSeconds()+s.IntValue),_.Create(new P(n))}}class gu extends Jr{get Name(){return"AddMinutes"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=new Date(r.DateValue.ToDateTime().getTime());return n.setMinutes(n.getMinutes()+s.IntValue),_.Create(new P(n))}}class pu extends Jr{get Name(){return"AddDays"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);return s.IsError?s:_.Create(r.DateValue.AddDays(s.IntValue))}}class mu extends Jr{get Name(){return"AddHours"}constructor(t){super(t)}evaluate(t,e){let r=this.tf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=new Date(r.DateValue.ToDateTime().getTime());return n.setHours(n.getHours()+s.IntValue),_.Create(new P(n))}}class vu extends ls{get Name(){return"Max"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];return 0==k.je(r,n)||0==n.length?this.Vc():_.Create(Math.max(...n))}}class Nu extends ls{get Name(){return"Median"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return this.Vc();n.sort((t,e)=>t-e);let i=Math.floor(n.length/2);return n.length%2==0?_.Create((n[i-1]+n[i])/2):_.Create(n[i])}}class xu extends ls{get Name(){return"Min"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];return 0==k.je(r,n)||0==n.length?this.Vc():_.Create(Math.min(...n))}}let Mu=1.4142135623730951,Eu=.6207822376352452,Tu=1.8603827342052657;class Su{static pd(t,e){if(!e||0===e.length)return 0;let r=e[e.length-1];for(let s=e.length-2;s>=0;--s)r*=t,r+=e[s];return r}static md(t){let e,r=0,s=t();do{e=t();let n=e-r,i=s+n;r=i-s,r-=n,s=i}while(Math.abs(s)<Math.abs(65536*e));return s}}let Iu={vd:Math.pow(2,-53),Nd:2*Math.pow(2,-53),xd:10*Math.pow(2,-53),Md:function(t){let e=new ArrayBuffer(8),r=new Float64Array(e),s=new BigInt64Array(e);return r[0]=t,s[0]},Ed:function(t){let e=new ArrayBuffer(8),r=new BigInt64Array(e),s=new Float64Array(e);return r[0]=t,s[0]},Td:function(t,e=1){if(isNaN(t)||!isFinite(t)||0===e)return t;let r=this.Md(t);return r<0?r-=BigInt(e):r+=BigInt(e),r===BigInt(-0x8000000000000000)?0:this.Ed(r)},Sd:function(t){if(isNaN(t)||!isFinite(t))return NaN;let e=this.Md(t);return 0n===e?(e++,this.Ed(e)-t):e<0n?(e--,this.Ed(e)-t):(e--,t-this.Ed(e))},Id:function(t){return 2*this.Sd(t)},yd:function(t,e,r,s){return isFinite(t)&&isFinite(e)?!isNaN(t)&&!isNaN(e)&&(Math.abs(t)<this.vd||Math.abs(e)<this.vd?Math.abs(r)<s:0===t&&Math.abs(e)<s||0===e&&Math.abs(t)<s||Math.abs(r)<s*Math.max(Math.abs(t),Math.abs(e))):t===e},Ad:function(t,e){return this.yd(t,e,t-e,this.xd)},bd:function(t,e){return this.Cd(t,e,t-e,this.xd)},Cd:function(t,e,r,s){return isFinite(t)&&isFinite(e)?!isNaN(t)&&!isNaN(e)&&Math.abs(r)<s:t===e}},yu=10.900511,Au=[24857408913875355e-21,1.0514237858172197,-3.4568709722201625,4.512277094668948,-2.9828522532357664,1.056397115771267,-.19542877319164587,.01709705434044412,-.0005719261174043057,4633994733599057e-21,0];class bu{static Dd(t){if(t<.5){let e=Au[0];for(let r=1;r<=10;r++)e+=Au[r]/(r-t);return 1.1447298858494002-Math.log(Math.sin(Math.PI*t))-Math.log(e)-Eu-(.5-t)*Math.log((.5-t+yu)/Math.E)}{let e=Au[0];for(let r=1;r<=10;r++)e+=Au[r]/(t+r-1);return Math.log(e)+Eu+(t-.5)*Math.log((t-.5+yu)/Math.E)}}static Rd(t,e,r){let s=0===r||1===r?0:Math.exp(bu.Dd(t+e)-bu.Dd(t)-bu.Dd(e)+t*Math.log(r)+e*Math.log(1-r)),n=r>=(t+1)/(t+e+2),i=Iu.vd,u=1e-300,l=r,h=t,a=e;if(n){l=1-r;let t=h;h=a,a=t}let o=h+a,c=h+1,f=h-1,d=1,w=1-o*l/c;Math.abs(w)<u&&(w=u),w=1/w;let g=w;for(let t=1,e=2;t<=140;t++,e+=2){let r=t*(a-t)*l/((f+e)*(h+e));w=1+r*w,Math.abs(w)<u&&(w=u),d=1+r/d,Math.abs(d)<u&&(d=u),w=1/w,g*=w*d;let p=-(h+t)*(o+t)*l/((h+e)*(c+e));w=1+p*w,Math.abs(w)<u&&(w=u),d=1+p/d,Math.abs(d)<u&&(d=u),w=1/w;let m=w*d;if(g*=m,Math.abs(m-1)<=i)return n?1-s*g/h:s*g/h}return n?1-s*g/h:s*g/h}}class Cu{static Od(t,e){let r=2220446049250313e-31;if(Iu.bd(t,0))return Iu.bd(e,0),1;if(Iu.bd(e,0))return 0;let s=t*Math.log(e)-e-bu.Dd(t);if(s<-709.782712893384)return t<e?1:0;if(e<=1||e<=t){let r=t,n=1,i=1;do{r+=1,n=n*e/r,i+=n}while(n/i>1e-15);return Math.exp(s)*i/t}let n,i=0,u=1-t,l=e+u+1,h=1,a=e,o=e+1,c=l*e,f=o/c;do{i++,u+=1,l+=2;let t=u*i,e=o*l-h*t,s=c*l-a*t;if(0!==s){let t=e/s;n=Math.abs((f-t)/t),f=t}else n=1;h=o,o=e,a=c,c=s,Math.abs(e)>4503599627370496&&(h*=r,o*=r,a*=r,c*=r)}while(n>1e-15);return 1-Math.exp(s)*f}static Fd(t,e){let r=4503599627370496,s=5*1e-15;if(isNaN(t)||isNaN(e))return NaN;if(Iu.bd(e,0))return 0;if(Iu.bd(e,1))return 1/0;let n=1-e,i=r,u=0,l=1,h=0,a=1/(9*t),o=1-a-1.3859292911256331*Du.Ld(2*n-1)*Math.sqrt(a),c=t*o*o*o,f=bu.Dd(t);for(let e=0;e<10;e++){if(c<u||c>i){a=.0625;break}if(o=1-Cu.Od(t,c),o<h||o>l){a=.0625;break}if(o<n?(i=c,h=o):(u=c,l=o),a=(t-1)*Math.log(c)-c-f,a<-709.782712893384){a=.0625;break}if(a=-Math.exp(a),a=(o-n)/a,Math.abs(a/c)<1e-15)return c;a>c/4&&n<.05&&(a=c/10),c-=a}if(i===r)for(c<=0&&(c=1);i===r;){if(c*=1+a,o=1-Cu.Od(t,c),o<n){i=c,h=o;break}a+=a}let d=0;a=.5;for(let e=0;e<400;e++){if(c=u+a*(i-u),o=1-Cu.Od(t,c),f=(i-u)/(u+i),Math.abs(f)<s)return c;if(f=(o-n)/n,Math.abs(f)<s)return c;if(c<=0)return 0;o>=n?(u=c,l=o,d<0?(d=0,a=.5):a=d>1?.5*a+.5:(n-h)/(l-h),d+=1):(i=c,h=o,d>0?(d=0,a=.5):d<-1?a*=.5:a=(n-h)/(l-h),d-=1)}return c}static gamma(t){let e=[24857408913875355e-21,1.0514237858172197,-3.4568709722201625,4.512277094668948,-2.9828522532357664,1.056397115771267,-.19542877319164587,.01709705434044412,-.0005719261174043057,4633994733599057e-21,0],r=10.900511;if(t<.5){let s=e[0];for(let r=1;r<=10;r++)s+=e[r]/(r-t);return Math.PI/(Math.sin(Math.PI*t)*s*Tu*Math.pow((.5-t+r)/Math.E,.5-t))}{let s=e[0];for(let r=1;r<=10;r++)s+=e[r]/(t+r-1);return s*Tu*Math.pow((t-.5+r)/Math.E,t-.5)}}}class Du{static kd=[.0033791670955125737,-.0007369565304816795,-.3747323373929196,.08174424487335873,-.04210893199365486,.007016570951209575,-.004950912559824351,.0008716465990379225];static Pd=[1,-.21808821808792464,.4125429727254421,-.08418911478731067,.06553388564002416,-.012001960445494177,.00408165558926174,-.0006159007215577697];static _d=[-.03617903907182625,.2922518834448827,.2814470417976045,.12561020886276694,.027413502826893053,.0025083967216806575];static Vd=[1,1.8545005897903486,1.4357580303783142,.5828276587530365,.12481047693294975,.011372417654635328];static Bd=[-.03978768926111369,.1531652124678783,.19126029560093624,.10276327061989304,.029637090615738836,.004609348678027549,.0003076078203486802];static Hd=[1,1.955200729876277,1.6476231719938486,.7682386070221262,.20979318593650978,.031956931689991336,.0021336316089578537];static Ud=[-.030083856055794972,.05385788298444545,.07262115416519142,.036762846988804936,.009646290155725275,.0013345348007529107,7780875997825043e-20];static Gd=[1,1.7596709814716753,1.3288357143796112,.5525285965087576,.13379305694133287,.017950964517628076,.0010471244001993736,-1.0664038182035734e-8];static Xd=[-.011790757013722784,.01426213209053881,.020223443590296084,.009306682999904321,.00213357802422066,.00025022987386460105,12053491221958819e-21];static qd=[1,1.5037622520362048,.9653977862044629,.3392652304767967,.06897406495415698,.007710602624917683,.0003714211015310693];static jd=[-.005469547955387293,.004041902787317071,.005496336955316117,.002126164726039454,.0003949840144950839,3655654770644424e-20,13548589710993232e-22];static Jd=[1,1.2101969777363077,.6209146682211439,.17303843066114277,.027655081377343203,.0024062597442430973,8918118172513365e-20,-4655288362833827e-27];static $d=[-.0027072253590577837,.00131875634250294,.0011992593326100233,.00027849619811344664,26782298821833186e-21,9.230436723150282e-7];static Wd=[1,.8146328085431416,.26890166585629954,.044987721610304114,.0038175966332024847,.00013157189788859692,4048153596757641e-27];static Yd=[-.001099467206917422,.00040642544275042267,.0002744994894169007,4652937706466594e-20,32095542539576746e-22,7.782860181450209e-8];static Kd=[1,.5881737106118461,.13936333128940975,.016632934041708368,.0010002392131023491,24254837521587224e-21];static zd=[-.0005690799360109496,.00016949854037376225,5184723545811009e-20,38281931223192885e-22,8.249899312818944e-8];static Qd=[1,.33963725005113937,.04347264787031066,.002485493352246371,5356333053371529e-20,-11749094440545958e-29];static Zd=[-.00024131359948399134,5742249752025015e-20,11599896292738377e-21,5.817621344025938e-7,8.539715550856736e-9];static tw=[1,.23304413829968784,.02041869405464403,.0007971856475643983,11701928167017232e-21];static ew=[-.00014667469927776036,16266655211228053e-21,26911624850916523e-22,9.79584479468092e-8,1.0199464762572346e-9];static rw=[1,.16590781294484722,.010336171619150588,.0002865930263738684,29840157084090034e-22];static sw=[-5839057976297718e-20,4125103251054962e-21,4.3179092242025094e-7,9.933651555900132e-9,6534805100201047e-26];static nw=[1,.10507708607203992,.004142784286754756,7263387546445238e-20,4.778184710473988e-7];static iw=[-19645779760922958e-21,1572438876668007e-21,5.439025111927009e-8,3.174724923691177e-10];static uw=[1,.05280398924095763,.0009268760691517533,5410117232266303e-21,5350938458036424e-31];static lw=[-7892247039787227e-21,6.22088451660987e-7,1.457284456768824e-8,6037155055427153e-26];static hw=[1,.03753288463562937,.0004679195359746253,19384703927584565e-22];static aw=[-.0005087819496582806,-.008368748197417368,.03348066254097446,-.012692614766297404,-.03656379714117627,.02198786811111689,.008226878746769157,-.005387729650712429];static ow=[1,-.9700050433032906,-1.5657455823417585,1.5622155839842302,.662328840472003,-.7122890234154284,-.05273963823400997,.07952836873415717,-.0023339375937419,.0008862163904564247];static cw=[-.20243350835593876,.10526468069939171,8.3705032834312,17.644729840837403,-18.851064805871424,-44.6382324441787,17.445385985570866,21.12946554483405,-3.6719225470772936];static fw=[1,6.242641248542475,3.971343795334387,-28.66081804998,-20.14326346804852,48.560921310873994,10.826866735546016,-22.643693341313973,1.7211476576120028];static dw=[-.1311027816799519,-.16379404719331705,.11703015634199525,.38707973897260434,.3377855389120359,.14286953440815717,.029015791000532906,.0021455899538880526,-6.794655751811263e-7,2.8522533178221704e-8,-6.81149956853777e-10];static ww=[1,3.4662540724256723,5.381683457070069,4.778465929458438,2.5930192162362027,.848854343457902,.15226433829533179,.011059242293464892];static gw=[-.0350353787183178,-.0022242652921344794,.018557330651423107,.009508047013259196,.0018712349281955923,.00015754461742496055,460469890584318e-20,-2.304047769118826e-10,26633922742578204e-28];static pw=[1,1.3653349817554064,.7620591645536234,.22009110576413124,.03415891436709477,.00263861676657016,7646752923027944e-20];static mw=[-.016743100507663373,-.0011295143874558028,.001056288621524929,.00020938631748758808,14962478375834237e-21,4.4969678992770644e-7,4.625961635228786e-9,-2811287356288318e-29,9905570997331033e-32];static Nw=[1,.5914293448864175,.1381518657490833,.016074608709367652,.0009640118070051656,27533547476472603e-21,2.82243172016108e-7];static xw=[-.002497821279189813,-779190719229054e-20,.0002547230374130275,16239777734251093e-22,3.963410113048012e-8,4.116328311909442e-10,14559628671867504e-28,-11676501239718427e-34];static Mw=[1,.2071231122144225,.01694108381209759,.0006905382656226846,14500735981823264e-21,1.4443775662814415e-7,5.097612765997785e-10];static Ew=[-.0005390429110190785,-2.8398759004727723e-7,8.994651148922914e-7,2.2934585926592085e-8,2.2556144486350015e-10,9478466275030226e-28,13588013010892486e-31,-34889039339994887e-38];static Tw=[1,.08457462340018994,.002820929847262647,4682929219408942e-20,3.999688121938621e-7,1.6180929088790448e-9,2315586083102596e-27];static Tf(t){return 0===t?0:isFinite(t)?Du.Sw(t,!1):t>0?1:-1}static Sf(t){return 0===t?1:isFinite(t)?Du.Sw(t,!0):t>0?0:2}static Sw(t,e){if(t<0)return e?t<-.5?2-Du.Sw(-t,!0):1+Du.Sw(-t,!1):-Du.Sw(-t,!1);let r;if(t<.5)r=t<1e-10?1.125*t+.0033791670955125737*t:1.125*t+t*Su.pd(t,Du.kd)/Su.pd(t,Du.Pd);else if(t<110||t<110&&e){let s,n;e=!e,t<.75?(s=Su.pd(t-.5,Du._d)/Su.pd(t-.5,Du.Vd),n=.3440242112):t<1.25?(s=Su.pd(t-.75,Du.Bd)/Su.pd(t-.75,Du.Hd),n=.419990927):t<2.25?(s=Su.pd(t-1.25,Du.Ud)/Su.pd(t-1.25,Du.Gd),n=.4898625016):t<3.5?(s=Su.pd(t-2.25,Du.Xd)/Su.pd(t-2.25,Du.qd),n=.5317370892):t<5.25?(s=Su.pd(t-3.5,Du.jd)/Su.pd(t-3.5,Du.Jd),n=.5489973426):t<8?(s=Su.pd(t-5.25,Du.$d)/Su.pd(t-5.25,Du.Wd),n=.5571740866):t<11.5?(s=Su.pd(t-8,Du.Yd)/Su.pd(t-8,Du.Kd),n=.5609807968):t<17?(s=Su.pd(t-11.5,Du.zd)/Su.pd(t-11.5,Du.Qd),n=.5626493692):t<24?(s=Su.pd(t-17,Du.Zd)/Su.pd(t-17,Du.tw),n=.5634598136):t<38?(s=Su.pd(t-24,Du.ew)/Su.pd(t-24,Du.rw),n=.5638477802):t<60?(s=Su.pd(t-38,Du.sw)/Su.pd(t-38,Du.nw),n=.5640528202):t<85?(s=Su.pd(t-60,Du.iw)/Su.pd(t-60,Du.uw),n=.5641309023):(s=Su.pd(t-85,Du.lw)/Su.pd(t-85,Du.hw),n=.5641584396);let i=Math.exp(-t*t)/t;r=i*n+i*s}else r=0,e=!e;return e&&(r=1-r),r}static Ld(t){if(0===t)return 0;if(t>=1)return 1/0;if(t<=-1)return-1/0;let e,r,s;return t<0?(e=-t,r=1-e,s=-1):(e=t,r=1-t,s=1),Du.Iw(e,r,s)}static yw(t){if(t<=0)return 1/0;if(t>=2)return-1/0;let e,r,s;return t>1?(r=2-t,e=1-r,s=-1):(e=1-t,r=t,s=1),Du.Iw(e,r,s)}static Iw(t,e,r){let s;if(t<=.5){let e=t*(t+10);s=.08913147449493408*e+e*(Su.pd(t,Du.aw)/Su.pd(t,Du.ow))}else if(e>=.25){let t=2.249481201171875,r=e-.25;s=Math.sqrt(-2*Math.log(e))/(t+Su.pd(r,Du.cw)/Su.pd(r,Du.fw))}else{let t=Math.sqrt(-Math.log(e));if(t<3){let e=t-1.125;s=.807220458984375*t+Su.pd(e,Du.dw)/Su.pd(e,Du.ww)*t}else if(t<6){let e=t-3;s=.9399557113647461*t+Su.pd(e,Du.gw)/Su.pd(e,Du.pw)*t}else if(t<18){let e=t-6;s=.9836282730102539*t+Su.pd(e,Du.mw)/Su.pd(e,Du.Nw)*t}else if(t<44){let e=t-18;s=.9971456527709961*t+Su.pd(e,Du.xw)/Su.pd(e,Du.Mw)*t}else{let e=t-44;s=.9994134902954102*t+Su.pd(e,Du.Ew)/Su.pd(e,Du.Tw)*t}}return r*s}static Aw(t,e){if(e<0||e>t)return 0;if(0===e||e===t)return 1;e=Math.min(e,t-e);let r=1;for(let s=1;s<=e;s++)r=r*(t-e+s)/s;return r}static bw(t,e){if(e<0||e>t)return-1/0;if(0===e||e===t)return 0;e=Math.min(e,t-e);let r=0;for(let s=1;s<=e;s++)r+=Math.log(t-e+s)-Math.log(s);return r}static Cw(t){if(t<0)return NaN;if(0===t||1===t)return 1;let e=1;for(let r=2;r<=t;r++)e*=r;return e}static Dw(t){if(t<0)return NaN;if(0===t||1===t)return 0;let e=0;for(let r=2;r<=t;r++)e+=Math.log(r);return e}static Rw(t){return Math.abs(t)<1e-6?t+t*t/2+t*t*t/6:Math.exp(t)-1}static Dd(t){return bu.Dd(t)}static Rd(t,e,r){return bu.Rd(t,e,r)}static gamma(t){return Cu.gamma(t)}static Od(t,e){return Cu.Od(t,e)}static Fd(t,e){return Cu.Fd(t,e)}}class Ru{static Ow(t,e,r){return.5*Du.Sf((t-r)/(e*Mu))}static Fw(t,e,r){return t-e*Mu*Du.yw(2*r)}static Lw(t,e,r){let s=(r-t)/e;return Math.exp(-.5*s*s)/(2.5066282746310007*e)}}class Ou{static Ow(t,e,r,s){if(!isFinite(r))return Ru.Ow(t,e,s);let n=(s-t)/e,i=r/(r+n*n),u=.5*Du.Rd(r/2,.5,i);return s<=t?u:1-u}static Fw(t,e,r,s){if(!isFinite(r))return Ru.Fw(t,e,s);if(.5===s)return t;let n,i,u=-100,l=100;for(;Math.sign(Ou.kw(t,e,r,s,u))===Math.sign(Ou.kw(t,e,r,s,l));)u*=2,l*=2;for(let h=0;h<100;h++){if(n=(u+l)/2,i=Ou.kw(t,e,r,s,n),Math.abs(i)<1e-12)return n;if(Math.sign(i)===Math.sign(Ou.kw(t,e,r,s,u))?u=n:l=n,Math.abs(l-u)<1e-12)return n}return n}static kw(t,e,r,s,n){let i=(n-t)/e,u=r/(r+i*i),l=.5*Du.Rd(r/2,.5,u);return n<=t?l-s:1-l-s}}class Fu{static Ow(t,e,r){return Du.Rd(t/2,e/2,t*r/(t*r+e))}static Fw(t,e,r){let s,n=0,i=1e3;for(let u=0;u<100;u++){s=(n+i)/2;let u=Du.Rd(t/2,e/2,t*s/(t*s+e))-r;if(Math.abs(u)<1e-15)return s;u<0?n=s:i=s}return s}}class Lu{static Ow(t,e,r){return r<0?0:r>=1?1:isFinite(t)||isFinite(e)?isFinite(t)?isFinite(e)?0===t&&0===e?r>=0&&r<1?.5:1:0===t?1:0===e?r>=1?1:0:1===t&&1===e?r:Du.Rd(t,e,r):r>=0?1:0:r<1?0:1:r<.5?0:1}static Fw(t,e,r){let s,n=0,i=1;for(let u=0;u<100;u++){s=(n+i)/2;let u=Du.Rd(t,e,s)-r;if(Math.abs(u)<1e-15)return s;u<0?n=s:i=s}return s}}class ku{static Ow(t,e,r){return isFinite(e)?0===t&&0===e?0:Du.Od(t,r*e):r>=t?1:0}static Lw(t,e,r){return isFinite(e)?0===t&&0===e?0:1===t?e*Math.exp(-e*r):t>160?Math.exp(ku.Pw(t,e,r)):Math.pow(e,t)*Math.pow(r,t-1)*Math.exp(-e*r)/Du.gamma(t):r===t?1/0:0}static Pw(t,e,r){return isFinite(e)?0===t&&0===e?-1/0:1===t?Math.log(e)-e*r:t*Math.log(e)+(t-1)*Math.log(r)-e*r-Du.Dd(t):r===t?1/0:-1/0}static Fw(t,e,r){return Du.Fd(t,r)/e}}class Pu{static Lw(t,e){return e<0?0:t*Math.exp(-t*e)}static Ow(t,e){return e<0?0:1-Math.exp(-t*e)}}class _u{static _w(t,e,r,s){if(t<0||e<0||r<0||e>t||r>t)return 0;if(s<0||s>r||s>e||s<r+e-t)return 0;let n=Du.bw(e,s)+Du.bw(t-e,r-s)-Du.bw(t,r);return Math.exp(n)}}class Vu{static _w(t,e,r){return Math.exp(Vu.Vw(t,e,r))}static Vw(t,e,r){return Du.Dd(t+r)-Du.Dd(t)-Du.Dd(r+1)+t*Math.log(e)+r*Math.log(1-e)}}class Bu{static Ow(t,e,r){return r<0?0:.5*(1+Du.Tf((Math.log(r)-t)/(e*Mu)))}static Fw(t,e,r){return r<=0?0:r>=1?1/0:Math.exp(t-e*Mu*Du.yw(2*r))}}class Hu{static _w(t,e,r){return r<0||r>e?0:0===t?0===r?1:0:1===t?r===e?1:0:Math.exp(Du.bw(e,r)+r*Math.log(t)+(e-r)*Math.log(1-t))}static Ow(t,e,r){if(r<0)return 0;if(r>e)return 1;let s=Math.floor(r);return Du.Rd(e-s,s+1,1-t)}}class Uu{static _w(t,e){return Math.exp(-t+e*Math.log(t)-Du.Dw(e))}static Ow(t,e){return 1-Du.Od(e+1,t)}}class Gu{static Lw(t,e,r){return r>=0?0===r&&1===t?t/e:t*Math.pow(r/e,t-1)*Math.exp(-Math.pow(r,t)*Math.pow(e,-t))/e:0}static Ow(t,e,r){return r<0?0:-Du.Rw(-Math.pow(r,t)*Math.pow(e,-t))}}var Xu={Bw:function(t){if(0==t.length)return Number.NaN;for(var e=Number.POSITIVE_INFINITY,r=0;r<t.length;r++)!Number.isNaN(t[r])&&t[r]<e&&(e=t[r]);return e===Number.POSITIVE_INFINITY?Number.NaN:e},Hw:function(t){if(0==t.length)return Number.NaN;for(var e=Number.NEGATIVE_INFINITY,r=0;r<t.length;r++)!Number.isNaN(t[r])&&t[r]>e&&(e=t[r]);return e===Number.NEGATIVE_INFINITY?Number.NaN:e},Uw:function(t,e,r){if(e<0||e>1||0==t.length)return Number.NaN;if(0==e||1==t.length)return this.Bw(t);if(1==e)return this.Hw(t);switch(r){case 1:var s=t.length*e+.5;return this.Gw(t,Math.ceil(s-.5)-1);case 2:return s=t.length*e+.5,.5*(this.Gw(t,Math.ceil(s-.5)-1)+this.Gw(t,Math.floor(s+.5)-1));case 3:return s=t.length*e,this.Gw(t,Math.round(s)-1);case 4:s=t.length*e;var n=Math.floor(s);return(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);case 5:return s=t.length*e+.5,n=Math.floor(s),(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);case 6:return s=(t.length+1)*e,n=Math.floor(s),(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);case 7:return s=(t.length-1)*e+1,n=Math.floor(s),(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);case 8:return s=(t.length+1/3)*e+1/3,n=Math.floor(s),(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);case 9:var i;return s=(t.length+.25)*e+.375,n=Math.floor(s),(i=this.Gw(t,n-1))+(s-n)*(this.Gw(t,n)-i);default:throw new Error("Not supported")}},Gw:function(t,e){if(e<=0)return this.Bw(t);if(e>=t.length-1)return this.Hw(t);for(var r=t,s=0,n=r.length-1;;){if(n<=s+1){if(n==s+1&&r[n]<r[s]){var i=r[s];r[s]=r[n],r[n]=i}return r[e]}var u=s+n>>1,l=r[u];r[u]=r[s+1],r[s+1]=l,r[s]>r[n]&&(i=r[s],r[s]=r[n],r[n]=i),r[s+1]>r[n]&&(i=r[s+1],r[s+1]=r[n],r[n]=i),r[s]>r[s+1]&&(i=r[s],r[s]=r[s+1],r[s+1]=i);for(var h=s+1,a=n,o=r[h];;){do{h++}while(r[h]<o);do{a--}while(r[a]>o);if(a<h)break;i=r[h],r[h]=r[a],r[a]=i}r[s+1]=r[a],r[a]=o,a>=e&&(n=a-1),a<=e&&(s=h)}}},qu={Xw:function(t,e){if(e<t[0])return 0;if(e>=t[t.length-1])return 1;var r=this.qw(t,e);if(r>=0){for(var s=r;s>0&&t[s-1]==t[s];)s--;for(;r<t.length-1&&t[r+1]==t[r];)r++;return s/(t.length-1)}var n=(s=(r=~r)-1)/(t.length-1),i=r/(t.length-1);return((t[r]-e)*n+(e-t[s])*i)/(t[r]-t[s])},qw:function(t,e){for(var r=0,s=t.length-1;r<=s;){var n=Math.floor((r+s)/2);if(t[n]===e)return n;t[n]<e?r=n+1:s=n-1}return~r}},ju=function(t,e,r){var s=t.slice();return Xu.Uw(s,e,r)};class Ju extends Jr{get Name(){return"Quartile"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=[];if(0==k.je(r.ArrayValue,n))return this._c(1);let i=s.IntValue;return i<0||i>4?this._c(2):_.Create(function(t,e){switch(e){case 0:return Xu.Bw(t);case 1:return ju(t,.25,7);case 2:return ju(t,.5,7);case 3:return ju(t,.75,7);case 4:return Xu.Hw(t);default:throw new Error("quant must be between 0 and 4")}}(n,i))}}class $u extends ls{get Name(){return"Mode"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();let i={};for(let t of n)void 0!==i[t]?i[t]+=1:i[t]=1;let u=Object.entries(i).sort((t,e)=>e[1]-t[1]);return 1==u[0][1]?this.Vc():_.Create(parseFloat(u[0][0]))}}class Wu extends Jr{get Name(){return"Large"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r=this.kc(r,1),r.IsError)return r;let s=this.b.evaluate(t,e);if(s=this.Lc(s,2),s.IsError)return s;let n=[];if(0==k.je(r,n))return this._c(1);if(0==n.length)return this._c(1);n.sort((t,e)=>e-t);let i=s.IntValue;return i<1-t.ExcelIndex||i>n.length-t.ExcelIndex?this._c(2):_.Create(n[i-t.ExcelIndex])}}class Yu extends Jr{get Name(){return"Small"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r=this.kc(r,1),r.IsError)return r;let s=this.b.evaluate(t,e);if(s=this.Lc(s,2),s.IsError)return s;let n=[];if(0==k.je(r,n))return this._c(1);if(0==n.length)return this._c(1);n.sort((t,e)=>t-e);let i=s.IntValue;return i<1-t.ExcelIndex||i>n.length-t.ExcelIndex?this._c(2):_.Create(n[i-t.ExcelIndex])}}class Ku extends Jr{get Name(){return"Percentile"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=[];if(0==k.je(r.ArrayValue,n))return this._c(1);if(0==n.length)return this._c(1);let i=s.DoubleValue;return i<0||i>1?this._c(2):_.Create(function(t,e){return ju(t,e,7)}(n.map(t=>t),i))}}class zu extends Ws{get Name(){return"PercentRank"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=[];if(0==k.je(r.ArrayValue,n))return this._c(1);if(0==n.length)return this._c(1);let i=s.DoubleValue,u=function(t,e){var r=t.slice();return r.sort(function(t,e){return t-e}),qu.Xw(r,e)}(n.map(t=>t),i),l=3;if(null!=this.c){let r=this.vf(t,e);if(r.IsError)return r;if(l=r.IntValue,l<0||l>28)return this._c(3)}let h=Math.pow(10,l),a=u*h,o=a<0?-Math.round(-a):Math.round(a);return _.Create(o/h)}}class Qu extends ls{get Name(){return"Average"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];return 0==k.je(r,n)?this.Vc():0==n.length?this.Hc():_.Create(n.reduce((t,e)=>t+e,0)/n.length)}}class Zu extends Ws{get Name(){return"AverageIf"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);if(s.IsError)return s;let n,i,u,l=[];if(0==k.je(r,l))return this._c(1);if(null!=this.c){let r=this.Mf(t,e);if(r.IsError)return r;if(n=[],0==k.je(r,n))return this._c(3)}else n=l;if(s.IsNumber)u=k.Qe(l,s.NumberValue),i=k.Ze(l,s.NumberValue,n);else{if(!s.IsText)return this._c(2);{let t=s.TextValue.trim(),e=k.Ke(t);if(null!=e)u=k.Qe(l,e),i=k.Ze(l,e,n);else{let e=t,r=k.ze(e);if(null==r)return this._c(2);u=k.Qe(l,r.operator,r.value),i=k.Ze(l,r.operator,r.value,n)}}}return 0==u?this.Hc():_.Create(i/u)}}class tl extends ls{get Name(){return"GeoMean"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this._c(1);if(0==n.length)return this._c(1);let i=1;for(let t of n){if(t<=0)return this._c(1);i*=t}if(!isFinite(i))return this.Vc();let u=Math.pow(i,1/n.length);return _.Create(u)}}class el extends ls{get Name(){return"HarMean"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return this.Vc();let i=0;for(let t of n){if(0===t)return this.Vc();i+=1/t}return 0===i?this.Vc():_.Create(n.length/i)}}class rl extends ls{get Name(){return"Count"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=0;function i(t){if(t.IsArray)for(const e of t.ArrayValue)i(e);else if(t.IsJson){let e=t.ToArray(null);if(e.IsError)return void(n=-1);for(const t of e.ArrayValue)i(t)}else n++}for(let t of r)i(t);return n<0?this.Vc():_.Create(n)}}class sl extends Jr{get Name(){return"CountIf"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);if(s.IsError)return s;let n,i=[];if(0==k.je(r,i))return this._c(1);if(s.IsNumber)n=k.Qe(i,s.NumberValue);else{if(!s.IsText)return this._c(2);{let t=s.TextValue.trim(),e=k.Ke(t);if(null!=e)n=k.Qe(i,e);else{let e=t,r=k.ze(e);if(null==r)return this._c(2);n=k.Qe(i,r.operator,r.value)}}}return _.Create(n)}}class nl extends ls{get Name(){return"Sum"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];return 0==k.je(r,n)?this.Vc():_.Create(n.reduce((t,e)=>t+e,0))}}class il extends Ws{get Name(){return"SumIf"}constructor(t){super(t)}evaluate(t,e){let r=this.rf(t,e);if(r.IsError)return r;let s=this.b.evaluate(t,e);if(s.IsError)return s;let n,i,u=[];if(0==k.je(r,u))return this._c(1);if(null!=this.c){let r=this.Mf(t,e);if(r.IsError)return r;if(n=[],0==k.je(r,n))return this._c(3)}else n=u;if(s.IsNumber)i=k.Ze(u,s.NumberValue,n);else{if(!s.IsText)return this._c(2);{let t=s.TextValue.trim(),e=k.Ke(t);if(null!=e)i=k.Ze(u,e,n);else{let e=t,r=k.ze(e);if(null==r)return this._c(2);i=k.Ze(u,r.operator,r.value,n)}}}return _.Create(i)}}class ul extends ls{get Name(){return"AveDev"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return _.Zero;let i=n.reduce((t,e)=>t+e,0)/n.length,u=0;for(let t of n)u+=Math.abs(t-i);return _.Create(u/n.length)}}class ll extends ls{get Name(){return"StDev"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(n.length<=1)return this.Vc();let i=n.reduce((t,e)=>t+e,0)/n.length,u=0;for(let t=0;t<n.length;t++)u+=(n[t]-i)*(n[t]-i);return _.Create(Math.sqrt(u/(n.length-1)))}}class hl extends ls{get Name(){return"StDevP"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return this.Vc();let i=n.reduce((t,e)=>t+e,0)/n.length,u=0;for(let t=0;t<n.length;t++)u+=(n[t]-i)*(n[t]-i);return _.Create(Math.sqrt(u/n.length))}}class al extends ls{get Name(){return"DevSq"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return this.Vc();let i=n.reduce((t,e)=>t+e,0)/n.length,u=0;for(let t=0;t<n.length;t++){let e=n[t]-i;u+=e*e}return _.Create(u)}}class ol extends ls{get Name(){return"Var"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(n.length<=1)return this.Vc();let i=0,u=0;for(let t=0;t<n.length;t++)i+=n[t]*n[t],u+=n[t];return _.Create((n.length*i-u*u)/n.length/(n.length-1))}}class cl extends ls{get Name(){return"VarP"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=[];if(0==k.je(r,n))return this.Vc();if(0==n.length)return this.Vc();if(1==n.length)return _.Zero;let i=0,u=n.reduce((t,e)=>t+e,0)/n.length;for(let t=0;t<n.length;t++)i+=(u-n[t])*(u-n[t]);return _.Create(i/n.length)}}class fl extends Ri{get Name(){return"NormDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=this.nd(t,e);if(i.IsError)return i;let u=r.DoubleValue,l=s.DoubleValue,h=n.DoubleValue,a=i.BooleanValue;return h<=0?this._c(3):_.Create((o=u,c=l,f=h,a?Ru.Ow(c,f,o):Ru.Lw(c,f,o)));var o,c,f}}class dl extends Ws{get Name(){return"NormInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<=0||i>=1?this._c(1):l<=0?this._c(3):_.Create((h=i,a=u,o=l,Ru.Fw(a,o,h)));var h,a,o}}class wl extends jr{get Name(){return"NormSDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return _.Create((n=s,Ru.Ow(0,1,n)));var n}}class gl extends jr{get Name(){return"NormSInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;return s<=0||s>=1?this._c(1):_.Create((n=s,Ru.Fw(0,1,n)));var n}}class pl extends Ws{get Name(){return"BetaDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<0||i>1?this._c(1):u<=0?this._c(2):l<=0?this._c(3):_.Create(function(t,e,r){return Lu.Ow(e,r,t)}(i,u,l))}}class ml extends Ws{get Name(){return"BetaInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<0||i>1?this._c(1):u<=0?this._c(2):l<=0?this._c(3):_.Create(function(t,e,r){return Lu.Fw(e,r,t)}(i,u,l))}}class vl extends Ri{get Name(){return"BinomDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=this.nd(t,e);if(i.IsError)return i;let u=r.IntValue,l=s.IntValue,h=n.DoubleValue;return l<0?this._c(2):u<0||u>l?this._c(1):h<0||h>1?this._c(3):_.Create(function(t,e,r,s){return!1===s?Hu._w(r,e,t):Hu.Ow(r,e,t)}(u,l,h,i.BooleanValue))}}class Nl extends Ws{get Name(){return"ExpOnDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.xf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue;return i<0?this._c(1):u>0?_.Create((l=i,h=u,n.BooleanValue?Pu.Ow(h,l):Pu.Lw(h,l))):this._c(2);var l,h}}class xl extends Ws{get Name(){return"FDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.IntValue,l=n.IntValue;return i<=0?this._c(1):u<=0?this._c(2):l<=0?this._c(3):_.Create(function(t,e,r){return 1-Fu.Ow(e,r,t)}(i,u,l))}}class Ml extends Ws{get Name(){return"FInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.IntValue,l=n.IntValue;return i<=0||i>=1?this._c(1):u<=0?this._c(2):l<=0?this._c(3):_.Create(function(t,e,r){return Fu.Fw(e,r,1-t)}(i,u,l))}}class El extends jr{get Name(){return"Fisher"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue;if(s>=1||s<=-1)return this._c(1);let n=.5*Math.log((1+s)/(1-s));return _.Create(n)}}class Tl extends jr{get Name(){return"FisherInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=r.DoubleValue,n=Math.exp(2*s);if(!isFinite(n))return _.Create(1);let i=(n-1)/(n+1);return _.Create(i)}}class Sl extends Ri{get Name(){return"GammaDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=this.nd(t,e);if(i.IsError)return i;let u=r.DoubleValue,l=s.DoubleValue,h=n.DoubleValue,a=i.BooleanValue;return u<0?this._c(1):l<=0?this._c(2):h<=0?this._c(3):_.Create(function(t,e,r,s){return s?ku.Ow(e,1/r,t):ku.Lw(e,1/r,t)}(u,l,h,a))}}class Il extends Ws{get Name(){return"GammaInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<0||i>1?this._c(1):u<=0?this._c(2):l<=0?this._c(3):_.Create(function(t,e,r){return ku.Fw(e,1/r,t)}(i,u,l))}}class yl extends jr{get Name(){return"GammaLn"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);return r.IsError?r:r.DoubleValue<=0?this._c(1):_.Create((s=r.DoubleValue,Du.Dd(s)));var s}}class Al extends Ri{get Name(){return"HypgeomDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=this.rd(t,e);if(i.IsError)return i;let u=r.IntValue,l=s.IntValue,h=n.IntValue,a=i.IntValue;return u<0?this._c(1):l<0?this._c(2):h<0?this._c(3):a<0?this._c(4):u>l?this._c(1):h>a?this._c(3):l>a?this._c(2):_.Create(function(t,e,r,s){return _u._w(s,r,e,t)}(u,l,h,a))}}class bl extends Ws{get Name(){return"LogInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<=0||i>=1?this._c(1):l<=0?this._c(3):_.Create((h=i,a=u,o=l,Bu.Fw(a,o,h)));var h,a,o}}class Cl extends Ws{get Name(){return"LogNormDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.DoubleValue,l=n.DoubleValue;return i<=0?this._c(1):l<=0?this._c(3):_.Create(function(t,e,r){return Bu.Ow(e,r,t)}(i,u,l))}}class Dl extends Ws{get Name(){return"NegBinomDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.IntValue,u=s.DoubleValue,l=n.DoubleValue;return i<0?this._c(1):u<=0?this._c(2):l<0||l>1?this._c(3):_.Create(function(t,e,r){return Vu._w(e,r,t)}(i,u,l))}}class Rl extends Ws{get Name(){return"Poisson"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.xf(t,e);if(n.IsError)return n;let i=r.IntValue,u=s.DoubleValue,l=n.BooleanValue;return i<0?this._c(1):u>0?_.Create(function(t,e,r){return!1===r?Uu._w(e,t):Uu.Ow(e,t)}(i,u,l)):this._c(2)}}class Ol extends Ws{get Name(){return"TDist"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=r.DoubleValue,u=s.IntValue,l=n.IntValue;return i<=0?this._c(1):u<=0?this._c(2):l<1||l>2?this._c(3):_.Create(function(t,e,r){switch(r){case 1:return 1-Ou.Ow(0,1,e,t);case 2:return 1-Ou.Ow(0,1,e,t)+Ou.Ow(0,1,e,-t);default:throw new Error("tails must be 1 or 2")}}(i,u,l))}}class Fl extends Jr{get Name(){return"TInv"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.DoubleValue,i=s.IntValue;return n<=0||n>=1?this._c(1):i<=0?this._c(2):_.Create(function(t,e){return-Ou.Fw(0,1,e,t/2)}(n,i))}}class Ll extends Ri{get Name(){return"Weibull"}constructor(t){super(t)}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=this.vf(t,e);if(n.IsError)return n;let i=this.nd(t,e);if(i.IsError)return i;let u=r.DoubleValue,l=s.DoubleValue,h=n.DoubleValue,a=i.BooleanValue;if(l<=0)return this._c(2);if(h<=0)return this._c(3);let o=function(t,e,r,s){return!1===s?Gu.Lw(e,r,t):Gu.Ow(e,r,t)}(u,l,h,a);return isFinite(o)?_.Create(o):this.Vc()}}class kl extends jr{constructor(t){super(t)}get Name(){return"UrlEncode"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue,n=encodeURIComponent(s).replace(/%20/g,"+").replace(/%[A-F0-9]{2}/g,t=>t.toLowerCase());return _.Create(n)}}class Pl extends jr{constructor(t){super(t)}get Name(){return"UrlDecode"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=r.TextValue.replace(/\+/g," ");try{let t=decodeURIComponent(s);return _.Create(t)}catch(t){return _.Create(s)}}}class _l extends jr{constructor(t){super(t)}get Name(){return"HtmlEncode"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=null==(n=r.TextValue)?"":n.toString().replace(/[&<>'"]/g,function(t){switch(t){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case"'":return"'";default:return t}});var n;return _.Create(s)}}class Vl extends jr{constructor(t){super(t)}get Name(){return"HtmlDecode"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=function(t){if(null==t)return"";const e={jw:"&",Jw:"<",$w:">",Ww:'"',Yw:"'",Kw:" ",zw:"¡",Qw:"¢",Zw:"£",tg:"¤",eg:"¥",rg:"¦",sg:"§",ng:"¨",ig:"©",ug:"ª",lg:"«",hg:"¬",ag:"",og:"®",cg:"¯",deg:"°",fg:"±",dg:"²",wg:"³",gg:"´",pg:"µ",mg:"¶",vg:"·",Ng:"¸",xg:"¹",Mg:"º",Eg:"»",Tg:"¼",Sg:"½",Ig:"¾",yg:"¿",Ag:"×",bg:"÷",Cg:"€",Dg:"™"};return t.toString().replace(/&(?:#\d+|#x[0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*);/g,function(t){let r=t.slice(1,-1);if("#"===r[0]){let e;if(e="x"===r[1]||"X"===r[1]?parseInt(r.slice(2),16):parseInt(r.slice(1),10),isNaN(e))return t;try{return String.fromCodePoint(e)}catch(e){return t}}let s=e[r];return void 0!==s?s:t})}(r.TextValue);return _.Create(s)}}class Bl extends jr{constructor(t){super(t)}get Name(){return"Base64ToText"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=Buffer.from(r.TextValue,"base64").toString("utf-8");return _.Create(t)}catch(t){return this._c(1)}}}class Hl extends jr{constructor(t){super(t)}get Name(){return"Base64UrlToText"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=r.TextValue.replace(/-/g,"+").replace(/_/g,"/"),e=t.length%4;e>0&&(t+="=".repeat(4-e));let s=Buffer.from(t,"base64").toString("utf-8");return _.Create(s)}catch(t){return this._c(1)}}}class Ul extends jr{constructor(t){super(t)}get Name(){return"TextToBase64"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=Buffer.from(r.TextValue,"utf-8").toString("base64");return _.Create(t)}catch(t){return this._c(1)}}}class Gl extends jr{constructor(t){super(t)}get Name(){return"TextToBase64Url"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=Buffer.from(r.TextValue,"utf-8").toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return _.Create(t)}catch(t){return this._c(1)}}}class Xl extends Jr{constructor(t){super(t)}get Name(){return"Regex"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=new RegExp(s.TextValue).exec(r.TextValue);return t?_.Create(t[0]):this.Vc()}catch(t){return this._c(2)}}}class ql extends Ws{constructor(t){super(t)}get Name(){return"RegexReplace"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=this.mf(t,e);if(n.IsError)return n;try{let t=new RegExp(s.TextValue,"g"),e=r.TextValue.replace(t,n.TextValue);return _.Create(e)}catch(t){return this._c(2)}}}class jl extends Jr{constructor(t){super(t)}get Name(){return"IsRegex"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=new RegExp(s.TextValue).test(r.TextValue);return _.Create(t)}catch(t){return this._c(2)}}}class Jl extends qr{constructor(){super()}get Name(){return"Guid"}evaluate(t,e){return _.Create(this.Rg())}Rg(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}Rc(t,e){t.push("Guid()")}}var $l=r(4636),Wl=r(5178);class Yl extends jr{constructor(t){super(t)}get Name(){return"MD5"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=$l(Wl.parse(r.TextValue)).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var Kl=r(5471);class zl extends jr{constructor(t){super(t)}get Name(){return"SHA1"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=Kl(Wl.parse(r.TextValue)).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var Ql=r(3009);class Zl extends jr{constructor(t){super(t)}get Name(){return"SHA256"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=Ql(Wl.parse(r.TextValue)).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var th=r(1380);class eh extends jr{constructor(t){super(t)}get Name(){return"SHA512"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;try{let t=th(Wl.parse(r.TextValue)).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var rh=r(6044);class sh extends Jr{constructor(t){super(t)}get Name(){return"HmacMD5"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=rh(Wl.parse(r.TextValue),Wl.parse(s.TextValue||"")).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var nh=r(7327);class ih extends Jr{constructor(t){super(t)}get Name(){return"HmacSHA1"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=nh(Wl.parse(r.TextValue),Wl.parse(s.TextValue||"")).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var uh=r(3793);class lh extends Jr{constructor(t){super(t)}get Name(){return"HmacSHA256"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=uh(Wl.parse(r.TextValue),Wl.parse(s.TextValue||"")).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}var hh=r(6468);class ah extends Jr{constructor(t){super(t)}get Name(){return"HmacSHA512"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;try{let t=hh(Wl.parse(r.TextValue),Wl.parse(s.TextValue||"")).toString().toUpperCase();return _.Create(t)}catch(t){return this._c(1)}}}class oh extends Ws{get Name(){return"StartsWith"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=r.TextValue,i=s.TextValue;if(null==this.c)return _.Create(n.startsWith(i));let u=this.xf(t,e);return u.IsError?u:u.BooleanValue?_.Create(n.toLowerCase().startsWith(i.toLowerCase())):_.Create(n.startsWith(i))}}class ch extends Ws{constructor(t){super(t)}get Name(){return"EndsWith"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=r.TextValue;if(!this.c)return _.Create(n.endsWith(s.TextValue));let i=this.xf(t,e);return i.IsError?i:i.BooleanValue?_.Create(n.toLowerCase().endsWith(s.TextValue.toLowerCase())):_.Create(n.endsWith(s.TextValue))}}class fh extends Ri{constructor(t){super(t)}get Name(){return"IndexOf"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=r.TextValue;if(null==this.c){let e=n.indexOf(s.TextValue);return _.Create(e+t.ExcelIndex)}let i=this.vf(t,e);if(i.IsError)return i;let u=i.IntValue-t.ExcelIndex;if(u<0||u>n.length)return this._c(3);if(null==this.d){let e=n.indexOf(s.TextValue,u);return _.Create(e+t.ExcelIndex)}let l=this.rd(t,e);if(l.IsError)return l;let h=l.IntValue;if(h<0||u+h>n.length)return this._c(4);let a=n.substring(u,u+h).indexOf(s.TextValue);return-1===a?_.Create(-1+t.ExcelIndex):_.Create(a+u+t.ExcelIndex)}}class dh extends Ri{constructor(t){super(t)}get Name(){return"LastIndexOf"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=r.TextValue,i=s.TextValue;if(null==this.c){let e=n.lastIndexOf(i);return _.Create(e+t.ExcelIndex)}let u=this.vf(t,e);if(u.IsError)return u;let l=u.IntValue-t.ExcelIndex;if(l<0||l>n.length)return this._c(3);if(null==this.d){let e=l-i.length+1;if(e<0&&i.length>0)return _.Create(-1+t.ExcelIndex);let r=n.lastIndexOf(i,e);return _.Create(r+t.ExcelIndex)}let h=this.rd(t,e);if(h.IsError)return h;let a=h.IntValue;if(a<0||a>l+1)return this._c(4);let o=l-a+1,c=n.substring(o,l+1).lastIndexOf(i),f=-1===c?-1:c+o;return _.Create(f+t.ExcelIndex)}}class wh extends Jr{get Name(){return"Split"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=r.TextValue,i=s.TextValue;if(""===i)return this._c(2);let u=n.split(i);return _.Create(u)}}class gh extends Ws{get Name(){return"Substring"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.nf(t,e);if(s.IsError)return s;let n=r.TextValue,i=s.IntValue-t.ExcelIndex;if(i<0)return this._c(2);if(i>=n.length)return _.Create("");if(null===this.c)return _.Create(n.substring(i));let u=this.vf(t,e);if(u.IsError)return u;let l=u.IntValue;if(l<0)return this._c(3);let h=i+l;return _.Create(n.substring(i,h))}}class ph extends Jr{get Name(){return"TrimStart"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(null==this.b)return _.Create(r.TextValue.trimStart());let s=this.sf(t,e);if(s.IsError)return s;let n=s.TextValue.split(""),i=r.TextValue,u=0;for(;u<i.length&&n.includes(i[u]);)u++;return _.Create(i.substring(u))}}class mh extends Jr{get Name(){return"TrimEnd"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(null==this.b)return _.Create(r.TextValue.trimEnd());let s=this.sf(t,e);if(s.IsError)return s;let n=s.TextValue.split(""),i=r.TextValue,u=i.length-1;for(;u>=0&&n.includes(i[u]);)u--;return _.Create(i.substring(0,u+1))}}class vh extends Ws{constructor(t){super(t)}get Name(){return"RemoveStart"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=!1;if(this.c){let r=this.xf(t,e);if(r.IsError)return r;n=r.BooleanValue}let i=r.TextValue,u=s.TextValue,l=!1;return l=n?i.toLowerCase().startsWith(u.toLowerCase()):i.startsWith(u),l?_.Create(i.substring(u.length)):r}}class Nh extends Ws{constructor(t){super(t)}get Name(){return"RemoveEnd"}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;let n=!1;if(this.c){let r=this.xf(t,e);if(r.IsError)return r;n=r.BooleanValue}let i=r.TextValue,u=s.TextValue,l=!1;return l=n?i.toLowerCase().endsWith(u.toLowerCase()):i.endsWith(u),l?_.Create(i.substring(0,i.length-u.length)):r}}class xh extends ls{constructor(t){super(t)}get Name(){return"Join"}je(t,e){if(t.IsError)return!1;if(t.IsArray){for(let r=0;r<t.ArrayValue.length;r++)if(!this.je(t.ArrayValue[r],e))return!1}else if(t.IsJson){var r=t.ToArray(null);if(r.IsError)return!1;for(let t=0;t<r.ArrayValue.length;t++)if(!this.je(r.ArrayValue[t],e))return!1}else if(t.IsNull);else{var s=t.ToText(null);if(s.IsError)return!1;e.push(s.TextValue)}return!0}evaluate(t,e){let r=[],s=this.hf(t,e,r);if(null!=s)return s;let n=r[0];if(n.IsJson){let t=n.ToArray(null);t.IsError||(n=t)}if(n.IsArray){let t=[];if(!this.je(n,t))return this._c(1);let e=this.Oc(r[1],2);return e.IsError?e:_.Create(t.join(e.TextValue))}{if(n=this.Oc(n,1),n.IsError)return n;let t=[];for(let e=1;e<r.length;e++)if(!this.je(r[e],t))return this._c(e+1);return _.Create(t.join(n.TextValue))}}}class Mh extends Jr{constructor(t){super(t)}get Name(){return"LookCeiling"}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.lf(t,e);if(s.IsError)return s;let n=[];if(k.je(s.ArrayValue,n),0===n.length)return this._c(2);n.sort((t,e)=>t-e);let i=r.NumberValue,u=0,l=n.length;for(;u<l;){const t=u+l>>1;n[t]<i?u=t+1:l=t}return u<n.length&&n[u]===i?r:u===n.length?_.Create(n[n.length-1]):_.Create(n[u])}}class Eh extends Jr{constructor(t){super(t)}get Name(){return"LookFloor"}evaluate(t,e){let r=this.Zc(t,e);if(r.IsError)return r;let s=this.lf(t,e);if(s.IsError)return s;let n=[];if(k.je(s.ArrayValue,n),0===n.length)return this._c(2);n.sort((t,e)=>t-e);let i=r.NumberValue,u=0,l=n.length;for(;u<l;){const t=u+l>>1;n[t]<i?u=t+1:l=t}return u<n.length&&n[u]===i?r:0===u?_.Create(n[0]):_.Create(n[u-1])}}class Th extends Jr{constructor(t){super(t)}get Name(){return"Has"}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;if(r.IsArrayJson)return _.Create(r.ContainsKey(s));if(r.IsJson){let t=r.JsonValue;if(t.IsArray)for(let e=0;e<t.Count;e++){let r=t.Nt[e];if(r.IsString){if(r.StringValue===s.TextValue)return _.True}else if(r.IsDouble){if(r.NumberValue.toString()===s.TextValue)return _.True}else if(r.IsBoolean&&r.BooleanValue.toString().toLowerCase()===s.TextValue.toLowerCase())return _.True}else if(null!=t.Et[s.TextValue])return _.True;return _.False}if(r.IsArray){let t=r.ArrayValue;for(let e of t){let t=e.ToText();if(!t.IsError&&!t.IsNone&&t.TextValue===s.TextValue)return _.True}return _.False}return this._c(1)}}class Sh extends Jr{constructor(t){super(t)}get Name(){return"HasValue"}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError)return r;let s=this.sf(t,e);if(s.IsError)return s;if(r.IsArrayJson)return _.Create(r.ContainsValue(s));if(r.IsJson){let t=r.JsonValue;if(t.IsArray)for(let e=0;e<t.Count;e++){let r=t.Nt[e];if(r.IsString){if(r.StringValue===s.TextValue)return _.True}else if(r.IsDouble){if(r.NumberValue.toString()===s.TextValue)return _.True}else if(r.IsBoolean&&r.BooleanValue.toString().toLowerCase()===s.TextValue.toLowerCase())return _.True}else for(let e in t.Et){let r=t.Et[e];if(r.IsString){if(r.StringValue===s.TextValue)return _.True}else if(r.IsDouble){if(r.NumberValue.toString()===s.TextValue)return _.True}else if(r.IsBoolean&&r.BooleanValue.toString().toLowerCase()===s.TextValue.toLowerCase())return _.True}return _.False}if(r.IsArray){let t=r.ArrayValue;for(let e of t){let t=e.ToText();if(!t.IsError&&!t.IsNone&&t.TextValue===s.TextValue)return _.True}return _.False}return this._c(1)}}class Ih extends Ws{get Name(){return"If"}constructor(t){super(t)}evaluate(t,e){let r=this.ef(t,e);return r.IsError?r:r.BooleanValue?this.b.evaluate(t,e):null===this.c?_.False:this.c.evaluate(t,e)}}class yh extends ls{get Name(){return"Ifs"}constructor(t){super(t)}evaluate(t,e){for(let r=0;r<this.z.length-1;r+=2){let s=this.cf(t,e,r);if(s.IsError)return s;if(s.BooleanValue)return this.z[r+1].evaluate(t,e)}return this.Vc()}}class Ah extends ls{get Name(){return"Switch"}constructor(t){super(t)}evaluate(t,e){let r=this.z[0].evaluate(t,e);if(r.IsError)return r;let s=1;for(;s<this.z.length-1;){let n=this.z[s].evaluate(t,e);if(n.IsError)return n;if(this.Og(r,n))return this.z[s+1].evaluate(t,e);s+=2}return this.z.length%2==0?this.z[this.z.length-1].evaluate(t,e):this.Vc()}Og(t,e){return t.IsNumber&&e.IsNumber?t.NumberValue===e.NumberValue:t.IsText&&e.IsText?t.TextValue===e.TextValue:t.IsBoolean&&e.IsBoolean?t.BooleanValue===e.BooleanValue:t.IsDate&&e.IsDate?t.DateValue.ToLong()===e.DateValue.ToLong():!(!t.IsNull||!e.IsNull)}}class bh extends Ws{get Name(){return"IfError"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return r.IsError?this.b.evaluate(t,e):null===this.c?r:this.c.evaluate(t,e)}}class Ch extends Jr{get Name(){return"IsError"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return null!=this.b?r.IsError?this.b.evaluate(t,e):r:r.IsError?_.True:_.False}}class Dh extends Jr{get Name(){return"IsNull"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return null!=this.b?r.IsNull?this.b.evaluate(t,e):r:r.IsNull?_.True:_.False}}class Rh extends Jr{get Name(){return"IsNullorError"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return null!==this.b?r.IsNull||r.IsError?this.b.evaluate(t,e):r:r.IsNull||r.IsError?_.True:_.False}}class Oh extends jr{get Name(){return"IsEven"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return r.IsNumber&&Math.trunc(r.NumberValue)%2==0?_.True:_.False}}class Fh extends jr{get Name(){return"IsLogical"}constructor(t){super(t)}evaluate(t,e){return this.a.evaluate(t,e).IsBoolean?_.True:_.False}}class Lh extends jr{get Name(){return"IsOdd"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);return r.IsNumber&&Math.abs(Math.trunc(r.NumberValue))%2==1?_.True:_.False}}class kh extends jr{get Name(){return"IsNonText"}constructor(t){super(t)}evaluate(t,e){return this.a.evaluate(t,e).IsText?_.False:_.True}}class Ph extends jr{get Name(){return"IsNullOrEmpty"}constructor(t){super(t)}evaluate(t,e){let r,s=this.a.evaluate(t,e);if(s.IsNull)return _.True;if(s.IsNotText){if(r=s.ToText(StringCache.Function_parameter_error,"IsNullOrEmpty",1),r.IsError)return r}else r=s;return null===r.TextValue||""===r.TextValue?_.True:_.False}}class _h extends jr{get Name(){return"IsNullOrWhiteSpace"}constructor(t){super(t)}evaluate(t,e){let r,s=this.a.evaluate(t,e);if(s.IsNull)return _.True;if(s.IsNotText){if(r=s.ToText(StringCache.Function_parameter_error,"IsNullOrWhiteSpace",1),r.IsError)return r}else r=s;return null===r.TextValue||""===r.TextValue.trim()?_.True:_.False}}class Vh extends jr{get Name(){return"IsNumber"}constructor(t){super(t)}evaluate(t,e){return this.a.evaluate(t,e).IsNumber?_.True:_.False}}class Bh extends jr{get Name(){return"IsText"}constructor(t){super(t)}evaluate(t,e){return this.a.evaluate(t,e).IsText?_.True:_.False}}class Hh extends ls{get Name(){return"Array"}constructor(t){super(t)}evaluate(t,e){let r=[],s=this.hf(t,e,r);return null!=s?s:_.Create(r)}}class Uh extends jr{get Name(){return"Json"}constructor(t){super(t)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError||r.IsNull)return r;if(r.IsJson)return r;if(r.IsArrayJson&&(r=r.ToText()),r.IsNotText)return this._c(1);let s=r.TextValue;if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{let t=L.qe(s);return _.Create(t)}catch(t){}return this._c(1)}}class Gh extends ls{get Name(){return"ArrayJson"}constructor(t){super(t)}evaluate(t,e){let r=new $;for(let s of this.z){let n=s.evaluate(t,e);if(n.IsError||n.IsNull)return n;if(!(n instanceof W))return this._c(1);r.AddValue(n.nr)}return r}Rc(t,e){t.append("{");for(let e=0;e<this.z.length;e++)e>0&&t.append(", "),this.z[e].Rc(t,!1);t.append("}")}}class Xh extends jr{get Name(){return"ArrayJsonItem"}constructor(t,e){super(e),this.key=t}evaluate(t,e){let r={key:this.key,value:this.a.evaluate(t,e)};return new W(r)}Rc(t,e){t.append(this.key),t.append(":"),this.a.Rc(t,!1)}}class qh extends Jr{get Name(){return"GetJsonValue"}constructor(t,e){super(t,e)}evaluate(t,e){let r=this.a.evaluate(t,e);if(r.IsError||r.IsNull)return r;let s=this.b.evaluate(t,e);if(s.IsError||s.IsNull)return s;if(r.IsArray){if(s=s.ToNumber("Function '{0}' ARRAY index is error!","GetJsonValue"),s.IsError)return s;let e=s.IntValue-t.ExcelIndex;return e<r.ArrayValue.length&&e>=0?r.ArrayValue[e]:_.Error("Function '{0}' ARRAY index {1} out of range!","GetJsonValue",e)}if(r.IsArrayJson){if(s.IsNumber){let t=r.TryGetValue(s.NumberValue.toString());return null!==t?t:_.Error("Function '{0}' Parameter name '{1}' is missing!","GetJsonValue",s.NumberValue)}if(s.IsText){let t=r.TryGetValue(s.TextValue);return null!==t?t:_.Error("Function '{0}' Parameter name '{1}' is missing!","GetJsonValue",s.TextValue)}return _.Error("Function '{0}' Parameter name is missing!","GetJsonValue")}if(r.IsJson){let e=r.JsonValue;if(e.IsArray){if(s=s.ToNumber("Function '{0}' JSON parameter index is error!","GetJsonValue"),s.IsError)return s;let r=s.IntValue-t.ExcelIndex;if(r<e.Nt.length){let t=e.Nt[r];return t.IsString?_.Create(t.StringValue):t.IsBoolean?_.Create(t.BooleanValue):t.IsDouble?_.Create(t.NumberValue):t.IsObject||t.IsArray?_.Create(t):t.IsNull?_.CreateNull():_.Create(t)}return _.Error("Function '{0}' JSON index {1} out of range!","GetJsonValue",r)}if(e.IsObject){if(s=s.ToText("Function '{0}' JSON parameter name is error!","GetJsonValue"),s.IsError)return s;let t=e.Et[s.TextValue];if(t)return t.IsString?_.Create(t.StringValue):t.IsBoolean?_.Create(t.BooleanValue):t.IsDouble?_.Create(t.NumberValue):t.IsObject||t.IsArray?_.Create(t):t.IsNull?_.CreateNull():_.Create(t)}}return _.Error("Function '{0}' Operator is error!","GetJsonValue")}Rc(t,e){this.a.Rc(t,!1),t.append("["),this.b.Rc(t,!1),t.append("]")}}class jh{static Fg=null;static Lg(){return this.Fg||(this.Fg={KM:5,M:4,DM:3,CM:2,MM:1,KM2:15,M2:14,DM2:13,CM2:12,MM2:11,M3:24,DM3:23,CM3:22,MM3:21,KM3:25,L:23,ML:22,T:33,KG:32,G:31}),this.Fg}static kg(t,r,s,n,i,h){if(1===r)switch(s){case u.MM:return t;case u.CM:return.1*t;case u.DM:return.01*t;case u.M:return.001*t;case u.KM:return 1e-6*t;default:throw new Error("Number unit is error!")}else if(2===r)switch(s){case u.MM:return 10*t;case u.CM:return t;case u.DM:return.1*t;case u.M:return.01*t;case u.KM:return 1e-5*t;default:throw new Error("Number unit is error!")}else if(3===r)switch(s){case u.MM:return 100*t;case u.CM:return 10*t;case u.DM:return t;case u.M:return.1*t;case u.KM:return 1e-4*t;default:throw new Error("Number unit is error!")}else if(4===r)switch(s){case u.MM:return 1e3*t;case u.CM:return 100*t;case u.DM:return 10*t;case u.M:return t;case u.KM:return.001*t;default:throw new Error("Number unit is error!")}else if(5===r)switch(s){case u.MM:return 1e6*t;case u.CM:return 1e5*t;case u.DM:return 1e4*t;case u.M:return 1e3*t;case u.KM:return t;default:throw new Error("Number unit is error!")}else if(11===r)switch(n){case e.MM2:return t;case e.CM2:return.01*t;case e.DM2:return 1e-4*t;case e.M2:return 1e-6*t;case e.KM2:return 1e-12*t;default:throw new Error("Number unit is error!")}else if(12===r)switch(n){case e.MM2:return 100*t;case e.CM2:return t;case e.DM2:return.01*t;case e.M2:return 1e-4*t;case e.KM2:return 1e-10*t;default:throw new Error("Number unit is error!")}else if(13===r)switch(n){case e.MM2:return 1e4*t;case e.CM2:return 100*t;case e.DM2:return t;case e.M2:return.01*t;case e.KM2:return 1e-8*t;default:throw new Error("Number unit is error!")}else if(14===r)switch(n){case e.MM2:return 1e6*t;case e.CM2:return 1e4*t;case e.DM2:return 100*t;case e.M2:return t;case e.KM2:return 1e-6*t;default:throw new Error("Number unit is error!")}else if(15===r)switch(n){case e.MM2:return 1e12*t;case e.CM2:return 1e10*t;case e.DM2:return 1e8*t;case e.M2:return 1e6*t;case e.KM2:return t;default:throw new Error("Number unit is error!")}else if(21===r)switch(i){case a.MM3:return t;case a.CM3:return.001*t;case a.DM3:return 1e-6*t;case a.M3:return 1e-9*t;case a.KM3:return 1e-18*t;default:throw new Error("Number unit is error!")}else if(22===r)switch(i){case a.MM3:return 1e3*t;case a.CM3:return t;case a.DM3:return.001*t;case a.M3:return 1e-6*t;case a.KM3:return 1e-15*t;default:throw new Error("Number unit is error!")}else if(23===r)switch(i){case a.MM3:return 1e6*t;case a.CM3:return 1e3*t;case a.DM3:return t;case a.M3:return.001*t;case a.KM3:return 1e-12*t;default:throw new Error("Number unit is error!")}else if(24===r)switch(i){case a.MM3:return 1e9*t;case a.CM3:return 1e6*t;case a.DM3:return 1e3*t;case a.M3:return t;case a.KM3:return 1e-9*t;default:throw new Error("Number unit is error!")}else if(25===r)switch(i){case a.MM3:return 1e18*t;case a.CM3:return 1e15*t;case a.DM3:return 1e12*t;case a.M3:return 1e9*t;case a.KM3:return t;default:throw new Error("Number unit is error!")}else if(31===r)switch(h){case l.G:return t;case l.KG:return.001*t;case l.T:return 1e-6*t;default:throw new Error("Number unit is error!")}else if(32===r)switch(h){case l.G:return 1e3*t;case l.KG:return t;case l.T:return.001*t;default:throw new Error("Number unit is error!")}else if(33===r)switch(h){case l.G:return 1e6*t;case l.KG:return 1e3*t;case l.T:return t;default:throw new Error("Number unit is error!")}throw new Error("Number unit is error!")}}class Jh extends qr{get Name(){return"Num"}constructor(t,e){super(),this.d=t,this.unit=e}evaluate(t,e){let r=jh.Lg(),s=this.unit.toUpperCase(),n=jh.kg(this.d,r[s],t.DistanceUnit,t.AreaUnit,t.VolumeUnit,t.MassUnit);return _.Create(n)}Rc(t,e){t.append(this.d),t.append(this.unit)}}class $h extends Jr{get Name(){return"Param"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);if(r.IsError)return r;if(null!==e){let s=e(t,r.TextValue);if(null!==s)return s}let s=t.Pg(r.TextValue);return(s.IsError||s.IsNull)&&null!==this.b?this.b.evaluate(t,e):s}}class Wh extends qr{get Name(){return"Parameter"}constructor(t,e){super(),"string"==typeof t?this.name=t:this._g=t}evaluate(t,e){let r=this.name;if(null==r){let s=this._g.evaluate(t,e);if(s=s.ToText(),s.IsError)return s;r=s.TextValue}if(e&&null!==e){let s=e(t,r);if(null!==s)return s}return t.Pg(r)}Rc(t,e){void 0===this.name||null===this.name?this._g.Rc(t,!1):t.append(this.name)}}class Yh extends ls{get Name(){return"DiyFunction"}constructor(t,e){super(e),this.Vg=t}evaluate(t,e){let r=[];for(let s of this.z){let n=s.evaluate(t,e);r.push(n)}return t.ExecuteDiyFunction(this.Vg,r)}Rc(t,e){this.zc(t,this.Vg)}}class Kh extends jr{get Name(){return"Error"}constructor(t){super(t)}evaluate(t,e){let r=this.Qc(t,e);return r.IsError?r:_.Error(r.TextValue)}}class zh{static Bg(t){if("string"!=typeof t||1!==t.length)return t;let e=t.charCodeAt(0);return 13===e?"\n":9===e||12===e?" ":e<97?t:e<=122?String.fromCharCode(e-32):(e>65280&&e<65375&&(e=(t=String.fromCharCode(e-65248).toUpperCase()).charCodeAt(0)),e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=255||e>=256&&e<=8191||e>=11264&&e<=12287||e>=12352&&e<=12687||e>=13056&&e<=13183||e>=13312&&e<=16383||e>=19968&&e<=40959||e>=40960&&e<=55295||e>=63744&&e<=64255||e>=65280&&e<=65520?"_":e<127?t:215===e?"*":247===e?"/":8216===e||8217===e?"'":8220===e||8221===e?'"':12288===e?" ":12304===e?"[":12305===e?"]":12308===e?"(":12309===e?")":t.toUpperCase())}static Hg(t){for(var e=[],r=0;r<t.length;r++)e.push(this.Bg(t[r]));return e.join("")}static equals(t,e){if(t.length!=e.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!=e[r]&&this.Bg(t[r])!=e[r])return!1;return!0}static Ug(t,e,r){return!!this.equals(t,e)||!!this.equals(t,r)}static Gg(t,e,r,s){return!!this.equals(t,e)||!!this.equals(t,r)||!!this.equals(t,s)}}const Qh={IF:t=>new Ih(t),IFS:t=>new yh(t),SWITCH:t=>new Ah(t),IFERROR:t=>new bh(t),ISNUMBER:t=>new Vh(t),ISTEXT:t=>new Bh(t),ISERROR:t=>new Ch(t),ISNONTEXT:t=>new kh(t),ISLOGICAL:t=>new Fh(t),ISEVEN:t=>new Oh(t),ISODD:t=>new Lh(t),ISNULL:t=>new Dh(t),ISNULLORERROR:t=>new Rh(t),AND:t=>new hs(t),OR:t=>new as(t),XOR:t=>new os(t),NOT:t=>new cs(t),DEC2BIN:t=>new sn(t),DEC2HEX:t=>new un(t),DEC2OCT:t=>new nn(t),HEX2BIN:t=>new ln(t),HEX2DEC:t=>new an(t),HEX2OCT:t=>new hn(t),OCT2BIN:t=>new tn(t),OCT2DEC:t=>new en(t),OCT2HEX:t=>new rn(t),BIN2OCT:t=>new zs(t),BIN2DEC:t=>new Qs(t),BIN2HEX:t=>new Zs(t),ABS:t=>new ws(t),QUOTIENT:t=>new gs(t),MOD:t=>new Yr(t),SIGN:t=>new ps(t),SQRT:t=>new ms(t),TRUNC:t=>new vs(t),INT:t=>new Ns(t),GCD:t=>new xs(t),LCM:t=>new Ms(t),COMBIN:t=>new Es(t),PERMUT:t=>new Ts(t),DEGREES:t=>new Is(t),RADIANS:t=>new ys(t),COS:t=>new As(t),COSH:t=>new bs(t),SIN:t=>new Cs(t),SINH:t=>new Ds(t),TAN:t=>new Rs(t),TANH:t=>new Os(t),ACOS:t=>new Fs(t),ACOSH:t=>new Ls(t),ASIN:t=>new ks(t),ASINH:t=>new Ps(t),ATAN:t=>new _s(t),ATANH:t=>new Vs(t),ATAN2:t=>new Bs(t),COT:t=>new Hs(t),COTH:t=>new Us(t),CSC:t=>new Gs(t),CSCH:t=>new Xs(t),SEC:t=>new qs(t),SECH:t=>new js(t),ACOT:t=>new Js(t),ACOTH:t=>new $s(t),ROUND:t=>new cn(t),ROUNDDOWN:t=>new fn(t),ROUNDUP:t=>new dn(t),CEILING:t=>new wn(t),FLOOR:t=>new gn(t),EVEN:t=>new pn(t),ODD:t=>new mn(t),MROUND:t=>new vn(t),RANDBETWEEN:t=>new xn(t),FACT:t=>new Tn(t),FACTDOUBLE:t=>new Sn(t),POWER:t=>new In(t),EXP:t=>new yn(t),LN:t=>new An(t),LOG:t=>new bn(t),LOG10:t=>new Cn(t),MULTINOMIAL:t=>new Dn(t),PRODUCT:t=>new Rn(t),SQRTPI:t=>new On(t),ERF:t=>new Fn(t),ERFC:t=>new Ln(t),BESSELI:t=>new kn(t),BESSELJ:t=>new Pn(t),BESSELK:t=>new _n(t),BESSELY:t=>new Vn(t),DELTA:t=>new Bn(t),GESTEP:t=>new Hn(t),SUMSQ:t=>new Un(t),ASC:t=>new vi(t),JIS:t=>new Ni(t),WIDECHAR:t=>new Ni(t),CHAR:t=>new xi(t),CLEAN:t=>new Mi(t),CODE:t=>new Ei(t),CONCATENATE:t=>new Ti(t),EXACT:t=>new Si(t),FIND:t=>new Ii(t),FIXED:t=>new Ks(t),LEFT:t=>new yi(t),LEN:t=>new Ai(t),LOWER:t=>new bi(t),TOLOWER:t=>new bi(t),MID:t=>new Ci(t),PROPER:t=>new Di(t),REPLACE:t=>new Oi(t),REPT:t=>new Fi(t),RIGHT:t=>new Li(t),RMB:t=>new ki(t),SEARCH:t=>new Pi(t),SUBSTITUTE:t=>new _i(t),T:t=>new Vi(t),TEXT:t=>new Bi(t),TRIM:t=>new Hi(t),UPPER:t=>new Ui(t),TOUPPER:t=>new Ui(t),VALUE:t=>new ds(t),UNICHAR:t=>new Gi(t),UNICODE:t=>new Xi(t),DATEVALUE:t=>new qi(t),TIMEVALUE:t=>new Ji(t),DATE:t=>new $i(t),TIME:t=>new Wi(t),YEAR:t=>new zi(t),MONTH:t=>new Qi(t),DAY:t=>new Zi(t),HOUR:t=>new tu(t),MINUTE:t=>new eu(t),SECOND:t=>new ru(t),WEEKDAY:t=>new su(t),DATEDIF:t=>new nu(t),DAYS360:t=>new iu(t),EDATE:t=>new uu(t),EOMONTH:t=>new lu(t),NETWORKDAYS:t=>new hu(t),WORKDAY:t=>new au(t),WEEKNUM:t=>new ou(t),DAYS:t=>new cu(t),MAX:t=>new vu(t),MEDIAN:t=>new Nu(t),MIN:t=>new xu(t),QUARTILE:t=>new Ju(t),MODE:t=>new $u(t),LARGE:t=>new Wu(t),SMALL:t=>new Yu(t),PERCENTILE:t=>new Ku(t),"PERCENTILE.INC":t=>new Ku(t),PERCENTRANK:t=>new zu(t),"PERCENTRANK.INC":t=>new zu(t),AVERAGE:t=>new Qu(t),AVERAGEIF:t=>new Zu(t),GEOMEAN:t=>new tl(t),HARMEAN:t=>new el(t),COUNT:t=>new rl(t),COUNTIF:t=>new sl(t),SUM:t=>new nl(t),SUMIF:t=>new il(t),AVEDEV:t=>new ul(t),STDEV:t=>new ll(t),"STDEV.S":t=>new ll(t),STDEVP:t=>new hl(t),"STDEV.P":t=>new hl(t),COVAR:t=>new En(t),"COVARIANCE.P":t=>new En(t),"COVARIANCE.S":t=>new Mn(t),DEVSQ:t=>new al(t),VAR:t=>new ol(t),"VAR.S":t=>new ol(t),VARP:t=>new cl(t),"VAR.P":t=>new cl(t),NORMDIST:t=>new fl(t),"NORM.DIST":t=>new fl(t),NORMINV:t=>new dl(t),"NORM.INV":t=>new dl(t),NORMSDIST:t=>new wl(t),"NORM.S.DIST":t=>new wl(t),NORMSINV:t=>new gl(t),"NORM.S.INV":t=>new gl(t),BETADIST:t=>new pl(t),"BETA.DIST":t=>new pl(t),BETAINV:t=>new ml(t),"BETA.INV":t=>new ml(t),BINOMDIST:t=>new vl(t),"BINOM.DIST":t=>new vl(t),EXPONDIST:t=>new Nl(t),"EXPON.DIST":t=>new Nl(t),FDIST:t=>new xl(t),"F.DIST":t=>new xl(t),FINV:t=>new Ml(t),"F.INV":t=>new Ml(t),FISHER:t=>new El(t),FISHERINV:t=>new Tl(t),GAMMADIST:t=>new Sl(t),"GAMMA.DIST":t=>new Sl(t),GAMMAINV:t=>new Il(t),"GAMMA.INV":t=>new Il(t),GAMMALN:t=>new yl(t),"GAMMALN.PRECISE":t=>new yl(t),HYPGEOMDIST:t=>new Al(t),"HYPGEOM.DIST":t=>new Al(t),LOGINV:t=>new bl(t),"LOGNORM.INV":t=>new bl(t),LOGNORMDIST:t=>new Cl(t),"LOGNORM.DIST":t=>new Cl(t),NEGBINOMDIST:t=>new Dl(t),"NEGBINOM.DIST":t=>new Dl(t),POISSON:t=>new Rl(t),"POISSON.DIST":t=>new Rl(t),TDIST:t=>new Ol(t),"T.DIST":t=>new Ol(t),TINV:t=>new Fl(t),"T.INV":t=>new Fl(t),WEIBULL:t=>new Ll(t),URLENCODE:t=>new kl(t),URLDECODE:t=>new Pl(t),HTMLENCODE:t=>new _l(t),HTMLDECODE:t=>new Vl(t),BASE64TOTEXT:t=>new Bl(t),BASE64URLTOTEXT:t=>new Hl(t),TEXTTOBASE64:t=>new Ul(t),TEXTTOBASE64URL:t=>new Gl(t),REGEX:t=>new Xl(t),REGEXREPLACE:t=>new ql(t),ISREGEX:t=>new jl(t),ISMATCH:t=>new jl(t),MD5:t=>new Yl(t),SHA1:t=>new zl(t),SHA256:t=>new Zl(t),SHA512:t=>new eh(t),HMACMD5:t=>new sh(t),HMACSHA1:t=>new ih(t),HMACSHA256:t=>new lh(t),HMACSHA512:t=>new ah(t),TRIMSTART:t=>new ph(t),LTRIM:t=>new ph(t),TRIMEND:t=>new mh(t),RTRIM:t=>new mh(t),INDEXOF:t=>new fh(t),LASTINDEXOF:t=>new dh(t),SPLIT:t=>new wh(t),JOIN:t=>new xh(t),SUBSTRING:t=>new gh(t),STARTSWITH:t=>new oh(t),ENDSWITH:t=>new ch(t),ISNULLOREMPTY:t=>new Ph(t),ISNULLORWHITESPACE:t=>new _h(t),REMOVESTART:t=>new vh(t),REMOVEEND:t=>new Nh(t),JSON:t=>new Uh(t),LOOKCEILING:t=>new Mh(t),LOOKFLOOR:t=>new Eh(t),ARRAY:t=>new Hh(t),ADDYEARS:t=>new du(t),ADDMONTHS:t=>new fu(t),ADDDAYS:t=>new pu(t),ADDHOURS:t=>new mu(t),ADDMINUTES:t=>new gu(t),ADDSECONDS:t=>new wu(t),TIMESTAMP:t=>new ji(t),HAS:t=>new Th(t),HASKEY:t=>new Th(t),CONTAINS:t=>new Th(t),CONTAINSKEY:t=>new Th(t),HASVALUE:t=>new Sh(t),CONTAINSVALUE:t=>new Sh(t),PARAM:t=>new $h(t),PARAMETER:t=>new $h(t),GETPARAMETER:t=>new $h(t),ERROR:t=>new Kh(t),SUMPRODUCT:t=>new Gn(t),SUMX2MY2:t=>new Xn(t),SUMX2PY2:t=>new qn(t),SUMXMY2:t=>new jn(t),SERIESSUM:t=>new Jn(t),ARABIC:t=>new $n(t),ROMAN:t=>new Wn(t),RANK:t=>new Yn(t),FORECAST:t=>new Kn(t),INTERCEPT:t=>new zn(t),SLOPE:t=>new Qn(t),CORREL:t=>new Zn(t),PEARSON:t=>new ti(t),YEARFRAC:t=>new ei(t),PMT:t=>new ri(t),PPMT:t=>new si(t),IPMT:t=>new ni(t),PV:t=>new ii(t),FV:t=>new ui(t),NPER:t=>new li(t),RATE:t=>new hi(t),NPV:t=>new ai(t),XNPV:t=>new oi(t),IRR:t=>new ci(t),MIRR:t=>new fi(t),XIRR:t=>new di(t),SLN:t=>new wi(t),SYD:t=>new gi(t),DDB:t=>new pi(t),DB:t=>new mi(t)};class Zh extends Xr{static Xg(){return Qh}qg(t){let e=t.uc(),r=new Array(e.length);for(let t=0;t<e.length;t++)r[t]=e[t].accept(this);return r}jg(t){return t.uc().accept(this)}cc(t){return this.jg(t)}Tc(t){let e=this.qg(t),r=t.ac.text;return zh.equals(r,"*")?new $r(e):zh.equals(r,"/")?new Wr(e):new Yr(e)}Nc(t){let e=this.qg(t),r=t.ac.text;return zh.equals(r,"&")?new Qr(e):zh.equals(r,"+")?new Kr(e):new zr(e)}dc(t){let e=this.qg(t),r=t.ac.text;return zh.Gg(r,"=","==","===")?new Zr(e):zh.equals(r,"<")?new ts(e):zh.equals(r,"<=")?new es(e):zh.equals(r,">")?new rs(e):zh.equals(r,">=")?new ss(e):new ns(e)}wc(t){let e=this.qg(t),r=t.ac.text;return zh.equals(r,"&&")?new is(e):new us(e)}mc(t){let e=zh.Hg(t.f.text);if("E"===e)return new fs(_.Create(Math.E),"E");if("PI"===e)return new fs(_.Create(Math.PI),"PI");if("TRUE"===e||"YES"===e||"是"===e||"有"===e)return new fs(_.True,e);if("FALSE"===e||"NO"===e||"不是"===e||"否"===e||"没有"===e||"无"===e)return new fs(_.False,e);if("ALGORITHMVERSION"===e||"ENGINEVERSION"===e)return new fs(_.Version,e);if("RAND"===e)return new Nn;if("GUID"===e)return new Jl;if("NOW"===e)return new Yi;if("TODAY"===e)return new Ki;let r=this.qg(t),s=Qh[e];return s?s(r):new Yh(t.f.text,r)}yc(t){let e=t.PARAMETER(),r=zh.Hg(e.rs());return"TRUE"===r||"YES"===r||"是"===r||"有"===r?new fs(_.True,r):"FALSE"===r||"NO"===r||"不是"===r||"否"===r||"没有"===r||"无"===r?new fs(_.False,r):"ALGORITHMVERSION"===r||"ENGINEVERSION"===r?new fs(_.Version,r):new Wh(e.rs())}gc(t){let e=this.jg(t);return new Ss(e)}vc(t){let e=t.rs(),r=[],s=1;for(;s<e.length-1;){let t=e[s++];if("\\"===t){let t=e[s++];"n"===t?r.push("\n"):"r"===t?r.push("\r"):"t"===t?r.push("\t"):"0"===t?r.push("\0"):"v"===t?r.push("\v"):"a"===t?r.push("a"):"b"===t?r.push("\b"):"f"===t?r.push("\f"):r.push(t)}else r.push(t)}return new fs(_.Create(r.join("")))}xc(t){let e=t.lc(),r=new Array(e.length);for(let t=0;t<e.length;t++)r[t]=e[t].accept(this);return new Gh(r)}Mc(t){let e=this.qg(t);if(null!=t.oc){let r=t.oc.text.trim().replace(/^["'"\s\t\r\n\f]+|["'"\s\t\r\n\f]+$/g,""),s=new fs(_.Create(r),r);return new qh(e[0],s)}if(null!=t.PARAMETER()){let r=t.PARAMETER(),s=new Wh(r.rs?r.rs():r.text);return new qh(e[0],s)}return new qh(e[0],e[1])}Ec(t){let e=this.qg(t);return new Hh(e)}Sc(t){let e=this.jg(t);return new cs(e)}Ic(t){return this.jg(t)}Ac(t){let e=t.hc().rs(),r=parseFloat(e);if(null==t.unit)return new fs(_.Create(r),e);let s=t.unit.text;return new Jh(r,s)}bc(t){return new fs(_.CreateNull(),"NULL")}Cc(t){let e=parseFloat(t.rs());return new fs(_.Create(e),t.rs())}Dc(t){let e=null;t.key&&(e=t.key.text.replace(/^["'"\s\t\r\n\f]+|["'"\s\t\r\n\f]+$/g,""));let r=this.jg(t);return new Xh(e,r)}fc(t){let e=this.qg(t);return new Ih(e)}}class ta{constructor(t,e){if(this.name="<empty>",this.Jg=t,this.$g=e||!1,this.Wg=0,this.data=[],this.$g)for(let t=0;t<this.Jg.length;){let e=this.Jg.codePointAt(t);this.data.push(e),t+=e<=65535?1:2}else{this.data=new Array(this.Jg.length);for(let t=0;t<this.Jg.length;t++)this.data[t]=this.Jg.charCodeAt(t)}this.Yg=this.data.length}reset(){this.Wg=0}Js(){if(this.Wg>=this.Yg)throw"cannot consume EOF";this.Wg+=1}LA(t){if(0===t)return 0;t<0&&(t+=1);let e=this.Wg+t-1;return e<0||e>=this.Yg?Y.EOF:this.data[e]}LT(t){return this.LA(t)}mark(){return-1}release(t){}seek(t){t<=this.Wg?this.Wg=t:this.Wg=Math.min(t,this.Yg)}rs(t,e){if(e>=this.Yg&&(e=this.Yg-1),t>=this.Yg)return"";if(this.$g){let r="";for(let s=t;s<=e;s++)r+=String.fromCodePoint(this.data[s]);return r}return this.Jg.slice(t,e+1)}toString(){return this.Jg}get index(){return this.Wg}get size(){return this.Yg}}class ea extends ta{constructor(t,e){super(t,e)}LA(t){if(0===t)return 0;t<0&&(t+=1);let e=this.Wg+t-1;if(e<0||e>=this.Yg)return Y.EOF;let r=this.data[e];return zh.Bg(String.fromCharCode(r)).charCodeAt(0)}}class ra{constructor(){this.ExcelIndex=1,this.UseLocalTime=!0,this.DistanceUnit=u.M,this.AreaUnit=e.M2,this.VolumeUnit=a.M3,this.MassUnit=l.KG,this.LastError=null,this.UseStrictMode=!0,this.UseParseCache=!1,this.Kg=new Map}set UseExcelIndex(t){this.ExcelIndex=t?1:0}Pg(t){return _.Error(`Parameter [${t}] is missing.`)}ExecuteDiyFunction(t,e){return _.Error(`DiyFunction [${t}] is missing.`)}Parse(t){if(this.LastError=null,!t||""===t.trim())throw this.LastError="Parameter exp invalid !",new Error(this.LastError);if(t=t.trim(),this.UseParseCache){if(this.Kg.has(t))return this.Kg.get(t);let e=this.zg(t,!0);return this.Kg.set(t,e),e}return this.zg(t,!0)}ParseWithoutError(t){if(this.LastError=null,!t||""===t.trim())return this.LastError="Parameter exp invalid !",null;if(t=t.trim(),this.UseParseCache){if(this.Kg.has(t))return this.Kg.get(t);let e=this.zg(t,!1);return null!=e&&this.Kg.set(t,e),e}return this.zg(t,!1)}zg(t,e){let r=new Gr,s=new ea(t),n=new mr(s,null,r);n.Fr(),n.Rr(r);let i=new at(n),u=new Mr(i,null,r);u.Fr(),u.Rr(r);let l=u.nc();if(r.IsError){if(this.LastError=r.ErrorMsg,e)throw new Error(this.LastError);return null}return(new Zh).ya(l)}Evaluate(t){return t.evaluate(this)}TryEvaluate_Int(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsNumber){let t=s.ToNumber("It can't be converted to number!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.IntValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_Double(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsNumber){let t=s.ToNumber("It can't be converted to number!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.NumberValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_String(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsText){let t=s.ToText("It can't be converted to string!");return t.IsError?(this.LastError=t.ErrorMsg,e):t.TextValue}return s.TextValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_Boolean(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsBoolean){let t=s.ToBoolean("It can't be converted to bool!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.BooleanValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_DateTime(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsDate){let t=s.ToMyDate("It can't be converted to DateTime!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return this.UseLocalTime?s.DateValue.ToDateTime(1):s.DateValue.ToDateTime(0)}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_TimeSpan(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsDate){let t=s.ToMyDate("It can't be converted to DateTime!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.DateValue.ToTimeSpan()}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_Long(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsNumber){let t=s.ToNumber("It can't be converted to number!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.LongValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_Decimal(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsNumber){let t=s.ToNumber("It can't be converted to number!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.NumberValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}TryEvaluate_MyDate(t,e){try{let r=this.ParseWithoutError(t);if(null==r)return e;let s=r.evaluate(this);if(!s.IsDate){let t=s.ToMyDate("It can't be converted to DateTime!");if(t.IsError)return this.LastError=t.ErrorMsg,e;s=t}return s.DateValue}catch(t){this.LastError=t.message+"\n"+t.stack}return e}}class sa extends ra{constructor(t=!1){super(),this.IgnoreCase=t,this.UseTempDict=!1,this.Qg={}}Pg(t){return this.Zg(t)}Zg(t){let e=this.IgnoreCase?t.toLowerCase():t;if(void 0!==this.Qg[e])return this.Qg[e];let r=super.Pg?super.Pg(t):_.CreateNull();return this.UseTempDict&&(this.Qg[e]=r),r}ClearParameters(){this.Qg={}}AddParameter(t,e){let r=this.IgnoreCase?t.toLowerCase():t;this.Qg[r]=e instanceof _?e:_.Create(e)}AddParameterFromJson(t){if(t.startsWith("{")&&t.endsWith("}")){let e=L.qe(t);if(e.IsObject){let t=e.yt();for(let e in t)if(t.hasOwnProperty(e)){let r=t[e],s=this.IgnoreCase?e.toLowerCase():e;r.IsString?this.Qg[s]=_.Create(r.StringValue):r.IsBoolean?this.Qg[s]=_.Create(r.BooleanValue):r.IsDouble?this.Qg[s]=_.Create(r.NumberValue):r.IsObject||r.IsArray?this.Qg[s]=_.Create(r):r.IsNull&&(this.Qg[s]=_.CreateNull())}return}}throw new Error("Parameter is not json string.")}}"undefined"!=typeof window&&(window.AlgorithmEngineEx=sa);class na extends Xr{constructor(){super(),this.tp={Parameters:[],Functions:[]}}yc(t){let e=t.PARAMETER();if(e){let r=zh.Hg(e.rs());if("TRUE"===r||"YES"===r||"是"===r||"有"===r)return this.Xi(t);if("FALSE"===r||"NO"===r||"不是"===r||"否"===r||"没有"===r||"无"===r)return this.Xi(t);if("ALGORITHMVERSION"===r||"ENGINEVERSION"===r)return this.Xi(t);let s=e.Yo();this.tp.Parameters.push({Name:e.rs(),Start:s.start,End:s.stop})}return this.Xi(t)}Mc(t){let e=t.PARAMETER();if(e){let t=e.Yo();this.tp.Parameters.push({Name:e.rs(),Start:t.start,End:t.stop})}return this.Xi(t)}mc(t){let e=t.f;if(!e)return this.Xi(t);let r=zh.Hg(e.text);return"E"===r||"PI"===r||"TRUE"===r||"YES"===r||"是"===r||"有"===r||"FALSE"===r||"NO"===r||"不是"===r||"否"===r||"没有"===r||"无"===r||"ALGORITHMVERSION"===r||"ENGINEVERSION"===r||"RAND"===r||"GUID"===r||"NOW"===r||"TODAY"===r||Qh[r]||this.tp.Functions.push({Name:e.text,Start:e.start,End:e.stop}),this.Xi(t)}}function ia(){return null==this.wr&&null!=this.ep&&this.end>=this.start&&(this.wr=this.ep.substring(this.start,this.end+1)),this.wr}class ua extends Xr{rp(t){return t.ep=this.Source,Object.defineProperty(t,"sp",{enumerable:!0,configurable:!0,get:ia}),t}cc(t){return this.np=!1,t.uc().accept(this)}wc(t){let e=this.rp({HasBracket:this.np,ip:[]});this.np=!1;let r=t.ac.text;zh.Ug(r,"&&","and")?e.Type=i.And:e.Type=i.Or;let s=t.uc();return e.ip.push(s[0].accept(this)),e.ip.push(s[1].accept(this)),e.start=t.start?t.start.start:0,e.end=t.stop?t.stop.stop:t.rs().length-1,e}Ic(t){return this.np=!0,t.uc().accept(this)}Xi(t){return this.rp({Type:i.String,start:t.start?t.start.start:0,end:t.stop?t.stop.stop:t.rs().length-1})}}function la(){return null==this.wr&&null!=this.ep&&this.end>=this.start&&(this.wr=this.ep.substring(this.start,this.end+1)),this.wr}class ha extends Xr{rp(t){return t.ep=this.Source,Object.defineProperty(t,"sp",{enumerable:!0,configurable:!0,get:la}),t}cc(t){return this.np=!1,t.uc().accept(this)}Ic(t){return this.np=!0,t.uc().accept(this)}wc(t){let e=this.rp({HasBracket:this.np,ip:[]});this.np=!1;let r=t.uc(),s=t.ac.text;return zh.equals(s,"&&")?e.Type=n.And:e.Type=n.Or,e.ip.push(r[0].accept(this)),e.ip.push(r[1].accept(this)),e.start=t.start?t.start.start:0,e.end=t.stop?t.stop.stop:t.rs().length-1,e}dc(t){let e=this.rp({HasBracket:this.np,ip:[]});this.np=!1;let r=t.uc(),s=t.ac.text;return zh.equals(s,">=")?e.Type=n.OpGe:zh.equals(s,"<=")?e.Type=n.OpLe:zh.equals(s,">")?e.Type=n.OpGt:zh.equals(s,"<")?e.Type=n.OpLt:zh.Gg(s,"=","==","===")?e.Type=n.OpEq:e.Type=n.OpNe,e.ip.push(r[0].accept(this)),e.ip.push(r[1].accept(this)),e.start=t.start?t.start.start:0,e.end=t.stop?t.stop.stop:t.rs().length-1,e}Tc(t){let e=this.rp({HasBracket:this.np,ip:[]});this.np=!1;let r=t.uc(),s=t.ac.text;return zh.equals(s,"*")?e.Type=n.Mul:zh.equals(s,"/")?e.Type=n.Div:e.Type=n.Mod,e.ip.push(r[0].accept(this)),e.ip.push(r[1].accept(this)),e.start=t.start?t.start.start:0,e.end=t.stop?t.stop.stop:t.rs().length-1,e}Nc(t){let e=this.rp({HasBracket:this.np,ip:[]});this.np=!1;let r=t.uc(),s=t.ac.text;return zh.equals(s,"+")?e.Type=n.Add:zh.equals(s,"-")?e.Type=n.Sub:e.Type=n.Connect,e.ip.push(r[0].accept(this)),e.ip.push(r[1].accept(this)),e.start=t.start?t.start.start:0,e.end=t.stop?t.stop.stop:t.rs().length-1,e}Xi(t){return this.rp({Type:n.String,start:t.start?t.start.start:0,end:t.stop?t.stop.stop:t.rs().length-1})}}const aa={up:1,lp:1,hp:1,米:1,ap:.001,op:.001,cp:.001,千米:.001,fp:10,dp:10,wp:10,分米:10,cm:100,gp:100,pp:100,厘米:100,mm:1e3,mp:1e3,vp:1e3,毫米:1e3,Np:1250/381,xp:1250/381,Mp:1250/381,英尺:1250/381,Ep:1250/1143,Tp:1250/1143,码:1250/1143,Sp:125/201168,英里:125/201168,in:5e3/127,Ip:5e3/127,英寸:5e3/127,yp:1/1496e8,尺:3,寸:30};function oa(t){return aa[t.toLowerCase()]}class ca{constructor(t,e){this.Ap=oa(t),this.bp=oa(e)}static Cp(t,e){return!(!t||!e)&&void 0!==oa(t)&&void 0!==oa(e)}Dp(t){return t/this.Ap*this.bp}}const fa={Rp:1,Op:1,千克:1,Fp:1e3,g:1e3,克:1e3,Lp:.001,kp:.001,吨:.001,Pp:2.2046226218487757,_p:2.2046226218487757,Zw:2.2046226218487757,Vp:2.2046226218487757,磅:2.2046226218487757,英磅:2.2046226218487757,Bp:5e7/317514659,Hp:5e7/317514659,石:5e7/317514659,Up:35.27396194958041,Gp:35.27396194958041,盎司:35.27396194958041,Xp:.01,英担:.01,"short ton":5e4/45359237,"net ton":5e4/45359237,"us ton":5e4/45359237,短吨:5e4/45359237,美吨:5e4/45359237,"long ton":312500/317514659,"weight ton":312500/317514659,"gross ton":312500/317514659,"imperial ton":312500/317514659,长吨:312500/317514659,英吨:312500/317514659,qp:1e6,毫克:1e6,斤:2,两:20};function da(t){return fa[t.toLowerCase()]}class wa{constructor(t,e){this.Ap=da(t),this.bp=da(e)}static Cp(t,e){return!(!t||!e)&&void 0!==da(t)&&void 0!==da(e)}Dp(t){return t/this.Ap*this.bp}}const ga={"m²":1,jp:1,"square metre":1,"square meter":1,Jp:1,平方米:1,平方公尺:1,"km²":1e-6,$p:1e-6,"square kilometre":1e-6,"square kilometer":1e-6,平方千米:1e-6,"dm²":100,Wp:100,"square decimetre":100,"square decimeter":100,平方分米:100,"cm²":1e4,Yp:1e4,"square centimetre":1e4,"square centimeter":1e4,平方厘米:1e4,"mm²":1e6,Kp:1e6,"square millimetre":1e6,"square millimeter":1e6,平方毫米:1e6,"ft²":1/.3048/.3048,zp:1/.3048/.3048,"square foot":1/.3048/.3048,"square feet":1/.3048/.3048,"sq ft":1/.3048/.3048,平方英尺:1/.3048/.3048,"yd²":1/.9144/.9144,Qp:1/.9144/.9144,"sq yd":1/.9144/.9144,"square yard":1/.9144/.9144,平方码:1/.9144/.9144,a:.01,Zp:.01,tm:1e-4,rm:1e-4,公顷:1e-4,"in²":1/64516e-8,in2:1/64516e-8,"sq in":1/64516e-8,"square inch":1/64516e-8,平方英寸:1/64516e-8,"mi²":1/2589988.110336,sm:1/2589988.110336,"sq mi":1/2589988.110336,"square mile":1/2589988.110336,平方英里:1/2589988.110336,亩:.0015};function pa(t){return ga[t.toLowerCase()]}class ma{constructor(t,e){this.Ap=pa(t),this.bp=pa(e)}static Cp(t,e){return!(!t||!e)&&void 0!==pa(t)&&void 0!==pa(e)}Dp(t){return t/this.Ap*this.bp}}const va={nm:1,Jw:1,im:1,um:1,lm:1,"dm³":1,hm:1,"cubic decimetre":1,"cubic decimeter":1,升:1,立方分米:1,"m³":.001,am:.001,"cubic metre":.001,"cubic meter":.001,立方米:.001,"km³":1e-12,om:1e-12,"cubic kilometre":1e-12,"cubic kilometer":1e-12,立方千米:1e-12,"cm³":1e3,fm:1e3,"cubic centimetre":1e3,"cubic centimeter":1e3,立方厘米:1e3,毫升:1e3,dm:1e3,"mm³":1e6,wm:1e6,"cubic millimetre":1e6,"cubic millimeter":1e6,立方毫米:1e6,"ft³":1/28.316846592,gm:1/28.316846592,"cubic foot":1/28.316846592,"cubic feet":1/28.316846592,立方英尺:1/28.316846592,"cu ft":1/28.316846592,"in³":61.02374409473229,pm:61.02374409473229,"cubic in":61.02374409473229,"cubic inch":61.02374409473229,立方英寸:61.02374409473229,"imperial pint":8e5/454609,"imperial pt":8e5/454609,"imperial p":8e5/454609,"imperial gallon":1e5/454609,"imperial gal":1e5/454609,"imperial quart":4e5/454609,"imperial qt":4e5/454609,"us pint":2.113376418865187,"us pt":2.113376418865187,"us p":2.113376418865187,"us gallon":.2641720523581484,"us gal":.2641720523581484,"us quart":1.0566882094325936,"us qt":1.0566882094325936};function Na(t){return va[t.toLowerCase()]}class xa{constructor(t,e){this.Ap=Na(t),this.bp=Na(e)}static Cp(t,e){return!(!t||!e)&&void 0!==Na(t)&&void 0!==Na(e)}Dp(t){return t/this.Ap*this.bp}}class Ma{static vm=null;static IsParameter(t){if(!t||""===t.trim())return!1;try{let e=this.Nm(t);if(e.Functions&&e.Functions.length>0)return!1;if(e.Parameters&&1===e.Parameters.length)return e.Parameters[0].Name===t}catch(t){}return!1}static Nm(t){if(!t||""===t.trim())throw new Error("Parameter exp invalid !");let e=new Gr,r=new ea(t),s=new mr(r,null,e);s.Fr(),s.Rr(e);let n=new at(s),i=new Mr(n,null,e);i.Fr(),i.Rr(e);let u=i.nc();if(e.IsError)throw new Error(e.ErrorMsg);let l=new na;return l.ya(u),l.tp}static UnitConversion(t,e,r,s=null){if(!(e&&r&&e.trim()&&r.trim()))return t;if(e===r)return t;this.vm||(this.vm=/[\s \(\)()\[\]<>]/g);let n=this.xm(t,e,r);if(null!=n)return n;if(e=e.replace(this.vm,""),r=r.replace(this.vm,""),n=this.xm(t,e,r),null!=n)return n;if(!s)throw new Error(`The input item has different units and cannot be converted from [${e}] to [${r}]`);throw new Error(`The input item [${s}] has different units and cannot be converted from [${e}] to [${r}]`)}static xm(t,e,r){return ca.Cp(e,r)?new ca(e,r).Dp(t):wa.Cp(e,r)?new wa(e,r).Dp(t):ma.Cp(e,r)?new ma(e,r).Dp(t):xa.Cp(e,r)?new xa(e,r).Dp(t):null}static ParseFormula(t,e){if(!t||""===t.trim())throw new Error("Parameter exp invalid !");let r=new Gr,s=new ea(t),n=new mr(s,null,r);n.Fr(),n.Rr(r);let i=new at(n),u=new Mr(i,null,r);if(u.Fr(),u.Rr(r),e){u.Rr(e);let t=u.nc();return(new Zh).ya(t)}let l=u.nc();if(r.IsError)throw new Error(r.ErrorMsg);return(new Zh).ya(l)}static CheckFormula(t){if(!t||""===t.trim())return!1;let e=new Gr,r=new ea(t),s=new mr(r,null,e);s.Fr(),s.Rr(e);let n=new at(s),i=new Mr(n,null,e);return i.Fr(),i.Rr(e),i.nc(),!e.IsError}static ParseCondition(t){let e={Type:null,ErrorMessage:null};if(!t||""===t.trim())return e.Type=i.Error,e.ErrorMessage="condition is null",e;try{let r=new Gr,s=new ea(t),n=new mr(s,null,r);n.Fr(),n.Rr(r);let u=new at(n),l=new Mr(u,null,r);l.Fr(),l.Rr(r);let h=l.nc();if(r.IsError)return e.Type=i.Error,e.ErrorMessage=r.ErrorMsg,e;let a=new ua;return a.Source=t,a.ya(h)}catch(t){e.Type=i.Error,e.ErrorMessage=t.message}return e}static Condition_And(t,e){return new is(t,e)}static Condition_Or(t,e){return new us(t,e)}static ParseCalculate(t){let e={Type:null,ErrorMessage:null};if(!t||""===t.trim())return e.Type=n.Error,e.ErrorMessage="exp is null",e;try{let r=new Gr,s=new ea(t),i=new mr(s,null,r);i.Fr(),i.Rr(r);let u=new at(i),l=new Mr(u,null,r);l.Fr(),l.Rr(r);let h=l.nc();if(r.IsError)return e.Type=n.Error,e.ErrorMessage=r.ErrorMsg,e;let a=new ha;return a.Source=t,a.ya(h)}catch(t){e.Type=n.Error,e.ErrorMessage=t.message}return e}static Calculate_Add(t,e){return new Kr(t,e)}static Calculate_Subtract(t,e){return new zr(t,e)}static Calculate_Multiply(t,e){return new $r(t,e)}static Calculate_Divide(t,e){return new Wr(t,e)}static Calculate_Mod(t,e){return new Yr(t,e)}static Calculate_Connect(t,e){return new Qr(t,e)}}"undefined"!=typeof window&&(window.AlgorithmEngineHelper=Ma);class Ea{Mm(t){throw new Error("IFunctionCache.GetDiyNamesWithCache() 未实现")}ParseWithCache(t){throw new Error("IFunctionCache.ParseWithCache() 未实现")}ParseConditionWithCache(t){throw new Error("IFunctionCache.ParseConditionWithCache() 未实现")}}"undefined"!=typeof window&&(window.IFunctionCache=Ea);class Ta extends Ea{constructor(){super(),this.Em=new Map,this.Tm=new Map,this.Sm=new Map}Mm(t){let e=this.Sm.get(t);if(null!=e)return e;const r=Ma.Nm(t);return this.Sm.set(t,r),r}ParseWithCache(t){let e=this.Em.get(t);if(null!=e)return e;const r=Ma.ParseCalculate(t),s=this.CreateCalculate(r,t);return this.Em.set(t,s),s}CreateCalculate(t,e){if(t.Type===n.String){const r=e.substring(t.start,t.end+1);if(this.Em.has(r))return this.Em.get(r);const s=Ma.ParseFormula(r);return this.Em.set(r,s),s}if(t.Type===n.Error)throw new Error(t.ErrorMessage);const r=this.CreateCalculate(t.ip[0],e),s=this.CreateCalculate(t.ip[1],e);return this.CombineCalculate(r,t.Type,s)}CombineCalculate(t,e,r){const s=[t,r];switch(e){case n.Add:return new Kr(s);case n.Sub:return new zr(s);case n.Mul:return new $r(s);case n.Div:return new Wr(s);case n.Mod:return new Yr(s);case n.Connect:return new Qr(s);case n.And:return new is(s);case n.Or:return new us(s);case n.OpGt:return new rs(s);case n.OpLt:return new ts(s);case n.OpGe:return new ss(s);case n.OpLe:return new es(s);case n.OpEq:return new Zr(s);case n.OpNe:default:return new ns(s)}}ParseConditionWithCache(t){let e=this.Tm.get(t);if(null!=e)return e;const r=Ma.ParseCondition(t),s=this.CreateCondition(r,t);return this.Tm.set(t,s),s}CreateCondition(t,e){if(t.Type===i.String)return this.ParseWithCache(e.substring(t.start,t.end+1));if(t.Type===i.Error)throw new Error(t.ErrorMessage);const r=this.CreateCondition(t.ip[0],e),s=this.CreateCondition(t.ip[1],e);if(t.Type===i.And)return Ma.Condition_And(r,s);if(t.Type===i.Or)return Ma.Condition_Or(r,s);throw new Error(t.ErrorMessage)}}"undefined"!=typeof window&&(window.FunctionCache=Ta);const Sa={Scene:"Scene",InitValue:"InitValue",Condition:"Condition",Im:"SetFormula",ym:"SetValue",Error:"Error",BlankLine:"BlankLine"};class Ia{constructor(t={}){this.LogicType=t.LogicType??null,this.Layer=t.Layer??0,this.Name=t.Name??null,this.Exp=t.Exp??null,this.Exp2=t.Exp2??null,this.Remark=t.Remark??null,this.Value=t.Value??null}ToInfoString(){const t=null===this.Remark||""===this.Remark?"":" // "+this.Remark,e=" ".repeat(3*Math.min(Math.max(0,this.Layer),1e3));switch(this.LogicType){case Sa.BlankLine:return"";case Sa.Scene:return"===== "+this.Name+" =====";case Sa.InitValue:return this.Name+"="+this.Exp+";";case Sa.Condition:return this.Value.IsError?"[条件][错误] "+e+"if "+this.Exp+": // "+this.Exp2+" = "+this.Value.ErrorMsg+t:this.Value.BooleanValue?"[成功] "+e+"if "+this.Exp+": // "+this.Exp2+t:"[失败] "+e+"if "+this.Exp+": // "+this.Exp2+t;case Sa.Im:return this.Value.IsError?"[赋值][错误] "+e+this.Name+" = "+this.Exp+" = "+this.Exp2+" // "+this.Value.ErrorMsg+t:"[赋值] "+e+this.Name+" = "+this.Exp+" = "+this.Exp2+" = "+this.Value.ToText(null).TextValue+t;case Sa.ym:return"[赋值] "+e+this.Name+" = "+this.Exp+t;case Sa.Error:return"[错误] "+e+this.Exp}return"[错误]: "+e+this.Name+this.Exp+t}}class ya{constructor(t,e=!0){this.Am=t,this.bm=e,this.Cm=[],this.Dm=[],this.Rm=new sa}Om(t){this.bm&&this.Dm.push(new Ia({LogicType:Sa.Scene,Name:t}))}InitValue(t,e,r=0,s=null){"string"==typeof r&&(s=r,r=0),e instanceof Date&&(e=new P(e)),this.Rm.AddParameter(t,e),this.bm&&this.Cm.push(new Ia({LogicType:Sa.InitValue,Name:t,Exp:this.Fm(e),Layer:r,Remark:s}))}CheckCondition(t,e=0,r=null){"string"==typeof e&&(r=e,e=0);const s=this.Am.ParseWithCache(t);let n=this.Rm.Evaluate(s);if(n=n.ToBoolean("The condition must be a boolean value!"),n.IsError){if(this.bm){const s=this.Lm(t);this.Dm.push(new Ia({LogicType:Sa.Condition,Exp:t,Exp2:s,Value:n,Layer:e,Remark:r}))}throw new Error(n.ErrorMsg)}if(this.bm){const s=this.Lm(t);this.Dm.push(new Ia({LogicType:Sa.Condition,Exp:t,Exp2:s,Value:n,Layer:e,Remark:r}))}return n.BooleanValue}Im(t,e,r=0,s=null){"string"==typeof r&&(s=r,r=0);const n=this.Am.ParseWithCache(e),i=this.Rm.Evaluate(n);if(i.IsError){if(this.bm){const n=this.Lm(e);this.Dm.push(new Ia({LogicType:Sa.Im,Name:t,Exp:e,Exp2:n,Value:i,Layer:r,Remark:s}))}throw new Error(i.ErrorMsg)}if(this.Rm.AddParameter(t,i),this.bm){const n=this.Lm(e);this.Dm.push(new Ia({LogicType:Sa.Im,Name:t,Exp:e,Exp2:n,Value:i,Layer:r,Remark:s}))}}ym(t,e,r=0,s=null){"string"==typeof r&&(s=r,r=0),e instanceof Date&&(e=new P(e)),this.Rm.AddParameter(t,e),this.bm&&this.Dm.push(new Ia({LogicType:Sa.ym,Name:t,Exp:this.km(e),Layer:r,Remark:s}))}Lm(t){let e=0,r="";const s=this.Am.Mm(t).Parameters||[];for(let n=0;n<s.length;n++){const i=s[n];e<i.Start&&(r+=t.substring(e,i.Start)),r+=this.Pm(this.Rm,i.Name),e=i.End+1}return e<t.length&&(r+=t.substring(e)),r}Pm(t,e){const r=t.Pg(e);return r.IsError?'error("'+r.ErrorMsg.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'")':r.Type===h.TEXT?r.toString():r.ToText(null).TextValue}Fm(t){return"string"==typeof t?t:"boolean"==typeof t?t?"True":"False":t instanceof P?'"'+t.toString()+'"':String(t)}km(t){return"string"==typeof t?'"'+t.replace(/"/g,'\\"')+'"':"boolean"==typeof t?t?"True":"False":t instanceof P?'"'+t.toString()+'"':String(t)}_m(t){return this.Rm.Pg(t)}BlankLine(){this.bm&&this.Dm.push(new Ia({LogicType:Sa.BlankLine}))}ToInfoString(){if(this.bm){let t="";if(this.Cm.length>0){t+="[初始] ";for(const e of this.Cm)t+=e.ToInfoString();t+="\n"}for(const e of this.Dm)t+=e.ToInfoString()+"\n";return t}return""}}"undefined"!=typeof window&&(window.CalculationLogicEngine=ya);const Aa={AlgorithmEngine:ra,AlgorithmEngineEx:sa,AlgorithmEngineHelper:Ma,FunctionCache:Ta,IFunctionCache:Ea,Operand:_,CalculationLogicEngine:ya,CalculationLogicInfo:Ia,CalculationLogicType:Sa,Enums:t};"undefined"!=typeof window&&(window.ToolGood=window.ToolGood||{},window.ToolGood.Algorithm={AlgorithmEngine:ra,AlgorithmEngineEx:sa,AlgorithmEngineHelper:Ma,FunctionCache:Ta,IFunctionCache:Ea,Operand:_,CalculationLogicEngine:ya,CalculationLogicInfo:Ia,CalculationLogicType:Sa,Enums:t})})(),s=s.default,s})());