/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ var f9=Object.create;var N1=Object.defineProperty;var h9=Object.getOwnPropertyDescriptor;var d9=Object.getOwnPropertyNames;var g9=Object.getPrototypeOf,p9=Object.prototype.hasOwnProperty;var we=(s,r)=>()=>(r||s((r={exports:{}}).exports,r),r.exports),m9=(s,r)=>{for(var l in r)N1(s,l,{get:r[l],enumerable:!0})},vl=(s,r,l,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let d of d9(r))!p9.call(s,d)&&d!==l&&N1(s,d,{get:()=>r[d],enumerable:!(c=h9(r,d))||c.enumerable});return s};var L1=(s,r,l)=>(l=s!=null?f9(g9(s)):{},vl(r||!s||!s.__esModule?N1(l,"default",{value:s,enumerable:!0}):l,s)),w9=s=>vl(N1({},"__esModule",{value:!0}),s);var P1=we(S1=>{"use strict";Object.defineProperty(S1,"__esModule",{value:!0});S1.Point=void 0;var s3=class{constructor(r,l){this.row=r,this.column=l}equals(r){return this.row===r.row&&this.column===r.column}};S1.Point=s3});var W1=we(I1=>{"use strict";Object.defineProperty(I1,"__esModule",{value:!0});I1.Range=void 0;var l3=class{constructor(r,l){this.start=r,this.end=l}};I1.Range=l3});var D1=we(M1=>{"use strict";Object.defineProperty(M1,"__esModule",{value:!0});M1.Focus=void 0;var u3=class s{constructor(r,l,c){this.row=r,this.column=l,this.offset=c}posEquals(r){return this.row===r.row&&this.column===r.column}setRow(r){return new s(r,this.column,this.offset)}setColumn(r){return new s(this.row,r,this.offset)}setOffset(r){return new s(this.row,this.column,r)}};M1.Focus=u3});var Ai=we(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.HeaderAlignment=kn.DefaultAlignment=kn.Alignment=void 0;var El;(function(s){s.NONE="none",s.LEFT="left",s.RIGHT="right",s.CENTER="center"})(El||(kn.Alignment=El={}));var Al;(function(s){s.LEFT="left",s.RIGHT="right",s.CENTER="center"})(Al||(kn.DefaultAlignment=Al={}));var Tl;(function(s){s.FOLLOW="follow",s.LEFT="left",s.RIGHT="right",s.CENTER="center"})(Tl||(kn.HeaderAlignment=Tl={}))});var Mr=we(k1=>{"use strict";Object.defineProperty(k1,"__esModule",{value:!0});k1.TableCell=void 0;var F1=Ai(),a3=class{constructor(r){this.rawContent=r,this.content=r.trim(),this.paddingLeft=this.content===""?this.rawContent===""?0:1:this.rawContent.length-this.rawContent.trimLeft().length,this.paddingRight=this.rawContent.length-this.content.length-this.paddingLeft}toText(){return this.rawContent}isDelimiter(){return/^\s*:?-+:?\s*$/.test(this.rawContent)}getAlignment(){if(this.isDelimiter())return this.content[0]===":"?this.content[this.content.length-1]===":"?F1.Alignment.CENTER:F1.Alignment.LEFT:this.content[this.content.length-1]===":"?F1.Alignment.RIGHT:F1.Alignment.NONE}computeContentOffset(r){return this.content===""||r{"use strict";Object.defineProperty(U1,"__esModule",{value:!0});U1.TableRow=void 0;var C9=Mr(),c3=class s{constructor(r,l,c){this._cells=r.slice(),this.marginLeft=l,this.marginRight=c}getWidth(){return this._cells.length}getCells(){return this._cells.slice()}getCellAt(r){return this._cells[r]}setCellAt(r,l){let c=this.getCells();return c[r]=new C9.TableCell(l),new s(c,this.marginLeft,this.marginRight)}toText(){if(this._cells.length===0)return this.marginLeft;let r=this._cells.map(l=>l.toText()).join("|");return`${this.marginLeft}|${r}|${this.marginRight}`}isDelimiter(){return this._cells.every(r=>r.isDelimiter())}};U1.TableRow=c3});var Qt=we(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.Err=ut.Ok=ut.err=ut.ok=void 0;var v9=s=>new q1(s);ut.ok=v9;var _9=s=>new H1(s);ut.err=_9;var q1=class{constructor(r){this.value=r,this.match=(l,c)=>l(this.value)}isOk(){return!0}isErr(){return!this.isOk()}map(r){return(0,ut.ok)(r(this.value))}mapErr(r){return(0,ut.ok)(this.value)}andThen(r){return r(this.value)}unwrapOr(r){return this.value}_unsafeUnwrap(){return this.value}_unsafeUnwrapErr(){throw new Error("Called `_unsafeUnwrapErr` on an Ok")}};ut.Ok=q1;var H1=class{constructor(r){this.error=r,this.match=(l,c)=>c(this.error)}isOk(){return!1}isErr(){return!this.isOk()}map(r){return(0,ut.err)(this.error)}mapErr(r){return(0,ut.err)(r(this.error))}andThen(r){return(0,ut.err)(this.error)}unwrapOr(r){return r}_unsafeUnwrap(){throw new Error("Called `_unsafeUnwrap` on an Err")}_unsafeUnwrapErr(){return this.error}};ut.Err=H1});var $t=we(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.prettyPrintAST=St.checkChildLength=St.checkType=St.errRelativeReferenceIndex=St.errIndex0=void 0;St.errIndex0=new Error("Index 0 used to create a reference");St.errRelativeReferenceIndex=new Error("Can not use relative reference where absolute reference is required");var b9=(s,...r)=>{if(!(r.indexOf(s.type)>=0))return new Error(`Formula element '${s.text}' is a ${s.type} but expected one of ${r} in this position.`)};St.checkType=b9;var E9=(s,r)=>{if(s.children.length!==r)return new Error(`Formula element '${s.text}' was expected to have ${r} elements, but had ${s.children.length}`)};St.checkChildLength=E9;var A9=(s,r=0)=>{console.log(" ".repeat(r)+`|-${s.type}${s.children.length===0?"="+s.text:""}`),s.children&&s.children.forEach(l=>{(0,St.prettyPrintAST)(l,r+1)})};St.prettyPrintAST=A9});var f3=we((Rl,B1)=>{(function(s){"use strict";var r=9e15,l=1e9,c="0123456789abcdef",d="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",C="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",_={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-r,maxE:r,crypto:!1},w,A,P,y,S=!0,V="[DecimalError] ",M=V+"Invalid argument: ",J=V+"Precision limit exceeded",ie=V+"crypto unavailable",fe="[object Decimal]",k=Math.floor,B=Math.pow,U=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,K=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,te=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Y=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Q=1e7,G=7,Ce=9007199254740991,Pe=d.length-1,it=C.length-1,z={toStringTag:fe};z.absoluteValue=z.abs=function(){var o=new this.constructor(this);return o.s<0&&(o.s=1),ee(o)},z.ceil=function(){return ee(new this.constructor(this),this.e+1,2)},z.clampedTo=z.clamp=function(o,u){var a,f=this,g=f.constructor;if(o=new g(o),u=new g(u),!o.s||!u.s)return new g(NaN);if(o.gt(u))throw Error(M+u);return a=f.cmp(o),a<0?o:f.cmp(u)>0?u:new g(f)},z.comparedTo=z.cmp=function(o){var u,a,f,g,p=this,E=p.d,T=(o=new p.constructor(o)).d,L=p.s,x=o.s;if(!E||!T)return!L||!x?NaN:L!==x?L:E===T?0:!E^L<0?1:-1;if(!E[0]||!T[0])return E[0]?L:T[0]?-x:0;if(L!==x)return L;if(p.e!==o.e)return p.e>o.e^L<0?1:-1;for(f=E.length,g=T.length,u=0,a=fT[u]^L<0?1:-1;return f===g?0:f>g^L<0?1:-1},z.cosine=z.cos=function(){var o,u,a=this,f=a.constructor;return a.d?a.d[0]?(o=f.precision,u=f.rounding,f.precision=o+Math.max(a.e,a.sd())+G,f.rounding=1,a=nn(f,Yr(f,a)),f.precision=o,f.rounding=u,ee(y==2||y==3?a.neg():a,o,u,!0)):new f(1):new f(NaN)},z.cubeRoot=z.cbrt=function(){var o,u,a,f,g,p,E,T,L,x,I=this,D=I.constructor;if(!I.isFinite()||I.isZero())return new D(I);for(S=!1,p=I.s*B(I.s*I,1/3),!p||Math.abs(p)==1/0?(a=Ne(I.d),o=I.e,(p=(o-a.length+1)%3)&&(a+=p==1||p==-2?"0":"00"),p=B(a,1/3),o=k((o+1)/3)-(o%3==(o<0?-1:2)),p==1/0?a="5e"+o:(a=p.toExponential(),a=a.slice(0,a.indexOf("e")+1)+o),f=new D(a),f.s=I.s):f=new D(p.toString()),E=(o=D.precision)+3;;)if(T=f,L=T.times(T).times(T),x=L.plus(I),f=xe(x.plus(I).times(T),x.plus(L),E+2,1),Ne(T.d).slice(0,E)===(a=Ne(f.d)).slice(0,E))if(a=a.slice(E-3,E+1),a=="9999"||!g&&a=="4999"){if(!g&&(ee(T,o+1,0),T.times(T).times(T).eq(I))){f=T;break}E+=4,g=1}else{(!+a||!+a.slice(1)&&a.charAt(0)=="5")&&(ee(f,o+1,1),u=!f.times(f).times(f).eq(I));break}return S=!0,ee(f,o,D.rounding,u)},z.decimalPlaces=z.dp=function(){var o,u=this.d,a=NaN;if(u){if(o=u.length-1,a=(o-k(this.e/G))*G,o=u[o],o)for(;o%10==0;o/=10)a--;a<0&&(a=0)}return a},z.dividedBy=z.div=function(o){return xe(this,new this.constructor(o))},z.dividedToIntegerBy=z.divToInt=function(o){var u=this,a=u.constructor;return ee(xe(u,new a(o),0,1,1),a.precision,a.rounding)},z.equals=z.eq=function(o){return this.cmp(o)===0},z.floor=function(){return ee(new this.constructor(this),this.e+1,3)},z.greaterThan=z.gt=function(o){return this.cmp(o)>0},z.greaterThanOrEqualTo=z.gte=function(o){var u=this.cmp(o);return u==1||u===0},z.hyperbolicCosine=z.cosh=function(){var o,u,a,f,g,p=this,E=p.constructor,T=new E(1);if(!p.isFinite())return new E(p.s?1/0:NaN);if(p.isZero())return T;a=E.precision,f=E.rounding,E.precision=a+Math.max(p.e,p.sd())+4,E.rounding=1,g=p.d.length,g<32?(o=Math.ceil(g/3),u=(1/ct(4,o)).toString()):(o=16,u="2.3283064365386962890625e-10"),p=An(E,1,p.times(u),new E(1),!0);for(var L,x=o,I=new E(8);x--;)L=p.times(p),p=T.minus(L.times(I.minus(L.times(I))));return ee(p,E.precision=a,E.rounding=f,!0)},z.hyperbolicSine=z.sinh=function(){var o,u,a,f,g=this,p=g.constructor;if(!g.isFinite()||g.isZero())return new p(g);if(u=p.precision,a=p.rounding,p.precision=u+Math.max(g.e,g.sd())+4,p.rounding=1,f=g.d.length,f<3)g=An(p,2,g,g,!0);else{o=1.4*Math.sqrt(f),o=o>16?16:o|0,g=g.times(1/ct(5,o)),g=An(p,2,g,g,!0);for(var E,T=new p(5),L=new p(16),x=new p(20);o--;)E=g.times(g),g=g.times(T.plus(E.times(L.times(E).plus(x))))}return p.precision=u,p.rounding=a,ee(g,u,a,!0)},z.hyperbolicTangent=z.tanh=function(){var o,u,a=this,f=a.constructor;return a.isFinite()?a.isZero()?new f(a):(o=f.precision,u=f.rounding,f.precision=o+7,f.rounding=1,xe(a.sinh(),a.cosh(),f.precision=o,f.rounding=u)):new f(a.s)},z.inverseCosine=z.acos=function(){var o,u=this,a=u.constructor,f=u.abs().cmp(1),g=a.precision,p=a.rounding;return f!==-1?f===0?u.isNeg()?Ct(a,g,p):new a(0):new a(NaN):u.isZero()?Ct(a,g+4,p).times(.5):(a.precision=g+6,a.rounding=1,u=u.asin(),o=Ct(a,g+4,p).times(.5),a.precision=g,a.rounding=p,o.minus(u))},z.inverseHyperbolicCosine=z.acosh=function(){var o,u,a=this,f=a.constructor;return a.lte(1)?new f(a.eq(1)?0:NaN):a.isFinite()?(o=f.precision,u=f.rounding,f.precision=o+Math.max(Math.abs(a.e),a.sd())+4,f.rounding=1,S=!1,a=a.times(a).minus(1).sqrt().plus(a),S=!0,f.precision=o,f.rounding=u,a.ln()):new f(a)},z.inverseHyperbolicSine=z.asinh=function(){var o,u,a=this,f=a.constructor;return!a.isFinite()||a.isZero()?new f(a):(o=f.precision,u=f.rounding,f.precision=o+2*Math.max(Math.abs(a.e),a.sd())+6,f.rounding=1,S=!1,a=a.times(a).plus(1).sqrt().plus(a),S=!0,f.precision=o,f.rounding=u,a.ln())},z.inverseHyperbolicTangent=z.atanh=function(){var o,u,a,f,g=this,p=g.constructor;return g.isFinite()?g.e>=0?new p(g.abs().eq(1)?g.s/0:g.isZero()?g:NaN):(o=p.precision,u=p.rounding,f=g.sd(),Math.max(f,o)<2*-g.e-1?ee(new p(g),o,u,!0):(p.precision=a=f-g.e,g=xe(g.plus(1),new p(1).minus(g),a+o,1),p.precision=o+4,p.rounding=1,g=g.ln(),p.precision=o,p.rounding=u,g.times(.5))):new p(NaN)},z.inverseSine=z.asin=function(){var o,u,a,f,g=this,p=g.constructor;return g.isZero()?new p(g):(u=g.abs().cmp(1),a=p.precision,f=p.rounding,u!==-1?u===0?(o=Ct(p,a+4,f).times(.5),o.s=g.s,o):new p(NaN):(p.precision=a+6,p.rounding=1,g=g.div(new p(1).minus(g.times(g)).sqrt().plus(1)).atan(),p.precision=a,p.rounding=f,g.times(2)))},z.inverseTangent=z.atan=function(){var o,u,a,f,g,p,E,T,L,x=this,I=x.constructor,D=I.precision,$=I.rounding;if(x.isFinite()){if(x.isZero())return new I(x);if(x.abs().eq(1)&&D+4<=it)return E=Ct(I,D+4,$).times(.25),E.s=x.s,E}else{if(!x.s)return new I(NaN);if(D+4<=it)return E=Ct(I,D+4,$).times(.5),E.s=x.s,E}for(I.precision=T=D+10,I.rounding=1,a=Math.min(28,T/G+2|0),o=a;o;--o)x=x.div(x.times(x).plus(1).sqrt().plus(1));for(S=!1,u=Math.ceil(T/G),f=1,L=x.times(x),E=new I(x),g=x;o!==-1;)if(g=g.times(L),p=E.minus(g.div(f+=2)),g=g.times(L),E=p.plus(g.div(f+=2)),E.d[u]!==void 0)for(o=u;E.d[o]===p.d[o]&&o--;);return a&&(E=E.times(2<this.d.length-2},z.isNaN=function(){return!this.s},z.isNegative=z.isNeg=function(){return this.s<0},z.isPositive=z.isPos=function(){return this.s>0},z.isZero=function(){return!!this.d&&this.d[0]===0},z.lessThan=z.lt=function(o){return this.cmp(o)<0},z.lessThanOrEqualTo=z.lte=function(o){return this.cmp(o)<1},z.logarithm=z.log=function(o){var u,a,f,g,p,E,T,L,x=this,I=x.constructor,D=I.precision,$=I.rounding,oe=5;if(o==null)o=new I(10),u=!0;else{if(o=new I(o),a=o.d,o.s<0||!a||!a[0]||o.eq(1))return new I(NaN);u=o.eq(10)}if(a=x.d,x.s<0||!a||!a[0]||x.eq(1))return new I(a&&!a[0]?-1/0:x.s!=1?NaN:a?0:1/0);if(u)if(a.length>1)p=!0;else{for(g=a[0];g%10===0;)g/=10;p=g!==1}if(S=!1,T=D+oe,E=_t(x,T),f=u?pr(I,T+10):_t(o,T),L=xe(E,f,T,1),Zn(L.d,g=D,$))do if(T+=10,E=_t(x,T),f=u?pr(I,T+10):_t(o,T),L=xe(E,f,T,1),!p){+Ne(L.d).slice(g+1,g+15)+1==1e14&&(L=ee(L,D+1,0));break}while(Zn(L.d,g+=10,$));return S=!0,ee(L,D,$)},z.minus=z.sub=function(o){var u,a,f,g,p,E,T,L,x,I,D,$,oe=this,_e=oe.constructor;if(o=new _e(o),!oe.d||!o.d)return!oe.s||!o.s?o=new _e(NaN):oe.d?o.s=-o.s:o=new _e(o.d||oe.s!==o.s?oe:NaN),o;if(oe.s!=o.s)return o.s=-o.s,oe.plus(o);if(x=oe.d,$=o.d,T=_e.precision,L=_e.rounding,!x[0]||!$[0]){if($[0])o.s=-o.s;else if(x[0])o=new _e(oe);else return new _e(L===3?-0:0);return S?ee(o,T,L):o}if(a=k(o.e/G),I=k(oe.e/G),x=x.slice(),p=I-a,p){for(D=p<0,D?(u=x,p=-p,E=$.length):(u=$,a=I,E=x.length),f=Math.max(Math.ceil(T/G),E)+2,p>f&&(p=f,u.length=1),u.reverse(),f=p;f--;)u.push(0);u.reverse()}else{for(f=x.length,E=$.length,D=f0;--f)x[E++]=0;for(f=$.length;f>p;){if(x[--f]<$[f]){for(g=f;g&&x[--g]===0;)x[g]=Q-1;--x[g],x[f]+=Q}x[f]-=$[f]}for(;x[--E]===0;)x.pop();for(;x[0]===0;x.shift())--a;return x[0]?(o.d=x,o.e=gr(x,a),S?ee(o,T,L):o):new _e(L===3?-0:0)},z.modulo=z.mod=function(o){var u,a=this,f=a.constructor;return o=new f(o),!a.d||!o.s||o.d&&!o.d[0]?new f(NaN):!o.d||a.d&&!a.d[0]?ee(new f(a),f.precision,f.rounding):(S=!1,f.modulo==9?(u=xe(a,o.abs(),0,3,1),u.s*=o.s):u=xe(a,o,0,f.modulo,1),u=u.times(o),S=!0,a.minus(u))},z.naturalExponential=z.exp=function(){return Kr(this)},z.naturalLogarithm=z.ln=function(){return _t(this)},z.negated=z.neg=function(){var o=new this.constructor(this);return o.s=-o.s,ee(o)},z.plus=z.add=function(o){var u,a,f,g,p,E,T,L,x,I,D=this,$=D.constructor;if(o=new $(o),!D.d||!o.d)return!D.s||!o.s?o=new $(NaN):D.d||(o=new $(o.d||D.s===o.s?D:NaN)),o;if(D.s!=o.s)return o.s=-o.s,D.minus(o);if(x=D.d,I=o.d,T=$.precision,L=$.rounding,!x[0]||!I[0])return I[0]||(o=new $(D)),S?ee(o,T,L):o;if(p=k(D.e/G),f=k(o.e/G),x=x.slice(),g=p-f,g){for(g<0?(a=x,g=-g,E=I.length):(a=I,f=p,E=x.length),p=Math.ceil(T/G),E=p>E?p+1:E+1,g>E&&(g=E,a.length=1),a.reverse();g--;)a.push(0);a.reverse()}for(E=x.length,g=I.length,E-g<0&&(g=E,a=I,I=x,x=a),u=0;g;)u=(x[--g]=x[g]+I[g]+u)/Q|0,x[g]%=Q;for(u&&(x.unshift(u),++f),E=x.length;x[--E]==0;)x.pop();return o.d=x,o.e=gr(x,f),S?ee(o,T,L):o},z.precision=z.sd=function(o){var u,a=this;if(o!==void 0&&o!==!!o&&o!==1&&o!==0)throw Error(M+o);return a.d?(u=cn(a.d),o&&a.e+1>u&&(u=a.e+1)):u=NaN,u},z.round=function(){var o=this,u=o.constructor;return ee(new u(o),o.e+1,u.rounding)},z.sine=z.sin=function(){var o,u,a=this,f=a.constructor;return a.isFinite()?a.isZero()?new f(a):(o=f.precision,u=f.rounding,f.precision=o+Math.max(a.e,a.sd())+G,f.rounding=1,a=Vn(f,Yr(f,a)),f.precision=o,f.rounding=u,ee(y>2?a.neg():a,o,u,!0)):new f(NaN)},z.squareRoot=z.sqrt=function(){var o,u,a,f,g,p,E=this,T=E.d,L=E.e,x=E.s,I=E.constructor;if(x!==1||!T||!T[0])return new I(!x||x<0&&(!T||T[0])?NaN:T?E:1/0);for(S=!1,x=Math.sqrt(+E),x==0||x==1/0?(u=Ne(T),(u.length+L)%2==0&&(u+="0"),x=Math.sqrt(u),L=k((L+1)/2)-(L<0||L%2),x==1/0?u="5e"+L:(u=x.toExponential(),u=u.slice(0,u.indexOf("e")+1)+L),f=new I(u)):f=new I(x.toString()),a=(L=I.precision)+3;;)if(p=f,f=p.plus(xe(E,p,a+2,1)).times(.5),Ne(p.d).slice(0,a)===(u=Ne(f.d)).slice(0,a))if(u=u.slice(a-3,a+1),u=="9999"||!g&&u=="4999"){if(!g&&(ee(p,L+1,0),p.times(p).eq(E))){f=p;break}a+=4,g=1}else{(!+u||!+u.slice(1)&&u.charAt(0)=="5")&&(ee(f,L+1,1),o=!f.times(f).eq(E));break}return S=!0,ee(f,L,I.rounding,o)},z.tangent=z.tan=function(){var o,u,a=this,f=a.constructor;return a.isFinite()?a.isZero()?new f(a):(o=f.precision,u=f.rounding,f.precision=o+10,f.rounding=1,a=a.sin(),a.s=1,a=xe(a,new f(1).minus(a.times(a)).sqrt(),o+10,0),f.precision=o,f.rounding=u,ee(y==2||y==4?a.neg():a,o,u,!0)):new f(NaN)},z.times=z.mul=function(o){var u,a,f,g,p,E,T,L,x,I=this,D=I.constructor,$=I.d,oe=(o=new D(o)).d;if(o.s*=I.s,!$||!$[0]||!oe||!oe[0])return new D(!o.s||$&&!$[0]&&!oe||oe&&!oe[0]&&!$?NaN:!$||!oe?o.s/0:o.s*0);for(a=k(I.e/G)+k(o.e/G),L=$.length,x=oe.length,L=0;){for(u=0,g=L+f;g>f;)T=p[g]+oe[f]*$[g-f-1]+u,p[g--]=T%Q|0,u=T/Q|0;p[g]=(p[g]+u)%Q|0}for(;!p[--E];)p.pop();return u?++a:p.shift(),o.d=p,o.e=gr(p,a),S?ee(o,D.precision,D.rounding):o},z.toBinary=function(o,u){return Jr(this,2,o,u)},z.toDecimalPlaces=z.toDP=function(o,u){var a=this,f=a.constructor;return a=new f(a),o===void 0?a:(et(o,0,l),u===void 0?u=f.rounding:et(u,0,8),ee(a,o+a.e+1,u))},z.toExponential=function(o,u){var a,f=this,g=f.constructor;return o===void 0?a=qe(f,!0):(et(o,0,l),u===void 0?u=g.rounding:et(u,0,8),f=ee(new g(f),o+1,u),a=qe(f,!0,o+1)),f.isNeg()&&!f.isZero()?"-"+a:a},z.toFixed=function(o,u){var a,f,g=this,p=g.constructor;return o===void 0?a=qe(g):(et(o,0,l),u===void 0?u=p.rounding:et(u,0,8),f=ee(new p(g),o+g.e+1,u),a=qe(f,!1,o+f.e+1)),g.isNeg()&&!g.isZero()?"-"+a:a},z.toFraction=function(o){var u,a,f,g,p,E,T,L,x,I,D,$,oe=this,_e=oe.d,ce=oe.constructor;if(!_e)return new ce(oe);if(x=a=new ce(1),f=L=new ce(0),u=new ce(f),p=u.e=cn(_e)-oe.e-1,E=p%G,u.d[0]=B(10,E<0?G+E:E),o==null)o=p>0?u:x;else{if(T=new ce(o),!T.isInt()||T.lt(x))throw Error(M+T);o=T.gt(u)?p>0?u:x:T}for(S=!1,T=new ce(Ne(_e)),I=ce.precision,ce.precision=p=_e.length*G*2;D=xe(T,u,0,1,1),g=a.plus(D.times(f)),g.cmp(o)!=1;)a=f,f=g,g=x,x=L.plus(D.times(g)),L=g,g=u,u=T.minus(D.times(g)),T=g;return g=xe(o.minus(a),f,0,1,1),L=L.plus(g.times(x)),a=a.plus(g.times(f)),L.s=x.s=oe.s,$=xe(x,f,p,1).minus(oe).abs().cmp(xe(L,a,p,1).minus(oe).abs())<1?[x,f]:[L,a],ce.precision=I,S=!0,$},z.toHexadecimal=z.toHex=function(o,u){return Jr(this,16,o,u)},z.toNearest=function(o,u){var a=this,f=a.constructor;if(a=new f(a),o==null){if(!a.d)return a;o=new f(1),u=f.rounding}else{if(o=new f(o),u===void 0?u=f.rounding:et(u,0,8),!a.d)return o.s?a:o;if(!o.d)return o.s&&(o.s=a.s),o}return o.d[0]?(S=!1,a=xe(a,o,0,u,1).times(o),S=!0,ee(a)):(o.s=a.s,a=o),a},z.toNumber=function(){return+this},z.toOctal=function(o,u){return Jr(this,8,o,u)},z.toPower=z.pow=function(o){var u,a,f,g,p,E,T=this,L=T.constructor,x=+(o=new L(o));if(!T.d||!o.d||!T.d[0]||!o.d[0])return new L(B(+T,x));if(T=new L(T),T.eq(1))return T;if(f=L.precision,p=L.rounding,o.eq(1))return ee(T,f,p);if(u=k(o.e/G),u>=o.d.length-1&&(a=x<0?-x:x)<=Ce)return g=qi(L,T,a,f),o.s<0?new L(1).div(g):ee(g,f,p);if(E=T.s,E<0){if(uL.maxE+1||u0?E/0:0):(S=!1,L.rounding=T.s=1,a=Math.min(12,(u+"").length),g=Kr(o.times(_t(T,f+a)),f),g.d&&(g=ee(g,f+5,1),Zn(g.d,f,p)&&(u=f+10,g=ee(Kr(o.times(_t(T,u+a)),u),u+5,1),+Ne(g.d).slice(f+1,f+15)+1==1e14&&(g=ee(g,f+1,0)))),g.s=E,S=!0,L.rounding=p,ee(g,f,p))},z.toPrecision=function(o,u){var a,f=this,g=f.constructor;return o===void 0?a=qe(f,f.e<=g.toExpNeg||f.e>=g.toExpPos):(et(o,1,l),u===void 0?u=g.rounding:et(u,0,8),f=ee(new g(f),o,u),a=qe(f,o<=f.e||f.e<=g.toExpNeg,o)),f.isNeg()&&!f.isZero()?"-"+a:a},z.toSignificantDigits=z.toSD=function(o,u){var a=this,f=a.constructor;return o===void 0?(o=f.precision,u=f.rounding):(et(o,1,l),u===void 0?u=f.rounding:et(u,0,8)),ee(new f(a),o,u)},z.toString=function(){var o=this,u=o.constructor,a=qe(o,o.e<=u.toExpNeg||o.e>=u.toExpPos);return o.isNeg()&&!o.isZero()?"-"+a:a},z.truncated=z.trunc=function(){return ee(new this.constructor(this),this.e+1,1)},z.valueOf=z.toJSON=function(){var o=this,u=o.constructor,a=qe(o,o.e<=u.toExpNeg||o.e>=u.toExpPos);return o.isNeg()?"-"+a:a};function Ne(o){var u,a,f,g=o.length-1,p="",E=o[0];if(g>0){for(p+=E,u=1;ua)throw Error(M+o)}function Zn(o,u,a,f){var g,p,E,T;for(p=o[0];p>=10;p/=10)--u;return--u<0?(u+=G,g=0):(g=Math.ceil((u+1)/G),u%=G),p=B(10,G-u),T=o[g]%p|0,f==null?u<3?(u==0?T=T/100|0:u==1&&(T=T/10|0),E=a<4&&T==99999||a>3&&T==49999||T==5e4||T==0):E=(a<4&&T+1==p||a>3&&T+1==p/2)&&(o[g+1]/p/100|0)==B(10,u-2)-1||(T==p/2||T==0)&&(o[g+1]/p/100|0)==0:u<4?(u==0?T=T/1e3|0:u==1?T=T/100|0:u==2&&(T=T/10|0),E=(f||a<4)&&T==9999||!f&&a>3&&T==4999):E=((f||a<4)&&T+1==p||!f&&a>3&&T+1==p/2)&&(o[g+1]/p/1e3|0)==B(10,u-3)-1,E}function Mt(o,u,a){for(var f,g=[0],p,E=0,T=o.length;Ea-1&&(g[f+1]===void 0&&(g[f+1]=0),g[f+1]+=g[f]/a|0,g[f]%=a)}return g.reverse()}function nn(o,u){var a,f,g;if(u.isZero())return u;f=u.d.length,f<32?(a=Math.ceil(f/3),g=(1/ct(4,a)).toString()):(a=16,g="2.3283064365386962890625e-10"),o.precision+=a,u=An(o,1,u.times(g),new o(1));for(var p=a;p--;){var E=u.times(u);u=E.times(E).minus(E).times(8).plus(1)}return o.precision-=a,u}var xe=(function(){function o(f,g,p){var E,T=0,L=f.length;for(f=f.slice();L--;)E=f[L]*g+T,f[L]=E%p|0,T=E/p|0;return T&&f.unshift(T),f}function u(f,g,p,E){var T,L;if(p!=E)L=p>E?1:-1;else for(T=L=0;Tg[T]?1:-1;break}return L}function a(f,g,p,E){for(var T=0;p--;)f[p]-=T,T=f[p]1;)f.shift()}return function(f,g,p,E,T,L){var x,I,D,$,oe,_e,ce,Ye,Me,At,ye,$e,Xn,Dt,Qn,vr,xn,yn,ft,_r,jn=f.constructor,br=f.s==g.s?1:-1,ze=f.d,Le=g.d;if(!ze||!ze[0]||!Le||!Le[0])return new jn(!f.s||!g.s||(ze?Le&&ze[0]==Le[0]:!Le)?NaN:ze&&ze[0]==0||!Le?br*0:br/0);for(L?(oe=1,I=f.e-g.e):(L=Q,oe=G,I=k(f.e/oe)-k(g.e/oe)),ft=Le.length,xn=ze.length,Me=new jn(br),At=Me.d=[],D=0;Le[D]==(ze[D]||0);D++);if(Le[D]>(ze[D]||0)&&I--,p==null?(Dt=p=jn.precision,E=jn.rounding):T?Dt=p+(f.e-g.e)+1:Dt=p,Dt<0)At.push(1),_e=!0;else{if(Dt=Dt/oe+2|0,D=0,ft==1){for($=0,Le=Le[0],Dt++;(D1&&(Le=o(Le,$,L),ze=o(ze,$,L),ft=Le.length,xn=ze.length),vr=ft,ye=ze.slice(0,ft),$e=ye.length;$e=L/2&&++yn;do $=0,x=u(Le,ye,ft,$e),x<0?(Xn=ye[0],ft!=$e&&(Xn=Xn*L+(ye[1]||0)),$=Xn/yn|0,$>1?($>=L&&($=L-1),ce=o(Le,$,L),Ye=ce.length,$e=ye.length,x=u(ce,ye,Ye,$e),x==1&&($--,a(ce,ft=10;$/=10)D++;Me.e=D+I*oe-1,ee(Me,T?p+Me.e+1:p,E,_e)}return Me}})();function ee(o,u,a,f){var g,p,E,T,L,x,I,D,$,oe=o.constructor;e:if(u!=null){if(D=o.d,!D)return o;for(g=1,T=D[0];T>=10;T/=10)g++;if(p=u-g,p<0)p+=G,E=u,I=D[$=0],L=I/B(10,g-E-1)%10|0;else if($=Math.ceil((p+1)/G),T=D.length,$>=T)if(f){for(;T++<=$;)D.push(0);I=L=0,g=1,p%=G,E=p-G+1}else break e;else{for(I=T=D[$],g=1;T>=10;T/=10)g++;p%=G,E=p-G+g,L=E<0?0:I/B(10,g-E-1)%10|0}if(f=f||u<0||D[$+1]!==void 0||(E<0?I:I%B(10,g-E-1)),x=a<4?(L||f)&&(a==0||a==(o.s<0?3:2)):L>5||L==5&&(a==4||f||a==6&&(p>0?E>0?I/B(10,g-E):0:D[$-1])%10&1||a==(o.s<0?8:7)),u<1||!D[0])return D.length=0,x?(u-=o.e+1,D[0]=B(10,(G-u%G)%G),o.e=-u||0):D[0]=o.e=0,o;if(p==0?(D.length=$,T=1,$--):(D.length=$+1,T=B(10,G-p),D[$]=E>0?(I/B(10,g-E)%B(10,E)|0)*T:0),x)for(;;)if($==0){for(p=1,E=D[0];E>=10;E/=10)p++;for(E=D[0]+=T,T=1;E>=10;E/=10)T++;p!=T&&(o.e++,D[0]==Q&&(D[0]=1));break}else{if(D[$]+=T,D[$]!=Q)break;D[$--]=0,T=1}for(p=D.length;D[--p]===0;)D.pop()}return S&&(o.e>oe.maxE?(o.d=null,o.e=NaN):o.e0?p=p.charAt(0)+"."+p.slice(1)+vt(f):E>1&&(p=p.charAt(0)+"."+p.slice(1)),p=p+(o.e<0?"e":"e+")+o.e):g<0?(p="0."+vt(-g-1)+p,a&&(f=a-E)>0&&(p+=vt(f))):g>=E?(p+=vt(g+1-E),a&&(f=a-g-1)>0&&(p=p+"."+vt(f))):((f=g+1)0&&(g+1===E&&(p+="."),p+=vt(f))),p}function gr(o,u){var a=o[0];for(u*=G;a>=10;a/=10)u++;return u}function pr(o,u,a){if(u>Pe)throw S=!0,a&&(o.precision=a),Error(J);return ee(new o(d),u,1,!0)}function Ct(o,u,a){if(u>it)throw Error(J);return ee(new o(C),u,a,!0)}function cn(o){var u=o.length-1,a=u*G+1;if(u=o[u],u){for(;u%10==0;u/=10)a--;for(u=o[0];u>=10;u/=10)a++}return a}function vt(o){for(var u="";o--;)u+="0";return u}function qi(o,u,a,f){var g,p=new o(1),E=Math.ceil(f/G+4);for(S=!1;;){if(a%2&&(p=p.times(u),Tn(p.d,E)&&(g=!0)),a=k(a/2),a===0){a=p.d.length-1,g&&p.d[a]===0&&++p.d[a];break}u=u.times(u),Tn(u.d,E)}return S=!0,p}function bn(o){return o.d[o.d.length-1]&1}function En(o,u,a){for(var f,g=new o(u[0]),p=0;++p17)return new $(o.d?o.d[0]?o.s<0?0:1/0:1:o.s?o.s<0?0:o:NaN);for(u==null?(S=!1,L=_e):L=u,T=new $(.03125);o.e>-2;)o=o.times(T),D+=5;for(f=Math.log(B(2,D))/Math.LN10*2+5|0,L+=f,a=p=E=new $(1),$.precision=L;;){if(p=ee(p.times(o),L,1),a=a.times(++I),T=E.plus(xe(p,a,L,1)),Ne(T.d).slice(0,L)===Ne(E.d).slice(0,L)){for(g=D;g--;)E=ee(E.times(E),L,1);if(u==null)if(x<3&&Zn(E.d,L-f,oe,x))$.precision=L+=10,a=p=T=new $(1),I=0,x++;else return ee(E,$.precision=_e,oe,S=!0);else return $.precision=_e,E}E=T}}function _t(o,u){var a,f,g,p,E,T,L,x,I,D,$,oe=1,_e=10,ce=o,Ye=ce.d,Me=ce.constructor,At=Me.rounding,ye=Me.precision;if(ce.s<0||!Ye||!Ye[0]||!ce.e&&Ye[0]==1&&Ye.length==1)return new Me(Ye&&!Ye[0]?-1/0:ce.s!=1?NaN:Ye?0:ce);if(u==null?(S=!1,I=ye):I=u,Me.precision=I+=_e,a=Ne(Ye),f=a.charAt(0),Math.abs(p=ce.e)<15e14){for(;f<7&&f!=1||f==1&&a.charAt(1)>3;)ce=ce.times(o),a=Ne(ce.d),f=a.charAt(0),oe++;p=ce.e,f>1?(ce=new Me("0."+a),p++):ce=new Me(f+"."+a.slice(1))}else return x=pr(Me,I+2,ye).times(p+""),ce=_t(new Me(f+"."+a.slice(1)),I-_e).plus(x),Me.precision=ye,u==null?ee(ce,ye,At,S=!0):ce;for(D=ce,L=E=ce=xe(ce.minus(1),ce.plus(1),I,1),$=ee(ce.times(ce),I,1),g=3;;){if(E=ee(E.times($),I,1),x=L.plus(xe(E,new Me(g),I,1)),Ne(x.d).slice(0,I)===Ne(L.d).slice(0,I))if(L=L.times(2),p!==0&&(L=L.plus(pr(Me,I+2,ye).times(p+""))),L=xe(L,new Me(oe),I,1),u==null)if(Zn(L.d,I-_e,At,T))Me.precision=I+=_e,x=E=ce=xe(D.minus(1),D.plus(1),I,1),$=ee(ce.times(ce),I,1),g=T=1;else return ee(L,Me.precision=ye,At,S=!0);else return Me.precision=ye,L;L=x,g+=2}}function Gn(o){return String(o.s*o.s/0)}function mr(o,u){var a,f,g;for((a=u.indexOf("."))>-1&&(u=u.replace(".","")),(f=u.search(/e/i))>0?(a<0&&(a=f),a+=+u.slice(f+1),u=u.substring(0,f)):a<0&&(a=u.length),f=0;u.charCodeAt(f)===48;f++);for(g=u.length;u.charCodeAt(g-1)===48;--g);if(u=u.slice(f,g),u){if(g-=f,o.e=a=a-f-1,o.d=[],f=(a+1)%G,a<0&&(f+=G),fo.constructor.maxE?(o.d=null,o.e=NaN):o.e-1){if(u=u.replace(/(\d)_(?=\d)/g,"$1"),Y.test(u))return mr(o,u)}else if(u==="Infinity"||u==="NaN")return+u||(o.s=NaN),o.e=NaN,o.d=null,o;if(K.test(u))a=16,u=u.toLowerCase();else if(U.test(u))a=2;else if(te.test(u))a=8;else throw Error(M+u);for(p=u.search(/p/i),p>0?(L=+u.slice(p+1),u=u.substring(2,p)):u=u.slice(2),p=u.indexOf("."),E=p>=0,f=o.constructor,E&&(u=u.replace(".",""),T=u.length,p=T-p,g=qi(f,new f(a),p,p*2)),x=Mt(u,a,Q),I=x.length-1,p=I;x[p]===0;--p)x.pop();return p<0?new f(o.s*0):(o.e=gr(x,I),o.d=x,S=!1,E&&(o=xe(o,g,T*4)),L&&(o=o.times(Math.abs(L)<54?B(2,L):w.pow(2,L))),S=!0,o)}function Vn(o,u){var a,f=u.d.length;if(f<3)return u.isZero()?u:An(o,2,u,u);a=1.4*Math.sqrt(f),a=a>16?16:a|0,u=u.times(1/ct(5,a)),u=An(o,2,u,u);for(var g,p=new o(5),E=new o(16),T=new o(20);a--;)g=u.times(u),u=u.times(p.plus(g.times(E.times(g).minus(T))));return u}function An(o,u,a,f,g){var p,E,T,L,x=1,I=o.precision,D=Math.ceil(I/G);for(S=!1,L=a.times(a),T=new o(f);;){if(E=xe(T.times(L),new o(u++*u++),I,1),T=g?f.plus(E):f.minus(E),f=xe(E.times(L),new o(u++*u++),I,1),E=T.plus(f),E.d[D]!==void 0){for(p=D;E.d[p]===T.d[p]&&p--;);if(p==-1)break}p=T,T=f,f=E,E=p,x++}return S=!0,E.d.length=D+1,E}function ct(o,u){for(var a=o;--u;)a*=o;return a}function Yr(o,u){var a,f=u.s<0,g=Ct(o,o.precision,1),p=g.times(.5);if(u=u.abs(),u.lte(p))return y=f?4:1,u;if(a=u.divToInt(g),a.isZero())y=f?3:2;else{if(u=u.minus(a.times(g)),u.lte(p))return y=bn(a)?f?2:3:f?4:1,u;y=bn(a)?f?1:4:f?3:2}return u.minus(g).abs()}function Jr(o,u,a,f){var g,p,E,T,L,x,I,D,$,oe=o.constructor,_e=a!==void 0;if(_e?(et(a,1,l),f===void 0?f=oe.rounding:et(f,0,8)):(a=oe.precision,f=oe.rounding),!o.isFinite())I=Gn(o);else{for(I=qe(o),E=I.indexOf("."),_e?(g=2,u==16?a=a*4-3:u==8&&(a=a*3-2)):g=u,E>=0&&(I=I.replace(".",""),$=new oe(1),$.e=I.length-E,$.d=Mt(qe($),10,g),$.e=$.d.length),D=Mt(I,10,g),p=L=D.length;D[--L]==0;)D.pop();if(!D[0])I=_e?"0p+0":"0";else{if(E<0?p--:(o=new oe(o),o.d=D,o.e=p,o=xe(o,$,a,f,0,g),D=o.d,p=o.e,x=A),E=D[a],T=g/2,x=x||D[a+1]!==void 0,x=f<4?(E!==void 0||x)&&(f===0||f===(o.s<0?3:2)):E>T||E===T&&(f===4||x||f===6&&D[a-1]&1||f===(o.s<0?8:7)),D.length=a,x)for(;++D[--a]>g-1;)D[a]=0,a||(++p,D.unshift(1));for(L=D.length;!D[L-1];--L);for(E=0,I="";E1)if(u==16||u==8){for(E=u==16?4:3,--L;L%E;L++)I+="0";for(D=Mt(I,g,u),L=D.length;!D[L-1];--L);for(E=1,I="1.";EL)for(p-=L;p--;)I+="0";else pu)return o.length=u,!0}function Et(o){return new this(o).abs()}function Kn(o){return new this(o).acos()}function wr(o){return new this(o).acosh()}function So(o,u){return new this(o).plus(u)}function Yn(o){return new this(o).asin()}function Po(o){return new this(o).asinh()}function Jn(o){return new this(o).atan()}function Rn(o){return new this(o).atanh()}function Xr(o,u){o=new this(o),u=new this(u);var a,f=this.precision,g=this.rounding,p=f+4;return!o.s||!u.s?a=new this(NaN):!o.d&&!u.d?(a=Ct(this,p,1).times(u.s>0?.25:.75),a.s=o.s):!u.d||o.isZero()?(a=u.s<0?Ct(this,f,g):new this(0),a.s=o.s):!o.d||u.isZero()?(a=Ct(this,p,1).times(.5),a.s=o.s):u.s<0?(this.precision=p,this.rounding=1,a=this.atan(xe(o,u,p,1)),u=Ct(this,p,1),this.precision=f,this.rounding=g,a=o.s<0?a.minus(u):a.plus(u)):a=this.atan(xe(o,u,p,1)),a}function Qr(o){return new this(o).cbrt()}function jr(o){return ee(o=new this(o),o.e+1,2)}function ei(o,u,a){return new this(o).clamp(u,a)}function ti(o){if(!o||typeof o!="object")throw Error(V+"Object expected");var u,a,f,g=o.defaults===!0,p=["precision",1,l,"rounding",0,8,"toExpNeg",-r,0,"toExpPos",0,r,"maxE",0,r,"minE",-r,0,"modulo",0,9];for(u=0;u=p[u+1]&&f<=p[u+2])this[a]=f;else throw Error(M+a+": "+f);if(a="crypto",g&&(this[a]=_[a]),(f=o[a])!==void 0)if(f===!0||f===!1||f===0||f===1)if(f)if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[a]=!0;else throw Error(ie);else this[a]=!1;else throw Error(M+a+": "+f);return this}function ni(o){return new this(o).cos()}function ri(o){return new this(o).cosh()}function Cr(o){var u,a,f;function g(p){var E,T,L,x=this;if(!(x instanceof g))return new g(p);if(x.constructor=g,oi(p)){x.s=p.s,S?!p.d||p.e>g.maxE?(x.e=NaN,x.d=null):p.e=10;T/=10)E++;S?E>g.maxE?(x.e=NaN,x.d=null):E=429e7?u[p]=crypto.getRandomValues(new Uint32Array(1))[0]:T[p++]=g%1e7;else if(crypto.randomBytes){for(u=crypto.randomBytes(f*=4);p=214e7?crypto.randomBytes(4).copy(u,p):(T.push(g%1e7),p+=4);p=f/4}else throw Error(ie);else for(;p=10;g/=10)f++;f{(function(){var s,r="4.18.1",l=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",d="Expected a function",C="Invalid `variable` option passed into `_.template`",_="Invalid `imports` option passed into `_.template`",w="__lodash_hash_undefined__",A=500,P="__lodash_placeholder__",y=1,S=2,V=4,M=1,J=2,ie=1,fe=2,k=4,B=8,U=16,K=32,te=64,Y=128,Q=256,G=512,Ce=30,Pe="...",it=800,z=16,Ne=1,et=2,Zn=3,Mt=1/0,nn=9007199254740991,xe=17976931348623157e292,ee=NaN,qe=4294967295,gr=qe-1,pr=qe>>>1,Ct=[["ary",Y],["bind",ie],["bindKey",fe],["curry",B],["curryRight",U],["flip",G],["partial",K],["partialRight",te],["rearg",Q]],cn="[object Arguments]",vt="[object Array]",qi="[object AsyncFunction]",bn="[object Boolean]",En="[object Date]",Kr="[object DOMException]",_t="[object Error]",Gn="[object Function]",mr="[object GeneratorFunction]",bt="[object Map]",Vn="[object Number]",An="[object Null]",ct="[object Object]",Yr="[object Promise]",Jr="[object Proxy]",Tn="[object RegExp]",Et="[object Set]",Kn="[object String]",wr="[object Symbol]",So="[object Undefined]",Yn="[object WeakMap]",Po="[object WeakSet]",Jn="[object ArrayBuffer]",Rn="[object DataView]",Xr="[object Float32Array]",Qr="[object Float64Array]",jr="[object Int8Array]",ei="[object Int16Array]",ti="[object Int32Array]",ni="[object Uint8Array]",ri="[object Uint8ClampedArray]",Cr="[object Uint16Array]",ii="[object Uint32Array]",Io=/\b__p \+= '';/g,Wo=/\b(__p \+=) '' \+/g,Mo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,oi=/&(?:amp|lt|gt|quot|#39);/g,Hi=/[&<>"']/g,Do=RegExp(oi.source),Fo=RegExp(Hi.source),ko=/<%-([\s\S]+?)%>/g,Uo=/<%([\s\S]+?)%>/g,Bi=/<%=([\s\S]+?)%>/g,qo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ho=/^\w*$/,Bo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,si=/[\\^$.*+?()[\]{}|]/g,zo=RegExp(si.source),li=/^\s+/,$o=/\s/,Zo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Go=/\{\n\/\* \[wrapped with (.+)\] \*/,Vo=/,? & /,Ko=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,zi=/[()=,{}\[\]\/\s]/,Yo=/\\(\\)?/g,Jo=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,o=/\w*$/,u=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,f=/^\[object .+?Constructor\]$/,g=/^0o[0-7]+$/i,p=/^(?:0|[1-9]\d*)$/,E=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,T=/($^)/,L=/['\n\r\u2028\u2029\\]/g,x="\\ud800-\\udfff",I="\\u0300-\\u036f",D="\\ufe20-\\ufe2f",$="\\u20d0-\\u20ff",oe=I+D+$,_e="\\u2700-\\u27bf",ce="a-z\\xdf-\\xf6\\xf8-\\xff",Ye="\\xac\\xb1\\xd7\\xf7",Me="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",At="\\u2000-\\u206f",ye=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$e="A-Z\\xc0-\\xd6\\xd8-\\xde",Xn="\\ufe0e\\ufe0f",Dt=Ye+Me+At+ye,Qn="['\u2019]",vr="["+x+"]",xn="["+Dt+"]",yn="["+oe+"]",ft="\\d+",_r="["+_e+"]",jn="["+ce+"]",br="[^"+x+Dt+ft+_e+ce+$e+"]",ze="\\ud83c[\\udffb-\\udfff]",Le="(?:"+yn+"|"+ze+")",r0="[^"+x+"]",Xo="(?:\\ud83c[\\udde6-\\uddff]){2}",Qo="[\\ud800-\\udbff][\\udc00-\\udfff]",Er="["+$e+"]",i0="\\u200d",o0="(?:"+jn+"|"+br+")",pu="(?:"+Er+"|"+br+")",s0="(?:"+Qn+"(?:d|ll|m|re|s|t|ve))?",l0="(?:"+Qn+"(?:D|LL|M|RE|S|T|VE))?",u0=Le+"?",a0="["+Xn+"]?",mu="(?:"+i0+"(?:"+[r0,Xo,Qo].join("|")+")"+a0+u0+")*",wu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Cu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",c0=a0+u0+mu,vu="(?:"+[_r,Xo,Qo].join("|")+")"+c0,_u="(?:"+[r0+yn+"?",yn,Xo,Qo,vr].join("|")+")",bu=RegExp(Qn,"g"),Eu=RegExp(yn,"g"),jo=RegExp(ze+"(?="+ze+")|"+_u+c0,"g"),Au=RegExp([Er+"?"+jn+"+"+s0+"(?="+[xn,Er,"$"].join("|")+")",pu+"+"+l0+"(?="+[xn,Er+o0,"$"].join("|")+")",Er+"?"+o0+"+"+s0,Er+"+"+l0,Cu,wu,ft,vu].join("|"),"g"),Tu=RegExp("["+i0+x+oe+Xn+"]"),Ru=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xu=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yu=-1,De={};De[Xr]=De[Qr]=De[jr]=De[ei]=De[ti]=De[ni]=De[ri]=De[Cr]=De[ii]=!0,De[cn]=De[vt]=De[Jn]=De[bn]=De[Rn]=De[En]=De[_t]=De[Gn]=De[bt]=De[Vn]=De[ct]=De[Tn]=De[Et]=De[Kn]=De[Yn]=!1;var Ie={};Ie[cn]=Ie[vt]=Ie[Jn]=Ie[Rn]=Ie[bn]=Ie[En]=Ie[Xr]=Ie[Qr]=Ie[jr]=Ie[ei]=Ie[ti]=Ie[bt]=Ie[Vn]=Ie[ct]=Ie[Tn]=Ie[Et]=Ie[Kn]=Ie[wr]=Ie[ni]=Ie[ri]=Ie[Cr]=Ie[ii]=!0,Ie[_t]=Ie[Gn]=Ie[Yn]=!1;var Nu={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Lu={"&":"&","<":"<",">":">",'"':""","'":"'"},Ou={"&":"&","<":"<",">":">",""":'"',"'":"'"},Su={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pu=parseFloat,Iu=parseInt,f0=typeof global=="object"&&global&&global.Object===Object&&global,Wu=typeof self=="object"&&self&&self.Object===Object&&self,Ve=f0||Wu||Function("return this")(),e2=typeof Dr=="object"&&Dr&&!Dr.nodeType&&Dr,er=e2&&typeof Ri=="object"&&Ri&&!Ri.nodeType&&Ri,h0=er&&er.exports===e2,t2=h0&&f0.process,Ft=(function(){try{var N=er&&er.require&&er.require("util").types;return N||t2&&t2.binding&&t2.binding("util")}catch(F){}})(),d0=Ft&&Ft.isArrayBuffer,g0=Ft&&Ft.isDate,p0=Ft&&Ft.isMap,m0=Ft&&Ft.isRegExp,w0=Ft&&Ft.isSet,C0=Ft&&Ft.isTypedArray;function Tt(N,F,W){switch(W.length){case 0:return N.call(F);case 1:return N.call(F,W[0]);case 2:return N.call(F,W[0],W[1]);case 3:return N.call(F,W[0],W[1],W[2])}return N.apply(F,W)}function Mu(N,F,W,j){for(var he=-1,Ae=N==null?0:N.length;++he-1}function n2(N,F,W){for(var j=-1,he=N==null?0:N.length;++j-1;);return W}function x0(N,F){for(var W=N.length;W--&&Ar(F,N[W],0)>-1;);return W}function $u(N,F){for(var W=N.length,j=0;W--;)N[W]===F&&++j;return j}var Zu=s2(Nu),Gu=s2(Lu);function Vu(N){return"\\"+Su[N]}function Ku(N,F){return N==null?s:N[F]}function Tr(N){return Tu.test(N)}function Yu(N){return Ru.test(N)}function Ju(N){for(var F,W=[];!(F=N.next()).done;)W.push(F.value);return W}function c2(N){var F=-1,W=Array(N.size);return N.forEach(function(j,he){W[++F]=[he,j]}),W}function y0(N,F){return function(W){return N(F(W))}}function On(N,F){for(var W=-1,j=N.length,he=0,Ae=[];++W-1}function F4(e,t){var n=this.__data__,i=l1(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}fn.prototype.clear=I4,fn.prototype.delete=W4,fn.prototype.get=M4,fn.prototype.has=D4,fn.prototype.set=F4;function hn(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function qt(e,t,n,i,h,v){var b,R=t&y,O=t&S,q=t&V;if(n&&(b=h?n(e,i,h,v):n(e)),b!==s)return b;if(!ke(e))return e;var H=de(e);if(H){if(b=H6(e),!R)return ht(e,b)}else{var Z=nt(e),X=Z==Gn||Z==mr;if(Fn(e))return as(e,R);if(Z==ct||Z==cn||X&&!h){if(b=O||X?{}:Ns(e),!R)return O?O6(e,j4(b,e)):L6(e,U0(b,e))}else{if(!Ie[Z])return h?e:{};b=B6(e,Z,R)}}v||(v=new Kt);var ne=v.get(e);if(ne)return ne;v.set(e,b),rl(e)?e.forEach(function(le){b.add(qt(le,t,n,le,e,v))}):tl(e)&&e.forEach(function(le,ve){b.set(ve,qt(le,t,n,ve,e,v))});var ae=q?O?D2:M2:O?gt:Ke,pe=H?s:ae(e);return Rt(pe||e,function(le,ve){pe&&(ve=le,le=e[ve]),gi(b,ve,qt(le,t,n,ve,e,v))}),b}function e6(e){var t=Ke(e);return function(n){return q0(n,e,t)}}function q0(e,t,n){var i=n.length;if(e==null)return!i;for(e=Se(e);i--;){var h=n[i],v=t[h],b=e[h];if(b===s&&!(h in e)||!v(b))return!1}return!0}function H0(e,t,n){if(typeof e!="function")throw new kt(d);return bi(function(){e.apply(s,n)},t)}function pi(e,t,n,i){var h=-1,v=$i,b=!0,R=e.length,O=[],q=t.length;if(!R)return O;n&&(t=Fe(t,xt(n))),i?(v=n2,b=!1):t.length>=l&&(v=ui,b=!1,t=new rr(t));e:for(;++hh?0:h+n),i=i===s||i>h?h:ge(i),i<0&&(i+=h),i=n>i?0:ol(i);n0&&n(R)?t>1?Je(R,t-1,n,i,h):Ln(h,R):i||(h[h.length]=R)}return h}var w2=ps(),$0=ps(!0);function on(e,t){return e&&w2(e,t,Ke)}function C2(e,t){return e&&$0(e,t,Ke)}function a1(e,t){return Nn(t,function(n){return mn(e[n])})}function or(e,t){t=Mn(t,e);for(var n=0,i=t.length;e!=null&&nt}function r6(e,t){return e!=null&&Te.call(e,t)}function i6(e,t){return e!=null&&t in Se(e)}function o6(e,t,n){return e>=tt(t,n)&&e=120&&H.length>=120)?new rr(b&&H):s}H=e[0];var Z=-1,X=R[0];e:for(;++Z-1;)R!==e&&e1.call(R,O,1),e1.call(e,O,1);return e}function ts(e,t){for(var n=e?t.length:0,i=n-1;n--;){var h=t[n];if(n==i||h!==v){var v=h;pn(h)?e1.call(e,h,1):N2(e,h)}}return e}function R2(e,t){return e+r1(M0()*(t-e+1))}function C6(e,t,n,i){for(var h=-1,v=Ge(n1((t-e)/(n||1)),0),b=W(v);v--;)b[i?v:++h]=e,e+=n;return b}function x2(e,t){var n="";if(!e||t<1||t>nn)return n;do t%2&&(n+=e),t=r1(t/2),t&&(e+=e);while(t);return n}function me(e,t){return z2(Ss(e,t,pt),e+"")}function v6(e){return k0(Wr(e))}function _6(e,t){var n=Wr(e);return _1(n,ir(t,0,n.length))}function Ci(e,t,n,i){if(!ke(e))return e;t=Mn(t,e);for(var h=-1,v=t.length,b=v-1,R=e;R!=null&&++hh?0:h+t),n=n>h?h:n,n<0&&(n+=h),h=t>n?0:n-t>>>0,t>>>=0;for(var v=W(h);++i>>1,b=e[v];b!==null&&!Nt(b)&&(n?b<=t:b=l){var q=t?null:W6(e);if(q)return Gi(q);b=!1,h=ui,O=new rr}else O=t?[]:R;e:for(;++i=i?e:Ht(e,t,n)}var us=f4||function(e){return Ve.clearTimeout(e)};function as(e,t){if(t)return e.slice();var n=e.length,i=O0?O0(n):new e.constructor(n);return e.copy(i),i}function P2(e){var t=new e.constructor(e.byteLength);return new Qi(t).set(new Qi(e)),t}function R6(e,t){var n=t?P2(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function x6(e){var t=new e.constructor(e.source,o.exec(e));return t.lastIndex=e.lastIndex,t}function y6(e){return di?Se(di.call(e)):{}}function cs(e,t){var n=t?P2(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function fs(e,t){if(e!==t){var n=e!==s,i=e===null,h=e===e,v=Nt(e),b=t!==s,R=t===null,O=t===t,q=Nt(t);if(!R&&!q&&!v&&e>t||v&&b&&O&&!R&&!q||i&&b&&O||!n&&O||!h)return 1;if(!i&&!v&&!q&&e=R)return O;var q=n[i];return O*(q=="desc"?-1:1)}}return e.index-t.index}function hs(e,t,n,i){for(var h=-1,v=e.length,b=n.length,R=-1,O=t.length,q=Ge(v-b,0),H=W(O+q),Z=!i;++R1?n[h-1]:s,b=h>2?n[2]:s;for(v=e.length>3&&typeof v=="function"?(h--,v):s,b&&st(n[0],n[1],b)&&(v=h<3?s:v,h=1),t=Se(t);++i-1?h[v?t[b]:b]:s}}function Cs(e){return gn(function(t){var n=t.length,i=n,h=Ut.prototype.thru;for(e&&t.reverse();i--;){var v=t[i];if(typeof v!="function")throw new kt(d);if(h&&!b&&C1(v)=="wrapper")var b=new Ut([],!0)}for(i=b?i:n;++i1&&Ee.reverse(),H&&OR))return!1;var q=v.get(e),H=v.get(t);if(q&&H)return q==t&&H==e;var Z=-1,X=!0,ne=n&J?new rr:s;for(v.set(e,t),v.set(t,e);++Z1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(Zo,`{ /* [wrapped with `+t+`] */ `)}function $6(e){return de(e)||ur(e)||!!(I0&&e&&e[I0])}function pn(e,t){var n=typeof e;return t=t==null?nn:t,!!t&&(n=="number"||n!="symbol"&&p.test(e))&&e>-1&&e%1==0&&e0){if(++t>=it)return arguments[0]}else t=0;return e.apply(s,arguments)}}function _1(e,t){var n=-1,i=e.length,h=i-1;for(t=t===s?i:t;++n1?e[t-1]:s;return n=typeof n=="function"?(e.pop(),n):s,zs(e,n)});function $s(e){var t=m(e);return t.__chain__=!0,t}function t8(e,t){return t(e),e}function b1(e,t){return t(e)}var n8=gn(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,h=function(v){return m2(v,e)};return t>1||this.__actions__.length||!(i instanceof be)||!pn(n)?this.thru(h):(i=i.slice(n,+n+(t?1:0)),i.__actions__.push({func:b1,args:[h],thisArg:s}),new Ut(i,this.__chain__).thru(function(v){return t&&!v.length&&v.push(s),v}))});function r8(){return $s(this)}function i8(){return new Ut(this.value(),this.__chain__)}function o8(){this.__values__===s&&(this.__values__=il(this.value()));var e=this.__index__>=this.__values__.length,t=e?s:this.__values__[this.__index__++];return{done:e,value:t}}function s8(){return this}function l8(e){for(var t,n=this;n instanceof s1;){var i=Fs(n);i.__index__=0,i.__values__=s,t?h.__wrapped__=i:t=i;var h=i;n=n.__wrapped__}return h.__wrapped__=e,t}function u8(){var e=this.__wrapped__;if(e instanceof be){var t=e;return this.__actions__.length&&(t=new be(this)),t=t.reverse(),t.__actions__.push({func:b1,args:[$2],thisArg:s}),new Ut(t,this.__chain__)}return this.thru($2)}function a8(){return ss(this.__wrapped__,this.__actions__)}var c8=d1(function(e,t,n){Te.call(e,n)?++e[n]:rn(e,n,1)});function f8(e,t,n){var i=de(e)?v0:t6;return n&&st(e,t,n)&&(t=s),i(e,ue(t,3))}function h8(e,t){var n=de(e)?Nn:z0;return n(e,ue(t,3))}var d8=ws(ks),g8=ws(Us);function p8(e,t){return Je(E1(e,t),1)}function m8(e,t){return Je(E1(e,t),Mt)}function w8(e,t,n){return n=n===s?1:ge(n),Je(E1(e,t),n)}function Zs(e,t){var n=de(e)?Rt:In;return n(e,ue(t,3))}function Gs(e,t){var n=de(e)?Du:B0;return n(e,ue(t,3))}var C8=d1(function(e,t,n){Te.call(e,n)?e[n].push(t):rn(e,n,[t])});function v8(e,t,n,i){e=dt(e)?e:Wr(e),n=n&&!i?ge(n):0;var h=e.length;return n<0&&(n=Ge(h+n,0)),y1(e)?n<=h&&e.indexOf(t,n)>-1:!!h&&Ar(e,t,n)>-1}var _8=me(function(e,t,n){var i=-1,h=typeof t=="function",v=dt(e)?W(e.length):[];return In(e,function(b){v[++i]=h?Tt(t,b,n):mi(b,t,n)}),v}),b8=d1(function(e,t,n){rn(e,n,t)});function E1(e,t){var n=de(e)?Fe:Y0;return n(e,ue(t,3))}function E8(e,t,n,i){return e==null?[]:(de(t)||(t=t==null?[]:[t]),n=i?s:n,de(n)||(n=n==null?[]:[n]),j0(e,t,n))}var A8=d1(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function T8(e,t,n){var i=de(e)?r2:A0,h=arguments.length<3;return i(e,ue(t,4),n,h,In)}function R8(e,t,n){var i=de(e)?Fu:A0,h=arguments.length<3;return i(e,ue(t,4),n,h,B0)}function x8(e,t){var n=de(e)?Nn:z0;return n(e,R1(ue(t,3)))}function y8(e){var t=de(e)?k0:v6;return t(e)}function N8(e,t,n){(n?st(e,t,n):t===s)?t=1:t=ge(t);var i=de(e)?J4:_6;return i(e,t)}function L8(e){var t=de(e)?X4:E6;return t(e)}function O8(e){if(e==null)return 0;if(dt(e))return y1(e)?Rr(e):e.length;var t=nt(e);return t==bt||t==Et?e.size:E2(e).length}function S8(e,t,n){var i=de(e)?i2:A6;return n&&st(e,t,n)&&(t=s),i(e,ue(t,3))}var P8=me(function(e,t){if(e==null)return[];var n=t.length;return n>1&&st(e,t[0],t[1])?t=[]:n>2&&st(t[0],t[1],t[2])&&(t=[t[0]]),j0(e,Je(t,1),[])}),A1=h4||function(){return Ve.Date.now()};function I8(e,t){if(typeof t!="function")throw new kt(d);return e=ge(e),function(){if(--e<1)return t.apply(this,arguments)}}function Vs(e,t,n){return t=n?s:t,t=e&&t==null?e.length:t,dn(e,Y,s,s,s,s,t)}function Ks(e,t){var n;if(typeof t!="function")throw new kt(d);return e=ge(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=s),n}}var G2=me(function(e,t,n){var i=ie;if(n.length){var h=On(n,Pr(G2));i|=K}return dn(e,i,t,n,h)}),Ys=me(function(e,t,n){var i=ie|fe;if(n.length){var h=On(n,Pr(Ys));i|=K}return dn(t,i,e,n,h)});function Js(e,t,n){t=n?s:t;var i=dn(e,B,s,s,s,s,s,t);return i.placeholder=Js.placeholder,i}function Xs(e,t,n){t=n?s:t;var i=dn(e,U,s,s,s,s,s,t);return i.placeholder=Xs.placeholder,i}function Qs(e,t,n){var i,h,v,b,R,O,q=0,H=!1,Z=!1,X=!0;if(typeof e!="function")throw new kt(d);t=zt(t)||0,ke(n)&&(H=!!n.leading,Z="maxWait"in n,v=Z?Ge(zt(n.maxWait)||0,t):v,X="trailing"in n?!!n.trailing:X);function ne(Be){var Xt=i,Cn=h;return i=h=s,q=Be,b=e.apply(Cn,Xt),b}function ae(Be){return q=Be,R=bi(ve,t),H?ne(Be):b}function pe(Be){var Xt=Be-O,Cn=Be-q,Cl=t-Xt;return Z?tt(Cl,v-Cn):Cl}function le(Be){var Xt=Be-O,Cn=Be-q;return O===s||Xt>=t||Xt<0||Z&&Cn>=v}function ve(){var Be=A1();if(le(Be))return Ee(Be);R=bi(ve,pe(Be))}function Ee(Be){return R=s,X&&i?ne(Be):(i=h=s,b)}function Lt(){R!==s&&us(R),q=0,i=O=h=R=s}function lt(){return R===s?b:Ee(A1())}function Ot(){var Be=A1(),Xt=le(Be);if(i=arguments,h=this,O=Be,Xt){if(R===s)return ae(O);if(Z)return us(R),R=bi(ve,t),ne(O)}return R===s&&(R=bi(ve,t)),b}return Ot.cancel=Lt,Ot.flush=lt,Ot}var W8=me(function(e,t){return H0(e,1,t)}),M8=me(function(e,t,n){return H0(e,zt(t)||0,n)});function D8(e){return dn(e,G)}function T1(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new kt(d);var n=function(){var i=arguments,h=t?t.apply(this,i):i[0],v=n.cache;if(v.has(h))return v.get(h);var b=e.apply(this,i);return n.cache=v.set(h,b)||v,b};return n.cache=new(T1.Cache||hn),n}T1.Cache=hn;function R1(e){if(typeof e!="function")throw new kt(d);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function F8(e){return Ks(2,e)}var k8=T6(function(e,t){t=t.length==1&&de(t[0])?Fe(t[0],xt(ue())):Fe(Je(t,1),xt(ue()));var n=t.length;return me(function(i){for(var h=-1,v=tt(i.length,n);++h=t}),ur=G0((function(){return arguments})())?G0:function(e){return Ue(e)&&Te.call(e,"callee")&&!P0.call(e,"callee")},de=W.isArray,j8=d0?xt(d0):l6;function dt(e){return e!=null&&x1(e.length)&&!mn(e)}function He(e){return Ue(e)&&dt(e)}function e5(e){return e===!0||e===!1||Ue(e)&&ot(e)==bn}var Fn=g4||o3,t5=g0?xt(g0):u6;function n5(e){return Ue(e)&&e.nodeType===1&&!Ei(e)}function r5(e){if(e==null)return!0;if(dt(e)&&(de(e)||typeof e=="string"||typeof e.splice=="function"||Fn(e)||Ir(e)||ur(e)))return!e.length;var t=nt(e);if(t==bt||t==Et)return!e.size;if(_i(e))return!E2(e).length;for(var n in e)if(Te.call(e,n))return!1;return!0}function i5(e,t){return wi(e,t)}function o5(e,t,n){n=typeof n=="function"?n:s;var i=n?n(e,t):s;return i===s?wi(e,t,s,n):!!i}function K2(e){if(!Ue(e))return!1;var t=ot(e);return t==_t||t==Kr||typeof e.message=="string"&&typeof e.name=="string"&&!Ei(e)}function s5(e){return typeof e=="number"&&W0(e)}function mn(e){if(!ke(e))return!1;var t=ot(e);return t==Gn||t==mr||t==qi||t==Jr}function el(e){return typeof e=="number"&&e==ge(e)}function x1(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nn}function ke(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function Ue(e){return e!=null&&typeof e=="object"}var tl=p0?xt(p0):c6;function l5(e,t){return e===t||b2(e,t,k2(t))}function u5(e,t,n){return n=typeof n=="function"?n:s,b2(e,t,k2(t),n)}function a5(e){return nl(e)&&e!=+e}function c5(e){if(V6(e))throw new he(c);return V0(e)}function f5(e){return e===null}function h5(e){return e==null}function nl(e){return typeof e=="number"||Ue(e)&&ot(e)==Vn}function Ei(e){if(!Ue(e)||ot(e)!=ct)return!1;var t=ji(e);if(t===null)return!0;var n=Te.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Yi.call(n)==u4}var Y2=m0?xt(m0):f6;function d5(e){return el(e)&&e>=-nn&&e<=nn}var rl=w0?xt(w0):h6;function y1(e){return typeof e=="string"||!de(e)&&Ue(e)&&ot(e)==Kn}function Nt(e){return typeof e=="symbol"||Ue(e)&&ot(e)==wr}var Ir=C0?xt(C0):d6;function g5(e){return e===s}function p5(e){return Ue(e)&&nt(e)==Yn}function m5(e){return Ue(e)&&ot(e)==Po}var w5=w1(A2),C5=w1(function(e,t){return e<=t});function il(e){if(!e)return[];if(dt(e))return y1(e)?Vt(e):ht(e);if(ai&&e[ai])return Ju(e[ai]());var t=nt(e),n=t==bt?c2:t==Et?Gi:Wr;return n(e)}function wn(e){if(!e)return e===0?e:0;if(e=zt(e),e===Mt||e===-Mt){var t=e<0?-1:1;return t*xe}return e===e?e:0}function ge(e){var t=wn(e),n=t%1;return t===t?n?t-n:t:0}function ol(e){return e?ir(ge(e),0,qe):0}function zt(e){if(typeof e=="number")return e;if(Nt(e))return ee;if(ke(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ke(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=T0(e);var n=a.test(e);return n||g.test(e)?Iu(e.slice(2),n?2:8):u.test(e)?ee:+e}function sl(e){return sn(e,gt(e))}function v5(e){return e?ir(ge(e),-nn,nn):e===0?e:0}function Re(e){return e==null?"":yt(e)}var _5=Or(function(e,t){if(_i(t)||dt(t)){sn(t,Ke(t),e);return}for(var n in t)Te.call(t,n)&&gi(e,n,t[n])}),ll=Or(function(e,t){sn(t,gt(t),e)}),ul=Or(function(e,t,n,i){sn(t,gt(t),e,i)}),J2=Or(function(e,t,n,i){sn(t,Ke(t),e,i)}),b5=gn(m2);function E5(e,t){var n=Lr(e);return t==null?n:U0(n,t)}var A5=me(function(e,t){e=Se(e);var n=-1,i=t.length,h=i>2?t[2]:s;for(h&&st(t[0],t[1],h)&&(i=1);++n1),v}),sn(e,D2(e),n),i&&(n=qt(n,y|S|V,M6));for(var h=t.length;h--;)N2(n,t[h]);return n});function H5(e,t){return cl(e,R1(ue(t)))}var B5=gn(function(e,t){return e==null?{}:m6(e,t)});function cl(e,t){if(e==null)return{};var n=Fe(D2(e),function(i){return[i]});return t=ue(t),es(e,n,function(i,h){return t(i,h[0])})}function z5(e,t,n){t=Mn(t,e);var i=-1,h=t.length;for(h||(h=1,e=s);++it){var i=e;e=t,t=i}if(n||e%1||t%1){var h=M0();return tt(e+h*(t-e+Pu("1e-"+((h+"").length-1))),t)}return R2(e,t)}var ec=Sr(function(e,t,n){return t=t.toLowerCase(),e+(n?dl(t):t)});function dl(e){return j2(Re(e).toLowerCase())}function gl(e){return e=Re(e),e&&e.replace(E,Zu).replace(Eu,"")}function tc(e,t,n){e=Re(e),t=yt(t);var i=e.length;n=n===s?i:ir(ge(n),0,i);var h=n;return n-=t.length,n>=0&&e.slice(n,h)==t}function nc(e){return e=Re(e),e&&Fo.test(e)?e.replace(Hi,Gu):e}function rc(e){return e=Re(e),e&&zo.test(e)?e.replace(si,"\\$&"):e}var ic=Sr(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),oc=Sr(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),sc=ms("toLowerCase");function lc(e,t,n){e=Re(e),t=ge(t);var i=t?Rr(e):0;if(!t||i>=t)return e;var h=(t-i)/2;return m1(r1(h),n)+e+m1(n1(h),n)}function uc(e,t,n){e=Re(e),t=ge(t);var i=t?Rr(e):0;return t&&i>>0,n?(e=Re(e),e&&(typeof t=="string"||t!=null&&!Y2(t))&&(t=yt(t),!t&&Tr(e))?Dn(Vt(e),0,n):e.split(t,n)):[]}var pc=Sr(function(e,t,n){return e+(n?" ":"")+j2(t)});function mc(e,t,n){return e=Re(e),n=n==null?0:ir(ge(n),0,e.length),t=yt(t),e.slice(n,n+t.length)==t}function wc(e,t,n){var i=m.templateSettings;n&&st(e,t,n)&&(t=s),e=Re(e),t=J2({},t,i,As);var h=J2({},t.imports,i.imports,As),v=Ke(h),b=a2(h,v);Rt(v,function(le){if(zi.test(le))throw new he(_)});var R,O,q=0,H=t.interpolate||T,Z="__p += '",X=f2((t.escape||T).source+"|"+H.source+"|"+(H===Bi?Jo:T).source+"|"+(t.evaluate||T).source+"|$","g"),ne="//# sourceURL="+(Te.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++yu+"]")+` `;e.replace(X,function(le,ve,Ee,Lt,lt,Ot){return Ee||(Ee=Lt),Z+=e.slice(q,Ot).replace(L,Vu),ve&&(R=!0,Z+=`' + __e(`+ve+`) + '`),lt&&(O=!0,Z+=`'; `+lt+`; __p += '`),Ee&&(Z+=`' + ((__t = (`+Ee+`)) == null ? '' : __t) + '`),q=Ot+le.length,le}),Z+=`'; `;var ae=Te.call(t,"variable")&&t.variable;if(!ae)Z=`with (obj) { `+Z+` } `;else if(zi.test(ae))throw new he(C);Z=(O?Z.replace(Io,""):Z).replace(Wo,"$1").replace(Mo,"$1;"),Z="function("+(ae||"obj")+`) { `+(ae?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(R?", __e = _.escape":"")+(O?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+Z+`return __p }`;var pe=ml(function(){return Ae(v,ne+"return "+Z).apply(s,b)});if(pe.source=Z,K2(pe))throw pe;return pe}function Cc(e){return Re(e).toLowerCase()}function vc(e){return Re(e).toUpperCase()}function _c(e,t,n){if(e=Re(e),e&&(n||t===s))return T0(e);if(!e||!(t=yt(t)))return e;var i=Vt(e),h=Vt(t),v=R0(i,h),b=x0(i,h)+1;return Dn(i,v,b).join("")}function bc(e,t,n){if(e=Re(e),e&&(n||t===s))return e.slice(0,N0(e)+1);if(!e||!(t=yt(t)))return e;var i=Vt(e),h=x0(i,Vt(t))+1;return Dn(i,0,h).join("")}function Ec(e,t,n){if(e=Re(e),e&&(n||t===s))return e.replace(li,"");if(!e||!(t=yt(t)))return e;var i=Vt(e),h=R0(i,Vt(t));return Dn(i,h).join("")}function Ac(e,t){var n=Ce,i=Pe;if(ke(t)){var h="separator"in t?t.separator:h;n="length"in t?ge(t.length):n,i="omission"in t?yt(t.omission):i}e=Re(e);var v=e.length;if(Tr(e)){var b=Vt(e);v=b.length}if(n>=v)return e;var R=n-Rr(i);if(R<1)return i;var O=b?Dn(b,0,R).join(""):e.slice(0,R);if(h===s)return O+i;if(b&&(R+=O.length-R),Y2(h)){if(e.slice(R).search(h)){var q,H=O;for(h.global||(h=f2(h.source,Re(o.exec(h))+"g")),h.lastIndex=0;q=h.exec(H);)var Z=q.index;O=O.slice(0,Z===s?R:Z)}}else if(e.indexOf(yt(h),R)!=R){var X=O.lastIndexOf(h);X>-1&&(O=O.slice(0,X))}return O+i}function Tc(e){return e=Re(e),e&&Do.test(e)?e.replace(oi,e4):e}var Rc=Sr(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),j2=ms("toUpperCase");function pl(e,t,n){return e=Re(e),t=n?s:t,t===s?Yu(e)?r4(e):qu(e):e.match(t)||[]}var ml=me(function(e,t){try{return Tt(e,s,t)}catch(n){return K2(n)?n:new he(n)}}),xc=gn(function(e,t){return Rt(t,function(n){n=Yt(n),rn(e,n,G2(e[n],e))}),e});function yc(e){var t=e==null?0:e.length,n=ue();return e=t?Fe(e,function(i){if(typeof i[1]!="function")throw new kt(d);return[n(i[0]),i[1]]}):[],me(function(i){for(var h=-1;++hnn)return[];var n=qe,i=tt(e,qe);t=ue(t),e-=qe;for(var h=u2(i,t);++n0||t<0)?new be(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==s&&(t=ge(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},be.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},be.prototype.toArray=function(){return this.take(qe)},on(be.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),h=m[i?"take"+(t=="last"?"Right":""):t],v=i||/^find/.test(t);h&&(m.prototype[t]=function(){var b=this.__wrapped__,R=i?[1]:arguments,O=b instanceof be,q=R[0],H=O||de(b),Z=function(ve){var Ee=h.apply(m,Ln([ve],R));return i&&X?Ee[0]:Ee};H&&n&&typeof q=="function"&&q.length!=1&&(O=H=!1);var X=this.__chain__,ne=!!this.__actions__.length,ae=v&&!X,pe=O&&!ne;if(!v&&H){b=pe?b:new be(this);var le=e.apply(b,R);return le.__actions__.push({func:b1,args:[Z],thisArg:s}),new Ut(le,X)}return ae&&pe?e.apply(this,R):(le=this.thru(Z),ae?i?le.value()[0]:le.value():le)})}),Rt(["pop","push","shift","sort","splice","unshift"],function(e){var t=Vi[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);m.prototype[e]=function(){var h=arguments;if(i&&!this.__chain__){var v=this.value();return t.apply(de(v)?v:[],h)}return this[n](function(b){return t.apply(de(b)?b:[],h)})}}),on(be.prototype,function(e,t){var n=m[t];if(n){var i=n.name+"";Te.call(Nr,i)||(Nr[i]=[]),Nr[i].push({name:t,func:n})}}),Nr[g1(s,fe).name]=[{name:"wrapper",func:s}],be.prototype.clone=R4,be.prototype.reverse=x4,be.prototype.value=y4,m.prototype.at=n8,m.prototype.chain=r8,m.prototype.commit=i8,m.prototype.next=o8,m.prototype.plant=l8,m.prototype.reverse=u8,m.prototype.toJSON=m.prototype.valueOf=m.prototype.value=a8,m.prototype.first=m.prototype.head,ai&&(m.prototype[ai]=s8),m}),Sn=i4();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ve._=Sn,define(function(){return Sn})):er?((er.exports=Sn)._=Sn,e2._=Sn):Ve._=Sn}).call(Dr)});var Un=we(jt=>{"use strict";var T9=jt&&jt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(jt,"__esModule",{value:!0});jt.Value=jt.Arity=jt.FloatOrMilliseconds=void 0;var xi=T9(f3()),R9=Fr(),x9=new RegExp("[1-9][0-9]{3}-[01][0-9]-[0-3][0-9][T ][0-2][0-9]:[0-5][0-9]"),y9=new RegExp("^-?[0-9]+:[0-5][0-9]"),N9=s=>{let r=s.trim();if(r==="")return new xi.default(0);if(x9.test(r))return new xi.default(new Date(r).valueOf());if(y9.test(r)){let c=r.charAt(0)=="-",d=r.slice(c?1:0),C=parseInt(d.slice(0,-3))*60+parseInt(d.slice(-2));return new xi.default((c?-1:1)*C*6e4)}let l=new xi.default(r);return l.isNaN()?new xi.default(0):l};jt.FloatOrMilliseconds=N9;var z1=class{constructor(r,l){this.isRow=()=>this.rows>1&&this.cols===1,this.isColumn=()=>this.rows===1&&this.cols>1,this.isCell=()=>this.rows===1&&this.cols===1,this.rows=r,this.cols=l}};jt.Arity=z1;var h3=class{constructor(r){this.get=(l,c)=>this.val[l][c],this.getAsNumber=(l,c)=>{let d=this.get(l,c);return(0,jt.FloatOrMilliseconds)(d)},this.getArity=()=>{let l=this.val.reduce((c,d)=>Math.max(c,d.length),0);return new z1(this.val.length,l)},this.toString=()=>this.getArity().isCell()?this.get(0,0):`[${(0,R9.flatten)(this.val).map(l=>l.trim()).filter(l=>l!=="").join(", ")}]`,this.val=r}};jt.Value=h3});var yl=we(G1=>{"use strict";Object.defineProperty(G1,"__esModule",{value:!0});G1.AlgebraicOperation=void 0;var ar=Qt(),d3=$t(),xl=yi(),$1=Un(),Z1=Fr(),g3=class{constructor(r,l){this.getValue=(_,w)=>{switch(this.operator){case"+":return this.add(_,w);case"-":return this.subtract(_,w);case"*":return this.multiply(_,w);case"/":return this.divide(_,w);default:return(0,ar.err)(Error("Invalid algbraic operator: "+this.operator))}},this.withCellAndRange=(_,w,A,P,y)=>{let S=this.leftSource.getValue(_,w);if(S.isErr())return(0,ar.err)(S.error);let V=this.rightSource.getValue(_,w);if(V.isErr())return(0,ar.err)(V.error);let M=S.value.getArity(),J=V.value.getArity();if(!J.isCell()&&!M.isCell())return(0,ar.err)(Error(`At least one operand in algebraic "${A}" must be a single cell.`));if(!J.isCell()&&!P)return(0,ar.err)(Error(`Right operand in algebraic "${A}" must be a single cell.`));if(J.isCell()){let k=V.value.getAsNumber(0,0),B=(0,Z1.map)(S.value.val,U=>(0,Z1.map)(U,K=>{let te=(0,$1.FloatOrMilliseconds)(K);return y(te,k).toString()}));return(0,ar.ok)(new $1.Value(B))}let ie=S.value.getAsNumber(0,0),fe=(0,Z1.map)(V.value.val,k=>(0,Z1.map)(k,B=>{let U=(0,$1.FloatOrMilliseconds)(B);return y(ie,U).toString()}));return(0,ar.ok)(new $1.Value(fe))},this.add=(_,w)=>this.withCellAndRange(_,w,"add",!0,(A,P)=>A.plus(P)),this.subtract=(_,w)=>this.withCellAndRange(_,w,"subtract",!0,(A,P)=>A.minus(P)),this.multiply=(_,w)=>this.withCellAndRange(_,w,"multiply",!0,(A,P)=>A.times(P)),this.divide=(_,w)=>this.withCellAndRange(_,w,"divide",!1,(A,P)=>A.dividedBy(P));let c=(0,d3.checkType)(r,"algebraic_operation");if(c)throw c;let d=(0,d3.checkChildLength)(r,3);if(d)throw d;let C=(0,d3.checkType)(r.children[1],"algebraic_operator");if(C)throw C;this.operator=r.children[1].text;try{this.leftSource=new xl.Source(r.children[0],l),this.rightSource=new xl.Source(r.children[2],l)}catch(_){throw _}}};G1.AlgebraicOperation=g3});var Nl=we(K1=>{"use strict";Object.defineProperty(K1,"__esModule",{value:!0});K1.ConditionalFunctionCall=void 0;var en=Qt(),Ni=$t(),V1=yi(),p3=class{constructor(r,l){this.getValue=(C,_)=>this.predicate.eval(C,_).andThen(w=>w?this.leftSource.getValue(C,_):this.rightSource.getValue(C,_));let c=(0,Ni.checkType)(r,"conditional_function_call");if(c)throw c;let d=(0,Ni.checkChildLength)(r,3);if(d)throw d;try{this.predicate=new m3(r.children[0],l),this.leftSource=new V1.Source(r.children[1],l),this.rightSource=new V1.Source(r.children[2],l)}catch(C){throw C}}};K1.ConditionalFunctionCall=p3;var m3=class{constructor(r,l){this.eval=(_,w)=>{let A=this.leftSource.getValue(_,w);if(A.isErr())return(0,en.err)(A.error);let P=this.rightSource.getValue(_,w);if(P.isErr())return(0,en.err)(P.error);let y=A.value.getArity(),S=P.value.getArity();if(!y.isCell())return(0,en.err)(Error("Can only use comparison operator on a single cell. Left side is not a cell."));if(!S.isCell())return(0,en.err)(Error("Can only use comparison operator on a single cell. Right side is not a cell."));let V=A.value.getAsNumber(0,0),M=P.value.getAsNumber(0,0);switch(this.operator){case">":return(0,en.ok)(V.greaterThan(M));case">=":return(0,en.ok)(V.greaterThanOrEqualTo(M));case"<":return(0,en.ok)(V.lessThan(M));case"<=":return(0,en.ok)(V.lessThanOrEqualTo(M));case"==":return(0,en.ok)(V.equals(M));case"!=":return(0,en.ok)(!V.equals(M));default:return(0,en.err)(Error("Invalid conditional operator: "+this.operator))}};let c=(0,Ni.checkType)(r,"predicate");if(c)throw c;let d=(0,Ni.checkChildLength)(r,3);if(d)throw d;let C=(0,Ni.checkType)(r.children[1],"conditional_operator");if(C)throw C;this.operator=r.children[1].text;try{this.leftSource=new V1.Source(r.children[0],l),this.rightSource=new V1.Source(r.children[2],l)}catch(_){throw _}}}});var Ll=we(Y1=>{"use strict";Object.defineProperty(Y1,"__esModule",{value:!0});Y1.Constant=void 0;var L9=Qt(),O9=$t(),S9=Un(),w3=class{constructor(r,l){let c=(0,O9.checkType)(r,"real","float");if(c)throw c;let d=r.text[0]==="-"?-1:1;r.type==="real"?this.value=d*parseInt(r.children[0].text):this.value=d*parseFloat(r.children[0].text+"."+r.children[1].text)}getValue(r,l){return(0,L9.ok)(new S9.Value([[this.value.toString()]]))}};Y1.Constant=w3});var v3=we(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AbsoluteColumn=Hn.Column=Hn.newColumn=void 0;var qn=Qt(),Li=$t(),P9=Un(),I9=(s,r)=>{try{switch(s.type){case"relative_column":return(0,qn.ok)(new C3(s,r));case"absolute_column":return(0,qn.ok)(new J1(s,r));default:return(0,qn.err)(new Error(`Formula element '${s.text}' is a ${s.type} but expected an relatve_column or absolute_column in this position.`))}}catch(l){return(0,qn.err)(l)}};Hn.newColumn=I9;var Oi=class{constructor(){this.getValue=(r,l)=>{var c;let d=((c=r.getCellAt(l.row,this.getIndex(l)))===null||c===void 0?void 0:c.toText())||"";return(0,qn.ok)(new P9.Value([[d]]))}}};Hn.Column=Oi;var C3=class extends Oi{constructor(r,l){super(),this.getIndex=_=>_.column+this.offset,this.getAbsoluteIndex=()=>(0,qn.err)(Li.errRelativeReferenceIndex);let c=(0,Li.checkType)(r,"relative_column");if(c)throw c;let d=(0,Li.checkChildLength)(r,1);if(d)throw d;let C=r.text[1]==="-"?-1:1;this.offset=C*parseInt(r.children[0].text)}},J1=class extends Oi{constructor(r,l){super(),this.getIndex=C=>this.index,this.getAbsoluteIndex=()=>(0,qn.ok)(this.index);let c=-1,d="";switch(r.children.length){case 0:d=r.text[1];break;case 1:let C=(0,Li.checkType)(r.children[0],"int");if(C)throw(0,qn.err)(C);c=parseInt(r.children[0].text);break;default:throw new Error(`Formula element '${r.text}' is a ${r.type} but expected a 'absolute_column' in this position.`)}switch(d){case"":break;case"<":c=1;break;case">":c=l.getWidth();break;default:throw new Error(`Invalid column symbol '${d}'`)}if(c===0)throw Li.errIndex0;this.index=c-1}};Hn.AbsoluteColumn=J1});var b3=we(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.AbsoluteRow=zn.Row=zn.newRow=void 0;var Bn=Qt(),Si=$t(),W9=Un(),M9=(s,r)=>{try{switch(s.type){case"relative_row":return(0,Bn.ok)(new _3(s,r));case"absolute_row":return(0,Bn.ok)(new X1(s,r));default:return(0,Bn.err)(new Error(`Formula element '${s.text}' is a ${s.type} but expected an relatve_row or absolute_row in this position.`))}}catch(l){return(0,Bn.err)(l)}};zn.newRow=M9;var Pi=class{constructor(){this.getValue=(r,l)=>{var c;let d=((c=r.getCellAt(this.getIndex(l),l.column))===null||c===void 0?void 0:c.toText())||"";return(0,Bn.ok)(new W9.Value([[d]]))}}};zn.Row=Pi;var _3=class extends Pi{constructor(r,l){super(),this.getIndex=_=>_.row+this.offset,this.getAbsoluteIndex=()=>(0,Bn.err)(Si.errRelativeReferenceIndex);let c=(0,Si.checkType)(r,"relative_row");if(c)throw c;let d=(0,Si.checkChildLength)(r,1);if(d)throw d;let C=r.text[1]==="-"?-1:1;this.offset=C*parseInt(r.children[0].text)}},X1=class extends Pi{constructor(r,l){super(),this.getIndex=C=>this.index,this.getAbsoluteIndex=()=>(0,Bn.ok)(this.index);let c=-1,d="";switch(r.children.length){case 0:d=r.text[1];break;case 1:let C=(0,Si.checkType)(r.children[0],"int");if(C)throw(0,Bn.err)(C);c=parseInt(r.children[0].text);break;default:throw new Error(`Formula element '${r.text}' is a ${r.type} but expected a 'absolute_row' in this position.`)}switch(d){case"":break;case"<":c=1;break;case">":c=l.getHeight()-1;break;case"I":c=2;break;default:throw new Error(`Invalid row symbol '${d}'`)}if(c===0)throw Si.errIndex0;c===1?this.index=0:this.index=c}};zn.AbsoluteRow=X1});var T3=we(Q1=>{"use strict";Object.defineProperty(Q1,"__esModule",{value:!0});Q1.Reference=void 0;var D9=Qt(),E3=$t(),F9=v3(),k9=Un(),U9=b3(),A3=class{constructor(r,l){this.getValue=(d,C)=>{var _;let w={row:this.row?this.row.getIndex(C):C.row,column:this.column?this.column.getIndex(C):C.column},A=((_=d.getCellAt(w.row,w.column))===null||_===void 0?void 0:_.toText())||"";return(0,D9.ok)(new k9.Value([[A]]))};let c=(0,E3.checkType)(r,"source_reference","absolute_reference","relative_reference");if(c)throw c;for(let d=0;d{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.Range=void 0;var j1=Qt(),kr=$t(),Ol=T3(),q9=Un(),cr=Fr(),R3=class{constructor(r,l){this.getValue=(P,y)=>{let S=this.startColumn?this.startColumn.getIndex(y):y.column,V=this.endColumn?this.endColumn.getIndex(y):S,M=this.startRow?this.startRow.getIndex(y):y.row,J=this.endRow?this.endRow.getIndex(y):y.row;return(0,j1.ok)(new q9.Value((0,cr.map)((0,cr.range)(M,J+1),ie=>(0,cr.map)((0,cr.range)(S,V+1),fe=>{var k;return((k=P.getCellAt(ie,fe))===null||k===void 0?void 0:k.toText())||""}))))},this.asCells=()=>{if(!this.startColumn||!this.startRow||!this.endRow)return(0,j1.err)(new Error("A range used as a desintation must define rows and cells"));let P=this.endColumn;P||(P=this.startColumn);let y=this.startRow.getAbsoluteIndex(),S=this.endRow.getAbsoluteIndex(),V=this.startColumn.getAbsoluteIndex(),M=P.getAbsoluteIndex();if(y.isErr()||S.isErr()||V.isErr()||M.isErr())return(0,j1.err)(new Error("A relative range can not be used in a formula destination"));let J=Math.min(y.value,S.value),ie=Math.max(y.value,S.value),fe=Math.min(V.value,M.value),k=Math.max(V.value,M.value);return(0,j1.ok)((0,cr.flatMap)((0,cr.range)(J,ie+1),B=>(0,cr.range)(fe,k+1).map(U=>({row:B,column:U}))))};let c=(0,kr.checkType)(r,"range");if(c)throw c;let d=(0,kr.checkChildLength)(r,2);if(d)throw d;let C=r.children[0],_=r.children[1];if(c=(0,kr.checkType)(C,"source_reference"),c||(c=(0,kr.checkType)(_,"source_reference"),c))throw c;if(d=(0,kr.checkChildLength)(C,1),d||(d=(0,kr.checkChildLength)(_,1),d))throw d;let w=new Ol.Reference(C.children[0],l),A=new Ol.Reference(_.children[0],l);if(w.row&&!A.row||A.row&&!w.row)throw new Error("Range must use references of the same kind");if(!w.row&&!w.column)throw console.log(w),new Error("Range must have a row or a column defined");w.row&&(this.startRow=w.row),w.column&&(this.startColumn=w.column),A.row&&(this.endRow=A.row),A.column?this.endColumn=A.column:this.endColumn=w.column}};eo.Range=R3});var Wl=we(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.RangeDestination=Zt.CellDestination=Zt.ColumnDestination=Zt.RowDestination=Zt.newDestination=void 0;var Pt=Qt(),mt=$t(),Sl=v3(),H9=x3(),Pl=b3(),Il=Fr(),B9=(s,r,l)=>{let c=(0,mt.checkType)(s,"destination");if(c)return(0,Pt.err)(c);let d=(0,mt.checkChildLength)(s,1);if(d)return(0,Pt.err)(d);let C=s.children[0];if(C.type==="range")return(0,Pt.ok)(new io(C,r,l));try{switch(C.children.length){case 2:return(0,Pt.ok)(new ro(C,r,l));case 1:let _=C.children[0];if(_.type==="absolute_row")return(0,Pt.ok)(new to(C,r,l));if(_.type==="absolute_column")return(0,Pt.ok)(new no(C,r,l));default:return(0,Pt.err)(new Error("Unexpected destination type "+C.type))}}catch(_){return _===mt.errIndex0?(0,Pt.err)(new Error("Index 0 may not be used in a destination")):(0,Pt.err)(_)}};Zt.newDestination=B9;var to=class{constructor(r,l,c){this.merge=(w,A)=>{let P=(0,Il.range)(0,A.getWidth()).map(y=>({row:this.row.index,column:y}));return oo(w,A,P,this.formatter)},this.formatter=c;let d=(0,mt.checkType)(r,"absolute_reference");if(d)throw d;let C=(0,mt.checkChildLength)(r,1);if(C)throw C;let _=r.children[0];try{this.row=new Pl.AbsoluteRow(_,l)}catch(w){throw w}}};Zt.RowDestination=to;var no=class{constructor(r,l,c){this.merge=(w,A)=>{let P=(0,Il.range)(2,A.getHeight()).map(y=>({row:y,column:this.column.index}));return oo(w,A,P,this.formatter)},this.formatter=c;let d=(0,mt.checkType)(r,"absolute_reference");if(d)throw d;let C=(0,mt.checkChildLength)(r,1);if(C)throw C;let _=r.children[0];try{this.column=new Sl.AbsoluteColumn(_,l)}catch(w){throw w}}};Zt.ColumnDestination=no;var ro=class{constructor(r,l,c){this.merge=(A,P)=>{let y={row:this.row.index,column:this.column.index};return oo(A,P,[y],this.formatter)},this.formatter=c;let d=(0,mt.checkType)(r,"absolute_reference");if(d)throw d;let C=(0,mt.checkChildLength)(r,2);if(C)throw C;let _=r.children[0],w=r.children[1];try{this.row=new Pl.AbsoluteRow(_,l),this.column=new Sl.AbsoluteColumn(w,l)}catch(A){throw A}}};Zt.CellDestination=ro;var io=class{constructor(r,l,c){this.merge=(_,w)=>this.range.asCells().andThen(A=>oo(_,w,A,this.formatter)),this.formatter=c;let d=(0,mt.checkType)(r,"range");if(d)throw d;let C=(0,mt.checkChildLength)(r,2);if(C)throw C;r.children.forEach(_=>{let w=(0,mt.checkType)(_,"source_reference");if(w)throw w;let A=(0,mt.checkChildLength)(_,1);if(A)throw A;if(w=(0,mt.checkType)(_.children[0],"absolute_reference"),w)throw w}),this.range=new H9.Range(r,l)}};Zt.RangeDestination=io;var oo=(s,r,l,c)=>l.reduce((d,C)=>d.andThen(_=>s.getValue(_,C).andThen(w=>(0,Pt.ok)(w.toString())).andThen(w=>(0,Pt.ok)(w.trim()===""?"0":w)).andThen(w=>(0,Pt.ok)(_.setCellAt(C.row,C.column,c.format(w))))),(0,Pt.ok)(r))});var Ml=we(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.DisplayDirective=Ur.DefaultFormatter=void 0;var fr=$t(),y3=class{constructor(){this.format=r=>typeof r=="string"?r:r.toString()}};Ur.DefaultFormatter=y3;var N3=class{constructor(r){this.format=w=>{let A=typeof w=="string"?parseFloat(w):w;if(this.displayAsDatetime){let P=new Date(A),y=fe=>`0${fe}`.slice(-2),S=P.getFullYear(),V=y(P.getMonth()+1),M=y(P.getDate()),J=y(P.getHours()),ie=y(P.getMinutes());return`${S}-${V}-${M} ${J}:${ie}`}if(this.displayAsHourMinute){let P=A<0?"-":"",y=Math.floor(Math.abs(A)/6e4),S=J=>`0${J}`.slice(-2),V=S(Math.floor(y/60)),M=S(y%60);return`${P}${V}:${M}`}return A.toFixed(this.decimalLength)};let l=(0,fr.checkType)(r,"display_directive");if(l)throw l;let c=(0,fr.checkChildLength)(r,1);if(c)throw c;let d=r.children[0];if(l=(0,fr.checkType)(d,"display_directive_option"),l)throw l;if(c=(0,fr.checkChildLength)(d,1),c)throw c;let C=d.children[0];if(l=(0,fr.checkType)(C,"formatting_directive","datetime_directive","hourminute_directive"),l)throw l;if(this.displayAsDatetime=C.type==="datetime_directive",this.displayAsHourMinute=C.type==="hourminute_directive",this.displayAsDatetime||this.displayAsHourMinute){this.decimalLength=-1;return}if(c=(0,fr.checkChildLength)(C,1),c)throw c;let _=C.children[0];if(l=(0,fr.checkType)(_,"int"),l)throw l;this.decimalLength=parseInt(_.text)}};Ur.DisplayDirective=N3});var Dl=we(qr=>{"use strict";var z9=qr&&qr.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(qr,"__esModule",{value:!0});qr.SingleParamFunctionCall=void 0;var $9=Qt(),L3=$t(),Z9=yi(),O3=Un(),G9=z9(f3()),S3=class{constructor(r,l){this.getValue=(w,A)=>this.param.getValue(w,A).andThen(P=>(0,$9.ok)(this.op(P)));let c=(0,L3.checkType)(r,"single_param_function_call");if(c)throw c;let d=(0,L3.checkChildLength)(r,2);if(d)throw d;let C=(0,L3.checkType)(r.children[0],"single_param_function");if(C)throw C;let _=r.children[0].text;switch(_){case"sum":this.op=V9;break;case"mean":this.op=K9;break;default:throw Error("Unknown single param function call: "+_)}this.param=new Z9.Source(r.children[1],l)}};qr.SingleParamFunctionCall=S3;var V9=s=>{let r=s.val.reduce((l,c)=>c.reduce((d,C)=>(0,O3.FloatOrMilliseconds)(C).add(d),l),new G9.default(0));return new O3.Value([[r.toString()]])},K9=s=>{let{total:r,count:l}=s.val.reduce(({total:c,count:d},C)=>C.reduce(({total:_,count:w},A)=>({total:_+ +A,count:w+1}),{total:c,count:d}),{total:0,count:0});return new O3.Value([[(r/l).toString()]])}});var lo=we(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.TokenError=void 0;var P3=class extends Error{constructor(r,l){if(super(r),this.message=r,this.token=l,l&&l.errors)l.errors.push(this);else throw this}inspect(){return"SyntaxError: "+this.message}};so.TokenError=P3});var Ii=we(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.Parser=It.findRuleByName=It.parseRuleName=It.escapeRegExp=It.readToken=void 0;var Fl=/^[A-Z0-9_]+$/,kl=/(\?|\+|\*)$/,Ul=/^(@|&|!)/,uo="WS",ao=lo();function I3(s,r){let l=r.exec(s);return l&&l.index==0?l[0].length==0&&r.source.length>0?null:{type:null,text:l[0],rest:s.substr(l[0].length),start:0,end:l[0].length-1,fullText:l[0],errors:[],children:[],parent:null}:null}It.readToken=I3;function ql(s){return s.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}It.escapeRegExp=ql;function Hl(s){s.rest="",s.children&&s.children.forEach(r=>Hl(r))}function Bl(s,r){s.start+=r,s.end+=r,s.children&&s.children.forEach(l=>Bl(l,s.start))}function zl(s,r){r.errors&&r.errors.length&&r.errors.forEach(l=>s.push(l)),r.children&&r.children.forEach(l=>zl(s,l))}function hr(s){let r=kl.exec(s),l=Ul.exec(s),c=r&&r[0]||"",d=l&&l[0]||"",C={raw:s,name:s.replace(kl,"").replace(Ul,""),isOptional:c=="?"||c=="*",allowRepetition:c=="+"||c=="*",atLeastOne:c=="+",lookupPositive:d=="&",lookupNegative:d=="!",pinned:d=="@",lookup:!1,isLiteral:!1};return C.isLiteral=C.name[0]=="'"||C.name[0]=='"',C.lookup=C.lookupNegative||C.lookupPositive,C}It.parseRuleName=hr;function $l(s,r){let l=hr(s);return r.cachedRules[l.name]||null}It.findRuleByName=$l;function W3(s,r){if(s.children){let l=s.children.filter(c=>c.type&&r.test(c.type));for(let c=0;cW3(c,r))}}var Y9=["EOF"],co=class{constructor(r,l){this.grammarRules=r,this.options=l,this.cachedRules={},this.debug=l?l.debug===!0:!1;let c=[],d=[];if(r.forEach(C=>{let _=hr(C.name);if(_.name in this.cachedRules){c.push("Duplicated rule "+_.name);return}else this.cachedRules[_.name]=C;if(!C.bnf||!C.bnf.length){let w="Missing rule content, rule: "+C.name;c.indexOf(w)==-1&&c.push(w)}else C.bnf.forEach(w=>{if(typeof w[0]=="string"&&hr(w[0]).name==C.name){let P="Left recursion is not allowed, rule: "+C.name;c.indexOf(P)==-1&&c.push(P)}w.forEach(A=>{if(typeof A=="string"){let P=hr(A);!P.isLiteral&&d.indexOf(P.name)==-1&&Y9.indexOf(P.name)==-1&&d.push(P.name)}})});uo==C.name&&(C.implicitWs=!1),C.implicitWs&&d.indexOf(uo)==-1&&d.push(uo),C.recover&&d.indexOf(C.recover)==-1&&d.push(C.recover)}),d.forEach(C=>{C in this.cachedRules||c.push("Missing rule "+C)}),c.length)throw new Error(c.join(` `))}getAST(r,l){l||(l=this.grammarRules.filter(d=>!d.fragment&&d.name.indexOf("%")!=0)[0].name);let c=this.parse(r,l);if(c){zl(c.errors,c),Bl(c,0),W3(c,/^%/),(!this.options||!this.options.keepUpperRules)&&W3(c,Fl);let d=c.rest;d&&new ao.TokenError(`Unexpected end of input: `+d,c),Hl(c),c.rest=d}return c}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(r,l,c=0){let d=null,C=hr(l),_,w=this.debug&&!Fl.test(C.name);w&&console.log(new Array(c).join("\u2502 ")+"Trying to get "+l+" from "+JSON.stringify(r.split(` `)[0]));let A=C.name,P=$l(C.name,this);if(C.name=="EOF"){if(r.length)return null;if(r.length==0)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!P&&C.isLiteral){let y=C.name.trim();if(y.startsWith('"')?y=JSON.parse(y):y.startsWith("'")&&(y=y.replace(/^'(.+)'$/,"$1").replace(/\\'/g,"'")),y==="")return{type:"%%EMPTY%%",text:"",rest:r,start:0,end:0,fullText:"",errors:[],children:[],parent:null};_=new RegExp(ql(y)),A=null}}catch(y){return y instanceof ReferenceError&&console.error(y),null}if(_){let y=I3(r,_);if(y)return y.type=A,y}else{let y=P.bnf;y instanceof Array&&y.forEach(S=>{if(d)return;let V=null,M={type:C.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:r};P.fragment&&(M.fragment=!0);let J=r,ie=0,fe=S.length>0,k=!1;for(let B=0;B{Y.start+=ie,Y.end+=ie,Y.parent=M,M.children.push(Y)}):(K.parent=M,M.children.push(K))),U.lookup&&(K.lookup=!0),w&&console.log(new Array(c+1).join("\u2502 ")+"\u2514\u2500 "+K.type+" "+JSON.stringify(K.text)),!U.lookup&&!K.lookup&&(M.text=M.text+K.text,M.end=M.text.length,J=J.substr(K.text.length),ie+=K.text.length),M.rest=J}while(K&&U.allowRepetition&&J.length&&!K.lookup)}else{let U=I3(J,S[B]);if(!U)return;w&&console.log(new Array(c+1).join("\u2502 ")+"\u2514> "+JSON.stringify(U.text)+S[B].source),k=!0,U.start+=ie,U.end+=ie,M.text=M.text+U.text,M.end=M.text.length,J=J.substr(U.text.length),ie+=U.text.length,M.rest=J}k&&(d=M,w&&console.log(new Array(c).join("\u2502 ")+"\u251C<\u2500\u2534< PUSHING "+d.type+" "+JSON.stringify(d.text)))}),d&&P.simplifyWhenOneChildren&&d.children.length==1&&(d=d.children[0])}return d||w&&console.log(l+" NOT RESOLVED FROM "+r),d}parseRecovery(r,l,c){if(r.recover&&l.length){let d=this.debug;d&&console.log(new Array(c+1).join("\u2502 ")+"Trying to recover until token "+r.recover+" from "+JSON.stringify(l.split(` `)[0]+l.split(` `)[1]));let C={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""},_;do if(_=this.parse(l,r.recover,c+1),_){new ao.TokenError('Unexpected input: "'+C.text+`" Expecting: ${r.name}`,C);break}else C.text=C.text+l[0],C.end=C.text.length,l=l.substr(1);while(!_&&l.length>0);if(C.text.length>0&&_)return d&&console.log(new Array(c+1).join("\u2502 ")+"Recovered text: "+JSON.stringify(C.text)),C}return null}};It.Parser=co;It.default=co});var Zl=we(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.findChildrenByType=void 0;function J9(s,r){return s.children?s.children.filter(l=>l.type==r):[]}fo.findChildrenByType=J9});var Gl=we(F3=>{"use strict";Object.defineProperty(F3,"__esModule",{value:!0});var $n=Zl(),M3=Ii(),D3;(function(s){s.RULES=[{name:"syntax",bnf:[["RULE_EOL*","rule+"]]},{name:"rule",bnf:[['" "*','"<"',"rule-name",'">"','" "*','"::="',"firstExpression","otherExpression*",'" "*',"RULE_EOL+",'" "*']]},{name:"firstExpression",bnf:[['" "*',"list"]]},{name:"otherExpression",bnf:[['" "*','"|"','" "*',"list"]]},{name:"RULE_EOL",bnf:[['"\\r"'],['"\\n"']]},{name:"list",bnf:[["term",'" "*',"list"],["term"]]},{name:"term",bnf:[["literal"],['"<"',"rule-name",'">"']]},{name:"literal",bnf:[[`'"'`,"RULE_CHARACTER1*",`'"'`],[`"'"`,"RULE_CHARACTER2*",`"'"`]]},{name:"RULE_CHARACTER",bnf:[['" "'],["RULE_LETTER"],["RULE_DIGIT"],["RULE_SYMBOL"]]},{name:"RULE_LETTER",bnf:[['"A"'],['"B"'],['"C"'],['"D"'],['"E"'],['"F"'],['"G"'],['"H"'],['"I"'],['"J"'],['"K"'],['"L"'],['"M"'],['"N"'],['"O"'],['"P"'],['"Q"'],['"R"'],['"S"'],['"T"'],['"U"'],['"V"'],['"W"'],['"X"'],['"Y"'],['"Z"'],['"a"'],['"b"'],['"c"'],['"d"'],['"e"'],['"f"'],['"g"'],['"h"'],['"i"'],['"j"'],['"k"'],['"l"'],['"m"'],['"n"'],['"o"'],['"p"'],['"q"'],['"r"'],['"s"'],['"t"'],['"u"'],['"v"'],['"w"'],['"x"'],['"y"'],['"z"']]},{name:"RULE_DIGIT",bnf:[['"0"'],['"1"'],['"2"'],['"3"'],['"4"'],['"5"'],['"6"'],['"7"'],['"8"'],['"9"']]},{name:"RULE_SYMBOL",bnf:[['"-"'],['"_"'],['"!"'],['"#"'],['"$"'],['"%"'],['"&"'],['"("'],['")"'],['"*"'],['"+"'],['","'],['"-"'],['"."'],['"/"'],['":"'],['";"'],['"<"'],['"="'],['">"'],['"?"'],['"@"'],['"["'],['"\\"'],['"]"'],['"^"'],['"_"'],['"`"'],['"{"'],['"|"'],['"}"'],['"~"']]},{name:"RULE_CHARACTER1",bnf:[["RULE_CHARACTER"],[`"'"`]]},{name:"RULE_CHARACTER2",bnf:[["RULE_CHARACTER"],[`'"'`]]},{name:"rule-name",bnf:[["RULE_LETTER","RULE_CHAR*"]]},{name:"RULE_CHAR",bnf:[["RULE_LETTER"],["RULE_DIGIT"],['"_"'],['"-"']]}],s.defaultParser=new M3.Parser(s.RULES,{debug:!1});function r(C){let _=$n.findChildrenByType(C,"term").map(w=>$n.findChildrenByType(w,"literal").concat($n.findChildrenByType(w,"rule-name"))[0].text);return $n.findChildrenByType(C,"list").forEach(w=>{_=_.concat(r(w))}),_}function l(C,_=s.defaultParser){let w=_.getAST(C);if(!w)throw new Error("Could not parse "+C);if(w.errors&&w.errors.length)throw w.errors[0];let P=$n.findChildrenByType(w,"rule").map(y=>{let S=$n.findChildrenByType(y,"rule-name")[0].text,V=$n.findChildrenByType(y,"firstExpression").concat($n.findChildrenByType(y,"otherExpression")),M=[];return V.forEach(J=>{M.push(r(J))}),{name:S,bnf:M}});return P.some(y=>y.name=="EOL")||P.push({name:"EOL",bnf:[['"\\r\\n"','"\\r"','"\\n"']]}),P}s.getRules=l;function c(C,_=s.defaultParser){return l(C.join(""),_)}s.Transform=c;class d extends M3.Parser{constructor(_,w){let A=w&&w.debugRulesParser===!0?new M3.Parser(s.RULES,{debug:!0}):s.defaultParser;super(l(_,A),w),this.source=_}emitSource(){return this.source}}s.Parser=d})(D3||(D3={}));F3.default=D3});var Vl=we(U3=>{"use strict";Object.defineProperty(U3,"__esModule",{value:!0});var Wi=Ii(),k3;(function(s){s.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[[`'"'`,/[^"]*/,`'"'`],[`"'"`,/[^']*/,`"'"`]],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],s.defaultParser=new Wi.Parser(s.RULES,{debug:!1});let r=/^(!|&)/,l=/(\?|\+|\*)$/,c=/^%/;function d(k,B){if(typeof k=="string"){if(r.test(k))return"";if(c.test(k)){let K=l.exec(k),te=K?K[0]+" ":"";return C(k,B)?w(k,B)+te:"("+w(k,B)+")"+te}return k}else return k.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function C(k,B){let U=Wi.findRuleByName(k,B);return U&&U.bnf.length==1&&U.bnf[0].length==1&&(U.bnf[0][0]instanceof RegExp||U.bnf[0][0][0]=='"'||U.bnf[0][0][0]=="'")}function _(k,B){return k.map(U=>d(U,B)).join(" ")}function w(k,B){let U=Wi.findRuleByName(k,B);return U?U.bnf.map(K=>_(K,B)).join(" | "):"RULE_NOT_FOUND {"+k+"}"}function A(k){let B=[];return k.grammarRules.forEach(U=>{if(!/^%/.test(U.name)){let K=U.recover?" /* { recoverUntil="+U.recover+" } */":"";B.push(U.name+" ::= "+w(U.name,k)+K)}}),B.join(` `)}s.emit=A;let P=0;function y(k,B){throw console.log("reberia restar "+B+" a "+k),new Error("Difference not supported yet")}function S(k){return new RegExp(k.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function V(k,B,U){let K=null,te=[];return B.children.forEach((Y,Q)=>{Y.type=="Minus"&&y(K,Y);let G=B.children[Q+1];G=G&&G.type=="PrimaryDecoration"&&G.text||"";let Ce="";switch(Y.type){case"SubItem":let Pe="%"+(U+P++);M(k,Y,Pe),te.push(Ce+Pe+G);break;case"NCName":case"StringLiteral":te.push(Ce+Y.text+G);break;case"CharCode":case"CharClass":if(G||Ce){let it={name:"%"+(U+P++),bnf:[[S(Y.text)]]};k.push(it),te.push(Ce+it.name+G)}else te.push(S(Y.text));break;case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+Y.type+" -> "+JSON.stringify(Y.text))}K=Y}),te}function M(k,B,U){let K=B.children.filter(Q=>Q.type=="SequenceOrDifference").map(Q=>V(k,Q,U)),te={name:U,bnf:K},Y=null;K.forEach(Q=>{Y=Y||Q.recover,delete Q.recover}),U.indexOf("%")==0&&(te.fragment=!0),Y&&(te.recover=Y),k.push(te)}function J(k,B=s.defaultParser){let U=B.getAST(k);if(!U)throw new Error("Could not parse "+k);if(U.errors&&U.errors.length)throw U.errors[0];let K=[];return U.children.filter(te=>te.type=="Production").map(te=>{let Y=te.children.filter(Q=>Q.type=="NCName")[0].text;M(K,te,Y)}),K}s.getRules=J;function ie(k,B=s.defaultParser){return J(k.join(""),B)}s.Transform=ie;class fe extends Wi.Parser{constructor(B,U){let K=U&&U.debugRulesParser===!0?new Wi.Parser(s.RULES,{debug:!0}):s.defaultParser;super(J(B,K),U)}emitSource(){return A(this)}}s.Parser=fe})(k3||(k3={}));U3.default=k3});var Kl=we(H3=>{"use strict";Object.defineProperty(H3,"__esModule",{value:!0});var ho=lo(),Hr=Ii(),q3;(function(s){s.RULES=[{name:"Grammar",bnf:[["RULE_S*","Attributes?","RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","%Choice","RULE_WHITESPACE*","Attributes?","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Attributes",bnf:[['"{"',"Attribute","%Attributes*","RULE_S*",'"}"']]},{name:"%Attributes",bnf:[["RULE_S*",'","',"Attribute"]],fragment:!0},{name:"Attribute",bnf:[["RULE_S*","NCName","RULE_WHITESPACE*",'"="',"RULE_WHITESPACE*","AttributeValue"]]},{name:"AttributeValue",bnf:[["NCName"],[/[1-9][0-9]*/]]},{name:"%Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_S*",'"|"',"RULE_S*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["%Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","%Item"],["%Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"%Item",bnf:[["RULE_WHITESPACE*","PrimaryPreDecoration?","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"PrimaryPreDecoration",bnf:[['"&"'],['"!"'],['"~"']]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_S*","%Choice","RULE_S*",'")"']]},{name:"StringLiteral",bnf:[[`'"'`,/[^"]*/,`'"'`],[`"'"`,/[^']*/,`"'"`]]},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[[/[^*]/],['"*"+',/[^/]*/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],s.defaultParser=new Hr.Parser(s.RULES,{debug:!1});let r=/^(!|&)/,l=/(\?|\+|\*)$/,c=/^%/;function d(k,B){if(typeof k=="string"){let U=l.exec(k),K=r.exec(k),te=K?K[0]:"",Y=U?U[0]+" ":"";return c.test(k)?C(k,B)?te+w(k,B)+Y:te+"("+w(k,B)+")"+Y:k.replace(r,te)}else return k.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function C(k,B){let U=Hr.findRuleByName(k,B);return U&&U.bnf.length==1&&U.bnf[0].length==1&&(U.bnf[0][0]instanceof RegExp||U.bnf[0][0][0]=='"'||U.bnf[0][0][0]=="'")}function _(k,B){return k.map(U=>d(U,B)).join(" ")}function w(k,B){let U=Hr.findRuleByName(k,B);return U?U.bnf.map(K=>_(K,B)).join(" | "):"RULE_NOT_FOUND {"+k+"}"}function A(k){let B=[];return k.grammarRules.forEach(U=>{if(!/^%/.test(U.name)){let K=U.recover?" { recoverUntil="+U.recover+" }":"";B.push(U.name+" ::= "+w(U.name,k)+K)}}),B.join(` `)}s.emit=A;let P=0;function y(k,B){throw console.log("reberia restar "+B+" a "+k),new Error("Difference not supported yet")}function S(k){return new RegExp(k.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function V(k,B,U,K){let te=null,Y=[];return B.children.forEach((Q,G)=>{Q.type=="Minus"&&y(te,Q);let Ce=B.children[G+1];Ce=Ce&&Ce.type=="PrimaryDecoration"&&Ce.text||"";let Pe="";te&&te.type=="PrimaryPreDecoration"&&(Pe=te.text);let it=Pe=="~"?1:void 0;switch(it&&(Pe=""),Q.type){case"SubItem":let z="%"+(U+P++);M(k,Q,z,K),Y.push(Pe+z+Ce);break;case"NCName":Y.push(Pe+Q.text+Ce);break;case"StringLiteral":if(Ce||Pe||!/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(Q.text))Y.push(Pe+Q.text+Ce);else for(let Ne of Q.text.slice(1,-1))K&&K.ignoreCase=="true"&&/[a-zA-Z]/.test(Ne)?Y.push(new RegExp("["+Ne.toUpperCase()+Ne.toLowerCase()+"]")):Y.push(new RegExp(Hr.escapeRegExp(Ne)));break;case"CharCode":case"CharClass":if(Ce||Pe){let Ne={name:"%"+(U+P++),bnf:[[S(Q.text)]],pinned:it};k.push(Ne),Y.push(Pe+Ne.name+Ce)}else Y.push(S(Q.text));break;case"PrimaryPreDecoration":case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+Q.type+" -> "+JSON.stringify(Q.text))}te=Q}),Y}function M(k,B,U,K=void 0){let te=B.children.filter(Ce=>Ce.type=="Attributes")[0],Y={};te&&te.children.forEach(Ce=>{let Pe=Ce.children.filter(it=>it.type=="NCName")[0].text;if(Pe in Y)throw new ho.TokenError("Duplicated attribute "+Pe,Ce);Y[Pe]=Ce.children.filter(it=>it.type=="AttributeValue")[0].text});let Q=B.children.filter(Ce=>Ce.type=="SequenceOrDifference").map(Ce=>V(k,Ce,U,K||Y)),G={name:U,bnf:Q};if(U.indexOf("%")==0&&(G.fragment=!0),Y.recoverUntil&&(G.recover=Y.recoverUntil,G.bnf.length>1))throw new ho.TokenError("only one-option productions are suitable for error recovering",B);if("pin"in Y){let Ce=parseInt(Y.pin);if(isNaN(Ce)||(G.pinned=Ce),G.bnf.length>1)throw new ho.TokenError("only one-option productions are suitable for pinning",B)}"ws"in Y?G.implicitWs=Y.ws!="explicit":G.implicitWs=null,G.fragment=G.fragment||Y.fragment=="true",G.simplifyWhenOneChildren=Y.simplifyWhenOneChildren=="true",k.push(G)}function J(k,B=s.defaultParser){let U=B.getAST(k);if(!U)throw new Error("Could not parse "+k);if(U.errors&&U.errors.length)throw U.errors[0];let K=null,te=U.children.filter(G=>G.type=="Attributes")[0],Y={};te&&te.children.forEach(G=>{let Ce=G.children.filter(Pe=>Pe.type=="NCName")[0].text;if(Ce in Y)throw new ho.TokenError("Duplicated attribute "+Ce,G);Y[Ce]=G.children.filter(Pe=>Pe.type=="AttributeValue")[0].text}),K=Y.ws=="implicit";let Q=[];return U.children.filter(G=>G.type=="Production").map(G=>{let Ce=G.children.filter(Pe=>Pe.type=="NCName")[0].text;M(Q,G,Ce)}),Q.forEach(G=>{G.implicitWs===null&&(G.implicitWs=K)}),Q}s.getRules=J;function ie(k,B=s.defaultParser){return J(k.join(""),B)}s.Transform=ie;class fe extends Hr.Parser{constructor(B,U){let K=U&&U.debugRulesParser===!0?new Hr.Parser(s.RULES,{debug:!0}):s.defaultParser;super(J(B,K),U)}emitSource(){return A(this)}}s.Parser=fe})(q3||(q3={}));H3.default=q3});var Yl=we(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});var X9=Gl();Object.defineProperty(Mi,"BNF",{enumerable:!0,get:function(){return X9.default}});var Q9=Vl();Object.defineProperty(Mi,"W3C",{enumerable:!0,get:function(){return Q9.default}});var j9=Kl();Object.defineProperty(Mi,"Custom",{enumerable:!0,get:function(){return j9.default}})});var Jl=we(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});var e7=Ii();Object.defineProperty(Di,"Parser",{enumerable:!0,get:function(){return e7.Parser}});var t7=lo();Object.defineProperty(Di,"TokenError",{enumerable:!0,get:function(){return t7.TokenError}});Di.Grammars=Yl()});var yi=we(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.parseFormula=tn.parseAndApply=tn.Source=tn.Formula=void 0;var Xe=Qt(),n7=yl(),B3=$t(),r7=Nl(),Xl=Ll(),i7=Wl(),Ql=Ml(),o7=x3(),s7=T3(),l7=Dl(),u7=Jl(),a7=Fr(),c7=` tblfm_line ::= "" formula_list ::= formula ( "::" formula_list )? formula ::= destination "=" source display_directive? source ::= range | source_reference | single_param_function_call | conditional_function_call | algebraic_operation | float | real range ::= source_reference ".." source_reference source_reference ::= absolute_reference | relative_reference destination ::= range | absolute_reference relative_reference ::= (relative_row | absolute_row) (relative_column | absolute_column) | relative_row | relative_column relative_row ::= "@" ( "-" | "+" ) int relative_column ::= "$" ( "-" | "+" ) int absolute_reference ::= absolute_row absolute_column | absolute_row | absolute_column absolute_row ::= "@" ( "I" | "<" | ">" | int ) absolute_column ::= "$" ( "<" | ">" | int ) single_param_function_call ::= single_param_function "(" source ")" single_param_function ::= "mean" | "sum" conditional_function_call ::= "if(" predicate "," " "? source "," " "? source ")" predicate ::= source_without_range conditional_operator source_without_range source_without_range ::= source_reference | single_param_function_call | conditional_function_call | algebraic_operation | float | real conditional_operator ::= ">" | "<" | ">=" | "<=" | "==" | "!=" algebraic_operation ::= "(" source " "? algebraic_operator " "? source ")" algebraic_operator ::= "+" | "-" | "*" | "/" display_directive ::= ";" display_directive_option display_directive_option ::= formatting_directive | datetime_directive | hourminute_directive formatting_directive ::= "%." int "f" datetime_directive ::= "dt" hourminute_directive ::= "hm" float ::= "-"? int "." int real ::= "-"? int int ::= [0-9]+ `,go=class{constructor(r,l){this.merge=C=>this.destination.merge(this.source,C);let c=new Ql.DefaultFormatter;r.children.length===3&&(c=new Ql.DisplayDirective(r.children[2]));let d=(0,i7.newDestination)(r.children[0],l,c);if(d.isErr())throw d.error;this.destination=d.value,this.source=new po(r.children[1],l)}};tn.Formula=go;var po=class{constructor(r,l){if(this.getValue=(C,_)=>this.locationDescriptor.getValue(C,_),r.type!=="source"&&r.type!=="source_without_range")throw Error("Invalid AST token type of "+r.type);if(r.children.length!==1)throw Error("Unexpected children length in Source");let c=r.children[0],d=f7(c,l);if(d.isErr())throw d.error;this.locationDescriptor=d.value}};tn.Source=po;var f7=(s,r)=>{try{switch(s.type){case"range":return(0,Xe.ok)(new o7.Range(s,r));case"source_reference":let l=(0,B3.checkChildLength)(s,1);return l?(0,Xe.err)(l):(0,Xe.ok)(new s7.Reference(s.children[0],r));case"single_param_function_call":return(0,Xe.ok)(new l7.SingleParamFunctionCall(s,r));case"conditional_function_call":return(0,Xe.ok)(new r7.ConditionalFunctionCall(s,r));case"algebraic_operation":return(0,Xe.ok)(new n7.AlgebraicOperation(s,r));case"real":return(0,Xe.ok)(new Xl.Constant(s,r));case"float":return(0,Xe.ok)(new Xl.Constant(s,r));default:throw Error("Unrecognized valueProvider type "+s.type)}}catch(l){return(0,Xe.err)(l)}},h7=(s,r)=>s.reduce((c,d)=>c.andThen(C=>{let _=(0,tn.parseFormula)(d,r);return _.isErr()?_:(0,Xe.ok)((0,a7.concat)(_.value,C))}),(0,Xe.ok)([])).andThen(c=>c.reduceRight((d,C)=>d.andThen(_=>C.merge(_)),(0,Xe.ok)(r)));tn.parseAndApply=h7;var d7=(s,r)=>{let c=new u7.Grammars.W3C.Parser(c7).getAST(s);if(!c)return(0,Xe.err)(new Error(`Formula '${s}' could not be parsed`));let d=(0,B3.checkType)(c,"tblfm_line");if(d)return(0,Xe.err)(d);let C=(0,B3.checkChildLength)(c,1);if(C)return(0,Xe.err)(C);let _=c.children[0].children,w=[];try{do w.push(new go(_[0],r)),_.length>1&&_[1].type==="formula_list"?_=_[1].children:_=[];while(_.length>0);return(0,Xe.ok)(w)}catch(A){return(0,Xe.err)(A)}};tn.parseFormula=d7});var Fi=we(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.Table=void 0;var g7=yi(),jl=D1(),mo=P1(),p7=W1(),z3=class s{constructor(r){this._rows=r.slice()}getHeight(){return this._rows.length}getWidth(){return this._rows.map(r=>r.getWidth()).reduce((r,l)=>Math.max(r,l),0)}getHeaderWidth(){return this._rows[0].getWidth()}getRows(){return this._rows.slice()}getDelimiterRow(){let r=this._rows[1];if(r!==void 0&&r.isDelimiter())return r}getCellAt(r,l){let c=this._rows[r];if(c!==void 0)return c.getCellAt(l)}getFocusedCell(r){return this.getCellAt(r.row,r.column)}toLines(){return this._rows.map(r=>r.toText())}setCellAt(r,l,c){let d=this.getRows();return d[r]=d[r].setCellAt(l,c),new s(d)}focusOfPosition(r,l){let c=r.row-l,d=this._rows[c];if(d===void 0)return;if(r.columnP.rawContent.length),_=d.marginLeft.length+1,w=0;for(;wr.column);w++)_+=C[w]+1;let A=r.column-_;return new jl.Focus(c,w,A)}positionOfFocus(r,l){let c=this._rows[r.row];if(c===void 0)return;let d=r.row+l;if(r.column<0)return new mo.Point(d,r.offset);let C=c.getCells().map(A=>A.rawContent.length),_=Math.min(r.column,C.length),w=c.marginLeft.length+1;for(let A=0;A<_;A++)w+=C[A]+1;return new mo.Point(d,w+r.offset)}selectionRangeOfFocus(r,l){let c=this._rows[r.row];if(c===void 0)return;let d=c.getCellAt(r.column);if(d===void 0||d.content==="")return;let C=r.row+l,_=c.getCells().map(A=>A.rawContent.length),w=c.marginLeft.length+1;for(let A=0;A{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.readTable=rt._marginRegex=rt.marginRegexSrc=rt._readRow=rt._splitCells=void 0;var m7=Fi(),w7=Mr(),C7=Ti(),v7=s=>{let r=[],l="",c=s;for(;c!=="";)switch(c[0]){case"`":{let d=c.match(/^`*/);if(d===null)break;let C=d[0],_=C,w=c.substr(C.length),A=!1;for(;w!=="";)if(w[0]==="`"){let P=w.match(/^`*/);if(P===null)break;let y=P[0];if(_+=y,w=w.substr(y.length),y.length===C.length){A=!0;break}}else _+=w[0],w=w.substr(1);A?(l+=_,c=w):(l+="`",c=c.substr(1))}break;case"\\":c.length>=2?(l+=c.substr(0,2),c=c.substr(2)):(l+="\\",c=c.substr(1));break;case"[":if(l+="[",c=c.substr(1),/\[[^\\|\]]+\|[^|\]]+]]/.test(c)){let d=c.indexOf("|");l+=c.slice(0,d),l+="\\|",c=c.substr(d+1)}break;case"|":r.push(l),l="",c=c.substr(1);break;default:l+=c[0],c=c.substr(1)}return r.push(l),r};rt._splitCells=v7;var _7=(s,r=/^\s*$/)=>{let l=(0,rt._splitCells)(s),c;l.length>0&&r.test(l[0])?(c=l[0],l=l.slice(1)):c="";let d;return l.length>1&&/^\s*$/.test(l[l.length-1])?(d=l[l.length-1],l=l.slice(0,l.length-1)):d="",new C7.TableRow(l.map(C=>new w7.TableCell(C)),c,d)};rt._readRow=_7;var b7=s=>{let r="";return s.forEach(l=>{l!=="|"&&l!=="\\"&&l!=="`"&&(r+=`\\u{${l.codePointAt(0).toString(16)}}`)}),`[\\s${r}]*`};rt.marginRegexSrc=b7;var E7=s=>new RegExp(`^${(0,rt.marginRegexSrc)(s)}$`,"u");rt._marginRegex=E7;var A7=(s,r)=>{let l=(0,rt._marginRegex)(r.leftMarginChars);return new m7.Table(s.map(c=>(0,rt._readRow)(c,l)))};rt.readTable=A7});var tu=we(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});var Z3=[[0,31,"N"],[32,126,"Na"],[127,160,"N"],[161,161,"A"],[162,163,"Na"],[164,164,"A"],[165,166,"Na"],[167,168,"A"],[169,169,"N"],[170,170,"A"],[171,171,"N"],[172,172,"Na"],[173,174,"A"],[175,175,"Na"],[176,180,"A"],[181,181,"N"],[182,186,"A"],[187,187,"N"],[188,191,"A"],[192,197,"N"],[198,198,"A"],[199,207,"N"],[208,208,"A"],[209,214,"N"],[215,216,"A"],[217,221,"N"],[222,225,"A"],[226,229,"N"],[230,230,"A"],[231,231,"N"],[232,234,"A"],[235,235,"N"],[236,237,"A"],[238,239,"N"],[240,240,"A"],[241,241,"N"],[242,243,"A"],[244,246,"N"],[247,250,"A"],[251,251,"N"],[252,252,"A"],[253,253,"N"],[254,254,"A"],[255,256,"N"],[257,257,"A"],[258,272,"N"],[273,273,"A"],[274,274,"N"],[275,275,"A"],[276,282,"N"],[283,283,"A"],[284,293,"N"],[294,295,"A"],[296,298,"N"],[299,299,"A"],[300,304,"N"],[305,307,"A"],[308,311,"N"],[312,312,"A"],[313,318,"N"],[319,322,"A"],[323,323,"N"],[324,324,"A"],[325,327,"N"],[328,331,"A"],[332,332,"N"],[333,333,"A"],[334,337,"N"],[338,339,"A"],[340,357,"N"],[358,359,"A"],[360,362,"N"],[363,363,"A"],[364,461,"N"],[462,462,"A"],[463,463,"N"],[464,464,"A"],[465,465,"N"],[466,466,"A"],[467,467,"N"],[468,468,"A"],[469,469,"N"],[470,470,"A"],[471,471,"N"],[472,472,"A"],[473,473,"N"],[474,474,"A"],[475,475,"N"],[476,476,"A"],[477,592,"N"],[593,593,"A"],[594,608,"N"],[609,609,"A"],[610,707,"N"],[708,708,"A"],[709,710,"N"],[711,711,"A"],[712,712,"N"],[713,715,"A"],[716,716,"N"],[717,717,"A"],[718,719,"N"],[720,720,"A"],[721,727,"N"],[728,731,"A"],[732,732,"N"],[733,733,"A"],[734,734,"N"],[735,735,"A"],[736,767,"N"],[768,879,"A"],[880,912,"N"],[913,929,"A"],[930,930,"N"],[931,937,"A"],[938,944,"N"],[945,961,"A"],[962,962,"N"],[963,969,"A"],[970,1024,"N"],[1025,1025,"A"],[1026,1039,"N"],[1040,1103,"A"],[1104,1104,"N"],[1105,1105,"A"],[1106,4351,"N"],[4352,4447,"W"],[4448,8207,"N"],[8208,8208,"A"],[8209,8210,"N"],[8211,8214,"A"],[8215,8215,"N"],[8216,8217,"A"],[8218,8219,"N"],[8220,8221,"A"],[8222,8223,"N"],[8224,8226,"A"],[8227,8227,"N"],[8228,8231,"A"],[8232,8239,"N"],[8240,8240,"A"],[8241,8241,"N"],[8242,8243,"A"],[8244,8244,"N"],[8245,8245,"A"],[8246,8250,"N"],[8251,8251,"A"],[8252,8253,"N"],[8254,8254,"A"],[8255,8307,"N"],[8308,8308,"A"],[8309,8318,"N"],[8319,8319,"A"],[8320,8320,"N"],[8321,8324,"A"],[8325,8360,"N"],[8361,8361,"H"],[8362,8363,"N"],[8364,8364,"A"],[8365,8450,"N"],[8451,8451,"A"],[8452,8452,"N"],[8453,8453,"A"],[8454,8456,"N"],[8457,8457,"A"],[8458,8466,"N"],[8467,8467,"A"],[8468,8469,"N"],[8470,8470,"A"],[8471,8480,"N"],[8481,8482,"A"],[8483,8485,"N"],[8486,8486,"A"],[8487,8490,"N"],[8491,8491,"A"],[8492,8530,"N"],[8531,8532,"A"],[8533,8538,"N"],[8539,8542,"A"],[8543,8543,"N"],[8544,8555,"A"],[8556,8559,"N"],[8560,8569,"A"],[8570,8584,"N"],[8585,8585,"A"],[8586,8591,"N"],[8592,8601,"A"],[8602,8631,"N"],[8632,8633,"A"],[8634,8657,"N"],[8658,8658,"A"],[8659,8659,"N"],[8660,8660,"A"],[8661,8678,"N"],[8679,8679,"A"],[8680,8703,"N"],[8704,8704,"A"],[8705,8705,"N"],[8706,8707,"A"],[8708,8710,"N"],[8711,8712,"A"],[8713,8714,"N"],[8715,8715,"A"],[8716,8718,"N"],[8719,8719,"A"],[8720,8720,"N"],[8721,8721,"A"],[8722,8724,"N"],[8725,8725,"A"],[8726,8729,"N"],[8730,8730,"A"],[8731,8732,"N"],[8733,8736,"A"],[8737,8738,"N"],[8739,8739,"A"],[8740,8740,"N"],[8741,8741,"A"],[8742,8742,"N"],[8743,8748,"A"],[8749,8749,"N"],[8750,8750,"A"],[8751,8755,"N"],[8756,8759,"A"],[8760,8763,"N"],[8764,8765,"A"],[8766,8775,"N"],[8776,8776,"A"],[8777,8779,"N"],[8780,8780,"A"],[8781,8785,"N"],[8786,8786,"A"],[8787,8799,"N"],[8800,8801,"A"],[8802,8803,"N"],[8804,8807,"A"],[8808,8809,"N"],[8810,8811,"A"],[8812,8813,"N"],[8814,8815,"A"],[8816,8833,"N"],[8834,8835,"A"],[8836,8837,"N"],[8838,8839,"A"],[8840,8852,"N"],[8853,8853,"A"],[8854,8856,"N"],[8857,8857,"A"],[8858,8868,"N"],[8869,8869,"A"],[8870,8894,"N"],[8895,8895,"A"],[8896,8977,"N"],[8978,8978,"A"],[8979,8985,"N"],[8986,8987,"W"],[8988,9e3,"N"],[9001,9002,"W"],[9003,9192,"N"],[9193,9196,"W"],[9197,9199,"N"],[9200,9200,"W"],[9201,9202,"N"],[9203,9203,"W"],[9204,9311,"N"],[9312,9449,"A"],[9450,9450,"N"],[9451,9547,"A"],[9548,9551,"N"],[9552,9587,"A"],[9588,9599,"N"],[9600,9615,"A"],[9616,9617,"N"],[9618,9621,"A"],[9622,9631,"N"],[9632,9633,"A"],[9634,9634,"N"],[9635,9641,"A"],[9642,9649,"N"],[9650,9651,"A"],[9652,9653,"N"],[9654,9655,"A"],[9656,9659,"N"],[9660,9661,"A"],[9662,9663,"N"],[9664,9665,"A"],[9666,9669,"N"],[9670,9672,"A"],[9673,9674,"N"],[9675,9675,"A"],[9676,9677,"N"],[9678,9681,"A"],[9682,9697,"N"],[9698,9701,"A"],[9702,9710,"N"],[9711,9711,"A"],[9712,9724,"N"],[9725,9726,"W"],[9727,9732,"N"],[9733,9734,"A"],[9735,9736,"N"],[9737,9737,"A"],[9738,9741,"N"],[9742,9743,"A"],[9744,9747,"N"],[9748,9749,"W"],[9750,9755,"N"],[9756,9756,"A"],[9757,9757,"N"],[9758,9758,"A"],[9759,9791,"N"],[9792,9792,"A"],[9793,9793,"N"],[9794,9794,"A"],[9795,9799,"N"],[9800,9811,"W"],[9812,9823,"N"],[9824,9825,"A"],[9826,9826,"N"],[9827,9829,"A"],[9830,9830,"N"],[9831,9834,"A"],[9835,9835,"N"],[9836,9837,"A"],[9838,9838,"N"],[9839,9839,"A"],[9840,9854,"N"],[9855,9855,"W"],[9856,9874,"N"],[9875,9875,"W"],[9876,9885,"N"],[9886,9887,"A"],[9888,9888,"N"],[9889,9889,"W"],[9890,9897,"N"],[9898,9899,"W"],[9900,9916,"N"],[9917,9918,"W"],[9919,9919,"A"],[9920,9923,"N"],[9924,9925,"W"],[9926,9933,"A"],[9934,9934,"W"],[9935,9939,"A"],[9940,9940,"W"],[9941,9953,"A"],[9954,9954,"N"],[9955,9955,"A"],[9956,9959,"N"],[9960,9961,"A"],[9962,9962,"W"],[9963,9969,"A"],[9970,9971,"W"],[9972,9972,"A"],[9973,9973,"W"],[9974,9977,"A"],[9978,9978,"W"],[9979,9980,"A"],[9981,9981,"W"],[9982,9983,"A"],[9984,9988,"N"],[9989,9989,"W"],[9990,9993,"N"],[9994,9995,"W"],[9996,10023,"N"],[10024,10024,"W"],[10025,10044,"N"],[10045,10045,"A"],[10046,10059,"N"],[10060,10060,"W"],[10061,10061,"N"],[10062,10062,"W"],[10063,10066,"N"],[10067,10069,"W"],[10070,10070,"N"],[10071,10071,"W"],[10072,10101,"N"],[10102,10111,"A"],[10112,10132,"N"],[10133,10135,"W"],[10136,10159,"N"],[10160,10160,"W"],[10161,10174,"N"],[10175,10175,"W"],[10176,10213,"N"],[10214,10221,"Na"],[10222,10628,"N"],[10629,10630,"Na"],[10631,11034,"N"],[11035,11036,"W"],[11037,11087,"N"],[11088,11088,"W"],[11089,11092,"N"],[11093,11093,"W"],[11094,11097,"A"],[11098,11903,"N"],[11904,11929,"W"],[11930,11930,"N"],[11931,12019,"W"],[12020,12031,"N"],[12032,12245,"W"],[12246,12271,"N"],[12272,12283,"W"],[12284,12287,"N"],[12288,12288,"F"],[12289,12350,"W"],[12351,12352,"N"],[12353,12438,"W"],[12439,12440,"N"],[12441,12543,"W"],[12544,12548,"N"],[12549,12591,"W"],[12592,12592,"N"],[12593,12686,"W"],[12687,12687,"N"],[12688,12771,"W"],[12772,12783,"N"],[12784,12830,"W"],[12831,12831,"N"],[12832,12871,"W"],[12872,12879,"A"],[12880,19903,"W"],[19904,19967,"N"],[19968,42124,"W"],[42125,42127,"N"],[42128,42182,"W"],[42183,43359,"N"],[43360,43388,"W"],[43389,44031,"N"],[44032,55203,"W"],[55204,57343,"N"],[57344,63743,"A"],[63744,64255,"W"],[64256,65023,"N"],[65024,65039,"A"],[65040,65049,"W"],[65050,65071,"N"],[65072,65106,"W"],[65107,65107,"N"],[65108,65126,"W"],[65127,65127,"N"],[65128,65131,"W"],[65132,65280,"N"],[65281,65376,"F"],[65377,65470,"H"],[65471,65473,"N"],[65474,65479,"H"],[65480,65481,"N"],[65482,65487,"H"],[65488,65489,"N"],[65490,65495,"H"],[65496,65497,"N"],[65498,65500,"H"],[65501,65503,"N"],[65504,65510,"F"],[65511,65511,"N"],[65512,65518,"H"],[65519,65532,"N"],[65533,65533,"A"],[65534,94175,"N"],[94176,94180,"W"],[94181,94191,"N"],[94192,94193,"W"],[94194,94207,"N"],[94208,100343,"W"],[100344,100351,"N"],[100352,101589,"W"],[101590,101631,"N"],[101632,101640,"W"],[101641,110591,"N"],[110592,110878,"W"],[110879,110927,"N"],[110928,110930,"W"],[110931,110947,"N"],[110948,110951,"W"],[110952,110959,"N"],[110960,111355,"W"],[111356,126979,"N"],[126980,126980,"W"],[126981,127182,"N"],[127183,127183,"W"],[127184,127231,"N"],[127232,127242,"A"],[127243,127247,"N"],[127248,127277,"A"],[127278,127279,"N"],[127280,127337,"A"],[127338,127343,"N"],[127344,127373,"A"],[127374,127374,"W"],[127375,127376,"A"],[127377,127386,"W"],[127387,127404,"A"],[127405,127487,"N"],[127488,127490,"W"],[127491,127503,"N"],[127504,127547,"W"],[127548,127551,"N"],[127552,127560,"W"],[127561,127567,"N"],[127568,127569,"W"],[127570,127583,"N"],[127584,127589,"W"],[127590,127743,"N"],[127744,127776,"W"],[127777,127788,"N"],[127789,127797,"W"],[127798,127798,"N"],[127799,127868,"W"],[127869,127869,"N"],[127870,127891,"W"],[127892,127903,"N"],[127904,127946,"W"],[127947,127950,"N"],[127951,127955,"W"],[127956,127967,"N"],[127968,127984,"W"],[127985,127987,"N"],[127988,127988,"W"],[127989,127991,"N"],[127992,128062,"W"],[128063,128063,"N"],[128064,128064,"W"],[128065,128065,"N"],[128066,128252,"W"],[128253,128254,"N"],[128255,128317,"W"],[128318,128330,"N"],[128331,128334,"W"],[128335,128335,"N"],[128336,128359,"W"],[128360,128377,"N"],[128378,128378,"W"],[128379,128404,"N"],[128405,128406,"W"],[128407,128419,"N"],[128420,128420,"W"],[128421,128506,"N"],[128507,128591,"W"],[128592,128639,"N"],[128640,128709,"W"],[128710,128715,"N"],[128716,128716,"W"],[128717,128719,"N"],[128720,128722,"W"],[128723,128724,"N"],[128725,128727,"W"],[128728,128746,"N"],[128747,128748,"W"],[128749,128755,"N"],[128756,128764,"W"],[128765,128991,"N"],[128992,129003,"W"],[129004,129291,"N"],[129292,129338,"W"],[129339,129339,"N"],[129340,129349,"W"],[129350,129350,"N"],[129351,129400,"W"],[129401,129401,"N"],[129402,129483,"W"],[129484,129484,"N"],[129485,129535,"W"],[129536,129647,"N"],[129648,129652,"W"],[129653,129655,"N"],[129656,129658,"W"],[129659,129663,"N"],[129664,129670,"W"],[129671,129679,"N"],[129680,129704,"W"],[129705,129711,"N"],[129712,129718,"W"],[129719,129727,"N"],[129728,129730,"W"],[129731,129743,"N"],[129744,129750,"W"],[129751,131071,"N"],[131072,196605,"W"],[196606,196607,"N"],[196608,262141,"W"],[262142,917759,"N"],[917760,917999,"A"],[918e3,983039,"N"],[983040,1048573,"A"],[1048574,1048575,"N"],[1048576,1114109,"A"],[1114110,1114111,"N"]],T7="13.0.0";function R7(s){for(var r=0,l=Z3.length-1;r!==l;){var c=r+(l-r>>1),d=Z3[c],C=d[0],_=d[1],w=d[2];if(s_)r=c+1;else return w}return Z3[r][2]}function eu(s,r){r===void 0&&(r=0);var l=s.codePointAt(r);if(l!==void 0)return R7(l)}var x7={N:1,Na:1,W:2,F:2,H:1,A:1};function y7(s,r){for(var l=0,c=0,d=s;c{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.moveColumn=se.deleteColumn=se.insertColumn=se.moveRow=se.deleteRow=se.insertRow=se.alterAlignment=se.formatTable=se.FormatType=se._weakFormatTable=se._formatTable=se._padText=se._alignText=se._computeTextWidth=se.completeTable=se._extendArray=se._delimiterText=void 0;var at=Ai(),Gt=Fi(),wt=Mr(),Qe=Ti(),N7=tu(),L7=(s,r)=>{let l="-".repeat(r);switch(s){case at.Alignment.NONE:return` ${l} `;case at.Alignment.LEFT:return`:${l} `;case at.Alignment.RIGHT:return` ${l}:`;case at.Alignment.CENTER:return`:${l}:`;default:throw new Error("Unknown alignment: "+s)}};se._delimiterText=L7;var O7=(s,r,l)=>{let c=s.slice();for(let d=s.length;d{let l=s.getHeight(),c=s.getWidth();if(l===0)throw new Error("Empty table");let d=s.getRows(),C=[],_=d[0],w=_.getCells();C.push(new Qe.TableRow((0,se._extendArray)(w,c,P=>new wt.TableCell(P===w.length?_.marginRight:"")),_.marginLeft,w.lengthnew wt.TableCell((0,se._delimiterText)(at.Alignment.NONE,y===P.length?Math.max(r.minDelimiterWidth,A.marginRight.length-2):r.minDelimiterWidth))),A.marginLeft,P.lengthnew wt.TableCell((0,se._delimiterText)(at.Alignment.NONE,r.minDelimiterWidth))),"",""));for(let P=A!==void 0?2:1;Pnew wt.TableCell(V===S.length?y.marginRight:"")),y.marginLeft,S.length{let l=r.normalize?s.normalize("NFC"):s,c=0;for(let d of l){if(r.wideChars.has(d)){c+=2;continue}if(r.narrowChars.has(d)){c+=1;continue}switch((0,N7.getEAW)(d)){case"F":case"W":c+=2;break;case"A":c+=r.ambiguousAsWide?2:1;break;default:c+=1}}return c};se._computeTextWidth=P7;var I7=(s,r,l,c)=>{let d=r-(0,se._computeTextWidth)(s,c);if(d<0)return s;switch(l){case at.Alignment.NONE:throw new Error("Unexpected default alignment");case at.Alignment.LEFT:return s+" ".repeat(d);case at.Alignment.RIGHT:return" ".repeat(d)+s;case at.Alignment.CENTER:return" ".repeat(Math.floor(d/2))+s+" ".repeat(Math.ceil(d/2));default:throw new Error("Unknown alignment: "+l)}};se._alignText=I7;var W7=s=>` ${s} `;se._padText=W7;var M7=(s,r)=>{let l=s.getHeight(),c=s.getWidth();if(l===0)return{table:s,marginLeft:""};let d=s.getRows()[0].marginLeft;if(c===0){let y=new Array(l).fill(new Qe.TableRow([],d,""));return{table:new Gt.Table(y),marginLeft:d}}let C=s.getDelimiterRow(),_=new Array(c).fill(0);if(C!==void 0){let y=C.getWidth();for(let S=0;Sy.getAlignment()),c,()=>r.defaultAlignment):new Array(c).fill(r.defaultAlignment),A=[],P=s.getRows()[0];A.push(new Qe.TableRow(P.getCells().map((y,S)=>new wt.TableCell((0,se._padText)((0,se._alignText)(y.content,_[S],r.headerAlignment===at.HeaderAlignment.FOLLOW?w[S]===at.Alignment.NONE?r.defaultAlignment:w[S]:r.headerAlignment,r.textWidthOptions)))),d,"")),C!==void 0&&A.push(new Qe.TableRow(C.getCells().map((y,S)=>new wt.TableCell((0,se._delimiterText)(w[S],_[S]))),d,""));for(let y=C!==void 0?2:1;ynew wt.TableCell((0,se._padText)((0,se._alignText)(V.content,_[M],w[M]===at.Alignment.NONE?r.defaultAlignment:w[M],r.textWidthOptions)))),d,""))}return{table:new Gt.Table(A),marginLeft:d}};se._formatTable=M7;var D7=(s,r)=>{let l=s.getHeight(),c=s.getWidth();if(l===0)return{table:s,marginLeft:""};let d=s.getRows()[0].marginLeft;if(c===0){let A=new Array(l).fill(new Qe.TableRow([],d,""));return{table:new Gt.Table(A),marginLeft:d}}let C=s.getDelimiterRow(),_=[],w=s.getRows()[0];_.push(new Qe.TableRow(w.getCells().map(A=>new wt.TableCell((0,se._padText)(A.content))),d,"")),C!==void 0&&_.push(new Qe.TableRow(C.getCells().map(A=>new wt.TableCell((0,se._delimiterText)(A.getAlignment(),r.minDelimiterWidth))),d,""));for(let A=C!==void 0?2:1;Anew wt.TableCell((0,se._padText)(y.content))),d,""))}return{table:new Gt.Table(_),marginLeft:d}};se._weakFormatTable=D7;var Co;(function(s){s.NORMAL="normal",s.WEAK="weak"})(Co||(se.FormatType=Co={}));var F7=(s,r)=>{switch(r.formatType){case Co.NORMAL:return(0,se._formatTable)(s,r);case Co.WEAK:return(0,se._weakFormatTable)(s,r);default:throw new Error("Unknown format type: "+r.formatType)}};se.formatTable=F7;var k7=(s,r,l,c)=>{if(s.getHeight()<1)return s;let d=s.getRows()[1];if(r<0||d.getWidth()-1{let c=s.getRows();return c.splice(Math.max(r,2),0,l),new Gt.Table(c)};se.insertRow=U7;var q7=(s,r)=>{if(r===1)return s;let l=s.getRows();if(r===0){let c=l[0];l[0]=new Qe.TableRow(new Array(c.getWidth()).fill(new wt.TableCell("")),c.marginLeft,c.marginRight)}else l.splice(r,1);return new Gt.Table(l)};se.deleteRow=q7;var H7=(s,r,l)=>{if(r<=1||l<=1||r===l)return s;let c=s.getRows(),d=c[r];return c.splice(r,1),c.splice(l,0,d),new Gt.Table(c)};se.moveRow=H7;var B7=(s,r,l,c)=>{let d=s.getRows();for(let C=0;C1?C-1:C];w.splice(r,0,A),d[C]=new Qe.TableRow(w,_.marginLeft,_.marginRight)}return new Gt.Table(d)};se.insertColumn=B7;var z7=(s,r,l)=>{let c=s.getRows();for(let d=0;d{if(r===l)return s;let c=s.getRows();for(let d=0;d{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.shortestEditScript=Wt.applyEditScript=Wt._applyCommand=Wt.Delete=Wt.Insert=void 0;var Br=class{constructor(r,l){this.row=r,this.line=l}};Wt.Insert=Br;var zr=class{constructor(r){this.row=r}};Wt.Delete=zr;var Z7=(s,r,l)=>{if(r instanceof Br)s.insertLine(l+r.row,r.line);else if(r instanceof zr)s.deleteLine(l+r.row);else throw new Error("Unknown command")};Wt._applyCommand=Z7;var G7=(s,r,l)=>{for(let c of r)(0,Wt._applyCommand)(s,c,l)};Wt.applyEditScript=G7;var _o=class{get car(){throw new Error("Not implemented")}get cdr(){throw new Error("Not implemented")}isEmpty(){throw new Error("Not implemented")}unshift(r){return new V3(r,this)}toArray(){let r=[],l=this;for(;!l.isEmpty();)r.push(l.car),l=l.cdr;return r}},G3=class extends _o{constructor(){super()}get car(){throw new Error("Empty list")}get cdr(){throw new Error("Empty list")}isEmpty(){return!0}},V3=class extends _o{constructor(r,l){super(),this._car=r,this._cdr=l}get car(){return this._car}get cdr(){return this._cdr}isEmpty(){return!1}},V7=(s,r,l=-1)=>{let c=s.length,d=r.length,C=l>=0?Math.min(l,c+d):c+d,_=new Array(Math.min(C,c)+Math.min(C,d)+1),w=Math.min(C,c);for(let A=0;A<=C;A++){let P=A<=c?-A:A-2*c,y=A<=d?A:-A+2*d;for(let S=P;S<=y;S+=2){let V,M;if(A===0)V=0,M=new G3;else if(S===-A)V=_[w+S+1].i+1,M=_[w+S+1].script.unshift(new zr(V+S));else if(S===A)V=_[w+S-1].i,M=_[w+S-1].script.unshift(new Br(V+S-1,r[V+S-1]));else{let J=_[w+S+1].i+1,ie=_[w+S-1].i;J>ie?(V=J,M=_[w+S+1].script.unshift(new zr(V+S))):(V=ie,M=_[w+S-1].script.unshift(new Br(V+S-1,r[V+S-1])))}for(;V{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.ITextEditor=void 0;var Y3=class{getCursorPosition(){throw new Error("Not implemented: getCursorPosition")}setCursorPosition(r){throw new Error("Not implemented: setCursorPosition")}setSelectionRange(r){throw new Error("Not implemented: setSelectionRange")}getLastRow(){throw new Error("Not implemented: getLastRow")}acceptsTableEdit(r){throw new Error("Not implemented: acceptsTableEdit")}getLine(r){throw new Error("Not implemented: getLine")}insertLine(r,l){throw new Error("Not implemented: insertLine")}deleteLine(r){throw new Error("Not implemented: deleteLine")}replaceLines(r,l,c){throw new Error("Not implemented: replaceLines")}transact(r){throw new Error("Not implemented: transact")}};bo.ITextEditor=Y3});var ou=we(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.defaultOptions=dr.optionsWithDefaults=void 0;var ru=Ai(),K7=vo(),iu={normalize:!0,wideChars:new Set,narrowChars:new Set,ambiguousAsWide:!1},Y7={leftMarginChars:new Set,formatType:K7.FormatType.NORMAL,minDelimiterWidth:3,defaultAlignment:ru.DefaultAlignment.LEFT,headerAlignment:ru.HeaderAlignment.FOLLOW,smartCursor:!1},J7=s=>Object.assign(Object.assign(Object.assign({},Y7),s),{textWidthOptions:s.textWidthOptions?Object.assign(Object.assign({},iu),s.textWidthOptions):iu});dr.optionsWithDefaults=J7;dr.defaultOptions=(0,dr.optionsWithDefaults)({})});var uu=we(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.TableEditor=We._computeNewOffset=We._createIsTableFormulaRegex=We._createIsTableRowRegex=We.SortOrder=void 0;var su=K3(),Eo=D1(),Oe=vo(),Zr=$3(),ln=P1(),J3=W1(),lu=Fi(),un=Mr(),$r=Ti(),X3;(function(s){s.Ascending="ascending",s.Descending="descending"})(X3||(We.SortOrder=X3={}));var X7=s=>new RegExp(`^${(0,Zr.marginRegexSrc)(s)}\\|`,"u");We._createIsTableRowRegex=X7;var Q7=s=>new RegExp(`^${(0,Zr.marginRegexSrc)(s)}$`,"u");We._createIsTableFormulaRegex=Q7;var j7=(s,r,l,c)=>{if(c){let _=l.table.getFocusedCell(s);return _!==void 0?_.computeRawOffset(0):s.column<0?l.marginLeft.length:0}let d=r.getFocusedCell(s),C=l.table.getFocusedCell(s);if(d!==void 0&&C!==void 0){let _=Math.min(d.computeContentOffset(s.offset),C.content.length);return C.computeRawOffset(_)}return s.column<0?l.marginLeft.length:0};We._computeNewOffset=j7;var Q3=class{constructor(r){this._textEditor=r,this._scActive=!1}resetSmartCursor(){this._scActive=!1}cursorIsInTable(r){let l=(0,We._createIsTableRowRegex)(r.leftMarginChars),c=this._textEditor.getCursorPosition();return this._textEditor.acceptsTableEdit(c.row)&&l.test(this._textEditor.getLine(c.row))}cursorIsInTableFormula(r){let l=(0,We._createIsTableFormulaRegex)(r.leftMarginChars),c=this._textEditor.getCursorPosition();return this._textEditor.acceptsTableEdit(c.row)&&l.test(this._textEditor.getLine(c.row))}_findTable(r){let l=(0,We._createIsTableRowRegex)(r.leftMarginChars),c=(0,We._createIsTableFormulaRegex)(r.leftMarginChars),d=this._textEditor.getCursorPosition(),C=this._textEditor.getLastRow(),_=[],w=[],A=d.row,P=d.row;{let M=this._textEditor.getLine(d.row);for(;c.test(M)&&d.row>=0;)d=new ln.Point(d.row-1,d.column),P--,M=this._textEditor.getLine(d.row)}{let M=this._textEditor.getLine(d.row);if(!this._textEditor.acceptsTableEdit(d.row)||!l.test(M))return;_.push(M)}for(let M=d.row-1;M>=0;M--){let J=this._textEditor.getLine(M);if(!this._textEditor.acceptsTableEdit(M)||!l.test(J))break;_.unshift(J),A=M}for(let M=d.row+1;M<=C;M++){let J=this._textEditor.getLine(M);if(!this._textEditor.acceptsTableEdit(M)||!l.test(J))break;_.push(J),P=M}for(let M=P+1;M<=C;M++){let J=this._textEditor.getLine(M);if(!this._textEditor.acceptsTableEdit(M)||!c.test(J))break;w.push(J)}let y=new J3.Range(new ln.Point(A,0),new ln.Point(P,_[_.length-1].length)),S=(0,Zr.readTable)(_,r),V=S.focusOfPosition(d,A);if(V!==void 0)return{range:y,lines:_,formulaLines:w,table:S,focus:V}}_withTable(r,l){let c=this._findTable(r);if(c!==void 0)return l(c)}_updateLines(r,l,c,d=void 0){if(d!==void 0){let C=(0,su.shortestEditScript)(d,c,3);if(C!==void 0){(0,su.applyEditScript)(this._textEditor,C,r);return}}this._textEditor.replaceLines(r,l,c)}_moveToFocus(r,l,c){let d=l.positionOfFocus(c,r);d!==void 0&&this._textEditor.setCursorPosition(d)}_selectFocus(r,l,c){let d=l.selectionRangeOfFocus(c,r);d!==void 0?this._textEditor.setSelectionRange(d):this._moveToFocus(r,l,c)}format(r){this.withCompletedTable(r,({range:l,lines:c,table:d,focus:C})=>{let _=C;this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,d.toLines(),c),this._moveToFocus(l.start.row,d,_)})})}escape(r){this._withTable(r,({range:l,lines:c,table:d,focus:C})=>{let _=(0,Oe.completeTable)(d,r),w=(0,Oe.formatTable)(_.table,r),A=l.end.row+(_.delimiterInserted?2:1);this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,w.table.toLines(),c);let P;if(A>this._textEditor.getLastRow())this._textEditor.insertLine(A,""),P=new ln.Point(A,0);else{let y=new RegExp(`^${(0,Zr.marginRegexSrc)(r.leftMarginChars)}`,"u"),S=this._textEditor.getLine(A),V=y.exec(S)[0];P=new ln.Point(A,V.length)}this._textEditor.setCursorPosition(P)}),this.resetSmartCursor()})}alignColumn(r,l){this.withCompletedTable(l,({range:c,lines:d,table:C,focus:_})=>{let w=_,A=C;0<=w.column&&w.column<=A.getHeaderWidth()-1&&(A=(0,Oe.alterAlignment)(C,w.column,r,l));let P=(0,Oe.formatTable)(A,l);w=w.setOffset((0,We._computeNewOffset)(w,C,P,!1)),this._textEditor.transact(()=>{this._updateLines(c.start.row,c.end.row+1,P.table.toLines(),d),this._moveToFocus(c.start.row,P.table,w)})})}selectCell(r){this.withCompletedTable(r,({range:l,lines:c,table:d,focus:C})=>{let _=C;this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,d.toLines(),c),this._selectFocus(l.start.row,d,_)})})}moveFocus(r,l,c){this.withCompletedTable(c,({range:d,lines:C,table:_,focus:w})=>{let A=w,P=A;if(r!==0){let V=_.getHeight(),M=A.row<1&&A.row+r>=1?1:A.row>1&&A.row+r<=1?-1:0;A=A.setRow(Math.min(Math.max(A.row+r+M,0),V<=2?0:V-1))}if(l!==0){let V=_.getHeaderWidth();!(A.column<0&&l<0)&&!(A.column>V-1&&l>0)&&(A=A.setColumn(Math.min(Math.max(A.column+l,0),V-1)))}let y=!A.posEquals(P),S=(0,Oe.formatTable)(_,c);A=A.setOffset((0,We._computeNewOffset)(A,_,S,y)),this._textEditor.transact(()=>{this._updateLines(d.start.row,d.end.row+1,S.table.toLines(),C),y?this._selectFocus(d.start.row,S.table,A):this._moveToFocus(d.start.row,S.table,A)}),y&&this.resetSmartCursor()})}nextCell(r){this._withTable(r,({range:l,lines:c,table:d,focus:C})=>{let _=this._scTablePos!==void 0&&!l.start.equals(this._scTablePos)||this._scLastFocus!==void 0&&!C.posEquals(this._scLastFocus);this._scActive&&_&&this.resetSmartCursor();let w=C,A=(0,Oe.completeTable)(d,r);A.delimiterInserted&&w.row>0&&(w=w.setRow(w.row+1));let P=w,y=A.table;if(w.row===1){if(w=w.setRow(2),r.smartCursor?(w.column<0||y.getHeaderWidth()-1y.getHeight()-1){let M=new Array(y.getHeaderWidth()).fill(new un.TableCell(""));y=(0,Oe.insertRow)(y,y.getHeight(),new $r.TableRow(M,"",""))}}else{if(w.column>y.getHeaderWidth()-1){let M=new Array(y.getHeight()-1).fill(new un.TableCell(""));y=(0,Oe.insertColumn)(y,y.getHeaderWidth(),M,r)}w=w.setColumn(w.column+1)}let S=(0,Oe.formatTable)(y,r);w=w.setOffset((0,We._computeNewOffset)(w,y,S,!0));let V=S.table.toLines();w.column>S.table.getHeaderWidth()-1&&(V[w.row]+=" ",w=w.setOffset(1)),this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,V,c),this._selectFocus(l.start.row,S.table,w)}),r.smartCursor&&(this._scActive||(this._scActive=!0,this._scTablePos=l.start,P.column<0||S.table.getHeaderWidth()-1{let _=C,w=_;_.row===0?_.column>0&&(_=_.setColumn(_.column-1)):_.row===1?_=new Eo.Focus(0,d.getHeaderWidth()-1,_.offset):_.column>0?_=_.setColumn(_.column-1):_=new Eo.Focus(_.row===2?0:_.row-1,d.getHeaderWidth()-1,_.offset);let A=!_.posEquals(w),P=(0,Oe.formatTable)(d,r);_=_.setOffset((0,We._computeNewOffset)(_,d,P,A)),this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,P.table.toLines(),c),A?this._selectFocus(l.start.row,P.table,_):this._moveToFocus(l.start.row,P.table,_)}),A&&this.resetSmartCursor()})}nextRow(r){this._withTable(r,({range:l,lines:c,table:d,focus:C})=>{let _=this._scTablePos!==void 0&&!l.start.equals(this._scTablePos)||this._scLastFocus!==void 0&&!C.posEquals(this._scLastFocus);this._scActive&&_&&this.resetSmartCursor();let w=C,A=(0,Oe.completeTable)(d,r);A.delimiterInserted&&w.row>0&&(w=w.setRow(w.row+1));let P=w,y=A.table;if(w.row===0?w=w.setRow(2):w=w.setRow(w.row+1),r.smartCursor?this._scActive&&this._scStartFocus!==void 0?w=w.setColumn(this._scStartFocus.column):(w.column<0||y.getHeaderWidth()-1y.getHeight()-1){let V=new Array(y.getHeaderWidth()).fill(new un.TableCell(""));y=(0,Oe.insertRow)(y,y.getHeight(),new $r.TableRow(V,"",""))}let S=(0,Oe.formatTable)(y,r);w=w.setOffset((0,We._computeNewOffset)(w,y,S,!0)),this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,S.table.toLines(),c),this._selectFocus(l.start.row,S.table,w)}),r.smartCursor&&(this._scActive||(this._scActive=!0,this._scTablePos=l.start,P.column<0||S.table.getHeaderWidth()-1{let w=_;w.row<=1&&(w=w.setRow(2)),w=w.setColumn(0);let A=new Array(C.getHeaderWidth()).fill(new un.TableCell("")),P=(0,Oe.insertRow)(C,w.row,new $r.TableRow(A,"",""));this.formatAndApply(r,l,c,d,P,w)})}deleteRow(r){this.withCompletedTable(r,({range:l,lines:c,formulaLines:d,table:C,focus:_})=>{let w=_,A=C,P=!1;w.row!==1&&(A=(0,Oe.deleteRow)(A,w.row),P=!0,w.row>A.getHeight()-1&&(w=w.setRow(w.row===2?0:w.row-1))),this.formatAndApply(r,l,c,d,A,w,P)})}moveRow(r,l){this.withCompletedTable(l,({range:c,lines:d,formulaLines:C,table:_,focus:w})=>{let A=w,P=_;if(A.row>1){let y=Math.min(Math.max(A.row+r,2),P.getHeight()-1);P=(0,Oe.moveRow)(P,A.row,y),A=A.setRow(y)}this.formatAndApply(l,c,d,C,P,A)})}evaluateFormulas(r){return this.withCompletedTable(r,({range:l,lines:c,formulaLines:d,table:C,focus:_})=>{let w=C.applyFormulas(d);if(w.isErr())return w.error;let{table:A,focus:P}=this.formatAndApply(r,l,c,d,w.value,_,!1)})}transpose(r){this.withCompletedTable(r,({range:l,lines:c,formulaLines:d,table:C,focus:_})=>{var w,A,P,y,S,V,M,J;let ie=C.getWidth(),fe=C.getHeight(),k=new Array(ie+1);for(let te=0;te1){let G=(y=(P=C.getCellAt(Q,te))===null||P===void 0?void 0:P.content)!==null&&y!==void 0?y:"";Y[Q-1]=new un.TableCell(G)}}k[te]=new $r.TableRow(Y,"","")}else if(te===1){let Y=new Array(fe-1);for(let Q=0;Q1){let Y=new Array(fe-1);for(let Q=0;Q1){let G=(J=(M=C.getCellAt(Q,te-1))===null||M===void 0?void 0:M.content)!==null&&J!==void 0?J:"";Y[Q-1]=new un.TableCell(G)}}k[te]=new $r.TableRow(Y,"","")}let B=new lu.Table(k),{table:U,focus:K}=this.formatAndApply(r,l,c,d,B,_,!0);this._moveToFocus(l.start.row,U,K)})}sortRows(r,l){this.withCompletedTable(l,({range:c,lines:d,formulaLines:C,table:_,focus:w})=>{let A=_.getRows().slice(2),P=ie=>/^\s*[-+]?((\d+(\.\d+)?)|(\d+\.)|(\.\d+))([eE][-+]?\d+)?\s*$/.test(ie),y=A.map(ie=>{var fe;return(fe=ie.getCellAt(w.column))===null||fe===void 0?void 0:fe.content}).some(ie=>ie!==void 0&&ie!==""&&!P(ie));A.sort((ie,fe)=>{let k=ie.getCellAt(w.column),B=fe.getCellAt(w.column);if(k===void 0||k.content==="")return B===void 0||B.content===""?0:-1;if(B===void 0||B.content==="")return 1;let U=y?k.content.replace(/[*~_$]/g,""):parseFloat(k.content),K=y?B.content.replace(/[*~_$]/g,""):parseFloat(B.content);return U===K?0:U===void 0?-1:K===void 0?1:U{let w=_;w.row===1&&(w=w.setRow(0)),w.column<0&&(w=w.setColumn(0));let A=new Array(C.getHeight()-1).fill(new un.TableCell("")),P=(0,Oe.insertColumn)(C,w.column,A,r);this.formatAndApply(r,l,c,d,P,w)})}deleteColumn(r){this.withCompletedTable(r,({range:l,lines:c,formulaLines:d,table:C,focus:_})=>{let w=_;w.row===1&&(w=w.setRow(0));let A=C,P=!1;0<=w.column&&w.column<=A.getHeaderWidth()-1&&(A=(0,Oe.deleteColumn)(C,w.column,r),P=!0,w.column>A.getHeaderWidth()-1&&(w=w.setColumn(A.getHeaderWidth()-1))),this.formatAndApply(r,l,c,d,A,w,P)})}moveColumn(r,l){this.withCompletedTable(l,({range:c,lines:d,formulaLines:C,table:_,focus:w})=>{let A=w,P=_;if(0<=A.column&&A.column<=P.getHeaderWidth()-1){let y=Math.min(Math.max(A.column+r,0),P.getHeaderWidth()-1);P=(0,Oe.moveColumn)(P,A.column,y),A=A.setColumn(y)}this.formatAndApply(l,c,d,C,P,A)})}formatAll(r){this._textEditor.transact(()=>{let l=(0,We._createIsTableRowRegex)(r.leftMarginChars),c=this._textEditor.getCursorPosition(),d=[],C,_=this._textEditor.getLastRow();for(let w=0;w<=_;w++){let A=this._textEditor.getLine(w);if(this._textEditor.acceptsTableEdit(w)&&l.test(A))d.push(A),C===void 0&&(C=w);else if(C!==void 0){let P=w-1,y=new J3.Range(new ln.Point(C,0),new ln.Point(P,d[d.length-1].length)),S=(0,Zr.readTable)(d,r),V=S.focusOfPosition(c,C),M;if(V!==void 0){let J=V,ie=(0,Oe.completeTable)(S,r);ie.delimiterInserted&&J.row>0&&(J=J.setRow(J.row+1));let fe=(0,Oe.formatTable)(ie.table,r);J=J.setOffset((0,We._computeNewOffset)(J,ie.table,fe,!1));let k=fe.table.toLines();this._updateLines(y.start.row,y.end.row+1,k,d),M=k.length-d.length,c=fe.table.positionOfFocus(J,C)}else{let J=(0,Oe.completeTable)(S,r),fe=(0,Oe.formatTable)(J.table,r).table.toLines();this._updateLines(y.start.row,y.end.row+1,fe,d),M=fe.length-d.length,c.row>P&&(c=new ln.Point(c.row+M,c.column))}d=[],C=void 0,_+=M,w+=M}}if(C!==void 0){let w=_,A=new J3.Range(new ln.Point(C,0),new ln.Point(w,d[d.length-1].length)),P=(0,Zr.readTable)(d,r),S=P.focusOfPosition(c,C),V=(0,Oe.completeTable)(P,r);V.delimiterInserted&&S.row>0&&(S=S.setRow(S.row+1));let M=(0,Oe.formatTable)(V.table,r);S=S.setOffset((0,We._computeNewOffset)(S,V.table,M,!1));let J=M.table.toLines();this._updateLines(A.start.row,A.end.row+1,J,d),c=M.table.positionOfFocus(S,C)}this._textEditor.setCursorPosition(c)})}exportTable(r,l){return this.withCompletedTable(l,({range:c,lines:d,formulaLines:C,table:_,focus:w})=>{let A=_.getRows();return A.length>0&&!r&&A.splice(0,2),A.map(P=>P.getCells().map(y=>y.content))})}exportCSV(r,l){let c=this.exportTable(r,l);return c?c.map(d=>d.join(" ")).join(` `):void 0}withCompletedTable(r,l){return this._withTable(r,c=>{let d=c.focus,C=(0,Oe.completeTable)(c.table,r);C.delimiterInserted&&d.row>0&&(d=d.setRow(d.row+1));let _=(0,Oe.formatTable)(C.table,r);return d=d.setOffset((0,We._computeNewOffset)(d,C.table,_,!1)),c.table=_.table,c.focus=d,l(c)})}formatAndApply(r,l,c,d,C,_,w=!1){let A=(0,Oe.formatTable)(C,r);return _=_.setOffset((0,We._computeNewOffset)(_,C,A,w)),this._textEditor.transact(()=>{this._updateLines(l.start.row,l.end.row+1,A.table.toLines(),c),w?this._selectFocus(l.start.row,A.table,_):this._moveToFocus(l.start.row,A.table,_)}),this.resetSmartCursor(),{range:l,lines:c,formulaLines:d,table:A.table,focus:_}}};We.TableEditor=Q3});var Ui=we(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.SortOrder=re.TableEditor=re.optionsWithDefaults=re.defaultOptions=re.ITextEditor=re.shortestEditScript=re.applyEditScript=re.Delete=re.Insert=re.moveColumn=re.deleteColumn=re.insertColumn=re.moveRow=re.deleteRow=re.insertRow=re.alterAlignment=re.formatTable=re.completeTable=re.FormatType=re.readTable=re.Table=re.TableRow=re.TableCell=re.HeaderAlignment=re.DefaultAlignment=re.Alignment=re.Focus=re.Range=re.Point=void 0;var ef=P1();Object.defineProperty(re,"Point",{enumerable:!0,get:function(){return ef.Point}});var tf=W1();Object.defineProperty(re,"Range",{enumerable:!0,get:function(){return tf.Range}});var nf=D1();Object.defineProperty(re,"Focus",{enumerable:!0,get:function(){return nf.Focus}});var j3=Ai();Object.defineProperty(re,"Alignment",{enumerable:!0,get:function(){return j3.Alignment}});Object.defineProperty(re,"DefaultAlignment",{enumerable:!0,get:function(){return j3.DefaultAlignment}});Object.defineProperty(re,"HeaderAlignment",{enumerable:!0,get:function(){return j3.HeaderAlignment}});var rf=Mr();Object.defineProperty(re,"TableCell",{enumerable:!0,get:function(){return rf.TableCell}});var of=Ti();Object.defineProperty(re,"TableRow",{enumerable:!0,get:function(){return of.TableRow}});var sf=Fi();Object.defineProperty(re,"Table",{enumerable:!0,get:function(){return sf.Table}});var lf=$3();Object.defineProperty(re,"readTable",{enumerable:!0,get:function(){return lf.readTable}});var an=vo();Object.defineProperty(re,"FormatType",{enumerable:!0,get:function(){return an.FormatType}});Object.defineProperty(re,"completeTable",{enumerable:!0,get:function(){return an.completeTable}});Object.defineProperty(re,"formatTable",{enumerable:!0,get:function(){return an.formatTable}});Object.defineProperty(re,"alterAlignment",{enumerable:!0,get:function(){return an.alterAlignment}});Object.defineProperty(re,"insertRow",{enumerable:!0,get:function(){return an.insertRow}});Object.defineProperty(re,"deleteRow",{enumerable:!0,get:function(){return an.deleteRow}});Object.defineProperty(re,"moveRow",{enumerable:!0,get:function(){return an.moveRow}});Object.defineProperty(re,"insertColumn",{enumerable:!0,get:function(){return an.insertColumn}});Object.defineProperty(re,"deleteColumn",{enumerable:!0,get:function(){return an.deleteColumn}});Object.defineProperty(re,"moveColumn",{enumerable:!0,get:function(){return an.moveColumn}});var Ao=K3();Object.defineProperty(re,"Insert",{enumerable:!0,get:function(){return Ao.Insert}});Object.defineProperty(re,"Delete",{enumerable:!0,get:function(){return Ao.Delete}});Object.defineProperty(re,"applyEditScript",{enumerable:!0,get:function(){return Ao.applyEditScript}});Object.defineProperty(re,"shortestEditScript",{enumerable:!0,get:function(){return Ao.shortestEditScript}});var uf=nu();Object.defineProperty(re,"ITextEditor",{enumerable:!0,get:function(){return uf.ITextEditor}});var au=ou();Object.defineProperty(re,"defaultOptions",{enumerable:!0,get:function(){return au.defaultOptions}});Object.defineProperty(re,"optionsWithDefaults",{enumerable:!0,get:function(){return au.optionsWithDefaults}});var cu=uu();Object.defineProperty(re,"TableEditor",{enumerable:!0,get:function(){return cu.TableEditor}});Object.defineProperty(re,"SortOrder",{enumerable:!0,get:function(){return cu.SortOrder}})});var hf={};m9(hf,{default:()=>Oo});module.exports=w9(hf);var _l=require("obsidian"),O1={spreadsheet:` `,alignLeft:` `,alignCenter:` `,alignRight:` `,deleteColumn:` `,deleteRow:` `,insertColumn:` `,insertRow:` `,moveColumnLeft:` `,moveColumnRight:` `,moveRowDown:` `,moveRowUp:` `,transpose:` `,sortAsc:` `,sortDesc:` `,formula:` `,help:` `,csv:` `,arrowenter:` `,arrowtab:` `},bl=()=>{Object.keys(O1).forEach(s=>{s!=="help"&&(0,_l.addIcon)(s,O1[s])})};var Ro=L1(Ui()),e0={formatType:Ro.FormatType.NORMAL,showRibbonIcon:!0,bindEnter:!0,bindTab:!0},To=class{constructor(r){let l={...e0,...r};this.formatType=l.formatType,this.showRibbonIcon=l.showRibbonIcon,this.bindEnter=l.bindEnter,this.bindTab=l.bindTab}asOptions(){return(0,Ro.optionsWithDefaults)({formatType:this.formatType})}};var fu=L1(Ui()),xo=class{constructor(r,l,c){this.getCursorPosition=()=>{let r=this.editor.getCursor();return new fu.Point(r.line,r.ch)};this.setCursorPosition=r=>{this.editor.setCursor({line:r.row,ch:r.column})};this.setSelectionRange=r=>{this.editor.setSelection({line:r.start.row,ch:r.start.column},{line:r.end.row,ch:r.end.column})};this.getLastRow=()=>this.editor.lastLine();this.acceptsTableEdit=r=>{let l=this.app.metadataCache.getFileCache(this.file);if(!(l!=null&&l.sections))return!0;let c=l.sections.find(C=>C.position.start.line<=r&&C.position.end.line>=r&&C.type!=="code"&&C.type!=="math");if(c===void 0)return!1;let d=c.position.start.line;return!(d>=0&&this.getLine(d)==="-tx-")};this.getLine=r=>this.editor.getLine(r);this.insertLine=(r,l)=>{r>this.getLastRow()?this.editor.replaceRange(` `+l,{line:r,ch:0}):this.editor.replaceRange(l+` `,{line:r,ch:0})};this.deleteLine=r=>{if(r===this.getLastRow()){let l=this.getLine(r);this.editor.replaceRange("",{line:r,ch:0},{line:r,ch:l.length})}else this.editor.replaceRange("",{line:r,ch:0},{line:r+1,ch:0})};this.replaceLines=(r,l,c)=>{let d=l-1,_=this.editor.getLine(d).length;this.editor.replaceRange(c.join(` `),{line:r,ch:0},{line:d,ch:_})};this.transact=r=>{r()};this.app=r,this.file=l,this.editor=c}};var vn=L1(Ui()),yo=require("obsidian"),_n=class{constructor(r,l,c,d){this.cursorIsInTableFormula=()=>this.mte.cursorIsInTableFormula(this.settings.asOptions());this.cursorIsInTable=()=>this.mte.cursorIsInTable(this.settings.asOptions());this.nextCell=()=>{this.mte.nextCell(this.settings.asOptions())};this.previousCell=()=>{this.mte.previousCell(this.settings.asOptions())};this.nextRow=()=>{this.mte.nextRow(this.settings.asOptions())};this.formatTable=()=>{this.mte.format(this.settings.asOptions())};this.formatAllTables=()=>{this.mte.formatAll(this.settings.asOptions())};this.insertColumn=()=>{this.mte.insertColumn(this.settings.asOptions())};this.insertRow=()=>{this.mte.insertRow(this.settings.asOptions())};this.leftAlignColumn=()=>{this.mte.alignColumn(vn.Alignment.LEFT,this.settings.asOptions())};this.centerAlignColumn=()=>{this.mte.alignColumn(vn.Alignment.CENTER,this.settings.asOptions())};this.rightAlignColumn=()=>{this.mte.alignColumn(vn.Alignment.RIGHT,this.settings.asOptions())};this.moveColumnLeft=()=>{this.mte.moveColumn(-1,this.settings.asOptions())};this.moveColumnRight=()=>{this.mte.moveColumn(1,this.settings.asOptions())};this.moveRowUp=()=>{this.mte.moveRow(-1,this.settings.asOptions())};this.moveRowDown=()=>{this.mte.moveRow(1,this.settings.asOptions())};this.deleteColumn=()=>{this.mte.deleteColumn(this.settings.asOptions())};this.deleteRow=()=>{this.mte.deleteRow(this.settings.asOptions())};this.sortRowsAsc=()=>{this.mte.sortRows(vn.SortOrder.Ascending,this.settings.asOptions())};this.sortRowsDesc=()=>{this.mte.sortRows(vn.SortOrder.Descending,this.settings.asOptions())};this.transpose=()=>{this.mte.transpose(this.settings.asOptions())};this.escape=()=>{this.mte.escape(this.settings.asOptions())};this.evaluateFormulas=()=>{let r=this.mte.evaluateFormulas(this.settings.asOptions());r&&new yo.Notice(r.message)};this.exportCSVModal=()=>{new t0(this.app,this.mte,this.settings).open()};this.app=r,this.settings=d;let C=new xo(r,l,c);this.mte=new vn.TableEditor(C)}},t0=class extends yo.Modal{constructor(r,l,c){super(r),this.mte=l,this.settings=c}onOpen(){let{contentEl:r}=this,l=r.createDiv({cls:"advanced-tables-csv-export"}),c=l.createEl("textarea",{attr:{readonly:!0}});c.value=this.mte.exportCSV(!0,this.settings.asOptions()),c.onClickEvent(()=>c.select());let d=l.createEl("label"),C=d.createEl("input",{type:"checkbox",attr:{checked:!0}});d.createSpan().setText("Include table headers"),C.onClickEvent(()=>{c.value=this.mte.exportCSV(C.checked,this.settings.asOptions())})}onClose(){let{contentEl:r}=this;r.empty()}};var Gr=require("obsidian"),Vr="advanced-tables-toolbar",No=class extends Gr.ItemView{constructor(l,c){super(l);this.draw=()=>{let l=this.containerEl.children[1],c=activeDocument.createElement("div");c.addClass("advanced-tables-buttons"),c.createDiv().createSpan({cls:"title"}).setText("Advanced Tables");let d=c.createDiv({cls:"nav-header"}),C=d.createDiv({cls:"nav-buttons-container"});C.createSpan({cls:"advanced-tables-row-label"}).setText("Align:"),this.drawBtn(C,"alignLeft","left align column",y=>y.leftAlignColumn()),this.drawBtn(C,"alignCenter","center align column",y=>y.centerAlignColumn()),this.drawBtn(C,"alignRight","right align column",y=>y.rightAlignColumn());let _=d.createDiv({cls:"nav-buttons-container"});_.createSpan({cls:"advanced-tables-row-label"}).setText("Move:"),this.drawBtn(_,"moveRowDown","move row down",y=>y.moveRowDown()),this.drawBtn(_,"moveRowUp","move row up",y=>y.moveRowUp()),this.drawBtn(_,"moveColumnRight","move column right",y=>y.moveColumnRight()),this.drawBtn(_,"moveColumnLeft","move column left",y=>y.moveColumnLeft()),this.drawBtn(_,"transpose","transpose",y=>y.transpose());let w=d.createDiv({cls:"nav-buttons-container"});w.createSpan({cls:"advanced-tables-row-label"}).setText("Edit:"),this.drawBtn(w,"insertRow","insert row above",y=>y.insertRow()),this.drawBtn(w,"insertColumn","insert column left",y=>y.insertColumn()),this.drawBtn(w,"deleteRow","delete row",y=>y.deleteRow()),this.drawBtn(w,"deleteColumn","delete column",y=>y.deleteColumn());let A=d.createDiv({cls:"nav-buttons-container"});A.createSpan({cls:"advanced-tables-row-label"}).setText("Sort/F:"),this.drawBtn(A,"sortAsc","sort by column ascending",y=>y.sortRowsAsc()),this.drawBtn(A,"sortDesc","sort by column descending",y=>y.sortRowsDesc()),this.drawBtn(A,"formula","evaluate formulas",y=>y.evaluateFormulas());let P=d.createDiv({cls:"nav-buttons-container"});P.createSpan({cls:"advanced-tables-row-label"}).setText("Misc:"),this.drawBtn(P,"csv","export as csv",y=>y.exportCSVModal()),this.drawBtn(P,"help","help",()=>activeWindow.open("https://github.com/tgrosinger/advanced-tables-obsidian/blob/main/docs/help.md")),l.empty(),l.appendChild(c)};this.drawBtn=(l,c,d,C)=>{let _=A=>d==="evaluate formulas"?A.cursorIsInTable()||A.cursorIsInTableFormula():A.cursorIsInTable(),w=l.createDiv({cls:"advanced-tables-button nav-action-button",title:d});w.onClickEvent(()=>this.withTE(C,_)),w.appendChild(af(O1[c]))};this.withTE=(l,c,d=!0)=>{let C,_=this.app.workspace.getMostRecentLeaf();if(_.view instanceof Gr.MarkdownView)C=_.view.editor;else{console.warn("Advanced Tables: Unable to determine current editor.");return}let w=new _n(this.app,_.view.file,C,this.settings);if(!c(w)){d&&new Gr.Notice("Advanced Tables: Cursor must be in a table.");return}l(w)};this.settings=c}getViewType(){return Vr}getDisplayText(){return"Advanced Tables"}getIcon(){return"spreadsheet"}load(){super.load(),this.draw()}},af=s=>new DOMParser().parseFromString(s,"text/xml").documentElement;var du=require("@codemirror/state"),gu=require("@codemirror/view"),Lo=L1(Ui()),je=require("obsidian"),Oo=class extends je.Plugin{constructor(){super(...arguments);this.makeEditorExtension=()=>{let l=[];return this.settings.bindEnter&&l.push({key:"Enter",run:()=>this.newPerformTableActionCM6(c=>c.nextRow())(),preventDefault:!0}),this.settings.bindTab&&l.push({key:"Tab",run:()=>this.newPerformTableActionCM6(c=>c.nextCell())(),shift:()=>this.newPerformTableActionCM6(c=>c.previousCell())(),preventDefault:!0}),du.Prec.highest(gu.keymap.of(l))};this.newPerformTableActionCM6=l=>()=>{let c=this.app.workspace.getActiveViewOfType(je.MarkdownView);if(c){let d=c.currentMode;if("sourceMode"in d&&!d.sourceMode)return!1;let C=new _n(this.app,c.file,c.editor,this.settings);if(C.cursorIsInTable())return l(C),!0}return!1};this.newPerformTableAction=l=>(c,d,C)=>{let _=new _n(this.app,C.file,d,this.settings);if(c)return _.cursorIsInTable();l(_)};this.toggleTableControlsView=async()=>{let l=this.app.workspace.getLeavesOfType(Vr);if(l.length){this.app.workspace.revealLeaf(l[0]);return}await this.app.workspace.getRightLeaf(!1).setViewState({type:Vr,active:!0}),this.app.workspace.revealLeaf(this.app.workspace.getLeavesOfType(Vr)[0])};this.isMobile=()=>je.Platform.isMobile}onload(){this.asyncOnload()}async asyncOnload(){await this.loadSettings(),this.registerView(Vr,l=>new No(l,this.settings)),bl(),this.settings.showRibbonIcon&&this.addRibbonIcon("spreadsheet","Advanced Tables Toolbar",()=>{this.toggleTableControlsView()}),this.registerEditorExtension(this.makeEditorExtension()),this.addCommand({id:"next-row",name:"Go to next row",icon:"arrowenter",editorCheckCallback:this.newPerformTableAction(l=>{this.settings.bindEnter&&!this.isMobile&&new je.Notice("Advanced Tables: Next row also bound to enter. Possibly producing double actions. See Advanced Tables settings."),l.nextRow()})}),this.addCommand({id:"next-cell",name:"Go to next cell",icon:"arrowtab",editorCheckCallback:this.newPerformTableAction(l=>{this.settings.bindTab&&!this.isMobile&&new je.Notice("Advanced Tables: Next cell also bound to tab. Possibly producing double actions. See Advanced Tables settings."),l.nextCell()})}),this.addCommand({id:"previous-cell",name:"Go to previous cell",editorCheckCallback:this.newPerformTableAction(l=>{this.settings.bindTab&&!this.isMobile&&new je.Notice("Advanced Tables: Previous cell also bound to shift+tab. Possibly producing double actions. See Advanced Tables settings."),l.previousCell()})}),this.addCommand({id:"format-table",name:"Format table at the cursor",editorCheckCallback:this.newPerformTableAction(l=>{l.formatTable()})}),this.addCommand({id:"format-all-tables",name:"Format all tables in this file",editorCallback:(l,c)=>{new _n(this.app,c.file,l,this.settings).formatAllTables()}}),this.addCommand({id:"insert-column",name:"Insert column before current",icon:"insertColumn",editorCheckCallback:this.newPerformTableAction(l=>{l.insertColumn()})}),this.addCommand({id:"insert-row",name:"Insert row before current",icon:"insertRow",editorCheckCallback:this.newPerformTableAction(l=>{l.insertRow()})}),this.addCommand({id:"escape-table",name:"Move cursor out of table",editorCheckCallback:this.newPerformTableAction(l=>{l.escape()})}),this.addCommand({id:"left-align-column",name:"Left align column",icon:"alignLeft",editorCheckCallback:this.newPerformTableAction(l=>{l.leftAlignColumn()})}),this.addCommand({id:"center-align-column",name:"Center align column",icon:"alignCenter",editorCheckCallback:this.newPerformTableAction(l=>{l.centerAlignColumn()})}),this.addCommand({id:"right-align-column",name:"Right align column",icon:"alignRight",editorCheckCallback:this.newPerformTableAction(l=>{l.rightAlignColumn()})}),this.addCommand({id:"move-column-left",name:"Move column left",icon:"moveColumnLeft",editorCheckCallback:this.newPerformTableAction(l=>{l.moveColumnLeft()})}),this.addCommand({id:"move-column-right",name:"Move column right",icon:"moveColumnRight",editorCheckCallback:this.newPerformTableAction(l=>{l.moveColumnRight()})}),this.addCommand({id:"move-row-up",name:"Move row up",icon:"moveRowUp",editorCheckCallback:this.newPerformTableAction(l=>{l.moveRowUp()})}),this.addCommand({id:"move-row-down",name:"Move row down",icon:"moveRowDown",editorCheckCallback:this.newPerformTableAction(l=>{l.moveRowDown()})}),this.addCommand({id:"delete-column",name:"Delete column",icon:"deleteColumn",editorCheckCallback:this.newPerformTableAction(l=>{l.deleteColumn()})}),this.addCommand({id:"delete-row",name:"Delete row",icon:"deleteRow",editorCheckCallback:this.newPerformTableAction(l=>{l.deleteRow()})}),this.addCommand({id:"sort-rows-ascending",name:"Sort rows ascending",icon:"sortAsc",editorCheckCallback:this.newPerformTableAction(l=>{l.sortRowsAsc()})}),this.addCommand({id:"sort-rows-descending",name:"Sort rows descending",icon:"sortDesc",editorCheckCallback:this.newPerformTableAction(l=>{l.sortRowsDesc()})}),this.addCommand({id:"transpose",name:"Transpose",icon:"transpose",editorCheckCallback:this.newPerformTableAction(l=>{l.transpose()})}),this.addCommand({id:"evaluate-formulas",name:"Evaluate table formulas",icon:"formula",editorCheckCallback:(l,c,d)=>{let C=new _n(this.app,d.file,c,this.settings);if(l)return C.cursorIsInTable()||C.cursorIsInTableFormula();C.evaluateFormulas()}}),this.addCommand({id:"table-control-bar",name:"Open table controls toolbar",callback:()=>{this.toggleTableControlsView()}}),this.addSettingTab(new n0(this.app,this))}async loadSettings(){let l={...e0,...await this.loadData()};this.settings=new To(l),await this.saveData(this.settings)}},n0=class extends je.PluginSettingTab{constructor(r,l){super(r,l),this.plugin=l}display(){let{containerEl:r}=this;r.empty(),new je.Setting(r).setName("Bind enter to table navigation").setDesc('Requires restart of Obsidian. If enabled, when the cursor is in a table, enter advances to the next row. Disabling this can help avoid conflicting with tag or CJK autocompletion. If disabling, bind "Go to ..." in the Obsidian Hotkeys settings.').addToggle(C=>C.setValue(this.plugin.settings.bindEnter).onChange(_=>{this.plugin.settings.bindEnter=_,this.plugin.saveData(this.plugin.settings),this.display()})),new je.Setting(r).setName("Bind tab to table navigation").setDesc('Requires restart of Obsidian. If enabled, when the cursor is in a table, tab/shift+tab navigate between cells. Disabling this can help avoid conflicting with tag or CJK autocompletion. If disabling, bind "Go to ..." in the Obsidian Hotkeys settings.').addToggle(C=>C.setValue(this.plugin.settings.bindTab).onChange(_=>{this.plugin.settings.bindTab=_,this.plugin.saveData(this.plugin.settings),this.display()})),new je.Setting(r).setName("Pad cell width using spaces").setDesc("If enabled, table cells will have spaces added to match the width of the longest cell in the column.").addToggle(C=>C.setValue(this.plugin.settings.formatType===Lo.FormatType.NORMAL).onChange(_=>{this.plugin.settings.formatType=_?Lo.FormatType.NORMAL:Lo.FormatType.WEAK,this.plugin.saveData(this.plugin.settings),this.display()})),new je.Setting(r).setName("Show icon in sidebar").setDesc("If enabled, a button which opens the table controls toolbar will be added to the Obsidian sidebar. The toolbar can also be opened with a Hotkey. Changes only take effect on reload.").addToggle(C=>C.setValue(this.plugin.settings.showRibbonIcon).onChange(_=>{this.plugin.settings.showRibbonIcon=_,this.plugin.saveData(this.plugin.settings),this.display()}));let l=r.createDiv({cls:"advanced-tables-donation"}),c=activeDocument.createElement("p");c.appendText("If this plugin adds value for you and you would like to help support continued development, please use the buttons below:"),l.appendChild(c);let d=new DOMParser;l.appendChild(hu("https://paypal.me/tgrosinger",d.parseFromString(ff,"text/xml").documentElement)),l.appendChild(hu("https://www.buymeacoffee.com/tgrosinger",d.parseFromString(cf,"text/xml").documentElement))}},hu=(s,r)=>{let l=activeDocument.createElement("a");return l.setAttribute("href",s),l.addClass("advanced-tables-donate-button"),l.appendChild(r),l},cf=` `,ff=` `; /*! Bundled license information: decimal.js/decimal.js: (*! * decimal.js v10.4.3 * An arbitrary-precision Decimal type for JavaScript. * https://github.com/MikeMcl/decimal.js * Copyright (c) 2022 Michael Mclaughlin * MIT Licence *) lodash/lodash.js: (** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors *) */ /* nosourcemap */