@univerjs/engine-formula 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +3186 -2830
- package/lib/types/basics/calculate.d.ts +1 -15
- package/lib/types/basics/common.d.ts +17 -17
- package/lib/types/basics/dirty.d.ts +2 -16
- package/lib/types/basics/function.d.ts +23 -33
- package/lib/types/basics/match-token.d.ts +1 -15
- package/lib/types/basics/object-class-type.d.ts +2 -15
- package/lib/types/basics/runtime.d.ts +2 -16
- package/lib/types/commands/mutations/register-function.mutation.d.ts +2 -16
- package/lib/types/commands/mutations/set-array-formula-data.mutation.d.ts +4 -18
- package/lib/types/commands/mutations/set-defined-name.mutation.d.ts +14 -18
- package/lib/types/commands/mutations/set-feature-calculation.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-formula-calculation.mutation.d.ts +6 -18
- package/lib/types/commands/mutations/set-formula-data.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-numfmt-formula-data.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-other-formula.mutation.d.ts +15 -19
- package/lib/types/commands/mutations/set-super-table.mutation.d.ts +4 -18
- package/lib/types/commands/mutations/unregister-function.mutation.d.ts +2 -16
- package/lib/types/controller/calculate.controller.d.ts +3 -17
- package/lib/types/controller/formula.controller.d.ts +5 -20
- package/lib/types/controller/register-function.controller.d.ts +3 -17
- package/lib/types/controller/set-defined-name.controller.d.ts +2 -16
- package/lib/types/controller/set-feature-calculation.controller.d.ts +2 -16
- package/lib/types/controller/set-other-formula.controller.d.ts +2 -16
- package/lib/types/controller/set-super-table.controller.d.ts +2 -16
- package/lib/types/engine/analysis/__tests__/create-command-test-bed.d.ts +11 -26
- package/lib/types/engine/analysis/lexer-node.d.ts +7 -17
- package/lib/types/engine/analysis/lexer-tree-builder.d.ts +9 -20
- package/lib/types/engine/analysis/lexer.d.ts +10 -21
- package/lib/types/engine/analysis/parser.d.ts +14 -29
- package/lib/types/engine/ast-node/ast-root-node.d.ts +4 -18
- package/lib/types/engine/ast-node/base-ast-node-factory.d.ts +3 -18
- package/lib/types/engine/ast-node/base-ast-node.d.ts +9 -21
- package/lib/types/engine/ast-node/function-node.d.ts +10 -24
- package/lib/types/engine/ast-node/lambda-node.d.ts +6 -20
- package/lib/types/engine/ast-node/lambda-parameter-node.d.ts +4 -19
- package/lib/types/engine/ast-node/null-node.d.ts +2 -16
- package/lib/types/engine/ast-node/operator-node.d.ts +6 -20
- package/lib/types/engine/ast-node/prefix-node.d.ts +8 -23
- package/lib/types/engine/ast-node/reference-node.d.ts +10 -27
- package/lib/types/engine/ast-node/suffix-node.d.ts +7 -22
- package/lib/types/engine/ast-node/union-node.d.ts +5 -19
- package/lib/types/engine/ast-node/value-node.d.ts +4 -18
- package/lib/types/engine/dependency/dependency-tree.d.ts +4 -19
- package/lib/types/engine/dependency/formula-dependency.d.ts +12 -25
- package/lib/types/engine/interpreter/interpreter.d.ts +6 -20
- package/lib/types/engine/reference-object/base-reference-object.d.ts +20 -32
- package/lib/types/engine/reference-object/cell-reference-object.d.ts +4 -18
- package/lib/types/engine/reference-object/column-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/range-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/row-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/table-reference-object.d.ts +2 -17
- package/lib/types/engine/utils/array-object.d.ts +3 -17
- package/lib/types/engine/utils/ast-node-tool.d.ts +3 -17
- package/lib/types/engine/utils/cell.d.ts +2 -16
- package/lib/types/engine/utils/compare.d.ts +1 -15
- package/lib/types/engine/utils/function-definition.d.ts +1 -15
- package/lib/types/engine/utils/node-type.d.ts +5 -19
- package/lib/types/engine/utils/object-compare.d.ts +2 -16
- package/lib/types/engine/utils/prefixHandler.d.ts +4 -18
- package/lib/types/engine/utils/r1c1-reference.d.ts +2 -16
- package/lib/types/engine/utils/reference.d.ts +2 -17
- package/lib/types/engine/utils/relative-formula.d.ts +4 -0
- package/lib/types/engine/utils/sequence.d.ts +2 -16
- package/lib/types/engine/utils/value-object.d.ts +6 -0
- package/lib/types/engine/value-object/array-value-object.d.ts +5 -20
- package/lib/types/engine/value-object/base-value-object.d.ts +6 -21
- package/lib/types/engine/value-object/cube-value-object.d.ts +3 -17
- package/lib/types/engine/value-object/lambda-value-object.d.ts +4 -18
- package/lib/types/engine/value-object/primitive-object.d.ts +3 -17
- package/lib/types/functions/__tests__/create-function-test-bed.d.ts +13 -26
- package/lib/types/functions/base-function.d.ts +8 -24
- package/lib/types/functions/compatibility/function-map.d.ts +2 -16
- package/lib/types/functions/date/date/index.d.ts +2 -16
- package/lib/types/functions/date/day/index.d.ts +2 -16
- package/lib/types/functions/date/edate/index.d.ts +2 -16
- package/lib/types/functions/date/function-map.d.ts +2 -16
- package/lib/types/functions/date/month/index.d.ts +2 -16
- package/lib/types/functions/date/today/index.d.ts +3 -18
- package/lib/types/functions/date/year/index.d.ts +2 -16
- package/lib/types/functions/information/function-map.d.ts +2 -16
- package/lib/types/functions/information/isblank/index.d.ts +2 -16
- package/lib/types/functions/information/iserr/index.d.ts +2 -16
- package/lib/types/functions/information/iserror/index.d.ts +2 -16
- package/lib/types/functions/information/islogical/index.d.ts +2 -16
- package/lib/types/functions/information/isna/index.d.ts +2 -16
- package/lib/types/functions/information/isnontext/index.d.ts +2 -16
- package/lib/types/functions/information/isnumber/index.d.ts +2 -16
- package/lib/types/functions/information/isref/index.d.ts +3 -17
- package/lib/types/functions/information/istext/index.d.ts +2 -16
- package/lib/types/functions/logical/and/index.d.ts +2 -16
- package/lib/types/functions/logical/function-map.d.ts +4 -18
- package/lib/types/functions/logical/if/index.d.ts +2 -16
- package/lib/types/functions/logical/iferror/index.d.ts +3 -17
- package/lib/types/functions/logical/lambda/index.d.ts +2 -16
- package/lib/types/functions/logical/makearray/index.d.ts +3 -17
- package/lib/types/functions/logical/or/index.d.ts +2 -16
- package/lib/types/functions/lookup/address/index.d.ts +2 -16
- package/lib/types/functions/lookup/column/index.d.ts +3 -17
- package/lib/types/functions/lookup/columns/index.d.ts +2 -16
- package/lib/types/functions/lookup/function-map.d.ts +12 -22
- package/lib/types/functions/lookup/hlookup/index.d.ts +2 -16
- package/lib/types/functions/lookup/index/index.d.ts +3 -19
- package/lib/types/functions/lookup/indirect/index.d.ts +3 -17
- package/lib/types/functions/lookup/lookup/index.d.ts +3 -17
- package/lib/types/functions/lookup/match/index.d.ts +3 -17
- package/lib/types/functions/lookup/offset/index.d.ts +4 -18
- package/lib/types/functions/lookup/row/index.d.ts +3 -17
- package/lib/types/functions/lookup/rows/index.d.ts +2 -16
- package/lib/types/functions/lookup/vlookup/index.d.ts +5 -17
- package/lib/types/functions/lookup/xlookup/index.d.ts +3 -17
- package/lib/types/functions/lookup/xmatch/index.d.ts +3 -17
- package/lib/types/functions/math/abs/index.d.ts +2 -16
- package/lib/types/functions/math/acos/index.d.ts +2 -16
- package/lib/types/functions/math/acosh/index.d.ts +2 -16
- package/lib/types/functions/math/acot/index.d.ts +2 -16
- package/lib/types/functions/math/function-map.d.ts +4 -18
- package/lib/types/functions/math/mod/index.d.ts +2 -16
- package/lib/types/functions/math/power/index.d.ts +2 -16
- package/lib/types/functions/math/product/index.d.ts +2 -16
- package/lib/types/functions/math/subtotal/index.d.ts +3 -17
- package/lib/types/functions/math/sum/index.d.ts +2 -16
- package/lib/types/functions/math/sumif/index.d.ts +2 -16
- package/lib/types/functions/math/sumifs/index.d.ts +3 -18
- package/lib/types/functions/meta/compare/index.d.ts +3 -17
- package/lib/types/functions/meta/cube/index.d.ts +2 -16
- package/lib/types/functions/meta/divided/index.d.ts +2 -16
- package/lib/types/functions/meta/function-map.d.ts +2 -16
- package/lib/types/functions/meta/minus/index.d.ts +2 -16
- package/lib/types/functions/meta/multiply/index.d.ts +2 -16
- package/lib/types/functions/meta/plus/index.d.ts +2 -16
- package/lib/types/functions/statistical/average/index.d.ts +2 -16
- package/lib/types/functions/statistical/count/index.d.ts +2 -16
- package/lib/types/functions/statistical/counta/index.d.ts +2 -16
- package/lib/types/functions/statistical/function-map.d.ts +2 -16
- package/lib/types/functions/statistical/max/index.d.ts +2 -16
- package/lib/types/functions/statistical/min/index.d.ts +2 -16
- package/lib/types/functions/statistical/stdev-p/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdev-s/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdeva/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdevpa/index.d.ts +3 -17
- package/lib/types/functions/statistical/var-p/index.d.ts +3 -17
- package/lib/types/functions/statistical/var-s/index.d.ts +3 -17
- package/lib/types/functions/statistical/vara/index.d.ts +3 -17
- package/lib/types/functions/statistical/varpa/index.d.ts +3 -17
- package/lib/types/functions/text/concatenate/index.d.ts +2 -16
- package/lib/types/functions/text/function-map.d.ts +2 -16
- package/lib/types/functions/text/len/index.d.ts +2 -16
- package/lib/types/functions/text/lenb/index.d.ts +2 -16
- package/lib/types/functions/text/text/index.d.ts +2 -16
- package/lib/types/index.d.ts +8 -5
- package/lib/types/models/__tests__/create-command-test-bed.d.ts +10 -25
- package/lib/types/models/formula-data.model.d.ts +3 -18
- package/lib/types/plugin.d.ts +4 -19
- package/lib/types/services/active-dirty-manager.service.d.ts +35 -0
- package/lib/types/services/calculate-formula.service.d.ts +12 -27
- package/lib/types/services/current-data.service.d.ts +20 -19
- package/lib/types/services/defined-names.service.d.ts +52 -25
- package/lib/types/services/feature-calculation-manager.service.d.ts +5 -20
- package/lib/types/services/function.service.d.ts +5 -20
- package/lib/types/services/other-formula-manager.service.d.ts +8 -19
- package/lib/types/services/runtime.service.d.ts +6 -21
- package/lib/types/services/super-table.service.d.ts +4 -19
- package/lib/umd/index.js +1 -1
- package/package.json +6 -6
- package/lib/types/engine/utils/object-covert.d.ts +0 -18
- /package/lib/types/engine/utils/__tests__/{object-covert.spec.d.ts → value-object.spec.d.ts} +0 -0
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(L,_){typeof exports=="object"&&typeof module<"u"?_(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs"],_):(L=typeof globalThis<"u"?globalThis:L||self,_(L.UniverEngineFormula={},L.UniverCore,L["@wendellhu/redi"],L.rxjs))})(this,function(L,_,Z,vr){"use strict";var Dl=Object.defineProperty;var yl=(L,_,Z)=>_ in L?Dl(L,_,{enumerable:!0,configurable:!0,writable:!0,value:Z}):L[_]=Z;var S=(L,_,Z)=>(yl(L,typeof _!="symbol"?_+"":_,Z),Z);function En(r,n,e,t,s){for(let i=0,a=r.length;i<a;i++){const o=r[i];if(n!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:m}=o.range;if(t>=u&&t<=c&&s>=l&&s<=m)return!0}return!1}var f=(r=>(r.DIV_BY_ZERO="#DIV/0!",r.NAME="#NAME?",r.VALUE="#VALUE!",r.NUM="#NUM!",r.NA="#N/A",r.CYCLE="#CYCLE!",r.REF="#REF!",r.SPILL="#SPILL!",r.CALC="#CALC!",r.ERROR="#ERROR!",r.CONNECT="#GETTING_DATA",r.NULL="#NULL!",r))(f||{});const Mt=new Set(Object.values(f));var Cn=(r=>(r[r.Financial=0]="Financial",r[r.Date=1]="Date",r[r.Math=2]="Math",r[r.Statistical=3]="Statistical",r[r.Lookup=4]="Lookup",r[r.Database=5]="Database",r[r.Text=6]="Text",r[r.Logical=7]="Logical",r[r.Information=8]="Information",r[r.Engineering=9]="Engineering",r[r.Cube=10]="Cube",r[r.Compatibility=11]="Compatibility",r[r.Web=12]="Web",r[r.Array=13]="Array",r[r.Univer=14]="Univer",r[r.User=15]="User",r))(Cn||{}),pe=(r=>(r.PLUS="+",r.MINUS="-",r.MULTIPLY="*",r.DIVIDED="/",r.CONCATENATE="&",r.POWER="^",r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(pe||{}),O=(r=>(r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(O||{});const Kt=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),ot=new Set(Kt.keys()),hi=new Set(["=","<>",">",">=","<","<="]);var X=(r=>(r.OPEN_BRACKET="(",r.CLOSE_BRACKET=")",r.COMMA=",",r.SINGLE_QUOTATION="'",r.DOUBLE_QUOTATION='"',r.OPEN_BRACES="{",r.CLOSE_BRACES="}",r.COLON=":",r.OPEN_SQUARE_BRACKET="[",r.CLOSE_SQUARE_BRACKET="]",r))(X||{}),Xe=(r=>(r.PERCENTAGE="%",r.POUND="#",r))(Xe||{});const mi=new Set(["%","#"]);var _e=(r=>(r.AT="@",r.MINUS="-",r))(_e||{});const di=" ",Dn=[...Object.values(O),...Object.values(pe),...Object.values(X),...Object.values(Xe),...Object.values(_e)];function Ft(r){return Dn.includes(r)}function yn(r){for(const n of Dn)if(r.indexOf(n)>-1)return!0;return!1}function gi(r){return r[0]==="'"&&r[r.length-1]==="'"?r.substring(1,r.length-1):r}function pi(r){return Ft(r)&&r!==X.CLOSE_BRACES&&r!==X.CLOSE_BRACKET&&r!==X.SINGLE_QUOTATION&&r!==X.DOUBLE_QUOTATION||r===" "}function bn(r){const n={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;n[e]==null&&(n[e]={}),Object.keys(t).forEach(s=>{const i=t[s];n[e][s]=new _.ObjectMatrix(i)})}),n}function Ri(r){const n={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;n[e]==null&&(n[e]={}),Object.keys(t).forEach(s=>{const i=t[s];n[e][s]=i.getData()})}),n}const Mr={id:"formula.mutation.register-function",type:_.CommandType.MUTATION,handler:()=>!0};class ut{constructor(n){S(this,"_cache");this._cache=new _.LRUMap(n)}set(n,e){const t=this._hash(n);this._cache.set(t,e)}get(n){const e=this._hash(n);return this._cache.get(e)}clear(){this._cache.clear()}_hash(n){return _.hashAlgorithm(n)}}const Fr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',_i="((?![\\[\\]\\/?*\\\\]).)*!",Ne="$",Br="\\s*?:\\s*?",Ct=`'?(${Fr})?(${_i})?'?`,Or=`\\${Ne}?[A-Za-z]+\\${Ne}?[0-9]+`,Ei=`^(${_e.AT})?${Ct}${Or}${Br}${Or}$`,Bt=`^${Ct}\\s*?${Or}(${Xe.POUND})?$`,Sn=`^${Ct}\\${Ne}?[0-9]+${Br}\\${Ne}?[0-9]+$`,Ln=`^${Ct}\\${Ne}?[A-Za-z]+${Br}\\${Ne}?[A-Za-z]+$`,An=`^${Ct}\\s*?\\${Ne}?[0-9]+$`,wn=`^${Ct}\\s*?\\${Ne}?[A-Za-z]+$`,Pn="[.*?]",Ci="{.*?}";function Vn(r){return new RegExp(Bt).test(r)||new RegExp(Ei).test(r)||new RegExp(Sn).test(r)||new RegExp(Ln).test(r)}const Ke="P_1",et="R_1",Dt="L_1",Ot="LR_1",xn="LO_1",Di="LET",Ut="LAMBDA",yi="CUBE",bi=/[^0-9]/g,Si=/[^A-Za-z]/g;function kt(r){const n=r[0]==="$",t=r.substring(1).indexOf("$")>-1;return n&&t?_.AbsoluteRefType.ALL:n?_.AbsoluteRefType.COLUMN:t?_.AbsoluteRefType.ROW:_.AbsoluteRefType.NONE}function Li(r){const n=r.split("!");n.length>1&&(r=n[n.length-1]);const e=r.split(":");return e.length>1?{startAbsoluteRefType:kt(e[0]),endAbsoluteRefType:kt(e[1])}:{startAbsoluteRefType:kt(e[0])}}function vn(r=_.AbsoluteRefType.NONE){let n="",e="";return r===_.AbsoluteRefType.ROW?n="$":r===_.AbsoluteRefType.COLUMN?e="$":r===_.AbsoluteRefType.ALL&&(n="$",e="$"),{rowAbsoluteString:n,columnAbsoluteString:e}}function lt(r){const{startColumn:n,startRow:e,endColumn:t,endRow:s,startAbsoluteRefType:i,endAbsoluteRefType:a,rangeType:o=_.RANGE_TYPE.NORMAL}=r,u=vn(i),l=vn(a);if(o===_.RANGE_TYPE.ROW||o===_.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,E=`${l.rowAbsoluteString}${s+1}`;return`${d}:${E}`}if(o===_.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${_.Tools.chatAtABC(n)}`,E=`${l.columnAbsoluteString}${_.Tools.chatAtABC(t)}`;return`${d}:${E}`}const c=`${u.columnAbsoluteString}${_.Tools.chatAtABC(n)}${u.rowAbsoluteString}${e+1}`,m=`${l.columnAbsoluteString}${_.Tools.chatAtABC(t)}${l.rowAbsoluteString}${s+1}`;return c===m?c:`${c}:${m}`}function Mn(r,n){return qt(r)?`'${r}'!${lt(n)}`:`${r}!${lt(n)}`}function Fn(r,n,e){return qt(r)||qt(n)?`'[${r}]${n}'!${lt(e)}`:`[${r}]${n}!${lt(e)}`}function yt(r){const{unitId:n,sheetName:e,range:t}=r;return n!=null&&n.length>0&&e!=null&&e.length>0?Fn(n,e,t):e!=null&&e.length>0?Mn(e,t):lt(t)}function Ur(r){const n=Number.parseInt(r.replace(bi,""))-1,e=_.Tools.ABCatNum(r.replace(Si,"")),t=kt(r);return{row:n,column:e,absoluteRefType:t}}function Bn(r){const n=new RegExp(Fr).exec(r);let e="";n!=null&&(e=n[0].trim(),e=e.slice(1,e.length-1),r=r.replace(new RegExp(Fr),""));const t=r.indexOf("!");let s="",i="";return t>-1?(s=r.substring(0,t),s[0]==="'"&&s[s.length-1]==="'"&&(s=s.substring(1,s.length-1)),i=r.substring(t)):i=r,{refBody:i,sheetName:s,unitId:e}}function bt(r){const{refBody:n,sheetName:e,unitId:t}=Bn(r),s=n.indexOf(":");if(s===-1){const D=Ur(n),C=D.row,A=D.column,P=D.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:C,startColumn:A,endRow:C,endColumn:A,startAbsoluteRefType:P,endAbsoluteRefType:P}}}const i=n.substring(0,s),a=n.substring(s+1),o=Ur(i),u=Ur(a),l=o.row,c=o.column,m=u.row,d=u.column;let E=_.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(m)?E=_.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(d)&&(E=_.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:m,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:E}}}function qt(r){return r.length===0?!1:!!(yn(r)||Ai(r)||wi(r)||Pi(r)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(r))}function Ai(r){const n=r.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(r)&&n!==null}function wi(r){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(r)}function Pi(r){return!new RegExp("^\\p{Letter}","u").test(r.charAt(0))}var ve=(r=>(r[r.NORMAL=0]="NORMAL",r[r.NUMBER=1]="NUMBER",r[r.STRING=2]="STRING",r[r.FUNCTION=3]="FUNCTION",r[r.REFERENCE=4]="REFERENCE",r[r.ARRAY=5]="ARRAY",r))(ve||{});function On(r){let n="";for(const e of r)typeof e=="string"?n+=e:n+=e.token;return n}class ee{constructor(){S(this,"_parent");S(this,"_token",et);S(this,"_children",[]);S(this,"_lambdaId");S(this,"_functionDefinitionPrivacyVar");S(this,"_lambdaParameter","");S(this,"_startIndex",-1);S(this,"_endIndex",-1)}dispose(){var n;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(n=this._functionDefinitionPrivacyVar)==null||n.clear(),this._parent=null}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(n){this._lambdaId=n}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(n){this._functionDefinitionPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(n){this._lambdaParameter=n}getParent(){return this._parent}setParent(n){this._parent=n}getChildren(){return this._children}setChildren(n){this._children=n}addChildren(n){this._children.push(n)}addChildrenFirst(n){this._children.unshift(n)}getToken(){return this._token}setToken(n){this._token=n}setIndex(n,e){this._startIndex=n,this._endIndex=e}replaceChild(n,e){const t=this._getIndexInParent(n);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(n){const e=this.getParent();e&&e.removeChild(this),this.setParent(n),n.getChildren().push(this)}removeChild(n){const e=this._getIndexInParent(n);e!=null&&this.getChildren().splice(e,1)}serialize(){const n=this.getToken(),e=this.getChildren(),t=[],s=e.length;for(let i=0;i<s;i++){const a=e[i];a instanceof ee?t.push(a.serialize()):t.push(a)}return{token:n,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(n){const e=this.getChildren(),t=e.length;for(let s=0;s<t;s++)if(e[s]===n)return s}}const Un=1e5,kr=new ut(Un),Tr=new ut(Un);class Zt extends _.Disposable{constructor(){super(...arguments);S(this,"_currentLexerNode",new ee);S(this,"_upLevel",0);S(this,"_segment","");S(this,"_bracketState",[]);S(this,"_squareBracketState",0);S(this,"_bracesState",0);S(this,"_singleQuotationState",0);S(this,"_doubleQuotationState",0);S(this,"_lambdaState",!1);S(this,"_colonState",!1);S(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),kr.clear(),Tr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const s=this._getCurrentParamIndex(e,t);if(s==null||s===f.VALUE)return;const i=s[0];if(typeof i=="string")return;let a=i.getParent(),o=i;for(;a;){const u=a.getToken();if(u!==Ke&&!Ft(u)&&a.getStartIndex()!==-1){const l=a.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=a,a=a.getParent()}}moveFormulaRefOffset(e,t,s){const i=this.sequenceNodesBuilder(e);if(i==null)return e;const a=[];for(let o=0,u=i.length;o<u;o++){const l=i[o];if(typeof l=="string"||l.nodeType!==ve.REFERENCE){a.push(l);continue}const{token:c}=l,m=bt(c),{range:d,sheetName:E,unitId:D}=m,C=_.Rectangle.moveOffset(d,t,s);let A="";_.isValidRange(C)?A=yt({range:C,unitId:D,sheetName:E}):A=f.REF,a.push({...l,token:A})}return`=${On(a)}`}checkIfAddBracket(e){let t=0,s=e.length-1,i=e[s];for(;(i===X.CLOSE_BRACKET||i===" ")&&s>=0;)i===X.CLOSE_BRACKET&&t++,i=e[--s];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(a[1]===X.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==Ke&&c!==X.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==Ut&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=Tr.get(e);if(t)return[...t];const s=this._getSequenceArray(e);if(s.length===0)return;const i=this.getSequenceNode(s);return Tr.set(e,[...i]),i}getSequenceNode(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i],u=e[i-1],{segment:l,currentString:c}=o;if(c===X.DOUBLE_QUOTATION&&(s=!0),(l!==""||i===0)&&i!==a-1){t.push(c);continue}let m=(u==null?void 0:u.segment)||"",d=i-m.length,E=i-1,D=i-1;if(i===a-1&&this._isLastMergeString(c)&&(m+=c,E+=1),m===""||Kt.has(m)){t.push(c);continue}const C=m.trim(),A=this._replacePrefixString(C);if(s===!0&&C[C.length-1]===X.DOUBLE_QUOTATION)s=!1,this._pushSequenceNode(t,{nodeType:ve.STRING,token:m,startIndex:d,endIndex:E},D);else if(new RegExp(Bt).test(A)){if(A.length!==C.length){const P=C.length-A.length;D+=P,d+=P,m=this._replacePrefixString(m)}this._pushSequenceNode(t,{nodeType:ve.REFERENCE,token:m,startIndex:d,endIndex:E},D)}else _.Tools.isStringNumber(C)?this._pushSequenceNode(t,{nodeType:ve.NUMBER,token:m,startIndex:d,endIndex:E},D):C.length>0&&this._pushSequenceNode(t,{nodeType:ve.FUNCTION,token:m,startIndex:d,endIndex:E},D);(i!==a-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===X.DOUBLE_QUOTATION||_.Tools.isStringNumber(e)||!Ft(e)}_mergeSequenceNodeReference(e){const t=[],s=e.length;let i=0;for(;i<s;){const a=e[i];if(typeof a=="string"){const o=e[i-1];if(a.trim()===X.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===ve.FUNCTION&&o.token.trim().substring(0,1)===X.OPEN_BRACES){o.nodeType=ve.ARRAY,o.token+=a,o.endIndex+=a.length,i++;continue}t.push(a)}else{const o=e[i+1],u=e[i+2];o===X.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&Vn((a.token+o+u.token).trim())&&(a.nodeType=ve.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,i+=2),t.push(a)}i++}return t}_pushSequenceNode(e,t,s){const i=s-t.startIndex+1;e.splice(e.length-i,i,t)}_replacePrefixString(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i];if(o===di&&!s)t.push(o);else{if(!s&&(o===_e.AT||o===_e.MINUS))continue;t.push(o),s=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,s){if(t===!0){const c=kr.get(e);if(c)return c}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(et);const i=[];let a=this._nodeMaker(e,i);if(a===f.VALUE||i.length===0)return a;let o=!1,u="";if(s){const{hasDefinedName:c,sequenceString:m}=s(i);o=c,u=m}if(o&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(et),a=this._nodeMaker(`=${u}`),a===f.VALUE))return a;const l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;kr.set(e,this._currentLexerNode)}return this._currentLexerNode}_suffixExpressionHandler(e){var o,u;const t=e.getChildren();if(!t)return!1;const s=t.length,i=[],a=[];for(let l=0;l<s;l++){const c=t[l];if(c instanceof ee)this._suffixExpressionHandler(c),i.push(c);else{const m=c.trim();if(m==="")continue;if(ot.has(m)){if(m===pe.PLUS&&this._deletePlusForPreNode(t[l-1]))continue;if(m!==pe.PLUS&&m!==pe.MINUS&&this._deletePlusForPreNode(t[l-1]))return!1;for(;a.length>0;){const d=(o=a[a.length-1])==null?void 0:o.trim();if(!d||d===X.OPEN_BRACKET)break;const E=Kt.get(d),D=Kt.get(m);if(!E||!D)break;if(D>=E)i.push(a.pop());else break}a.push(c)}else if(m===X.OPEN_BRACKET)a.push(c);else if(m===X.CLOSE_BRACKET){if(this._checkOpenBracket(t[l-1])||this._checkOperator(t[l-1]))return!1;for(;a.length>0;){const d=(u=a[a.length-1])==null?void 0:u.trim();if(!d)break;if(d===X.OPEN_BRACKET){a.pop();break}i.push(a.pop())}}else{if(this._checkCloseBracket(t[l-1]))return!1;i.push(c)}}}for(;a.length>0;){const l=a.pop();if(l===X.OPEN_BRACKET||l===X.CLOSE_BRACKET)return!1;i.push(l)}return e.setChildren(i),!0}_checkCloseBracket(e){return e===X.CLOSE_BRACKET}_checkOpenBracket(e){return e===X.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof ee?!1:ot.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof ee)){const t=e.trim();if(ot.has(t)||t===X.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new ee}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof ee)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var s,i,a,o,u,l;const e=(s=this._currentLexerNode)==null?void 0:s.getParent();let t=!1;if(e&&e.getToken()===Dt){if((i=e==null?void 0:e.getParent())!=null&&i.getParent()){const c=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const m=(l=this._currentLexerNode)==null?void 0:l.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const s=this._currentLexerNode.getChildren();if(!(e instanceof ee)&&this.isColonOpen()){const i=new ee;i.setToken(e),i.setParent(this._currentLexerNode),e=i}t?s.unshift(e):s.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,s=!1){const i=new ee;i.setToken(e),i.setIndex(t-e.length,t-1),this._setCurrentLexerNode(i,s)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const s=e[t];if(s!==" ")return s;t--}}_negativeCondition(e){return!!(ot.has(e)||e===X.OPEN_BRACKET||e===X.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new ee,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,s){if(e!==Xe.POUND)return!0;let i=s[++t];for(;i===" ";)i=s[++t];return!!Ft(i)}_nodeMaker(e,t,s){e.substring(0,1)===pe.EQUALS&&(e=e.substring(1));let i=!1;e.substring(0,1)===pe.MINUS&&(e=`0${e}`,i=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const l=a[u];if(s===u)return[this._currentLexerNode,l];if(l===X.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=a[u+1];if(c&&c===X.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;u++}else c&&this._newAndPushCurrentLexerNode(Ke,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===X.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const m=a[u+1];if(m&&m===X.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(Dt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(l===X.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===X.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===X.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===X.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===X.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=a[u+1];c&&c===X.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===X.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=a[u+1];c&&c===X.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===X.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return f.VALUE;this._newAndPushCurrentLexerNode(Ke,u)}else{const m=new ee;m.setToken(yi);const d=new ee;d.setToken(Ke),d.changeToParent(m);const E=this._currentLexerNode.getParent();if(E&&E.getToken()===X.COLON){const D=E.getParent();if(!D)return f.VALUE;E.changeToParent(d),D.setChildren([]),m.changeToParent(D)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(Ke,u)}}else if(l===X.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new ee;c.setToken(l);const m=new ee;m.setToken(Ke),m.setParent(c);const d=new ee;d.setToken(Ke),d.setParent(c),c.getChildren().push(m,d);let E=c,D=0;if(this._segmentCount()>0){let C,A,P=0;const x=this._segment.trim(),U=x[0],$=x[1];if(U===_e.MINUS&&(C=new ee,C.setToken(_e.MINUS),P++),(U===_e.AT||$===_e.AT)&&(A=new ee,A.setToken(_e.AT),C&&(C.addChildren(A),A.setParent(C)),P++),P>0&&(this._segment=x.slice(P)),D=P,A)if(A.addChildren(c),c.setParent(A),A.getParent()){const he=A.getParent();he&&(E=he)}else E=A;else C&&(E=C,C.addChildren(c),c.setParent(C));const se=new ee;se.setToken(this._segment),se.setParent(m),m.getChildren().push(se),this._resetSegment()}else{const C=this._getLastChildCurrentLexerNode();C&&C.changeToParent(m)}this._setCurrentLexerNode(E),this._currentLexerNode=d,this._openColon(D)}else if(mi.has(l)&&this._checkSimilarErrorToken(l,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new ee;c.setToken(l);const m=this._getLastChildCurrent();m instanceof ee?m.changeToParent(c):m!==!1&&(c.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ot.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===pe.MINUS&&c===""){const m=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(pe.MINUS),i&&u===0||t==null||t.push({segment:this._segment,currentString:l,cur:u,currentLexerNode:this._currentLexerNode}),u++;continue}}else if(this._segment.length>0&&a[u-1]&&a[u-1].toUpperCase()==="E"&&(l===pe.MINUS||l===pe.PLUS)){this._pushSegment(l),i&&u===0||t==null||t.push({segment:this._segment,currentString:l,cur:u,currentLexerNode:this._currentLexerNode}),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===pe.LESS_THAN||l===pe.GREATER_THAN){const m=a[u+1];m&&ot.has(l+m)?(this._pushNodeToChildren(c+l+m),u++):this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);i&&u===0||t==null||t.push({segment:this._segment,currentString:l,cur:u,currentLexerNode:this._currentLexerNode}),u++}this._pushNodeToChildren(this._segment)}}var Vi=Object.defineProperty,xi=Object.getOwnPropertyDescriptor,vi=(r,n,e,t)=>{for(var s=t>1?void 0:t?xi(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Vi(n,e,s),s},kn=(r,n)=>(e,t)=>n(e,t,r);L.FormulaDataModel=class extends _.Disposable{constructor(e,t){super();S(this,"_formulaData",{});S(this,"_arrayFormulaRange",{});S(this,"_arrayFormulaCellData",{});S(this,"_numfmtItemMap",{});this._currentUniverService=e,this._lexerTreeBuilder=t}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{var l,c,m,d;const a=s[i],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[i];if(o==null)return!0;let u=new _.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[i])!=null&&(u=new _.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[i])),a.forValue((E,D)=>{var $;const C=($=o==null?void 0:o[E])==null?void 0:$[D];if(C==null)return!0;const{startRow:A,startColumn:P,endRow:x,endColumn:U}=C;for(let se=A;se<=x;se++)for(let he=P;he<=U;he++)u.setValue(se,he,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(s).forEach(i=>{var l,c,m,d;const a=s[i];let o=new _.ObjectMatrix,u=new _.ObjectMatrix;((l=this._arrayFormulaRange[t])==null?void 0:l[i])!=null&&(o=new _.ObjectMatrix((c=this._arrayFormulaRange[t])==null?void 0:c[i])),((m=this._arrayFormulaCellData[t])==null?void 0:m[i])!=null&&(u=new _.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[i])),a.forValue((E,D)=>{const C=o==null?void 0:o.getValue(E,D);if(C==null)return!0;const{startRow:A,startColumn:P,endRow:x,endColumn:U}=C;for(let $=A;$<=x;$++)for(let se=P;se<=U;se++)u.setValue($,se,null)}),a.forValue((E,D,C)=>{u.setValue(E,D,C)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getNumfmtItemMap(){return this._numfmtItemMap}getNumfmtValue(e,t,s,i){var a,o,u;return(u=(o=(a=this._numfmtItemMap[e])==null?void 0:a[t])==null?void 0:o[s])==null?void 0:u[i]}setNumfmtItemMap(e){this._numfmtItemMap=e}updateNumfmtItemMap(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._numfmtItemMap[t]==null&&(this._numfmtItemMap[t]={}),Object.keys(s).forEach(i=>{const a=s[i],o=new _.ObjectMatrix(a);this._numfmtItemMap[t][i]==null&&(this._numfmtItemMap[t][i]={}),o.forValue((u,l,c)=>{this._numfmtItemMap[t][i][u]==null&&(this._numfmtItemMap[t][i][u]={}),this._numfmtItemMap[t][i][u][l]=c})})})}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(s).forEach(i=>{var u,l;const a=new _.ObjectMatrix(s[i]);let o=new _.ObjectMatrix;(u=this._arrayFormulaRange[t])!=null&&u[i]&&(o=new _.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[i])),a.forValue((c,m,d)=>{o.setValue(c,m,d)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][i]=o.getData())})})}deleteArrayFormulaRange(e,t,s,i){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new _.ObjectMatrix(a);o.getValue(s,i)&&(o.realDeleteValue(s,i),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._currentUniverService.getAllUniverSheetsInstance().length===0)return;const t=this._currentUniverService.getCurrentUniverSheetInstance(),s=t.getUnitId();this._formulaData[s]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();Tn(this._formulaData,s,u,o)})}getCalculateData(){const e=this._currentUniverService.getAllUniverSheetsInstance(),t={},s={};for(const i of e){const a=i.getUnitId(),o=i.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),d=c.getConfig();u[m]={cellData:new _.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,s[a]=l}return{allUnitData:t,unitSheetNameMap:s}}updateFormulaData(e,t,s){const i=new _.ObjectMatrix(s),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new _.ObjectMatrix(l[t]);i.forValue((m,d,E)=>{const D=(E==null?void 0:E.f)||"",C=(E==null?void 0:E.si)||"",A=_.isFormulaString(D),P=_.isFormulaId(C);if(A&&P)c.setValue(m,d,{f:D,si:C}),a.set(C,{f:D,r:m,c:d});else if(A&&!P)c.setValue(m,d,{f:D});else if(!A&&P)c.setValue(m,d,{f:"",si:C});else if(!A&&!P&&c.getValue(m,d)){const x=c.getValue(m,d),U=(x==null?void 0:x.f)||"",$=(x==null?void 0:x.si)||"";_.isFormulaString(U)&&_.isFormulaId($)&&o.set($,U),c.realDeleteValue(m,d)}}),c.forValue((m,d,E)=>{const D=(E==null?void 0:E.f)||"",C=(E==null?void 0:E.si)||"";if(_.isFormulaId(C)){const A=a.get(C),P=o.get(C);if(A&&!_.isFormulaString(D)){const x=A.f,U=d-A.c,$=m-A.r;c.setValue(m,d,{f:x,si:C,x:U,y:$})}else if(typeof P=="string"){const x=E.x||0,U=E.y||0,$=this._lexerTreeBuilder.moveFormulaRefOffset(P,x,U);o.set(C,{r:m,c:d,f:$}),c.setValue(m,d,{f:$,si:C})}else if(typeof P=="object"){const x=d-P.c,U=m-P.r;c.setValue(m,d,{f:P.f,si:C,x,y:U})}}})}updateArrayFormulaRange(e,t,s){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!i)return;const a=new _.ObjectMatrix(i);new _.ObjectMatrix(s).forValue((l,c,m)=>{if((a==null?void 0:a.getValue(l,c))==null)return!0;const E=(m==null?void 0:m.f)||"",D=(m==null?void 0:m.si)||"",C=_.isFormulaString(E),A=_.isFormulaId(D);!C&&!A&&a.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,s){var c,m;const i=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!i)return;const a=new _.ObjectMatrix(i),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new _.ObjectMatrix(o);new _.ObjectMatrix(s).forValue((d,E,D)=>{const C=a==null?void 0:a.getValue(d,E);if(C==null)return!0;const A=(D==null?void 0:D.f)||"",P=(D==null?void 0:D.si)||"",x=_.isFormulaString(A),U=_.isFormulaId(P);if(!x&&!U){const{startRow:$,startColumn:se,endRow:he,endColumn:me}=C;for(let J=$;J<=he;J++)for(let z=se;z<=me;z++)u.realDeleteValue(J,z)}})}updateNumfmtData(e,t,s){var c,m;const i=(c=this._arrayFormulaRange[e])==null?void 0:c[t],a=new _.ObjectMatrix(i),o=(m=this._numfmtItemMap[e])==null?void 0:m[t];if(!o)return;const u=new _.ObjectMatrix(o);new _.ObjectMatrix(s).forValue((d,E,D)=>{const C=(D==null?void 0:D.f)||"",A=(D==null?void 0:D.si)||"",P=_.isFormulaString(C),x=_.isFormulaId(A);if(!P&&!x){u.setValue(d,E,null);const U=a.getValue(d,E);if(U){const{startRow:$,startColumn:se,endRow:he,endColumn:me}=U;for(let J=$;J<=he;J++)for(let z=se;z<=me;z++)u.setValue(J,z,null)}}})}getFormulaItemBySId(e,t,s){const i=this._formulaData;if(i[s]==null)return null;const a=i[s];if((a==null?void 0:a[t])==null)return null;const o=new _.ObjectMatrix(a[t]);let u=null;return o.forValue((l,c,m)=>{const{f:d,si:E,x:D=0,y:C=0}=m;if(E===e&&d.length>0&&D===0&&C===0)return u=m,!1}),u}getFormulaDataItem(e,t,s,i){var a,o,u,l;return(l=(u=(o=(a=this._formulaData)==null?void 0:a[i])==null?void 0:o[s])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const s=new Map,i=this._formulaData;if(i[e]==null)return s;const a=i[e];return(a==null?void 0:a[t])==null||new _.ObjectMatrix(a[t]).forValue((u,l,c)=>{const m=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",E=(c==null?void 0:c.x)||0,D=(c==null?void 0:c.y)||0;_.isFormulaString(m)&&_.isFormulaId(d)&&E===0&&D===0&&s.set(d,{f:m,r:u,c:l})}),s}},L.FormulaDataModel=vi([kn(0,_.IUniverInstanceService),kn(1,Z.Inject(Zt))],L.FormulaDataModel);function Tn(r,n,e,t){const s=new Map,i=new _.ObjectMatrix;t.forValue((a,o,u)=>{const l=(u==null?void 0:u.f)||"",c=(u==null?void 0:u.si)||"",m=_.isFormulaString(l),d=_.isFormulaId(c);m&&d?(i.setValue(a,o,{f:l,si:c}),s.set(c,{f:l,r:a,c:o})):m&&!d?i.setValue(a,o,{f:l}):!m&&d&&i.setValue(a,o,{f:"",si:c})}),i.forValue((a,o,u)=>{const l=(u==null?void 0:u.f)||"",c=(u==null?void 0:u.si)||"";if(_.isFormulaId(c)&&!_.isFormulaString(l)){const m=s.get(c);if(m){const d=m.f,E=o-m.c,D=a-m.r;i.setValue(a,o,{f:d,si:c,x:E,y:D})}}}),r[n]&&(r[n][e]=i.getData())}const Mi=r=>{const n=r.get(L.FormulaDataModel),e=_.Tools.deepClone(n.getArrayFormulaRange()),t=_.Tools.deepClone(n.getArrayFormulaCellData());return{arrayFormulaRange:e,arrayFormulaCellData:t}},Jt={id:"formula.mutation.set-array-formula-data",type:_.CommandType.MUTATION,handler:(r,n)=>{const e=r.get(L.FormulaDataModel);return e.setArrayFormulaRange(n.arrayFormulaRange),e.setArrayFormulaCellData(n.arrayFormulaCellData),!0}},Nt={id:"formula.mutation.set-defined-name",type:_.CommandType.MUTATION,handler:()=>!0},er={id:"formula.mutation.remove-defined-name",type:_.CommandType.MUTATION,handler:()=>!0},jr={id:"formula.mutation.set-feature-calculation",type:_.CommandType.MUTATION,handler:()=>!0},Ir={id:"formula.mutation.remove-feature-calculation",type:_.CommandType.MUTATION,handler:()=>!0},$r={id:"formula.mutation.set-formula-calculation-start",type:_.CommandType.MUTATION,handler:()=>!0},Yr={id:"formula.mutation.set-formula-calculation-stop",type:_.CommandType.MUTATION,handler:()=>!0},tr={id:"formula.mutation.set-formula-calculation-notification",type:_.CommandType.MUTATION,handler:()=>!0},zr={id:"formula.mutation.set-formula-calculation-result",type:_.CommandType.MUTATION,handler:()=>!0},Qr={id:"formula.mutation.set-formula-data",type:_.CommandType.MUTATION,handler:(r,n)=>(r.get(L.FormulaDataModel).setFormulaData(n.formulaData),!0)},Hr={id:"formula.mutation.set-other-formula",type:_.CommandType.MUTATION,handler:()=>!0},Wr={id:"formula.mutation.remove-other-formula",type:_.CommandType.MUTATION,handler:()=>!0},jn={id:"formula.mutation.set-super-table",type:_.CommandType.MUTATION,handler:()=>!0},In={id:"formula.mutation.remove-super-table",type:_.CommandType.MUTATION,handler:()=>!0},Gr={id:"formula.mutation.set-super-table-option",type:_.CommandType.MUTATION,handler:()=>!0},Xr={id:"formula.mutation.unregister-function",type:_.CommandType.MUTATION,handler:()=>!0};class rr extends _.Disposable{constructor(){super(...arguments);S(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var ct=(r=>(r.FALSE="FALSE",r.TRUE="TRUE",r))(ct||{}),ft=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r))(ft||{}),ht=(r=>(r.ALL="#All",r.DATA="#Data",r.HEADERS="#Headers",r.TOTALS="#Totals",r))(ht||{}),Oe=(r=>(r[r.FRONT=0]="FRONT",r[r.BACK=1]="BACK",r))(Oe||{});class Fi{constructor(){S(this,"_cache",new Map);S(this,"_continueBuildingCache",new Map)}set(n,e,t,s,i){if(!this.shouldContinueBuildingCache(n,e,t,i))return;let a=this._cache.get(n);a==null&&(a=new Map,this._cache.set(n,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(s);l==null&&(l=new Set,u.set(s,l)),l.add(i)}getCellValuePositions(n,e,t){var s,i;return(i=(s=this._cache.get(n))==null?void 0:s.get(e))==null?void 0:i.get(t)}getCellPositions(n,e,t,s){var i,a,o;return(o=(a=(i=this._cache.get(n))==null?void 0:i.get(e))==null?void 0:a.get(t))==null?void 0:o.get(s)}getCellPosition(n,e,t,s,i,a){const o=this.getCellPositions(n,e,t,s);if(o!=null){for(const u of o)if(u>=i&&u<=a)return u}}setContinueBuildingCache(n,e,t,s,i){let a=this._continueBuildingCache.get(n);a==null&&(a=new Map,this._continueBuildingCache.set(n,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:s,endRow:i},o.set(t,u);return}u.startRow=Math.min(u.startRow,s),u.endRow=Math.max(u.endRow,i)}shouldContinueBuildingCache(n,e,t,s){var u,l;const i=(l=(u=this._continueBuildingCache.get(n))==null?void 0:u.get(e))==null?void 0:l.get(t);if(i==null)return!0;const{startRow:a,endRow:o}=i;return!(s>=a&&s<=o)}canUseCache(n,e,t,s,i){var l,c;if(t===-1||s===-1||i===-1)return!1;const a=(c=(l=this._continueBuildingCache.get(n))==null?void 0:l.get(e))==null?void 0:c.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(s>u||i<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const tt=new Fi;var qe=(r=>(r[r.MIN=0]="MIN",r[r.MAX=1]="MAX",r))(qe||{}),Pe=(r=>(r[r.NORMAL=0]="NORMAL",r[r.MIN=1]="MIN",r[r.MAX=2]="MAX",r))(Pe||{});function $n(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(r,n)=>r.localeCompare(n)}function Bi(r){return r.indexOf("*")>-1||r.indexOf("?")>-1}function Yn(r,n){const e=Ui(n).replace(/~?[*?]/g,s=>s.startsWith("~")?`\\${s.substring(1)}`:s==="*"?".*":s==="?"?".":s);return new RegExp(`^${e}$`).test(r)}function zn(r){return r.replace(/~?[*?]/g,n=>n.startsWith("~")?n.substring(1):" ")}function Oi(r,n,e){let t=!1;switch(e){case O.EQUALS:t=Yn(r,n);break;case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:t=Yn(r,n)||r>zn(n);break;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:t=r<zn(n);break}return t}function Ui(r){return r.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ze extends rr{constructor(n){super(),this._rawValue=n}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(n){}setArrayValue(n){}isCube(){return!1}isArray(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(n){return h.create(f.VALUE)}minus(n){return h.create(f.VALUE)}multiply(n){return h.create(f.VALUE)}divided(n){return h.create(f.VALUE)}mod(n){return h.create(f.VALUE)}map(n){return h.create(f.NAME)}mapValue(n){return h.create(f.NAME)}compare(n,e){return h.create(f.NAME)}isEqual(n){return this.compare(n,O.EQUALS)}isNotEqual(n){return this.compare(n,O.NOT_EQUAL)}isGreaterThanOrEqual(n){return this.compare(n,O.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(n){return this.compare(n,O.LESS_THAN_OR_EQUAL)}isLessThan(n){return this.compare(n,O.LESS_THAN)}isGreaterThan(n){return this.compare(n,O.GREATER_THAN)}concatenateFront(n){return h.create(f.NAME)}concatenateBack(n){return h.create(f.NAME)}plusBy(n){return h.create(f.VALUE)}minusBy(n){return h.create(f.VALUE)}multiplyBy(n){return h.create(f.VALUE)}dividedBy(n){return h.create(f.VALUE)}modInverse(n){return h.create(f.VALUE)}compareBy(n,e){return h.create(f.NAME)}concatenate(n,e=Oe.FRONT){let t=this.getValue().toString();if(typeof n=="string")e===Oe.FRONT?t=n+t:t+=n;else if(typeof n=="number")e===Oe.FRONT?t=n.toString()+t:t+=n.toString();else if(typeof n=="boolean"){const s=n?"TRUE":"FALSE";e===Oe.FRONT?t=s+t:t+=s}return t}pow(n){return h.create(f.VALUE)}powInverse(n){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(n){return h.create(f.VALUE)}atan2Inverse(n){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(n){return h.create(f.VALUE)}roundInverse(n){return h.create(f.VALUE)}floor(n){return h.create(f.VALUE)}floorInverse(n){return h.create(f.VALUE)}ceil(n){return h.create(f.VALUE)}ceilInverse(n){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const ki=1e3,Qn=new ut(ki);class h extends Ze{constructor(n,e=""){super(n),this._errorType=n,this._errorContent=e}static create(n,e=""){const t=`${n}-${e}`,s=Qn.get(t);if(s)return s;const i=new h(n,e);return Qn.set(t,i),i}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(n){return n.getErrorType()===this.getErrorType()}isError(){return!0}}var Ti=20,ji=1,mt=1e6,Hn=1e6,Ii=-7,$i=21,Yi=!1,Tt="[big.js] ",dt=Tt+"Invalid ",nr=dt+"decimal places",zi=dt+"rounding mode",Wn=Tt+"Division by zero",fe={},Ie=void 0,Qi=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Gn(){function r(n){var e=this;if(!(e instanceof r))return n===Ie?Gn():new r(n);if(n instanceof r)e.s=n.s,e.e=n.e,e.c=n.c.slice();else{if(typeof n!="string"){if(r.strict===!0&&typeof n!="bigint")throw TypeError(dt+"value");n=n===0&&1/n<0?"-0":String(n)}Hi(e,n)}e.constructor=r}return r.prototype=fe,r.DP=Ti,r.RM=ji,r.NE=Ii,r.PE=$i,r.strict=Yi,r.roundDown=0,r.roundHalfUp=1,r.roundHalfEven=2,r.roundUp=3,r}function Hi(r,n){var e,t,s;if(!Qi.test(n))throw Error(dt+"number");for(r.s=n.charAt(0)=="-"?(n=n.slice(1),-1):1,(e=n.indexOf("."))>-1&&(n=n.replace(".","")),(t=n.search(/e/i))>0?(e<0&&(e=t),e+=+n.slice(t+1),n=n.substring(0,t)):e<0&&(e=n.length),s=n.length,t=0;t<s&&n.charAt(t)=="0";)++t;if(t==s)r.c=[r.e=0];else{for(;s>0&&n.charAt(--s)=="0";);for(r.e=e-t-1,r.c=[],e=0;t<=s;)r.c[e++]=+n.charAt(t++)}return r}function gt(r,n,e,t){var s=r.c;if(e===Ie&&(e=r.constructor.RM),e!==0&&e!==1&&e!==2&&e!==3)throw Error(zi);if(n<1)t=e===3&&(t||!!s[0])||n===0&&(e===1&&s[0]>=5||e===2&&(s[0]>5||s[0]===5&&(t||s[1]!==Ie))),s.length=1,t?(r.e=r.e-n+1,s[0]=1):s[0]=r.e=0;else if(n<s.length){if(t=e===1&&s[n]>=5||e===2&&(s[n]>5||s[n]===5&&(t||s[n+1]!==Ie||s[n-1]&1))||e===3&&(t||!!s[0]),s.length=n,t){for(;++s[--n]>9;)if(s[n]=0,n===0){++r.e,s.unshift(1);break}}for(n=s.length;!s[--n];)s.pop()}return r}function St(r,n,e){var t=r.e,s=r.c.join(""),i=s.length;if(n)s=s.charAt(0)+(i>1?"."+s.slice(1):"")+(t<0?"e":"e+")+t;else if(t<0){for(;++t;)s="0"+s;s="0."+s}else if(t>0)if(++t>i)for(t-=i;t--;)s+="0";else t<i&&(s=s.slice(0,t)+"."+s.slice(t));else i>1&&(s=s.charAt(0)+"."+s.slice(1));return r.s<0&&e?"-"+s:s}fe.abs=function(){var r=new this.constructor(this);return r.s=1,r},fe.cmp=function(r){var n,e=this,t=e.c,s=(r=new e.constructor(r)).c,i=e.s,a=r.s,o=e.e,u=r.e;if(!t[0]||!s[0])return t[0]?i:s[0]?-a:0;if(i!=a)return i;if(n=i<0,o!=u)return o>u^n?1:-1;for(a=(o=t.length)<(u=s.length)?o:u,i=-1;++i<a;)if(t[i]!=s[i])return t[i]>s[i]^n?1:-1;return o==u?0:o>u^n?1:-1},fe.div=function(r){var n=this,e=n.constructor,t=n.c,s=(r=new e(r)).c,i=n.s==r.s?1:-1,a=e.DP;if(a!==~~a||a<0||a>mt)throw Error(nr);if(!s[0])throw Error(Wn);if(!t[0])return r.s=i,r.c=[r.e=0],r;var o,u,l,c,m,d=s.slice(),E=o=s.length,D=t.length,C=t.slice(0,o),A=C.length,P=r,x=P.c=[],U=0,$=a+(P.e=n.e-r.e)+1;for(P.s=i,i=$<0?0:$,d.unshift(0);A++<o;)C.push(0);do{for(l=0;l<10;l++){if(o!=(A=C.length))c=o>A?1:-1;else for(m=-1,c=0;++m<o;)if(s[m]!=C[m]){c=s[m]>C[m]?1:-1;break}if(c<0){for(u=A==o?s:d;A;){if(C[--A]<u[A]){for(m=A;m&&!C[--m];)C[m]=9;--C[m],C[A]+=10}C[A]-=u[A]}for(;!C[0];)C.shift()}else break}x[U++]=c?l:++l,C[0]&&c?C[A]=t[E]||0:C=[t[E]]}while((E++<D||C[0]!==Ie)&&i--);return!x[0]&&U!=1&&(x.shift(),P.e--,$--),U>$&>(P,$,e.RM,C[0]!==Ie),P},fe.eq=function(r){return this.cmp(r)===0},fe.gt=function(r){return this.cmp(r)>0},fe.gte=function(r){return this.cmp(r)>-1},fe.lt=function(r){return this.cmp(r)<0},fe.lte=function(r){return this.cmp(r)<1},fe.minus=fe.sub=function(r){var n,e,t,s,i=this,a=i.constructor,o=i.s,u=(r=new a(r)).s;if(o!=u)return r.s=-u,i.plus(r);var l=i.c.slice(),c=i.e,m=r.c,d=r.e;if(!l[0]||!m[0])return m[0]?r.s=-u:l[0]?r=new a(i):r.s=1,r;if(o=c-d){for((s=o<0)?(o=-o,t=l):(d=c,t=m),t.reverse(),u=o;u--;)t.push(0);t.reverse()}else for(e=((s=l.length<m.length)?l:m).length,o=u=0;u<e;u++)if(l[u]!=m[u]){s=l[u]<m[u];break}if(s&&(t=l,l=m,m=t,r.s=-r.s),(u=(e=m.length)-(n=l.length))>0)for(;u--;)l[n++]=0;for(u=n;e>o;){if(l[--e]<m[e]){for(n=e;n&&!l[--n];)l[n]=9;--l[n],l[e]+=10}l[e]-=m[e]}for(;l[--u]===0;)l.pop();for(;l[0]===0;)l.shift(),--d;return l[0]||(r.s=1,l=[d=0]),r.c=l,r.e=d,r},fe.mod=function(r){var n,e=this,t=e.constructor,s=e.s,i=(r=new t(r)).s;if(!r.c[0])throw Error(Wn);return e.s=r.s=1,n=r.cmp(e)==1,e.s=s,r.s=i,n?new t(e):(s=t.DP,i=t.RM,t.DP=t.RM=0,e=e.div(r),t.DP=s,t.RM=i,this.minus(e.times(r)))},fe.neg=function(){var r=new this.constructor(this);return r.s=-r.s,r},fe.plus=fe.add=function(r){var n,e,t,s=this,i=s.constructor;if(r=new i(r),s.s!=r.s)return r.s=-r.s,s.minus(r);var a=s.e,o=s.c,u=r.e,l=r.c;if(!o[0]||!l[0])return l[0]||(o[0]?r=new i(s):r.s=s.s),r;if(o=o.slice(),n=a-u){for(n>0?(u=a,t=l):(n=-n,t=o),t.reverse();n--;)t.push(0);t.reverse()}for(o.length-l.length<0&&(t=l,l=o,o=t),n=l.length,e=0;n;o[n]%=10)e=(o[--n]=o[n]+l[n]+e)/10|0;for(e&&(o.unshift(e),++u),n=o.length;o[--n]===0;)o.pop();return r.c=o,r.e=u,r},fe.pow=function(r){var n=this,e=new n.constructor("1"),t=e,s=r<0;if(r!==~~r||r<-Hn||r>Hn)throw Error(dt+"exponent");for(s&&(r=-r);r&1&&(t=t.times(n)),r>>=1,!!r;)n=n.times(n);return s?e.div(t):t},fe.prec=function(r,n){if(r!==~~r||r<1||r>mt)throw Error(dt+"precision");return gt(new this.constructor(this),r,n)},fe.round=function(r,n){if(r===Ie)r=0;else if(r!==~~r||r<-mt||r>mt)throw Error(nr);return gt(new this.constructor(this),r+this.e+1,n)},fe.sqrt=function(){var r,n,e,t=this,s=t.constructor,i=t.s,a=t.e,o=new s("0.5");if(!t.c[0])return new s(t);if(i<0)throw Error(Tt+"No square root");i=Math.sqrt(t+""),i===0||i===1/0?(n=t.c.join(""),n.length+a&1||(n+="0"),i=Math.sqrt(n),a=((a+1)/2|0)-(a<0||a&1),r=new s((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+a)):r=new s(i+""),a=r.e+(s.DP+=4);do e=r,r=o.times(e.plus(t.div(e)));while(e.c.slice(0,a).join("")!==r.c.slice(0,a).join(""));return gt(r,(s.DP-=4)+r.e+1,s.RM)},fe.times=fe.mul=function(r){var n,e=this,t=e.constructor,s=e.c,i=(r=new t(r)).c,a=s.length,o=i.length,u=e.e,l=r.e;if(r.s=e.s==r.s?1:-1,!s[0]||!i[0])return r.c=[r.e=0],r;for(r.e=u+l,a<o&&(n=s,s=i,i=n,l=a,a=o,o=l),n=new Array(l=a+o);l--;)n[l]=0;for(u=o;u--;){for(o=0,l=a+u;l>u;)o=n[l]+i[u]*s[l-u-1]+o,n[l--]=o%10,o=o/10|0;n[l]=o}for(o?++r.e:n.shift(),u=n.length;!n[--u];)n.pop();return r.c=n,r},fe.toExponential=function(r,n){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>mt)throw Error(nr);for(e=gt(new e.constructor(e),++r,n);e.c.length<r;)e.c.push(0)}return St(e,!0,!!t)},fe.toFixed=function(r,n){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>mt)throw Error(nr);for(e=gt(new e.constructor(e),r+e.e+1,n),r=r+e.e+1;e.c.length<r;)e.c.push(0)}return St(e,!1,!!t)},fe[Symbol.for("nodejs.util.inspect.custom")]=fe.toJSON=fe.toString=function(){var r=this,n=r.constructor;return St(r,r.e<=n.NE||r.e>=n.PE,!!r.c[0])},fe.toNumber=function(){var r=Number(St(this,!0,!0));if(this.constructor.strict===!0&&!this.eq(r.toString()))throw Error(Tt+"Imprecise conversion");return r},fe.toPrecision=function(r,n){var e=this,t=e.constructor,s=e.c[0];if(r!==Ie){if(r!==~~r||r<1||r>mt)throw Error(dt+"precision");for(e=gt(new t(e),r,n);e.c.length<r;)e.c.push(0)}return St(e,r<=e.e||e.e<=t.NE||e.e>=t.PE,!!s)},fe.valueOf=function(){var r=this,n=r.constructor;if(n.strict===!0)throw Error(Tt+"valueOf disallowed");return St(r,r.e<=n.NE||r.e>=n.PE,!0)};var Ce=Gn();function Xn(r){let n;switch(r){case O.EQUALS:n=O.EQUALS;break;case O.GREATER_THAN:n=O.LESS_THAN;break;case O.GREATER_THAN_OR_EQUAL:n=O.LESS_THAN_OR_EQUAL;break;case O.LESS_THAN:n=O.GREATER_THAN;break;case O.LESS_THAN_OR_EQUAL:n=O.GREATER_THAN_OR_EQUAL;break;case O.NOT_EQUAL:n=O.NOT_EQUAL;break}return n}function Kr(r,n){return Ce(r).times(n).toNumber()}function Kn(r,n){const e=10**Math.floor(n);return Math.round(Kr(r,e))/e}function qn(r,n){const e=10**Math.floor(n);return Math.floor(Kr(r,e))/e}function Zn(r,n){const e=10**Math.floor(n);return Math.ceil(Kr(r,e))/e}function Jn(r,n){const e=new Ce(r),t=new Ce(n),s=Math.floor(r/n);return e.minus(t.times(s)).toNumber()}function Nn(r,n){return r**n}const wr=class wr extends Ze{static create(){return this._instance=this._instance||new wr(0),this._instance}isNull(){return!0}plus(n){return b.create(0).plus(n)}minus(n){return b.create(0).minus(n)}multiply(n){return b.create(0).multiply(n)}divided(n){return b.create(0).divided(n)}mod(n){return b.create(0).mod(n)}compare(n,e){return n.isString()?Ee.create("").compare(n,e):n.isBoolean()?H.create(!1).compare(n,e):b.create(0).compare(n,e)}concatenateFront(n){return n.isArray()?n.concatenateBack(Ee.create("")):Ee.create(this.concatenate(n.getValue(),Oe.FRONT))}concatenateBack(n){return n.isArray()?n.concatenateFront(Ee.create("")):Ee.create(this.concatenate(n.getValue(),Oe.BACK))}plusBy(n){return b.create(0).plusBy(n)}minusBy(n){return b.create(0).minusBy(n)}multiplyBy(n){return b.create(0).multiplyBy(n)}dividedBy(n){return b.create(0).dividedBy(n)}compareBy(n,e){return typeof n=="string"?Ee.create("").compareBy(n,e):typeof n=="boolean"?H.create(!1).compareBy(n,e):b.create(0).compareBy(n,e)}pow(n){return b.create(0).pow(n)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}asin(){return b.create(0).asin()}asinh(){return b.create(0).asinh()}tan(){return b.create(0).tan()}tanh(){return b.create(0).tanh()}atan(){return b.create(0).atan()}atan2(n){return b.create(0).atan2(n)}atanh(){return b.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(n){return b.create(0).round(n)}floor(n){return b.create(0).floor(n)}ceil(n){return b.create(0).ceil(n)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return H.create(!1)}};S(wr,"_instance");let ce=wr;const xt=class xt extends Ze{constructor(e){super(e);S(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new xt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new xt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),b.create(-t)}getReciprocal(){return this.getValue()?b.create(1):h.create(f.DIV_BY_ZERO)}plus(e){return this._convertTonNumber().plus(e)}minus(e){return this._convertTonNumber().minus(e)}multiply(e){return this._convertTonNumber().multiply(e)}divided(e){return this._convertTonNumber().divided(e)}mod(e){return this._convertTonNumber().mod(e)}compare(e,t){return this._convertTonNumber().compare(e,t)}concatenateFront(e){return this._convertTonNumber().concatenateFront(e)}concatenateBack(e){return this._convertTonNumber().concatenateBack(e)}_convertTonNumber(){const e=this.getValue();let t=0;return e&&(t=1),b.create(t)}pow(e){return this._convertTonNumber().pow(e)}sqrt(){return this._convertTonNumber().sqrt()}cbrt(){return this._convertTonNumber().cbrt()}cos(){return this._convertTonNumber().cos()}acos(){return this._convertTonNumber().acos()}acosh(){return this._convertTonNumber().acosh()}sin(){return this._convertTonNumber().sin()}asin(){return this._convertTonNumber().asin()}asinh(){return this._convertTonNumber().asinh()}tan(){return this._convertTonNumber().tan()}tanh(){return this._convertTonNumber().tanh()}atan(){return this._convertTonNumber().atan()}atan2(e){return this._convertTonNumber().atan2(e)}atanh(){return this._convertTonNumber().atanh()}log(){return this._convertTonNumber().log()}log10(){return this._convertTonNumber().log10()}exp(){return this._convertTonNumber().exp()}abs(){return this._convertTonNumber().abs()}round(e){return this._convertTonNumber().round(e)}floor(e){return this._convertTonNumber().floor(e)}ceil(e){return this._convertTonNumber().ceil(e)}convertToNumberObjectValue(){return ir(this.getValue())}convertToBooleanObjectValue(){return this}};S(xt,"_instanceTrue"),S(xt,"_instanceFalse");let H=xt;const Wi=2e5,es=new ut(Wi);class b extends Ze{constructor(e){super(e);S(this,"_value",0);this._value=Number(e)}static create(e,t=""){const s=`${e}-${t}`,i=es.get(s);if(i)return i;const a=new b(e);return a.setPattern(t),es.set(s,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return b.create(0).minus(this)}getReciprocal(){return b.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}const t=this.minusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}multiply(e){if(e.isArray())return e.multiply(this);const t=this.multiplyBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}const t=this.dividedBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),s=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(s===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Jn(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}if(typeof s=="boolean"){const i=s?1:0;return i===0?h.create(f.DIV_BY_ZERO):b.create(Jn(t,i))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Ee.create(this.concatenate(e.getValue(),Oe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Ee.create(this.concatenate(e.getValue(),Oe.BACK))}compare(e,t){return e.isArray()?e.compare(this,Xn(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Mt.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).plus(e).toNumber();return Number.isFinite(s)?b.create(s):h.create(f.NUM)}return typeof e=="boolean"?b.create(Ce(t).plus(e?1:0).toNumber()):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).minus(e).toNumber();return Number.isFinite(s)?b.create(s):h.create(f.NUM)}return typeof e=="boolean"?b.create(Ce(t).minus(e?1:0).toNumber()):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).times(e).toNumber();return Number.isFinite(s)?b.create(s):h.create(f.NUM)}return typeof e=="boolean"?b.create(Ce(t).times(e?1:0).toNumber()):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).div(e).toNumber();return Number.isFinite(s)?b.create(s):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):b.create(Ce(t).div(1).toNumber()):this}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string")switch(t){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:i=!1;break;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:i=!0;break}else if(typeof e=="number")if(!Number.isFinite(s)||!Number.isFinite(e))i=this._compareInfinity(s,e,t);else switch(t){case O.EQUALS:i=Ce(s).eq(e);break;case O.GREATER_THAN:i=Ce(s).gt(e);break;case O.GREATER_THAN_OR_EQUAL:i=Ce(s).gte(e);break;case O.LESS_THAN:i=Ce(s).lt(e);break;case O.LESS_THAN_OR_EQUAL:i=Ce(s).lte(e);break;case O.NOT_EQUAL:i=!Ce(s).eq(e);break}else if(typeof e=="boolean")switch(t){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:i=!1;break;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:i=!0;break}return H.create(i)}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Nn(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}return typeof s=="boolean"?b.create(Nn(t,s?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Ce(e).sqrt().toNumber();return Number.isFinite(t)?b.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):b.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):b.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):b.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):b.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Math.atan2(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}return typeof s=="boolean"?b.create(Math.atan2(t,s?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?b.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Kn(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}return typeof s=="boolean"?b.create(Kn(t,s?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=qn(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}return typeof s=="boolean"?b.create(qn(t,s?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Zn(t,s);return Number.isFinite(i)?b.create(i):h.create(f.NUM)}return typeof s=="boolean"?b.create(Zn(t,s?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return sr(!0)}_compareInfinity(e,t,s){let i=!1;switch(s){case O.EQUALS:i=e===t;break;case O.GREATER_THAN:i=e>t;break;case O.GREATER_THAN_OR_EQUAL:i=e>=t;break;case O.LESS_THAN:i=e<t;break;case O.LESS_THAN_OR_EQUAL:i=e<=t;break;case O.NOT_EQUAL:i=e!==t;break}return i}}const Gi=2e5,ts=new ut(Gi);class Ee extends Ze{constructor(e){super(e);S(this,"_value");this._value=e}static create(e){const t=ts.get(e);if(t)return t;const s=new Ee(e);return ts.set(e,s),s}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Ee.create(this.concatenate(e.getValue(),Oe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Ee.create(this.concatenate(e.getValue(),Oe.BACK))}compare(e,t){return e.isArray()?e.compare(this,Xn(t)):this.compareBy(e.getValue(),t)}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string"){if(Bi(e))return this._checkWildcard(e,t);switch(t){case O.EQUALS:i=s===e;break;case O.GREATER_THAN:i=s>e;break;case O.GREATER_THAN_OR_EQUAL:i=s>=e;break;case O.LESS_THAN:i=s<e;break;case O.LESS_THAN_OR_EQUAL:i=s<=e;break;case O.NOT_EQUAL:i=s!==e;break}}else if(typeof e=="number")switch(t){case O.NOT_EQUAL:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:i=!0;break;case O.EQUALS:case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:i=!1;break}else if(typeof e=="boolean")switch(t){case O.EQUALS:case O.GREATER_THAN:case O.GREATER_THAN_OR_EQUAL:i=!1;break;case O.LESS_THAN:case O.LESS_THAN_OR_EQUAL:case O.NOT_EQUAL:i=!0;break}return H.create(i)}convertToNumberObjectValue(){return ir(this.getValue())}convertToBooleanObjectValue(){return H.create(!0)}_checkWildcard(e,t){const s=this.getValue().toLocaleLowerCase(),i=Oi(s,e,t);return H.create(i)}}function sr(r){if(typeof r=="boolean")return H.create(r);let n=!1;if(typeof r=="string"){const e=r.toLocaleUpperCase();e===ct.TRUE?n=!0:e===ct.FALSE&&(n=!1)}else r===1?n=!0:n=!1;return H.create(n)}function qr(r){let n=r.toString();return n.charAt(0)==='"'&&n.charAt(n.length-1)==='"'&&(n=n.slice(1,-1),n=n.replace(/""/g,'"')),Ee.create(n)}function ir(r){if(typeof r=="boolean"){let n=0;return r&&(n=1),b.create(n)}else{if(typeof r=="number")return Number.isFinite(r)?b.create(r):h.create(f.NUM);if(_.isRealNum(r))return b.create(Number(r))}return h.create(f.VALUE)}function Xi(r){return""}function Ki(r=[]){const n=[];for(let e=0;e<r.length;e++){const t=r[e];n[e]==null&&(n[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];n[e][s]=rt.create(i)}}return n}function qi(r=[]){const n=[];for(let e=0;e<r.length;e++){const t=r[e];n[e]==null&&(n[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];i==null?n[e][s]=null:i.isError()?n[e][s]=i.getErrorType():n[e][s]=i.getValue()}}return n}class be extends Ze{constructor(e){super(typeof e=="string"?e:Xi());S(this,"_values",[]);S(this,"_rowCount",-1);S(this,"_columnCount",-1);S(this,"_unitId","");S(this,"_sheetId","");S(this,"_currentRow",-1);S(this,"_currentColumn",-1);S(this,"_sliceCache",new Map);S(this,"_flattenCache");S(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new be(e)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}get(e,t){const s=this._values[e];if(s==null)return null;const i=s[t];return i==null?null:i}getRealValue(e,t){const s=this._values[e];if(s==null)return null;const i=s[t];return i==null?null:i}set(e,t,s){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=s}getRangePosition(){const t=this.getRowCount(),s=0,i=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:s,endColumn:i-1}}iterator(e){var u;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=s;l++)for(let c=i;c<=a;c++)if(e((u=o[l])==null?void 0:u[c],l,c)===!1)return}iteratorReverse(e){const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let u=s;u>=t;u--)for(let l=a;l>=i;l--)if(e(o[u][l],u,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||ce.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||ce.create()}pick(e){const t=e.getRowCount(),s=e.getColumnCount();if(t!==this._rowCount||s!==this._columnCount)return this._createNewArray([[ce.create()]],1,1);const i=[];i[0]=[];for(let a=0;a<t;a++)for(let o=0;o<s;o++){const u=e.get(a,o),l=this.get(a,o);u==null||u.isError()||u.getValue()===!0&&i[0].push(l)}return this._createNewArray(i,1,i[0].length)}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let s=0;s<this._rowCount;s++)for(let i=0;i<this._columnCount;i++){const a=this.get(s,i);e[0].push(a)}const t=this._createNewArray(e,1,e[0].length);return this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],s=[],i=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){a++;continue}c.isString()?(e.push(c),s.push(a++)):(t.push(c),i.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:s,numberPosition:i};return this._flattenPosition=o,o}slice(e,t){let s=0,i=this._rowCount,a=1,o=0,u=this._columnCount,l=1;if(e!=null&&(s=e[0]||0,i=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),s>=this._rowCount||o>=this._columnCount)return;const c=`${s}_${i}_${a}_${o}_${u}_${l}`,m=this._sliceCache.get(c);if(m!=null)return m;const d=[],E=this._values;let D=0,C=0;for(let U=s;U<i;U+=a){C=0,d[D]==null&&(d[D]=[]);for(let $=o;$<u;$+=l){if(!E[U])return;let se=E[U][$];se==null&&(se=ce.create()),d[D][C]=se,C++}D++}if(d.length===0||d[0].length===0)return;const A=a>1?-1:s+this._currentRow,P=l>1?-1:o+this._currentColumn,x=this._createNewArray(d,d.length,d[0].length,A,P);return this._sliceCache.set(c,x),x}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,s=this._columnCount;return this._createNewArray(e,s,t)}orderSearch(e,t=Pe.MIN,s=!1,i=!1){let a,o,u,l;const c=(m,d,E)=>{if(m==null)return!0;let D;if(i===!0?D=m.compare(e,O.EQUALS):D=m.isEqual(e),(D==null?void 0:D.getValue())===!0)return a=m,u={row:d,column:E},!1;t===Pe.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:E}):t===Pe.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:E})};if(s){const m=this._values.length;if(this._values[0]==null)return;const d=this._values[0].length;for(let E=m-1;E>=0;E--)for(let D=d-1;D>=0;D--){const C=this._values[E][D];c(C,E,D)}}else this.iterator((m,d,E)=>{c(m,d,E)});if(a!=null)return u;if(o!=null)return l}binarySearch(e,t=qe.MIN){if(e.isError())return;const{stringArray:s,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,s,i,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,s,i=qe.MIN){const a=$n(),o=e.getValue().toString();let u=0,l=t.length-1,c=null;for(;u<=l;){const m=Math.floor((u+l)/2),d=t[m];let E=0;if(d.isNull())E=1;else{const D=d.getValue();E=a(D.toString(),o)}if(E===0)return s[m];E===-1?(u=m+1,i===qe.MIN&&(c=m)):(l=m-1,i===qe.MAX&&(c=m))}if(c!=null)return s[c]}sum(){let e=b.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=b.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=b.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=b.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=b.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return be.create("{0}").minus(this)}getReciprocal(){return be.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t){return this._batchOperator(e,5,t)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(s,i,a)=>s==null?ce.create():s.isError()?s:e(s,i,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,s=this._columnCount,i=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<s;l++){const c=(a=this._values)==null?void 0:a[o];if(c==null)u[l]=h.create(f.VALUE);else{const m=c[l];m?u[l]=e(m,o,l):u[l]=ce.create()}}i.push(u)}return this._createNewArray(i,t,s)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),s=this.count();return t.divided(e===0?s:s.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),s=t.getColumnCount();if(s<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),s%2===0){const i=t.get(0,s/2)||ce.create(),a=t.get(0,s/2-1)||ce.create();return i.plus(a).divided(b.create(2))}return t.get(0,(s-1)/2)||ce.create()}var(e=0){const t=this.mean(),s=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const m=c.minus(t).pow(b.create(2));m.isError()||s[0].push(m)});const{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return be.create({calculateValueList:s,rowCount:1,columnCount:s[0].length,unitId:i,sheetId:a,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return qi(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=$n();return(s,i)=>{const a=s[e],o=i[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,s=e[0].length,i=[];for(let a=0;a<s;a++){i[a]=[];for(let o=0;o<t;o++)i[a][o]=e[o][a]}return i}_batchOperator(e,t,s){const i=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const l=e.getRowCount(),c=e.getColumnCount();if(a=Math.max(l,a),o=Math.max(c,o),l===1&&c===1){const m=e.getFirstCell();for(let d=0;d<o;d++)i.push(m)}else if(l===1&&this._columnCount>1){const m=e.getArrayValue();for(let d=0;d<o;d++)i.push(m[0][d])}else return this._batchOperatorArray(e,t,s)}else for(let l=0;l<o;l++)i.push(e);const u=[];for(let l=0;l<o;l++){const c=i[l];this._batchOperatorValue(c,l,u,t,s)}return this._createNewArray(u,a,o)}_batchOperatorValue(e,t,s,i,a){var E,D;const o=this._rowCount;let u=!1;const l=this.getUnitId(),c=this.getSheetId(),m=this.getCurrentRow(),d=this.getCurrentColumn();if(i===5&&(u=tt.canUseCache(l,c,t+d,m,m+o-1),u===!0)){if(a===O.EQUALS){const C=tt.getCellPositions(l,c,t+d,e.getValue());C!=null&&C.forEach(A=>{const P=A-m;s[P]==null&&(s[P]=[]),s[P][t]=H.create(!0)})}else{const C=tt.getCellValuePositions(l,c,t+d);C!=null&&C.forEach((A,P)=>{let x=ce.create();typeof P=="string"?x=Ee.create(P):typeof P=="number"?x=b.create(P):typeof P=="boolean"&&(x=H.create(P)),x.compare(e,a).getValue()===!0&&A.forEach($=>{$>=m&&$<=m+o-1&&(s[$-m]==null&&(s[$-m]=[]),s[$-m][t]=H.create(!0))})})}return}for(let C=0;C<o;C++){const A=(D=(E=this._values)==null?void 0:E[C])==null?void 0:D[t];if(s[C]==null&&(s[C]=[]),A&&e)if(A.isError())s[C][t]=A;else if(e.isError())s[C][t]=e;else switch(i){case 1:s[C][t]=A.plus(e);break;case 0:s[C][t]=A.minus(e);break;case 2:s[C][t]=A.multiply(e);break;case 3:s[C][t]=A.divided(e);break;case 4:s[C][t]=A.mod(e);break;case 5:a?s[C][t]=A.compare(e,a):s[C][t]=h.create(f.VALUE);break;case 6:s[C][t]=A.concatenateFront(e);break;case 7:s[C][t]=A.concatenateBack(e);break;case 8:s[C][t]=A.pow(e);break;case 9:s[C][t]=A.round(e);break;case 10:s[C][t]=A.floor(e);break;case 12:s[C][t]=A.atan2(e);break;case 11:s[C][t]=A.ceil(e);break}else s[C][t]=h.create(f.NA);A!=null&&(A.isError()?tt.set(l,c,t+d,A.getErrorType(),C+m):A.isNull()?tt.set(l,c,t+d,null,C+m):tt.set(l,c,t+d,A.getValue(),C+m))}tt.setContinueBuildingCache(l,c,t+d,m,m+o-1)}_batchOperatorArray(e,t,s){var m,d,E,D,C,A,P,x,U,$,se,he;let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],u=e.getArrayValue(),l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let me=0;me<i;me++){const J=[];for(let z=0;z<a;z++){let te;l===3?te=(d=(m=this._values)==null?void 0:m[0])==null?void 0:d[0]:l===1?te=(D=(E=this._values)==null?void 0:E[0])==null?void 0:D[z]:l===2?te=(A=(C=this._values)==null?void 0:C[me])==null?void 0:A[0]:te=(x=(P=this._values)==null?void 0:P[me])==null?void 0:x[z];let N;if(c===3?N=(U=u==null?void 0:u[0])==null?void 0:U[0]:c===1?N=($=u==null?void 0:u[0])==null?void 0:$[z]:c===2?N=(se=u==null?void 0:u[me])==null?void 0:se[0]:N=(he=u==null?void 0:u[me])==null?void 0:he[z],te&&N)if(te.isError())J[z]=te;else if(N.isError())J[z]=N;else switch(t){case 1:J[z]=te.plus(N);break;case 0:J[z]=te.minus(N);break;case 2:J[z]=te.multiply(N);break;case 3:J[z]=te.divided(N);break;case 4:J[z]=te.mod(N);break;case 5:s?J[z]=te.compare(N,s):J[z]=h.create(f.VALUE);break;case 6:J[z]=te.concatenateFront(N);break;case 7:J[z]=te.concatenateBack(N);break;case 8:J[z]=te.pow(N);break;case 9:J[z]=te.round(N);break;case 12:J[z]=te.atan2(N);break;case 10:J[z]=te.floor(N);break;case 11:J[z]=te.ceil(N);break}else J[z]=h.create(f.NA)}o.push(J)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),s=t.length,i=[];let a=0;for(let o=0;o<s;o++){const l=t[o].split(","),c=l.length;a<c&&(a=c);const m=[];for(let d=0;d<c;d++){const E=l[d].trim();m.push(rt.create(E))}i.push(m)}return this._rowCount=s,this._columnCount=a,i}_createNewArray(e,t,s,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:s,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return be.create(o)}}class rt{static create(n){if(n==null)return ce.create();if(typeof n=="boolean")return H.create(n);if(typeof n=="string"){const e=n.toLocaleUpperCase().trim();return Mt.has(e)?h.create(e):e===ct.TRUE||e===ct.FALSE?sr(n):_.isRealNum(n)?b.create(Number(n)):new RegExp(Ci,"g").test(n.replace(/\n/g,"").replace(/\r/g,""))?be.create(n.replace(/\n/g,"").replace(/\r/g,"")):qr(n)}return typeof n=="number"?ir(n):h.create(f.VALUE)}}function Zi(r){if(r===null)return 0;if(r!=null&&r.p){const n=r==null?void 0:r.p.body;if(n==null)return 0;const e=n.dataStream;return e.substring(e.length-2,e.length)===_.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(r==null?void 0:r.v)||0}const Ji=1e5,Zr=new ut(Ji);class Lt extends rr{constructor(e){super();S(this,"_forcedSheetId","");S(this,"_forcedSheetName","");S(this,"_defaultSheetId","");S(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});S(this,"_unitData",{});S(this,"_defaultUnitId","");S(this,"_forcedUnitId","");S(this,"_runtimeData",{});S(this,"_arrayFormulaCellData",{});S(this,"_runtimeArrayFormulaCellData",{});S(this,"_runtimeFeatureCellData",{});S(this,"_numfmtItemData",{});S(this,"_refOffsetX",0);S(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:s,endColumn:i}=this.getRangePosition();return e<0||s<0||t>=this.getRowCount()||i>=this.getColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let e=this._rangeData.startRow+this._refOffsetY,t=this._rangeData.endRow+this._refOffsetY,s=this._rangeData.startColumn+this._refOffsetX,i=this._rangeData.endColumn+this._refOffsetX;return Number.isNaN(e)&&(e=0),Number.isNaN(s)&&(s=0),Number.isNaN(t)&&(t=this.getRowCount()-1),Number.isNaN(i)&&(i=this.getColumnCount()-1),{startRow:e,endRow:t,startColumn:s,endColumn:i}}isReferenceObject(){return!0}iterator(e){var l,c,m;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,i);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let d=t;d<=s;d++)for(let E=i;E<=a;E++){if(d<0||E<0)return e(h.create(f.REF),d,E);const D=this.getCellData(d,E);let C=!1;if(D==null||_.isNullCell(D)){C=e(null,d,E);continue}const A=this.getCellValueObject(D),P=A.isNumber(),x=(m=(c=(l=this._numfmtItemData[o])==null?void 0:l[u])==null?void 0:c[d])==null?void 0:m[E];if(x&&P&&A.setPattern(x),C=e(A,d,E),C===!1)return}}getFirstCell(){var c,m,d;const{startRow:e,startColumn:t}=this.getRangePosition(),s=this.getCellData(e,t);if(!s)return b.create(0);const i=this.getCellValueObject(s),a=i.isNumber(),o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId,l=(d=(m=(c=this._numfmtItemData[o])==null?void 0:c[u])==null?void 0:m[e])==null?void 0:d[t];return l&&a&&i.setPattern(l),i}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getNumfmtItemData(){return this._numfmtItemData}setNumfmtItemData(e){this._numfmtItemData=e}getRowCount(){return this.getCurrentActiveSheetData().rowCount}getColumnCount(){return this.getCurrentActiveSheetData().columnCount}getRowData(){return this.getCurrentActiveSheetData().rowData}getColumnData(){return this.getCurrentActiveSheetData().columnData}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Zi(e);return Mt.has(t)?h.create(t):e.t===_.CellValueType.NUMBER?ir(t):e.t===_.CellValueType.STRING||e.t===_.CellValueType.FORCE_STRING?qr(t):e.t===_.CellValueType.BOOLEAN?sr(t):rt.create(t)}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){return this._unitData[this.getUnitId()][this.getSheetId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const s=this.getCurrentActiveSheetData(),i=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(i==null?void 0:i.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(s==null?void 0:s.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var i;const s=Object.keys(this._runtimeFeatureCellData);for(const a of s){const o=this._runtimeFeatureCellData[a],u=(i=o==null?void 0:o[this.getUnitId()])==null?void 0:i[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const s=this.getCellData(e,t);return s?this.getCellValueObject(s):h.create(f.VALUE)}toArrayValueObject(e=!0){var D;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${s}_${i}_${a}`,u=Zr.get(o);if(u&&e)return u;const l=s-t+1,c=a-i+1;if(l<0||c<0)return this._getBlankArrayValueObject();const m=new Array(l);this.iterator((C,A,P)=>{const x=A-t,U=P-i;m[x]||(m[x]=new Array(c)),C==null&&(C=ce.create()),m[x][U]=C});const d={calculateValueList:m,rowCount:m.length,columnCount:((D=m[0])==null?void 0:D.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:i},E=be.create(d);return e&&Zr.set(o,E),E}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return be.create(e)}}class Ni extends rr{constructor(n){super(),this._promise=n}isAsyncObject(){return!0}async getValue(){return this._promise}}class ea extends rr{constructor(n){super(),this._promiseList=n}isAsyncArrayObject(){return!0}async getValue(){var t;const n=[];for(let s=0;s<this._promiseList.length;s++){const i=this._promiseList[s];n[s]==null&&(n[s]=[]);for(let a=0;a<i.length;a++){const o=i[a];o.isAsyncObject()?n[s][a]=await o.getValue():n[s][a]=o}}const e={calculateValueList:n,rowCount:n.length,columnCount:((t=n[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return be.create(e)}}class jt extends Lt{constructor(n,e,t){super(""),this.setRangeData(n),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const rs=/[\[\]]/g;function ns(r,n){if(rs.test(r)){const e=Number(r.replace(rs,""));return n+e}return Number(r)-1}function Jr(r,n=0,e=0){r=r.toLocaleUpperCase();const t=r.split(/[RC]/),s=t[1],i=t[2],a=ns(s,n),o=ns(i,e);return{row:a,column:o,absoluteRefType:_.AbsoluteRefType.NONE}}function ss(r,n=0,e=0){const{refBody:t,sheetName:s,unitId:i}=Bn(r),a=t.indexOf(":");if(a===-1){const C=Jr(t,n,e),A=C.row,P=C.column,x=C.absoluteRefType;return{unitId:i,sheetName:s,range:{startRow:A,startColumn:P,endRow:A,endColumn:P,startAbsoluteRefType:x,endAbsoluteRefType:x}}}const o=t.substring(0,a),u=t.substring(a+1),l=Jr(o,n,e),c=Jr(u,n,e),m=l.row,d=l.column,E=c.row,D=c.column;return{unitId:i,sheetName:s,range:{startRow:m,startColumn:d,endRow:E,endColumn:D,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function ta(r){const n=ar(r.startRow,r.startAbsoluteRefType,!0),e=ar(r.startColumn,r.startAbsoluteRefType,!1),t=ar(r.endRow,r.endAbsoluteRefType,!0),s=ar(r.endColumn,r.endAbsoluteRefType,!1);return n===t&&e===s?`R${n}C${e}`:`R${n}C${e}:R${t}C${s}`}function ar(r,n=_.AbsoluteRefType.ALL,e){switch(r+=1,n){case _.AbsoluteRefType.ALL:return`${r}`;case _.AbsoluteRefType.ROW:return e?`${r}`:`[${r}]`;case _.AbsoluteRefType.COLUMN:return e?`[${r}]`:`${r}`;case _.AbsoluteRefType.NONE:return`[${r}]`}}const is=[];var ra=(r=>{})();function na(r){const n=r.getValue();let e=0;return n&&(e=1),b.create(e)}function Re(r,n,e,t){const s=[];if(e.isArray()){const i=e.getRowCount(),a=e.getColumnCount();if(i===1&&a===1){const o=e.getFirstCell();for(let u=0;u<r;u++){const l=[];for(let c=0;c<n;c++)l.push(o);s.push(l)}}else if(i===1&&a>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(0,l)||(t!=null?t:ce.create());u.push(c)}s.push(u)}else if(a===1&&i>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(o,0)||(t!=null?t:ce.create());u.push(c)}s.push(u)}else for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(o,l)||(t!=null?t:ce.create());u.push(c)}s.push(u)}}else for(let i=0;i<r;i++){const a=[];for(let o=0;o<n;o++)a.push(e);s.push(a)}return or(s,r,n)}function or(r,n,e){const t={calculateValueList:r,rowCount:n,columnCount:e,unitId:"",sheetId:"",row:-1,column:-1};return be.create(t)}class Nr extends Lt{constructor(n){super(n);const e=bt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(n){if(!n.isCell())return h.create(f.REF);const e=n,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(n,e){const t=n.startRow,s=n.startColumn,i=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>i?(o.startRow=i,o.endRow=t):(o.startRow=t,o.endRow=i),s>a?(o.startColumn=a,o.endColumn=s):(o.startColumn=s,o.endColumn=a),o}_createRange(n){const e=new jt(n,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setNumfmtItemData(this.getNumfmtItemData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();e.setRefOffset(t,s);const i=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),i!=null&&e.setForcedSheetIdDirect(i);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class en extends Lt{constructor(n){super(n);const e=bt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(n){if(!n.isRow())return h.create(f.REF);const e=n;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData().startRow,i=t.startRow;return s>i?t.endRow=s:(t.startRow=s,t.endRow=i),this.setToken(`${this.getToken()}${X.COLON}${e.getToken()}`),this}}class tn extends Lt{constructor(n){super(n);const e=bt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(n){if(!n.isColumn())return h.create(f.REF);const e=n;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData().startColumn,i=t.startColumn;return s>i?t.endColumn=s:(t.startColumn=s,t.endColumn=i),this.setToken(`${this.getToken()}${X.COLON}${e.getToken()}`),this}}class I extends _.Disposable{constructor(e){super();S(this,"_unitId");S(this,"_subUnitId");S(this,"_row",-1);S(this,"_column",-1);S(this,"needsExpandParams",!1);S(this,"needsReferenceObject",!1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,s,i){this._unitId=e,this._subUnitId=t,this._row=s,this._column=i}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const s=Number(e.getValue());return Number.isNaN(s)?h.create(f.REF):s}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const s=e.getValue();s<=0&&(t=s)}}return t}binarySearch(e,t,s,i){const a=t.binarySearch(e,i);if(a==null)return h.create(f.NA);let o;return s.getRowCount()===1?o=s.get(0,a)||ce.create():o=s.get(a,0)||ce.create(),o.isNull()?h.create(f.NA):o}equalSearch(e,t,s,i=!0){const a=s.pick(t.isEqual(e));let o;return i?o=a.getFirstCell():o=a.getLastCell(),o.isNull()?h.create(f.NA):o}fuzzySearch(e,t,s,i=!0){const a=s.pick(t.compare(e,O.EQUALS));let o;return i?o=a.getFirstCell():o=a.getLastCell(),o.isNull()?h.create(f.NA):o}orderSearch(e,t,s,i=Pe.MIN,a=!1){const o=t.orderSearch(e,i,a);if(o==null)return h.create(f.NA);const u=s.get(o.row,o.column)||ce.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,s,i=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):i===0?s.slice([o,o+1]):s.slice(void 0,[o,o+1])}equalSearchExpand(e,t,s,i=!0,a=0){const o=t.isEqual(e);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,s,i=!0,a=0){const o=t.compare(e,O.EQUALS);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,s,i=Pe.MIN,a=!1,o=0){const u=t.orderSearch(e,i,a);return u==null?h.create(f.NA):o===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const s=[];s[0]=[];for(let i=0;i<e.length;i++){let a=e[i];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;s[0].push(u)}),o!=null&&o.isError())return o}else s[0].push(a)}return or(s,1,s[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=na(e)),e.isString()){const t=Number(e.getValue());e=b.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const s=e.getForcedUnitId(),i=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=yt({unitId:s,sheetName:a,range:t});let l;return new RegExp(Bt).test(u)?l=new Nr(u):new RegExp(An).test(u)?l=new en(u):new RegExp(wn).test(u)?l=new tn(u):l=new jt(t,i,s),this._setReferenceDefault(e,l)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class as extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.std()}}class os extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.std(1)}}class us extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.var()}}class ls extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.var(1)}}var At=(r=>(r.BETADIST="BETADIST",r.BETAINV="BETAINV",r.BINOMDIST="BINOMDIST",r.CHIDIST="CHIDIST",r.CHIINV="CHIINV",r.CHITEST="CHITEST",r.CONFIDENCE="CONFIDENCE",r.COVAR="COVAR",r.CRITBINOM="CRITBINOM",r.EXPONDIST="EXPONDIST",r.FDIST="FDIST",r.FINV="FINV",r.FTEST="FTEST",r.GAMMADIST="GAMMADIST",r.GAMMAINV="GAMMAINV",r.HYPGEOMDIST="HYPGEOMDIST",r.LOGINV="LOGINV",r.LOGNORMDIST="LOGNORMDIST",r.MODE="MODE",r.NEGBINOMDIST="NEGBINOMDIST",r.NORMDIST="NORMDIST",r.NORMINV="NORMINV",r.NORMSDIST="NORMSDIST",r.NORMSINV="NORMSINV",r.PERCENTILE="PERCENTILE",r.PERCENTRANK="PERCENTRANK",r.POISSON="POISSON",r.QUARTILE="QUARTILE",r.RANK="RANK",r.STDEV="STDEV",r.STDEVP="STDEVP",r.TDIST="TDIST",r.TINV="TINV",r.TTEST="TTEST",r.VAR="VAR",r.VARP="VARP",r.WEIBULL="WEIBULL",r.ZTEST="ZTEST",r))(At||{});const cs=[[os,At.STDEV],[as,At.STDEVP],[ls,At.VAR],[us,At.VARP]],fs=[];var hs=(r=>(r.CUBEKPIMEMBER="CUBEKPIMEMBER",r.CUBEMEMBER="CUBEMEMBER",r.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",r.CUBERANKEDMEMBER="CUBERANKEDMEMBER",r.CUBESET="CUBESET",r.CUBESETCOUNT="CUBESETCOUNT",r.CUBEVALUE="CUBEVALUE",r))(hs||{});const ms=[];var ds=(r=>(r.DAVERAGE="DAVERAGE",r.DCOUNT="DCOUNT",r.DCOUNTA="DCOUNTA",r.DGET="DGET",r.DMAX="DMAX",r.DMIN="DMIN",r.DPRODUCT="DPRODUCT",r.DSTDEV="DSTDEV",r.DSTDEVP="DSTDEVP",r.DSUM="DSUM",r.DVAR="DVAR",r.DVARP="DVARP",r))(ds||{});const rn="yyyy/mm/dd;@";function nn(r){const n=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(r.getFullYear(),r.getMonth(),r.getDate());let s=(t-n.getTime())/(1e3*3600*24);return t>e.getTime()&&(s+=1),Math.floor(s)+1}function ur(r){const n=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(r)-1;return t>(e.getTime()-n.getTime())/(1e3*3600*24)&&(t-=1),new Date(n.getTime()+t*(1e3*3600*24))}function sn(r){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(r))return!1;const e=r.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const s=t.getFullYear(),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${s}-${i}-${a}`;return r.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}class sa extends I{calculate(n,e,t){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(t.isError())return t;const s=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Re(s,i,n),o=Re(s,i,e),u=Re(s,i,t);return a.map((l,c,m)=>{const d=o.get(c,m)||ce.create(),E=u.get(c,m)||ce.create();if(l.isError())return l;if(d.isError())return d;if(E.isError())return E;if(l.isString()||d.isString()||E.isString())return h.create(f.VALUE);let D=+l.getValue();const C=Math.floor(+d.getValue()),A=+E.getValue();if(D<0||D>9999)return h.create(f.NUM);D>=0&&D<1899&&(D+=1900);const P=new Date(D,C-1,A),x=nn(P);if(x<0)return h.create(f.NUM);const U=b.create(x);return U.setPattern(rn),U})}}class ia extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!sn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+n.getValue();if(a<0)return h.create(f.NUM);if(a===0)return b.create(0);e=ur(a)}const s=e.getDate();return b.create(s)}}class aa extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=Re(t,s,n),a=Re(t,s,e);return i.map((o,u,l)=>{const c=a.get(u,l)||ce.create();if(o.isError())return o;if(c.isError())return c;if(o.isString()||o.isBoolean()||c.isString()||c.isBoolean())return h.create(f.VALUE);const m=+o.getValue();if(m<0)return h.create(f.NUM);const d=Math.floor(+c.getValue()),E=ur(m),D=E.getUTCFullYear(),C=E.getUTCMonth()+d,A=E.getUTCDate(),P=new Date(Date.UTC(D,C,A)),x=nn(P),U=b.create(x);return U.setPattern(rn),U})}}var nt=(r=>(r.DATE="DATE",r.DATEDIF="DATEDIF",r.DATEVALUE="DATEVALUE",r.DAY="DAY",r.DAYS="DAYS",r.DAYS360="DAYS360",r.EDATE="EDATE",r.EOMONTH="EOMONTH",r.HOUR="HOUR",r.ISOWEEKNUM="ISOWEEKNUM",r.MINUTE="MINUTE",r.MONTH="MONTH",r.NETWORKDAYS="NETWORKDAYS",r.NETWORKDAYS_INTL="NETWORKDAYS.INTL",r.NOW="NOW",r.SECOND="SECOND",r.TIME="TIME",r.TIMEVALUE="TIMEVALUE",r.TODAY="TODAY",r.WEEKDAY="WEEKDAY",r.WEEKNUM="WEEKNUM",r.WORKDAY="WORKDAY",r.WORKDAY_INTL="WORKDAY.INTL",r.YEAR="YEAR",r.YEARFRAC="YEARFRAC",r))(nt||{});class oa extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!sn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+n.getValue();if(a<0)return h.create(f.NUM);if(a===0)return b.create(1);e=ur(a)}const s=e.getUTCMonth()+1;return b.create(s)}}class ua extends I{calculate(n){if(n)return h.create(f.NA);const e=nn(new Date),t=b.create(e);return t.setPattern(rn),t}}class la extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!sn(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+t;if(a<0)return h.create(f.NUM);if(a===0)return b.create(1900);e=ur(a)}const s=e.getUTCFullYear();return b.create(s)}}const gs=[[sa,nt.DATE],[ia,nt.DAY],[aa,nt.EDATE],[oa,nt.MONTH],[ua,nt.TODAY],[la,nt.YEAR]],ps=[];var Rs=(r=>(r.BESSELI="BESSELI",r.BESSELJ="BESSELJ",r.BESSELK="BESSELK",r.BESSELY="BESSELY",r.BIN2DEC="BIN2DEC",r.BIN2HEX="BIN2HEX",r.BIN2OCT="BIN2OCT",r.BITAND="BITAND",r.BITLSHIFT="BITLSHIFT",r.BITOR="BITOR",r.BITRSHIFT="BITRSHIFT",r.BITXOR="BITXOR",r.COMPLEX="COMPLEX",r.CONVERT="CONVERT",r.DEC2BIN="DEC2BIN",r.DEC2HEX="DEC2HEX",r.DEC2OCT="DEC2OCT",r.DELTA="DELTA",r.ERF="ERF",r.ERF_PRECISE="ERF.PRECISE",r.ERFC="ERFC",r.ERFC_PRECISE="ERFC.PRECISE",r.GESTEP="GESTEP",r.HEX2BIN="HEX2BIN",r.HEX2DEC="HEX2DEC",r.HEX2OCT="HEX2OCT",r.IMABS="IMABS",r.IMAGINARY="IMAGINARY",r.IMARGUMENT="IMARGUMENT",r.IMCONJUGATE="IMCONJUGATE",r.IMCOS="IMCOS",r.IMCOSH="IMCOSH",r.IMCOT="IMCOT",r.IMCSC="IMCSC",r.IMCSCH="IMCSCH",r.IMDIV="IMDIV",r.IMEXP="IMEXP",r.IMLN="IMLN",r.IMLOG10="IMLOG10",r.IMLOG2="IMLOG2",r.IMPOWER="IMPOWER",r.IMPRODUCT="IMPRODUCT",r.IMREAL="IMREAL",r.IMSEC="IMSEC",r.IMSECH="IMSECH",r.IMSIN="IMSIN",r.IMSINH="IMSINH",r.IMSQRT="IMSQRT",r.IMSUB="IMSUB",r.IMSUM="IMSUM",r.IMTAN="IMTAN",r.OCT2BIN="OCT2BIN",r.OCT2DEC="OCT2DEC",r.OCT2HEX="OCT2HEX",r))(Rs||{});const _s=[];var Es=(r=>(r.ACCRINT="ACCRINT",r.ACCRINTM="ACCRINTM",r.AMORDEGRC="AMORDEGRC",r.AMORLINC="AMORLINC",r.COUPDAYBS="COUPDAYBS",r.COUPDAYS="COUPDAYS",r.COUPDAYSNC="COUPDAYSNC",r.COUPNCD="COUPNCD",r.COUPNUM="COUPNUM",r.COUPPCD="COUPPCD",r.CUMIPMT="CUMIPMT",r.CUMPRINC="CUMPRINC",r.DB="DB",r.DDB="DDB",r.DISC="DISC",r.DOLLARDE="DOLLARDE",r.DOLLARFR="DOLLARFR",r.DURATION="DURATION",r.EFFECT="EFFECT",r.FV="FV",r.FVSCHEDULE="FVSCHEDULE",r.INTRATE="INTRATE",r.IPMT="IPMT",r.IRR="IRR",r.ISPMT="ISPMT",r.MDURATION="MDURATION",r.MIRR="MIRR",r.NOMINAL="NOMINAL",r.NPER="NPER",r.NPV="NPV",r.ODDFPRICE="ODDFPRICE",r.ODDFYIELD="ODDFYIELD",r.ODDLPRICE="ODDLPRICE",r.ODDLYIELD="ODDLYIELD",r.PDURATION="PDURATION",r.PMT="PMT",r.PPMT="PPMT",r.PRICE="PRICE",r.PRICEDISC="PRICEDISC",r.PRICEMAT="PRICEMAT",r.PV="PV",r.RATE="RATE",r.RECEIVED="RECEIVED",r.RRI="RRI",r.SLN="SLN",r.SYD="SYD",r.TBILLEQ="TBILLEQ",r.TBILLPRICE="TBILLPRICE",r.TBILLYIELD="TBILLYIELD",r.VDB="VDB",r.XIRR="XIRR",r.XNPV="XNPV",r.YIELD="YIELD",r.YIELDDISC="YIELDDISC",r.YIELDMAT="YIELDMAT",r))(Es||{}),Ue=(r=>(r.CELL="CELL",r.ERROR_TYPE="ERROR.TYPE",r.INFO="INFO",r.ISBLANK="ISBLANK",r.ISERR="ISERR",r.ISERROR="ISERROR",r.ISEVEN="ISEVEN",r.ISFORMULA="ISFORMULA",r.ISLOGICAL="ISLOGICAL",r.ISNA="ISNA",r.ISNONTEXT="ISNONTEXT",r.ISNUMBER="ISNUMBER",r.ISODD="ISODD",r.ISOMITTED="ISOMITTED",r.ISREF="ISREF",r.ISTEXT="ISTEXT",r.N="N",r.NA="NA",r.SHEET="SHEET",r.SHEETS="SHEETS",r.TYPE="TYPE",r))(Ue||{});class ca extends I{calculate(n){return n==null?h.create(f.NA):n.isNull()?H.create(!0):n.isArray()?n.mapValue(e=>e.isNull()?H.create(!0):H.create(!1)):H.create(!1)}}class fa extends I{calculate(n){return n==null?h.create(f.NA):n.getValue()===f.NA?H.create(!1):n.isError()?H.create(!0):n.isArray()?n.mapValue(e=>e.getValue()===f.NA?H.create(!1):e.isError()?H.create(!0):H.create(!1)):H.create(!1)}}class ha extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?H.create(!0):n.isArray()?n.mapValue(e=>e.isError()?H.create(!0):H.create(!1)):H.create(!1)}}class ma extends I{calculate(n){return n==null?h.create(f.NA):n.isBoolean()?H.create(!0):n.isArray()?n.mapValue(e=>e.isBoolean()?H.create(!0):H.create(!1)):H.create(!1)}}class da extends I{calculate(n){return n==null?h.create(f.NA):n.getValue()===f.NA?H.create(!0):n.isArray()?n.mapValue(e=>e.getValue()===f.NA?H.create(!0):H.create(!1)):H.create(!1)}}class ga extends I{calculate(n){return n==null?h.create(f.NA):!n.isArray()&&!n.isString()?H.create(!0):n.isArray()?n.mapValue(e=>e.isString()?H.create(!1):H.create(!0)):H.create(!1)}}class pa extends I{calculate(n){return n==null?h.create(f.NA):n.isNumber()?H.create(!0):n.isArray()?n.mapValue(e=>e.isNumber()?H.create(!0):H.create(!1)):H.create(!1)}}class Ra extends I{constructor(){super(...arguments);S(this,"needsReferenceObject",!0)}calculate(e){return e==null?h.create(f.NA):e.isReferenceObject()?H.create(!0):H.create(!1)}}class _a extends I{calculate(n){return n==null?h.create(f.NA):n.isString()?H.create(!0):n.isArray()?n.mapValue(e=>e.isString()?H.create(!0):H.create(!1)):H.create(!1)}}const Cs=[[ca,Ue.ISBLANK],[fa,Ue.ISERR],[ha,Ue.ISERROR],[ma,Ue.ISLOGICAL],[da,Ue.ISNA],[ga,Ue.ISNONTEXT],[pa,Ue.ISNUMBER],[Ra,Ue.ISREF],[_a,Ue.ISTEXT]];class Ea extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=!0,t=!0,s=null;for(const i of n){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e&&!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e&&!!i.getValue(),t=!1)}return t?h.create(f.VALUE):H.create(e)}}var st=(r=>(r.AND="AND",r.BYCOL="BYCOL",r.BYROW="BYROW",r.FALSE="FALSE",r.IF="IF",r.IFERROR="IFERROR",r.IFNA="IFNA",r.IFS="IFS",r.LAMBDA="LAMBDA",r.LET="LET",r.MAKEARRAY="MAKEARRAY",r.MAP="MAP",r.NOT="NOT",r.OR="OR",r.REDUCE="REDUCE",r.SCAN="SCAN",r.SWITCH="SWITCH",r.TRUE="TRUE",r.XOR="XOR",r))(st||{});class Ca extends I{calculate(n,e,t=H.create(!1)){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(n=this._getSingleValueObject(n),!n.isArray())return n.getValue()?e:t;const s=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Re(s,i,n),o=Re(s,i,e,h.create(f.NA)),u=Re(s,i,t,h.create(f.NA));return a.map((l,c,m)=>{if(l.isNull())return h.create(f.NA);{const d=o.get(c,m)||ce.create(),E=u.get(c,m)||ce.create();return this._calculateSingleCell(l,d,E)}})}_getSingleValueObject(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?n.getFirstCell():n}_calculateSingleCell(n,e,t){return n.isNull()?h.create(f.NA):n.getValue()?e.isNull()?h.create(f.NA):e:t.isNull()?h.create(f.NA):t}}class Da extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(!n.isArray())return n.isError()?e:n;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=Re(t,s,n),a=Re(t,s,e);return i.iterator((o,u,l)=>{o!=null&&o.isError()&&i.set(u,l,a.get(u,l))}),i}}class ya extends I{calculate(...n){return h.create(f.VALUE)}}class ba extends I{calculate(...n){if(n.length!==3)return h.create(f.VALUE);const e=this.getIndexNumValue(n[0]);if(typeof e!="number")return e;const t=this.getIndexNumValue(n[1]);if(typeof t!="number")return t;if(!(n[2].isValueObject()&&n[2].isLambda()))return h.create(f.VALUE);const s=n[2],i=[];for(let a=0;a<e;a++){i[a]==null&&(i[a]=[]);for(let o=0;o<t;o++){const u=s.execute(b.create(a+1),b.create(o+1));i[a][o]=u}}return new ea(i)}isAsync(){return!0}}class Sa extends I{calculate(...n){if(n.length===0)return new h(f.NA);let e=!1,t=!0,s=null;for(const i of n){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e||!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e||!!i.getValue(),t=!1)}return t?new h(f.VALUE):new H(e)}}const Ds=[[Ea,st.AND],[Ca,st.IF],[ya,st.LAMBDA],[ba,st.MAKEARRAY],[Sa,st.OR],[Da,st.IFERROR]];class La extends I{calculate(n,e,t,s,i){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;const a=Number(n.getValue())-1,o=Number(e.getValue())-1;if(Number.isNaN(a)||Number.isNaN(o))return h.create(f.VALUE);const u=t?Aa(t.getValue()):_.AbsoluteRefType.ALL,l=this.getZeroOrOneByOneDefault(s),c=i?`${i.getValue()}`:"",m=qt(c)?`'${c}'`:c,d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:u,endAbsoluteRefType:u},E=s&&!l?ta(d):lt(d);return Ee.create(m!==""?`${m}!${E}`:E)}}function Aa(r){switch(r){case 1:return _.AbsoluteRefType.ALL;case 2:return _.AbsoluteRefType.ROW;case 3:return _.AbsoluteRefType.COLUMN;case 4:return _.AbsoluteRefType.NONE;default:return _.AbsoluteRefType.ALL}}class wa extends I{calculate(n){if(n==null)return b.create(this.column+1);if(n.isError())return n;if(!n.isArray())return h.create(f.NA);const e=n.getCurrentColumn(),t=n.getColumnCount(),s=[];for(let a=0;a<t;a++)s.push(b.create(e+a+1));const i={calculateValueList:[s],rowCount:1,columnCount:t,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(i)}}class Pa extends I{calculate(n){if(n==null)return h.create(f.NA);if(n.isError())return n;if(n.isString()||n.isNumber()||n.isBoolean())return b.create(1);if(!n.isArray())return h.create(f.NA);const e=n.getColumnCount();return b.create(e)}}var Se=(r=>(r.ADDRESS="ADDRESS",r.AREAS="AREAS",r.CHOOSE="CHOOSE",r.CHOOSECOLS="CHOOSECOLS",r.CHOOSEROWS="CHOOSEROWS",r.COLUMN="COLUMN",r.COLUMNS="COLUMNS",r.DROP="DROP",r.EXPAND="EXPAND",r.FILTER="FILTER",r.FORMULATEXT="FORMULATEXT",r.GETPIVOTDATA="GETPIVOTDATA",r.HLOOKUP="HLOOKUP",r.HSTACK="HSTACK",r.HYPERLINK="HYPERLINK",r.IMAGE="IMAGE",r.INDEX="INDEX",r.INDIRECT="INDIRECT",r.LOOKUP="LOOKUP",r.MATCH="MATCH",r.OFFSET="OFFSET",r.ROW="ROW",r.ROWS="ROWS",r.RTD="RTD",r.SORT="SORT",r.SORTBY="SORTBY",r.TAKE="TAKE",r.TOCOL="TOCOL",r.TOROW="TOROW",r.TRANSPOSE="TRANSPOSE",r.UNIQUE="UNIQUE",r.VLOOKUP="VLOOKUP",r.VSTACK="VSTACK",r.WRAPCOLS="WRAPCOLS",r.WRAPROWS="WRAPROWS",r.XLOOKUP="XLOOKUP",r.XMATCH="XMATCH",r))(Se||{});class Va extends I{calculate(n,e,t,s){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray()||t.isError()||s!=null&&s.isError())return h.create(f.NA);const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);const a=this.getIndexNumValue(t);if(a instanceof h)return a;const o=e.slice([0,1]),u=e.slice([a-1,a]);return o==null||u==null?h.create(f.REF):n.isArray()?n.map(l=>this._handleSingleObject(l,o,u,i)):this._handleSingleObject(n,o,u,i)}_handleSingleObject(n,e,t,s){return s===0?this.equalSearch(n,e,t):this.binarySearch(n,e,t)}}class xa extends I{calculate(n,e){if(n==null)return h.create(f.NA);if(n.isError())return n;let t=this.getZeroOrOneByOneDefault(e);if(t==null&&(t=1),n.isArray()){const c=n;if(c.getRowCount()===1&&c.getColumnCount()===1)n=c.getFirstCell();else return c.map(()=>h.create(f.VALUE))}if(!n.isString())return h.create(f.REF);const s=n.getValue();if(t===0){const c=ss(s),{range:m,sheetName:d,unitId:E}=c,D=new jt(m);return D.setForcedUnitIdDirect(E),D.setForcedSheetName(d),this._setDefault(D)}if(new RegExp(Bt).test(s))return this._setDefault(new Nr(s));if(new RegExp(Sn).test(s))return this._setDefault(new en(s));if(new RegExp(Ln).test(s))return this._setDefault(new tn(s));const i=bt(s),{range:a,sheetName:o,unitId:u}=i,l=new jt(a);return l.setForcedUnitIdDirect(u),l.setForcedSheetName(o),this._setDefault(l)}_setDefault(n){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(n.setDefaultUnitId(this.unitId),n.setDefaultSheetId(this.subUnitId),n)}}class va extends I{constructor(){super(...arguments);S(this,"needsExpandParams",!0)}calculate(e,t,s){return e==null||t==null?h.create(f.NA):e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?s!=null&&s.isError()?s:t.getColumnCount()===1||t.getRowCount()===1?s!=null&&!s.isArray()?h.create(f.REF):this._handleVector(e,t,s):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,s){if(s==null)s=t;else if(s.getRowCount()!==t.getRowCount()||s.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(i=>this.binarySearch(i,t,s)):this.binarySearch(e,t,s)}_handleArray(e,t){const s=t.getRowCount(),i=t.getColumnCount();let a,o;return i>s?(a=t.slice([0,1]),o=t.slice([s-1,s])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[i-1,i])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class Ma extends I{calculate(n,e,t){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const s=e.getRowCount(),i=e.getColumnCount();if(s!==1&&i!==1||t!=null&&t.isError())return h.create(f.NA);const a=this.getMatchTypeValue(t);return a==null?h.create(f.VALUE):n.isArray()?n.map(o=>this._handleSingleObject(o,e,a)):this._handleSingleObject(n,e,a)}_handleSingleObject(n,e,t){const s=this._getSearchModeValue(t),i=e.orderSearch(n,s);if(i==null)return h.create(f.NA);if(i instanceof h)return i;const a=e.getRowCount()===1?i.column+1:i.row+1;return b.create(a)}_getSearchModeValue(n){switch(n){case 1:return Pe.MIN;case 0:return Pe.NORMAL;case-1:return Pe.MAX}}}class Fa extends I{constructor(){super(...arguments);S(this,"needsReferenceObject",!0)}calculate(e,t,s,i,a){var z,te;const o=e;if(o==null||t==null||s==null)return h.create(f.NA);if(o.isError())return o;if(t.isError())return t;if(s.isError())return s;if(i!=null&&i.isError())return i;if(a!=null&&a.isError())return a;if(!o.isReferenceObject())return h.create(f.VALUE);const{startRow:u,endRow:l,startColumn:c,endColumn:m}=o.getRangeData();t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject());const d=this.getIndexNumValue(t),E=this.getIndexNumValue(s);if(typeof d!="number"||typeof E!="number")return h.create(f.VALUE);const D=u+d,C=c+E;if(D<0||C<0)return h.create(f.REF);i!=null&&i.isReferenceObject()&&(i=i.toArrayValueObject()),a!=null&&a.isReferenceObject()&&(a=a.toArrayValueObject());const A=(z=i&&this.getIndexNumValue(i))!=null?z:1,P=(te=a&&this.getIndexNumValue(a))!=null?te:1;if(typeof A!="number"||typeof P!="number")return h.create(f.VALUE);if(A===0||P===0)return h.create(f.REF);const x=A>0?D+A-1:D+A+1,U=P>0?C+P-1:C+P+1;if(x<0||U<0)return h.create(f.REF);const $=D<x?D:x,se=C<U?C:U,he=D>x?D:x,me=C>U?C:U,J={startRow:$,startColumn:se,endRow:he,endColumn:me};return this.createReferenceObject(o,J)}}class Ba extends I{calculate(n){if(n==null)return b.create(this.row+1);if(n.isError())return n;if(!n.isArray())return h.create(f.NA);const e=n.getCurrentRow(),t=n.getRowCount(),s=[];for(let a=0;a<t;a++)s.push([b.create(e+a+1)]);const i={calculateValueList:s,rowCount:t,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(i)}}class Oa extends I{calculate(n){if(n==null)return h.create(f.NA);if(n.isError())return n;if(n.isString()||n.isNumber()||n.isBoolean())return b.create(1);if(!n.isArray())return h.create(f.NA);const e=n.getRowCount();return b.create(e)}}class Ua extends I{calculate(n,e,t,s){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);if(t.isError()||s!=null&&s.isError())return h.create(f.NA);const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);const a=this.getIndexNumValue(t);if(a instanceof h)return a;const o=e.slice(void 0,[0,1]),u=e.slice(void 0,[a-1,a]);return o==null||u==null?h.create(f.VALUE):n.isArray()?n.map(l=>this._handleSingleObject(l,o,u,i)):this._handleSingleObject(n,o,u,i)}_handleSingleObject(n,e,t,s){return s===0?this.equalSearch(n,e,t):this.binarySearch(n,e,t)}}class ka extends I{calculate(n,e,t,s,i,a){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const o=e.getRowCount(),u=e.getColumnCount();if(o!==1&&u!==1)return h.create(f.VALUE);if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const l=t.getRowCount(),c=t.getColumnCount();if(o!==l&&u!==c)return h.create(f.VALUE);if(s!=null&&s.isError()||i!=null&&i.isError()||a!=null&&a.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const m=this.getIndexNumValue(i||b.create(0));if(m instanceof h)return m;const d=this.getIndexNumValue(a||b.create(1));if(d instanceof h)return d;if(n.isArray()){let C;return o===1?C=t.slice([0,1]):C=t.slice(void 0,[0,1]),C==null?h.create(f.NA):n.map(A=>{const P=this._handleSingleObject(A,e,C,m,d);return P.isError()?s:P})}if(u===c&&o===l){const C=this._handleSingleObject(n,e,t,m,d);return C.isError()?s:C}let E=0;u===c&&(E=1);const D=this._handleExpandObject(n,e,t,m,d,E);return D==null?h.create(f.NA):D}_handleExpandObject(n,e,t,s,i,a=0){return(i===2||i===-2)&&s!==2?this.binarySearchExpand(n,e,t,a,this._getSearchModeValue(i)):s===2?this.fuzzySearchExpand(n,e,t,i!==-1,a):s===-1||s===1?this.orderSearchExpand(n,e,t,s===1?Pe.MAX:Pe.MIN,i===-1,a):this.equalSearchExpand(n,e,t,i!==-1,a)}_handleSingleObject(n,e,t,s,i){return(i===2||i===-2)&&s!==2?this.binarySearch(n,e,t,this._getSearchModeValue(i)):s===2?this.fuzzySearch(n,e,t,i!==-1):s===-1||s===1?this.orderSearch(n,e,t,s===1?Pe.MAX:Pe.MIN,i===-1):this.equalSearch(n,e,t,i!==-1)}_getSearchModeValue(n){return n===-2?qe.MAX:qe.MIN}}class Ta extends I{calculate(n,e,t,s){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const i=e.getRowCount(),a=e.getColumnCount();if(i!==1&&a!==1)return h.create(f.VALUE);if(t!=null&&t.isError()||s!=null&&s.isError())return h.create(f.NA);const o=this.getIndexNumValue(t||b.create(0));if(o instanceof h)return o;const u=this.getIndexNumValue(s||b.create(1));return u instanceof h?u:n.isArray()?n.map(l=>this._handleSingleObject(l,e,o,u)):this._handleSingleObject(n,e,o,u)}_handleSingleObject(n,e,t,s){let i;if((s===2||s===-2)&&t!==2){const a=this._getSearchModeValue(s);i=e.binarySearch(n,a)}else if(t===2){const a=e.compare(n,O.EQUALS);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}else if(t===-1||t===1){const a=e.orderSearch(n,t===1?Pe.MAX:Pe.MIN,s===-1);if(a==null)return h.create(f.NA);if(a instanceof h)return a;i=e.getRowCount()===1?a.column:a.row}else{const a=e.isEqual(n);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}return i==null?h.create(f.NA):b.create(i+1)}_getSearchModeValue(n){return n===-2?qe.MAX:qe.MIN}}class ja extends I{constructor(){super(...arguments);S(this,"needsReferenceObject",!0)}calculate(e,t,s,i){const a=e;if(a==null)return h.create(f.NA);if(a.isError())return a;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;if(!a.isRange())return h.create(f.REF);const{startRow:o,endRow:u,startColumn:l,endColumn:c}=a.getRangeData(),m=u-o+1,d=c-l+1;m===1&&d>1&&s==null?(s=t!=null?t:b.create(0),t=b.create(0)):(t=t!=null?t:b.create(0),s=s!=null?s:b.create(0)),i=i!=null?i:b.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());const E=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1),D=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(E===1&&D===1)return this._calculateSingleCell(a,t,s,i);{const C=Re(E,D,t,h.create(f.NA)),A=Re(E,D,s,h.create(f.NA)),P=Re(E,D,i,h.create(f.NA));return C.map((x,U,$)=>{const se=A.get(U,$)||ce.create(),he=P.get(U,$)||ce.create(),me=this._calculateSingleCell(a,x,se,he);return me.isReferenceObject()?me.toArrayValueObject().getFirstCell():me})}}_calculateSingleCell(e,t,s,i){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(s.isError())return s;const o=this._getNumberValue(s);if(o===void 0||o<0)return h.create(f.VALUE);if(i.isError())return i;const u=this._getAreaNumberValue(i);return u===void 0||u<1?h.create(f.VALUE):this._getReferenceObject(e,a,o,u)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,s,i){const{startRow:a,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,m=0,d=0,E=0;if(t===0?(c=a,m=o):c=m=a+t-1,s===0?(d=u,E=l):d=E=u+s-1,c>o||d>l)return h.create(f.REF);const D={startRow:c,startColumn:d,endRow:m,endColumn:E};return this.createReferenceObject(e,D)}}const ys=[[La,Se.ADDRESS],[wa,Se.COLUMN],[Pa,Se.COLUMNS],[ja,Se.INDEX],[xa,Se.INDIRECT],[Fa,Se.OFFSET],[Ba,Se.ROW],[Oa,Se.ROWS],[Ua,Se.VLOOKUP],[va,Se.LOOKUP],[Ma,Se.MATCH],[Va,Se.HLOOKUP],[ka,Se.XLOOKUP],[Ta,Se.XMATCH]];class Ia extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?h.create(f.VALUE):n.abs())}}class $a extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?new h(f.VALUE):n.acos())}}class Ya extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?h.create(f.VALUE):n.acosh())}}class za extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.isArray()?n.map(e=>e.isError()?e:bs(e)):bs(n))}}function bs(r){let n=r.getValue();if(r.isBoolean()&&(n=n?1:0),!Number.isFinite(n))return h.create(f.VALUE);const e=Math.atan(1/Number(n));return Number.isNaN(e)?h.create(f.VALUE):b.create(e)}var Ve=(r=>(r.ABS="ABS",r.ACOS="ACOS",r.ACOSH="ACOSH",r.ACOT="ACOT",r.ACOTH="ACOTH",r.AGGREGATE="AGGREGATE",r.ARABIC="ARABIC",r.ASIN="ASIN",r.ASINH="ASINH",r.ATAN="ATAN",r.ATAN2="ATAN2",r.ATANH="ATANH",r.BASE="BASE",r.CEILING="CEILING",r.CEILING_MATH="CEILING.MATH",r.CEILING_PRECISE="CEILING.PRECISE",r.COMBIN="COMBIN",r.COMBINA="COMBINA",r.COS="COS",r.COSH="COSH",r.COT="COT",r.COTH="COTH",r.CSC="CSC",r.CSCH="CSCH",r.DECIMAL="DECIMAL",r.DEGREES="DEGREES",r.EVEN="EVEN",r.EXP="EXP",r.FACT="FACT",r.FACTDOUBLE="FACTDOUBLE",r.FLOOR="FLOOR",r.FLOOR_MATH="FLOOR.MATH",r.FLOOR_PRECISE="FLOOR.PRECISE",r.GCD="GCD",r.INT="INT",r.ISO_CEILING="ISO.CEILING",r.LCM="LCM",r.LET="LET",r.LN="LN",r.LOG="LOG",r.LOG10="LOG10",r.MDETERM="MDETERM",r.MINVERSE="MINVERSE",r.MMULT="MMULT",r.MOD="MOD",r.MROUND="MROUND",r.MULTINOMIAL="MULTINOMIAL",r.MUNIT="MUNIT",r.ODD="ODD",r.PI="PI",r.POWER="POWER",r.PRODUCT="PRODUCT",r.QUOTIENT="QUOTIENT",r.RADIANS="RADIANS",r.RAND="RAND",r.RANDARRAY="RANDARRAY",r.RANDBETWEEN="RANDBETWEEN",r.ROMAN="ROMAN",r.ROUND="ROUND",r.ROUNDDOWN="ROUNDDOWN",r.ROUNDUP="ROUNDUP",r.SEC="SEC",r.SECH="SECH",r.SERIESSUM="SERIESSUM",r.SEQUENCE="SEQUENCE",r.SIGN="SIGN",r.SIN="SIN",r.SINH="SINH",r.SQRT="SQRT",r.SQRTPI="SQRTPI",r.SUBTOTAL="SUBTOTAL",r.SUM="SUM",r.SUMIF="SUMIF",r.SUMIFS="SUMIFS",r.SUMPRODUCT="SUMPRODUCT",r.SUMSQ="SUMSQ",r.SUMX2MY2="SUMX2MY2",r.SUMX2PY2="SUMX2PY2",r.SUMXMY2="SUMXMY2",r.TAN="TAN",r.TANH="TANH",r.TRUNC="TRUNC",r))(Ve||{});class Qa extends I{calculate(n,e){return n==null||e==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:n.mod(e)))}}class Ha extends I{calculate(n,e){return n==null||e==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:n.pow(e)))}}class Wa extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(1);for(let t=0;t<n.length;t++){let s=n[t];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(e=e.multiply(s),e.isError())return e}}return e}_multiplyArray(n){let e=b.create(1);return n.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.multiply(t)}),e}}class Ga extends I{constructor(){super(...arguments);S(this,"needsReferenceObject",!0)}calculate(e,...t){if(e==null)return h.create(f.NA);if(e.isError())return e;if(t.length===0)return h.create(f.NA);if(e.isReferenceObject()){const s=[];return e.iterator((i,a,o)=>{s[a]==null&&(s[a]=[]),s[a][o]=this._handleSingleObject(i,...t)}),or(s,s.length,s[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const s=this._getIndexNumValue(e);let i;if(s instanceof h)return s;switch(s){case 1:i=this._average(!1,...t);break;case 2:i=this._count(!1,...t);break;case 3:i=this._counta(!1,...t);break;case 4:i=this._max(!1,...t);break;case 5:i=this._min(!1,...t);break;case 6:i=this._product(!1,...t);break;case 7:i=this._stdev(!1,...t);break;case 8:i=this._stdevp(!1,...t);break;case 9:i=this._sum(!1,...t);break;case 10:i=this._var(!1,...t);break;case 11:i=this._varp(!1,...t);break;case 101:i=this._average(!0,...t);break;case 102:i=this._count(!0,...t);break;case 103:i=this._counta(!0,...t);break;case 104:i=this._max(!0,...t);break;case 105:i=this._min(!0,...t);break;case 106:i=this._product(!0,...t);break;case 107:i=this._stdev(!0,...t);break;case 108:i=this._stdevp(!0,...t);break;case 109:i=this._sum(!0,...t);break;case 110:i=this._var(!0,...t);break;case 111:i=this._varp(!0,...t);break;default:i=h.create(f.VALUE)}return i}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const s=Math.floor(t);return s>=1&&s<=11||s>=101&&s<=111?s:h.create(f.VALUE)}_average(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.mean()}_count(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.count()}_counta(e,...t){let s=b.create(0);for(let i=0;i<t.length;i++){const a=t[i];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||u==null||u.isNull())return!0;s=s.plusBy(1)})}return s}_max(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?b.create(0):s.max()}_min(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?b.create(0):s.min()}_product(e,...t){const s=this._flattenRefArray(e,...t);if(s.isError())return s;if(this._isBlankArrayObject(s))return b.create(0);let i=b.create(1);return s.iterator(a=>{i=i.multiply(a)}),i}_stdev(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std(1)}_stdevp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std()}_sum(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.sum()}_var(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var(1)}_varp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var()}_flattenRefArray(e,...t){const s=[];s[0]=[];for(let i=0;i<t.length;i++){const a=t[i];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;s[0].push(l)}),u!=null&&u.isError())return u}return or(s,1,s[0].length)}_isRowHidden(e,t){const s=e[t];return s?s.hd===_.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class Xa extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(0);for(let t=0;t<n.length;t++){let s=n[t];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),e=e.plus(s),e.isError())return e}return e}}function Ka(r){const n=[O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN_OR_EQUAL,O.GREATER_THAN,O.LESS_THAN_OR_EQUAL,O.LESS_THAN];for(const e of n)if(r.startsWith(e)){const t=r.substring(e.length);return[e,rt.create(t)]}return[O.EQUALS,rt.create(r)]}function Ss(r,n,e){if(!e)if(n.isString()){const t=`${n.getValue()}`,[s,i]=Ka(t);e=s,n=i}else e=O.EQUALS;return r.compare(n,e)}function qa(r,n){const e=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),t=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),s=Re(e,t,r),i=Re(e,t,n);return s.mapValue((a,o,u)=>{const l=i.get(o,u);return a!=null&&a.isError()?a:l!=null&&l.isError()?l:a!=null&&a.isBoolean()&&(l!=null&&l.isBoolean())?sr(a.getValue()&&l.getValue()):H.create(!1)})}class Za extends I{calculate(n,e,t){return n==null||e==null||n.isError()||e.isError()||t!=null&&t.isError()?h.create(f.NA):!n.isArray()||t&&!t.isArray()?h.create(f.VALUE):e.isArray()?e.map(s=>this._handleSingleObject(n,s,t)):this._handleSingleObject(n,e,t)}_handleSingleObject(n,e,t){const s=Ss(n,e),i=t?t.slice([0,n.getRowCount()],[0,n.getColumnCount()]):n;return i?i.pick(s).sum():h.create(f.VALUE)}}class Ja extends I{calculate(n,...e){if(n==null||e.length<2||n.isError())return h.create(f.NA);if(!n.isArray()||e.length<2||e.length%2!==0||e.some((c,m)=>m%2===0&&!c.isArray()))return h.create(f.VALUE);const t=n.getRowCount(),s=n.getColumnCount();let i=0,a=0;e.forEach((c,m)=>{if(m%2===1)if(c.isArray()){const d=c;i=Math.max(i,d.getRowCount()),a=Math.max(a,d.getColumnCount())}else i=Math.max(i,1),a=Math.max(a,1)});const o=[];for(let c=0;c<e.length;c++){if(c%2===1)continue;const m=e[c],d=m.getRowCount(),E=m.getColumnCount();if(d!==t||E!==s)return Re(i,a,h.create(f.NA));const D=e[c+1];Re(i,a,D,h.create(f.NA)).iterator((A,P,x)=>{if(!A)return;const U=Ss(m,A);if(o[P]===void 0&&(o[P]=[]),o[P][x]===void 0){o[P][x]=U;return}o[P][x]=qa(o[P][x],U)})}const u=o.map(c=>c.map(m=>n.pick(m).sum())),l={calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(l)}}const Ls=[[Ia,Ve.ABS],[$a,Ve.ACOS],[Ya,Ve.ACOSH],[za,Ve.ACOT],[Qa,Ve.MOD],[Ga,Ve.SUBTOTAL],[Xa,Ve.SUM],[Za,Ve.SUMIF],[Ja,Ve.SUMIFS],[Ha,Ve.POWER],[Wa,Ve.PRODUCT]];class Na extends I{constructor(){super(...arguments);S(this,"_compareType",O.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class an extends Ze{constructor(e){super("");S(this,"_values",[]);this._values=e}static create(e){return new an(e)}isCube(){return!0}sum(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=b.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isLessThan(s)&&(e=s)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isGreaterThan(s)&&(e=s)}),e}count(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=b.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class eo extends I{calculate(...n){if(n.length===0)return h.create(f.VALUE);const e=[];for(let t=0;t<n.length;t++){const s=n[t];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);e.push(s)}return an.create(e)}}class to extends I{calculate(n,e){return n.isError()?n:e.isError()?e:!e.isArray()&&e.getValue()===0?h.create(f.DIV_BY_ZERO):n.divided(e)}}var Le=(r=>(r.COMPARE="COMPARE",r.DIVIDED="DIVIDED",r.MINUS="MINUS",r.MULTIPLY="MULTIPLY",r.PLUS="PLUS",r.UNION="UNION",r.CUBE="CUBE",r))(Le||{});class ro extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.minus(e)}}class no extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.multiply(e)}}class so extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.plus(e)}}const As=[[Na,Le.COMPARE],[to,Le.DIVIDED],[ro,Le.MINUS],[no,Le.MULTIPLY],[so,Le.PLUS],[eo,Le.CUBE]];class io extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(0),t=b.create(0);for(let s=0;s<n.length;s++){let i=n[s];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(e=e.plus(i.sum()),e.isError())return e;t=t.plus(i.count())}else i.isNull()||(e=e.plus(i),t=t.plus(b.create(1)))}return e.divided(t)}}class ao extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(0);for(let t=0;t<n.length;t++){const s=n[t];s.isError()||(s.isArray()?e=e.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(e=e.plus(b.create(1))):s.isNull()||(e=e.plus(b.create(1))))}return e}}class oo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(0);for(let t=0;t<n.length;t++){let s=n[t];if(s.isError()){e=e.plus(b.create(1));continue}s.isArray()?(s=s.countA(),e=e.plus(s)):s.isNull()||(e=e.plus(b.create(1)))}return e}}var Ae=(r=>(r.AVEDEV="AVEDEV",r.AVERAGE="AVERAGE",r.AVERAGEA="AVERAGEA",r.AVERAGEIF="AVERAGEIF",r.AVERAGEIFS="AVERAGEIFS",r.BETA_DIST="BETA.DIST",r.BETA_INV="BETA.INV",r.BINOM_DIST="BINOM.DIST",r.BINOM_DIST_RANGE="BINOM.DIST.RANGE",r.BINOM_INV="BINOM.INV",r.CHISQ_DIST="CHISQ.DIST",r.CHISQ_DIST_RT="CHISQ.DIST.RT",r.CHISQ_INV="CHISQ.INV",r.CHISQ_INV_RT="CHISQ.INV.RT",r.CHISQ_TEST="CHISQ.TEST",r.CONFIDENCE_NORM="CONFIDENCE.NORM",r.CONFIDENCE_T="CONFIDENCE.T",r.CORREL="CORREL",r.COUNT="COUNT",r.COUNTA="COUNTA",r.COUNTBLANK="COUNTBLANK",r.COUNTIF="COUNTIF",r.COUNTIFS="COUNTIFS",r.COVARIANCE_P="COVARIANCE.P",r.COVARIANCE_S="COVARIANCE.S",r.DEVSQ="DEVSQ",r.EXPON_DIST="EXPON.DIST",r.F_DIST="F.DIST",r.F_DIST_RT="F.DIST.RT",r.F_INV="F.INV",r.F_INV_RT="F.INV.RT",r.F_TEST="F.TEST",r.FISHER="FISHER",r.FISHERINV="FISHERINV",r.FORECAST="FORECAST",r.FORECAST_ETS="FORECAST.ETS",r.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",r.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",r.FORECAST_ETS_STAT="FORECAST.ETS.STAT",r.FORECAST_LINEAR="FORECAST.LINEAR",r.FREQUENCY="FREQUENCY",r.GAMMA="GAMMA",r.GAMMA_DIST="GAMMA.DIST",r.GAMMA_INV="GAMMA.INV",r.GAMMALN="GAMMALN",r.GAMMALN_PRECISE="GAMMALN.PRECISE",r.GAUSS="GAUSS",r.GEOMEAN="GEOMEAN",r.GROWTH="GROWTH",r.HARMEAN="HARMEAN",r.HYPGEOM_DIST="HYPGEOM.DIST",r.INTERCEPT="INTERCEPT",r.KURT="KURT",r.LARGE="LARGE",r.LINEST="LINEST",r.LOGEST="LOGEST",r.LOGNORM_DIST="LOGNORM.DIST",r.LOGNORM_INV="LOGNORM.INV",r.MAX="MAX",r.MAXA="MAXA",r.MAXIFS="MAXIFS",r.MEDIAN="MEDIAN",r.MIN="MIN",r.MINA="MINA",r.MINIFS="MINIFS",r.MODE_MULT="MODE.MULT",r.MODE_SNGL="MODE.SNGL",r.NEGBINOM_DIST="NEGBINOM.DIST",r.NORM_DIST="NORM.DIST",r.NORM_INV="NORM.INV",r.NORM_S_DIST="NORM.S.DIST",r.NORM_S_INV="NORM.S.INV",r.PEARSON="PEARSON",r.PERCENTILE_EXC="PERCENTILE.EXC",r.PERCENTILE_INC="PERCENTILE.INC",r.PERCENTRANK_EXC="PERCENTRANK.EXC",r.PERCENTRANK_INC="PERCENTRANK.INC",r.PERMUT="PERMUT",r.PERMUTATIONA="PERMUTATIONA",r.PHI="PHI",r.POISSON_DIST="POISSON.DIST",r.PROB="PROB",r.QUARTILE_EXC="QUARTILE.EXC",r.QUARTILE_INC="QUARTILE.INC",r.RANK_AVG="RANK.AVG",r.RANK_EQ="RANK.EQ",r.RSQ="RSQ",r.SKEW="SKEW",r.SKEW_P="SKEW.P",r.SLOPE="SLOPE",r.SMALL="SMALL",r.STANDARDIZE="STANDARDIZE",r.STDEV_P="STDEV.P",r.STDEV_S="STDEV.S",r.STDEVA="STDEVA",r.STDEVPA="STDEVPA",r.STEYX="STEYX",r.T_DIST="T.DIST",r.T_DIST_2T="T.DIST.2T",r.T_DIST_RT="T.DIST.RT",r.T_INV="T.INV",r.T_INV_2T="T.INV.2T",r.T_TEST="T.TEST",r.TREND="TREND",r.TRIMMEAN="TRIMMEAN",r.VAR_P="VAR.P",r.VAR_S="VAR.S",r.VARA="VARA",r.VARPA="VARPA",r.WEIBULL_DIST="WEIBULL.DIST",r.Z_TEST="Z.TEST",r))(Ae||{});class uo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(Number.NEGATIVE_INFINITY);for(let t=0;t<n.length;t++){let s=n[t];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;e=this._validator(e,s)}}return e}_validator(n,e){return n.isLessThan(e).getValue()&&(n=e),n}}class ws extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=b.create(Number.POSITIVE_INFINITY);for(let t=0;t<n.length;t++){let s=n[t];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;s.isNull()||(e=this._validator(e,s))}return e}_validator(n,e){return n.isGreaterThan(e).getValue()&&(n=e),n}}class lo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.std(1)}}class co extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.std()}}class fo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.var(1)}}class ho extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.var()}}const Ps=[[io,Ae.AVERAGE],[ao,Ae.COUNT],[uo,Ae.MAX],[ws,Ae.MIN],[ws,Ae.MIN],[oo,Ae.COUNTA],[as,Ae.STDEV_P],[os,Ae.STDEV_S],[lo,Ae.STDEVA],[co,Ae.STDEVPA],[us,Ae.VAR_P],[ls,Ae.VAR_S],[fo,Ae.VARA],[ho,Ae.VARPA]];class mo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=0,t=0;n.forEach(i=>{if(i.isArray()){const a=i;e=Math.max(e,a.getRowCount()),t=Math.max(t,a.getColumnCount())}else e=Math.max(e,1),t=Math.max(t,1)});let s=null;for(const i of n)s=Re(e,t,i,h.create(f.NA)).mapValue((o,u,l)=>{var E,D;const c=s&&s.get(u,l);if(c!=null&&c.isError())return c;if(o.isError())return o;const m=c!=null&&c.isNull()?"":(E=c==null?void 0:c.getValue())!=null?E:"",d=o!=null&&o.isNull()?"":(D=o==null?void 0:o.getValue())!=null?D:"";return qr(`${m}${d}`)});return s||h.create(f.VALUE)}}var pt=(r=>(r.ASC="ASC",r.ARRAYTOTEXT="ARRAYTOTEXT",r.BAHTTEXT="BAHTTEXT",r.CHAR="CHAR",r.CLEAN="CLEAN",r.CODE="CODE",r.CONCAT="CONCAT",r.CONCATENATE="CONCATENATE",r.DBCS="DBCS",r.DOLLAR="DOLLAR",r.EXACT="EXACT",r.FIND="FIND",r.FINDB="FINDB",r.FIXED="FIXED",r.LEFT="LEFT",r.LEFTB="LEFTB",r.LEN="LEN",r.LENB="LENB",r.LOWER="LOWER",r.MID="MID",r.MIDB="MIDB",r.NUMBERVALUE="NUMBERVALUE",r.PHONETIC="PHONETIC",r.PROPER="PROPER",r.REPLACE="REPLACE",r.REPLACEB="REPLACEB",r.REPT="REPT",r.RIGHT="RIGHT",r.RIGHTB="RIGHTB",r.SEARCH="SEARCH",r.SEARCHB="SEARCHB",r.SUBSTITUTE="SUBSTITUTE",r.T="T",r.TEXT="TEXT",r.TEXTAFTER="TEXTAFTER",r.TEXTBEFORE="TEXTBEFORE",r.TEXTJOIN="TEXTJOIN",r.TEXTSPLIT="TEXTSPLIT",r.TRIM="TRIM",r.UNICHAR="UNICHAR",r.UNICODE="UNICODE",r.UPPER="UPPER",r.VALUE="VALUE",r.VALUETOTEXT="VALUETOTEXT",r.CALL="CALL",r.EUROCONVERT="EUROCONVERT",r.REGISTER_ID="REGISTER.ID",r))(pt||{});class go extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?n:n.isArray()?n.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(n)}_handleSingleText(n){if(n.isError())return n;if(n.isNull())return b.create(0);if(n.isString()||n.isBoolean()||n.isNumber()){const e=n.getValue().toString();return b.create(e.length)}return h.create(f.VALUE)}}function po(r){let n=0;for(let e=0;e<r.length;e++){const t=r.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?n+=2:n+=1}return n}class Ro extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?n:n.isArray()?n.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(n)}_handleSingleText(n){if(n.isError())return n;if(n.isNull())return b.create(0);if(n.isString()||n.isBoolean()||n.isNumber()){const e=n.getValue().toString(),t=po(e);return b.create(t)}return h.create(f.VALUE)}}var _o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Eo(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Vs={exports:{}};(function(r,n){(function(e,t){r.exports=t()})(typeof self<"u"?self:_o,function(){return function(){var e={d:function(p,g){for(var R in g)e.o(g,R)&&!e.o(p,R)&&Object.defineProperty(p,R,{enumerable:!0,get:g[R]})},o:function(p,g){return Object.prototype.hasOwnProperty.call(p,g)}},t={};e.d(t,{default:function(){return Cl}});var s={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const i=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(p){const g=i.exec(p);if(!g)throw new SyntaxError("Malformed locale: ".concat(p));return{lang:g[1]+(g[2]?"_"+g[2]:""),language:g[1],territory:g[2]||"",codeset:g[3]||"",modifier:g[4]||""}}function l(p){if(typeof p=="number")return s[65535&p]||null;const g=parseInt(p,16);return isFinite(g)&&s[65535&g]?s[65535&g]||null:i.test(p)?p:null}function c(p){const g=l(p);let R=null;if(g){const w=u(g);R=a[w.lang]||a[w.language]||null}return R}function m(p){return Object.assign({},o,p)}function d(p,g){const R=typeof g=="object"?g:u(g);return a[R.lang]=m(p),R.language===R.lang||a[R.language]||(a[R.language]=m(p)),a[R.lang]}const E=m({group:","});function D(p,g){if(typeof p!="number")return p;if(p<0)return-D(-p,g);if(g){const R=10**(g||0)||1;return D(p*R,0)/R}return Math.round(p)}E.isDefault=!0,d({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),d({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),d({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),d({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),d({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),d({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),d({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),d({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),d({group:","},"en"),d({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),d({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),d({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),d({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),d({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),d({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),d({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),d({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),d({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),d({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),d({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),d({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),d({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),d({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),d({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),d({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function C(p,g,R){const w=p<0?-1:1,v=10**(g||2),k=10**(R||2);let M,V,y=Math.abs(p),j=0,W=0,F=0,G=1;if((p=y)%1==0)V=[p*w,1];else if(p<1e-19)V=[w,1e19];else if(p>1e19)V=[1e19*w,1];else{do if(y=1/(y-Math.floor(y)),M=G,G=G*Math.floor(y)+j,j=M,W=F,F=Math.floor(p*G+.5),F>=v||G>=k)return[w*W,j];while(Math.abs(p-F/G)>=1e-10&&y!==Math.floor(y));V=[w*F,G]}return V}const A={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},P=Object.assign({},A);function x(p){if(p===null&&(p=A),p){for(const g in p)if(g in A){const R=p[g];P[g]=R==null?A[g]:R}}return{...P}}const U={"#":"",0:"0","?":" "},$={"@":"text","-":"minus","+":"plus"},se=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],he=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],me=new RegExp("["+he.join("")+"]");function J(p,g,R){return g[R+"_max"]=p.length,g[R+"_min"]=p.replace(/#/g,"").length,g}const z={};function te(p){if(!(p in z)){const g=[],R=p.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,w=>"?".repeat(w.length));for(let w=0;w<R.length;w++){const v=R.charAt(w);g[w]=v in U?U[v]:v}z[p]=g.join("")}return z[p]}function N(p,g){typeof p=="string"&&(p={type:"string",value:p=p.replace(/ /g,U["?"])}),g.push(p)}function Fe(p){const g=[],R={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:g};let w=p+"",v="int",k=!1,M=null;const V=[];let y,j,W=!1;for(;w&&!k;){if(y=/^General/i.exec(w))R.general=!0,N({type:"general"},g);else if(v==="int"&&(y=/^[#?0]+(?:,[#?0]+)*/.exec(w))||v==="den"&&(y=/^[#?\d]+/.exec(w))||(y=/^[#?0]+/.exec(w)))R[v+"_pattern"].push(y[0]),M={type:v,num:y[0]},N(M,g);else if((y=/^\//.exec(w))&&R[v+"_pattern"].length){if(!M)throw new SyntaxError("Missing a numerator in pattern ".concat(p));R.fractions=!0,R.num_pattern.push(R[v+"_pattern"].pop()),M.type="num",v="den",N({type:"div"},g)}else if(y=/^,+/.exec(w)){const B=w.charAt(1)in U;j.slice(-1)in U&&(y[0].length>1||!B)?R.scale=.001**y[0].length:R.dec_fractions||N(y[0],g)}else{if(y=/^;/.exec(w)){k=!0;break}if(y=/^[@+-]/.exec(w))y[0]==="@"&&(R.text=!0),N({type:$[y[0]]},g);else if(y=/^(?:\[(h+|m+|s+)\])/i.exec(w)){const B=y[1].toLowerCase(),Q=B[0],q={type:"",size:0,date:1,raw:y[0],pad:B.length};Q==="h"?(q.size=16,q.type="hour-elap"):Q==="m"?(q.size=32,q.type="min-elap"):(q.size=64,q.type="sec-elap"),R.date=R.date|q.size,V.push(q),N(q,g)}else if(y=/^(?:B2)/i.exec(w))W||(R.date_system=6);else if(y=/^(?:B1)/i.exec(w))W||(R.date_system=1);else if(y=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(w)){const B={type:"",size:0,date:1,raw:y[0]},Q=y[0].toLowerCase(),q=Q[0];if(Q==="y"||Q==="yy")B.size=2,B.type="year-short";else if(q==="y"||q==="e")B.size=2,B.type="year";else if(Q==="b"||Q==="bb")B.size=2,B.type="b-year-short";else if(q==="b")B.size=2,B.type="b-year";else if(Q==="d"||Q==="dd")B.size=8,B.type="day",B.pad=/dd/.test(Q);else if(Q==="ddd")B.size=8,B.type="weekday-short";else if(q==="d")B.size=8,B.type="weekday";else if(q==="h")B.size=16,B.type="hour",B.pad=/hh/i.test(Q);else if(q==="m"){Q.length===3?(B.size=4,B.type="monthname-short"):Q.length===5?(B.size=4,B.type="monthname-single"):Q.length>=4&&(B.size=4,B.type="monthname");const ie=V[V.length-1];!B.type&&ie&&!ie.used&&80&ie.size&&(ie.used=!0,B.size=32,B.type="min",B.pad=/mm/.test(Q)),B.type||(B.size=4,B.type="month",B.pad=/mm/.test(Q),B.indeterminate=!0)}else if(q==="s"){B.size=64,B.type="sec",B.pad=/ss/.test(Q);const ie=V[V.length-1];ie&&32&ie.size?B.used=!0:ie&&ie.indeterminate&&(delete ie.indeterminate,ie.size=32,ie.type="min",B.used=!0)}R.date=R.date|B.size,R.date_eval=!0,V.push(B),N(B,g)}else if(y=/^(?:AM\/PM|am\/pm|A\/P)/.exec(w))R.clock=12,R.date=16|R.date,R.date_eval=!0,N({type:"am",short:y[0]==="A/P"},g);else if(R.date&&(y=/^\.0{1,3}/i.exec(w))){const B=y[0].length-1,Q=[64,128,256,512][B];R.date=R.date|Q,R.date_eval=!0,R.sec_decimals=Math.max(R.sec_decimals,B),N({type:"subsec",size:Q,decimals:B,date:1,raw:y[0]},g)}else if((y=/^\\(.)/.exec(w))||(y=/^"([^"]*?)"/.exec(w)))N(y[1],g);else if(y=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(w))R.condition=[y[1],parseFloat(y[2],10)];else if(y=/^\[\$([^\]]+)\]/.exec(w)){const B=y[1].split("-"),Q=B.length<2?"":B[B.length-1],q=B[0];q&&N(q,g);const ie=l(Q);ie&&(R.locale=ie);const ue=parseInt(Q,16);isFinite(ue)&&16711680&ue&&(ue>>16&255)===6&&(R.date_system=6),W=!0}else if(y=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(w))R.color=y[2]?se[parseInt(y[2],10)]||"#000":y[1].toLowerCase();else if(!(y=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(w))){if(y=/^%/.exec(w))R.scale=100,R.percent=!0,N("%",g);else if(y=/^_(\\.|.)/.exec(w))N(" ",g);else if(y=/^\./.exec(w))N({type:"point",value:y[0]},g),R.dec_fractions=!0,v="frac";else if(y=/^[Ee]([+-]?|(?=[0#?]))/.exec(w))R.exponential=!0,R.exp_plus=y[1]==="+",v="man",N({type:"exp",plus:y[1]==="+"},g);else if(!(y=/^\*(\\.|.)/.exec(w))){if(y=/^[BENn[]/.exec(w))throw new SyntaxError("Unexpected char ".concat(w.charAt(0)," in pattern ").concat(p));w[0]==="("&&(R.parens=!0),y=[w[0]],N(y[0],g)}}}j=y[0],w=w.slice(y?y[0].length:1)}if(R.pattern=p.slice(0,p.length-w.length),/^((?:\[[^\]]+\])+)(;|$)/.test(R.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(R.pattern)&&N({type:"text"},g),R.fractions&&R.dec_fractions||R.fractions&&R.exponential)throw new SyntaxError("Invalid pattern: ".concat(R.pattern));const F=R.int_pattern.join("");if(R.grouping=F.indexOf(",")>=0,R.grouping){const B=F.split(","),Q=B.length;Q===2?(R.group_pri=B[1].length,R.group_sec=R.group_pri):Q>2&&(R.group_pri=B[Q-1].length,R.group_sec=B[Q-2].length)}else R.group_pri=0,R.group_sec=0;J(F.replace(/[,]/g,""),R,"int"),J(R.frac_pattern.join(""),R,"frac"),J(R.man_pattern.join(""),R,"man");let G=R.num_pattern.join(""),re=R.den_pattern.join("");const K=/\?/.test(re)||/\?/.test(G);return re=re.replace(/\d/g,K?"?":"#"),K&&(re=re.replace(/#$/g,"?")),J(G,R,"num"),J(re,R,"den"),K&&(G=G.replace(/#$/g,"?")),R.int_padding=te(R.int_pattern.join("")),R.man_padding=te(R.man_pattern.join("")),R.num_padding=te(G),R.den_padding=te(re),R.den_pattern.length&&(R.denominator=parseInt(R.den_pattern.join("").replace(/\D/g,""),10)),R.integer=!!R.int_pattern.join("").length,R.fractions&&g.forEach((B,Q)=>{const q=g[Q+1];B.type==="string"&&q&&(q.type==="num"?B.rule="num+int":q.type==="div"?B.rule="num":q.type==="den"&&(B.rule="den"))}),R}const We=p=>{const g=p.condition;g&&g[1]<0&&(g[0]==="<"||g[0]==="<="||g[0]==="=")||p.tokens.unshift({type:"minus",volatile:!0})};function Ht(p){const g=[];let R,w=!1,v=null,k=p,M=0,V=!1,y=0,j=0;do{if(V=Fe(k),(V.date||V.general)&&(V.int_pattern.length||V.frac_pattern.length||V.scale!==1||V.text))throw new Error("Illegal format");if(V.condition&&(j++,w=!0),V.text){if(v)throw new Error("Unexpected partition");v=V}V.locale&&(R=l(V.locale)),g.push(V),M=k.charAt(V.pattern.length)===";"?1:0,k=k.slice(V.pattern.length+M),y++}while(M&&y<4&&j<3);if(M)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const W=g[3];if(W&&(W.int_pattern.length||W.frac_pattern.length||W.date))throw new Error("Unexpected partition");if(w){const F=g.length;if(F===1&&(g[1]=Fe("General"),g[1].generated=!0),F<3){const G=g[0],re=g[1];if(We(G),re.condition)We(re);else{const K=G.condition;(K[0]==="="||K[1]>=0&&(K[0]===">"||K[0]===">="))&&re.tokens.unshift({type:"minus",volatile:!0})}}else g.forEach(We)}else{if(g.length<4&&v)for(let F=0,G=g.length;F<G;F++)g[F]===v&&g.splice(F,1);if(g.length<1&&v&&(g[0]=Fe("General"),g[0].generated=!0),g.length<2){const F=Fe(g[0].pattern);F.tokens.unshift({type:"minus",volatile:!0}),F.generated=!0,g.push(F)}if(g.length<3){const F=Fe(g[0].pattern);F.generated=!0,g.push(F)}if(g.length<4)if(v)g.push(v);else{const F=Fe("@");F.generated=!0,g.push(F)}g[0].condition=[">",0],g[1].condition=["<",0],g[2].condition=null}return{pattern:p,partitions:g,locale:R}}const we=Math.floor;function Ns(p){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&p>=0){if(p===0)return[1900,1,0];if(p===60)return[1900,2,29];if(p<60)return[1900,p<32?1:2,(p-1)%31+1]}let R=p+68569+2415019;const w=we(4*R/146097);R-=we((146097*w+3)/4);const v=we(4e3*(R+1)/1461001);R=R-we(1461*v/4)+31;const k=we(80*R/2447),M=R-we(2447*k/80);R=we(k/11);const V=k+2-12*R;return[0|100*(w-49)+v+R,0|V,0|M]}function ol(p){return Ns(p+1462)}function ul(p){if(p===60)throw new Error("#VALUE!");if(p<=1)return[1317,8,29];if(p<60)return[1317,p<32?9:10,1+(p-2)%30];const g=10631/30,R=.1335;let w=p+466935;const v=we(w/10631);w-=10631*v;const k=we((w-R)/g);w-=we(k*g+R);const M=we((w+28.5001)/29.5);return M===13?[30*v+k,12,30]:[30*v+k,M,w-we(29.5001*M-29)]}function ei(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,R=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const w=we(p);return g===6?ul(w):g===-1?ol(w):Ns(w,R)}const Pr=Math.floor,Rn=86400;function Vr(p,g){let R=null;if(Array.isArray(p)){const[w,v,k,M,V,y]=p;R=Date.UTC(w,v==null?0:v-1,k!=null?k:1,M||0,V||0,y||0)}else if(p instanceof Date&&(R=1*p,!g||!g.ignoreTimezone)){const w=new Date;w.setUTCFullYear(p.getFullYear(),p.getMonth(),p.getDate()),w.setUTCHours(p.getHours(),p.getMinutes(),p.getSeconds(),p.getMilliseconds()),R=1*w}if(R!=null&&isFinite(R)){const w=R/864e5;return w-(w<=-25509?-25568:-25569)}return p}function ti(p,g){let R=0|p;const w=Rn*(p-R);let v=Pr(w);w-v>.9999&&(v+=1,v===Rn&&(v=0,R+=1));const k=v<0?Rn+v:v,[M,V,y]=ei(p,0,g&&g.leap1900),j=Pr(k/60/60)%60,W=Pr(k/60)%60,F=Pr(k)%60;if(g&&g.nativeDate){const G=new Date(0);return G.setUTCFullYear(M,V-1,y),G.setUTCHours(j,W,F),G}return[M,V,y,j,W,F]}function ll(p){return!!(p[0]&&p[0].percent||p[1]&&p[1].percent||p[2]&&p[2].percent||p[3]&&p[3].percent)}function cl(p){return!!(p[0]&&p[0].date||p[1]&&p[1].date||p[2]&&p[2].date||p[3]&&p[3].date)}function fl(p){const[g,R,w,v]=p;return!(g&&!g.generated||R&&!R.generated||w&&!w.generated||!v||!v.text||v.generated)}const hl={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},ml=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],dl={total:1,sign:0,period:0,int:1,frac:0},Wt=(p,g)=>p.replace(/\./,g.decimal);function ri(p,g,R,w){const v=0|R;if(typeof R=="string")p.push(R);else if(R===v)p.push(Math.abs(v));else{const k=Math.abs(R);let M=k?Math.floor(Math.log10(k)):0,V=M<0?k*10**-M:k/10**M;V===10&&(V=1,M++);const y=function(W){let F=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const G=Math.abs(W);if(!G)return dl;const re=F&&W<0?1:0,K=Math.floor(G),B=Math.floor(Math.log10(G)+1);let Q=0,q=0;if(K!==G){Q=1;const ie=String(D(B<0?G*10**-B:G/10**B,15));let ue=ie.length,oe=!0,De=0;for(;De<=ie.length;){if(ie[De]==="."){ue--;break}ie[De]==="0"&&oe?ue--:oe=!1,De++}q=ue-B,q<0&&(q=0,Q=0)}return{total:re+Math.max(B,1)+Q+q,digits:Math.max(B,0)+q,sign:re,period:Q,int:Math.max(B,1),frac:q}}(k),j=()=>{const W=Math.abs(M);let F;F=V===1?V:D(V,5),p.push(Wt(F+"",w),w.exponent,M<0?w.negative:w.positive,W<10?"0":"",W)};if(M>=-4&&M<=-1){const W=k.toPrecision(10+M).replace(/\.?0+$/,"");p.push(Wt(W,w))}else if(M===10){const W=k.toFixed(10).slice(0,12).replace(/\.$/,"");p.push(Wt(W,w))}else if(Math.abs(M)<=9)if(y.total<=11){const W=D(k,9).toFixed(y.frac);p.push(Wt(W,w))}else M===9?p.push(Math.floor(k)):M>=0&&M<9?p.push(D(k,9-M)):j();else y.total>=12?j():Math.floor(k)===k?p.push(Math.floor(k)):p.push(Wt(D(k,9).toFixed(y.frac),w))}return p}const Gt=86400,ni={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},si=function(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const R=Math.floor(Math.log10(p));return g>1?Math.floor(R/g)*g:R};function ii(p,g,R,w){let v="",k="",M="",V="",y="",j=0,W=0|p,F=0,G=0,re=1,K=0,B=0,Q=0,q=0,ie=0,ue=0;const oe=w||E;if(!g.text&&isFinite(g.scale)&&g.scale!==1&&(p=function(ae){if(ae===0)return ae;const le=Math.ceil(Math.log10(ae<0?-ae:ae)),T=10**(16-Math.floor(le));return Math.round(ae*T)/T}(p*g.scale)),g.exponential){let ae=Math.abs(p);if(ae){const le=10**-si(ae,g.int_max),T=D(ae*le,g.frac_max)/le;j=si(T,g.int_max)}ae/=10**j,p=p<0?-ae:ae,v+=Math.abs(j)}if(g.integer){const ae=Math.abs(D(p,g.fractions?1:g.frac_max));y+=ae<1?"":Math.floor(ae)}if(g.grouping){let ae="",le=y.length;for(le>g.group_pri&&(le-=g.group_pri,ae=oe.group+y.slice(le,le+g.group_pri)+ae);le>g.group_sec;)le-=g.group_sec,ae=oe.group+y.slice(le,le+g.group_sec)+ae;y=le?y.slice(0,le)+ae:ae}g.dec_fractions&&(V=String(D(p,g.frac_max)).split(".")[1]||"");let De=!1;if(g.fractions){const ae=Math.abs(g.integer?p%1:p);if(ae)if(De=!0,isFinite(g.denominator))M+=g.denominator,k+=D(ae*g.denominator),k==="0"&&(k="",M="",De=!1,y||(y="0"));else{const le=C(ae,g.integer?g.num_max:1/0,g.den_max);k+=le[0],M+=le[1],g.integer&&k==="0"&&(y||(y="0"),k="",M="",De=!1)}}if(g.date){W=Math.trunc(p);const ae=Gt*(p-W);if(F=Math.floor(ae),ue=ae-F,Math.abs(ue)<1e-6?ue=0:ue>.9999&&(ue=0,F+=1,F===Gt&&(F=0,W+=1)),ue){const le=512&g.date||256&g.date||128&g.date;(le===512&&ue>.9995||le===256&&ue>.995||le===128&&ue>.95||!le&&ue>=.5)&&(F++,ue=0)}if(W||g.date_system){const le=ei(p,g.date_system,R.leap1900);G=le[0],re=le[1],K=le[2]}if(F){const le=F<0?Gt+F:F;ie=Math.floor(le)%60,q=Math.floor(le/60)%60,Q=Math.floor(le/60/60)%60}if(B=(6+W)%7,g.date_eval&&(Je=p,Et=W+F/Gt,R.dateSpanLarge?Je<-694324||Et>=35830291:Je<0||Et>=2958466)){if(R.dateErrorThrows)throw new Error("Date out of bounds");return R.dateErrorNumber?ri(p<0?[oe.negative]:[],0,p,oe).join(""):R.overflow}}var Je,Et;if(g.int_padding&&(y=g.int_padding.length===1?y||g.int_padding:g.int_padding.substring(0,g.int_padding.length-y.length)+y),g.num_padding&&(k=g.num_padding.length===1?k||g.num_padding:g.num_padding.substring(0,g.num_padding.length-k.length)+k),g.den_padding&&(M=g.den_padding.length===1?M||g.den_padding:M+g.den_padding.slice(M.length)),g.man_padding){const ae=g.exp_plus?"+":"";v=g.man_padding.length===1?(j<0?"-":ae)+(v||g.man_padding):(j<0?"-":ae)+g.man_padding.slice(0,g.man_padding.length-v.length)+v}const Y=[];let Be=0;const at={int:0,frac:0,man:0,num:0,den:0};for(let ae=0,le=g.tokens.length;ae<le;ae++){const T=g.tokens[ae],xr=T.num?T.num.length:0;if(T.type==="string")T.rule?T.rule==="num"?De?Y.push(T.value):(g.num_min>0||g.den_min>0)&&Y.push(T.value.replace(/./g,U["?"])):T.rule==="num+int"?De&&y?Y.push(T.value):g.den_min>0&&(y||g.num_min)&&Y.push(T.value.replace(/./g,U["?"])):T.rule==="den"&&(De?Y.push(T.value):(g.den_min>0||g.den_min>0)&&Y.push(T.value.replace(/./g,U["?"]))):Y.push(T.value);else if(T.type==="error")Y.push(R.invalid);else if(T.type==="point")Y.push(g.date?T.value:oe.decimal);else if(T.type==="general")ri(Y,0,p,oe);else if(T.type==="exp")Y.push(oe.exponent);else if(T.type==="minus")T.volatile&&g.date||T.volatile&&(p>=0||typeof p!="number")||(T.volatile&&!g.fractions&&(g.integer||g.dec_fractions)?(p<0&&y&&y!=="0"||V)&&Y.push(oe.negative):Y.push(oe.negative));else if(T.type==="plus")Y.push(oe.positive);else if(T.type==="text")Y.push(p);else if(T.type==="div")De?Y.push("/"):g.num_min>0||g.den_min>0?Y.push(U["?"]):Y.push(U["#"]);else if(T.type==="int")if(g.int_pattern.length===1)Y.push(y);else{const ge=Be?g.int_pattern.join("").length-at.int:1/0,vt=Be===g.int_pattern.length-1?0:g.int_pattern.join("").length-(at.int+T.num.length);Y.push(y.substring(y.length-ge,y.length-vt)),Be++,at.int+=T.num.length}else if(T.type==="frac"){const ge=at.frac;for(let vt=0;vt<xr;vt++)Y.push(V[vt+ge]||U[T.num[vt]]);at.frac+=xr}else if(T.type in ni)g[T.type+"_pattern"].length===1?(T.type==="int"&&Y.push(y),T.type==="frac"&&Y.push(V),T.type==="man"&&Y.push(v),T.type==="num"&&Y.push(k),T.type==="den"&&Y.push(M)):(Y.push(ni[T.type].slice(at[T.type],at[T.type]+xr)),at[T.type]+=xr);else if(T.type==="year")G<0&&Y.push(oe.negative),Y.push(String(Math.abs(G)).padStart(4,"0"));else if(T.type==="year-short"){const ge=G%100;Y.push(ge<10?"0":"",ge)}else if(T.type==="month")Y.push(T.pad&&re<10?"0":"",re);else if(T.type==="monthname-single")g.date_system===6?Y.push(oe.mmmm6[re-1].charAt(0)):Y.push(oe.mmmm[re-1].charAt(0));else if(T.type==="monthname-short")g.date_system===6?Y.push(oe.mmm6[re-1]):Y.push(oe.mmm[re-1]);else if(T.type==="monthname")g.date_system===6?Y.push(oe.mmmm6[re-1]):Y.push(oe.mmmm[re-1]);else if(T.type==="weekday-short")Y.push(oe.ddd[B]);else if(T.type==="weekday")Y.push(oe.dddd[B]);else if(T.type==="day")Y.push(T.pad&&K<10?"0":"",K);else if(T.type==="hour"){const ge=Q%g.clock||(g.clock<24?g.clock:0);Y.push(T.pad&&ge<10?"0":"",ge)}else if(T.type==="min")Y.push(T.pad&&q<10?"0":"",q);else if(T.type==="sec")Y.push(T.pad&&ie<10?"0":"",ie);else if(T.type==="subsec"){Y.push(oe.decimal);const ge=ue.toFixed(g.sec_decimals);Y.push(ge.slice(2,2+T.decimals))}else if(T.type==="am"){const ge=Q<12?0:1;T.short&&!w?Y.push("AP"[ge]):Y.push(oe.ampm[ge])}else if(T.type==="hour-elap"){p<0&&Y.push(oe.negative);const ge=24*W+Math.floor(Math.abs(F)/3600);Y.push(String(Math.abs(ge)).padStart(T.pad,"0"))}else if(T.type==="min-elap"){p<0&&Y.push(oe.negative);const ge=1440*W+Math.floor(Math.abs(F)/60);Y.push(String(Math.abs(ge)).padStart(T.pad,"0"))}else if(T.type==="sec-elap"){p<0&&Y.push(oe.negative);const ge=W*Gt+Math.abs(F);Y.push(String(Math.abs(ge)).padStart(T.pad,"0"))}else if(T.type==="b-year")Y.push(G+543);else if(T.type==="b-year-short"){const ge=(G+543)%100;Y.push(ge<10?"0":"",ge)}}return R.nbsp?Y.join(""):Y.join("").replace(/\u00a0/g," ")}function ai(p,g){for(let R=0;R<3;R++){const w=g[R];if(w){let v;if(w.condition){const k=w.condition[0],M=w.condition[1];k==="="?v=p===M:k===">"?v=p>M:k==="<"?v=p<M:k===">="?v=p>=M:k==="<="?v=p<=M:k==="<>"&&(v=p!==M)}else v=!0;if(v)return w}}}const oi=Fe("@"),ui="black",Te={};function je(p,g){if(p){const R=p[0];g[R]=g[R]||{},je(p.slice(1),g[R])}else g.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(p=>{je(p,Te),je(p+" x",Te),je(p+" l",Te),je(p+" l x",Te),je("l "+p,Te),je("l "+p+" x",Te),je(p+" D",Te),je(p+" D x",Te),je("D "+p,Te),je("D "+p+" x",Te)});const gl={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},pl={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Rl={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},_l=new Date().getUTCFullYear();function li(p){const g=new RegExp("^([\\s+%"+he.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+he.join("")+")]*)$").exec(p);if(g){const[,R,w,v,k,M]=g;let V=1,y="",j=!1,W=!1,F=!1,G=!1,re=!1,K=null,B=!1,Q=parseFloat(w.replace(/,/g,""));if(!isFinite(Q))return null;for(let ie=0;ie<R.length;ie++){const ue=R[ie];if(ue==="-"){if(j||W)return null;j=!0,V=-1}else if(me.test(ue)){if(re)return null;re=!0,K=ue}else if(ue==="("){if(W||j)return null;W=!0,V=-1}else if(ue==="%"){if(G)return null;G=!0}}for(let ie=0;ie<M.length;ie++){const ue=M[ie];if(me.test(ue)){if(re)return null;re=!0,K=ue,B=!0}else if(ue===")"){if(F||!W)return null;F=!0}else if(ue==="%"){if(G)return null;G=!0}}if(k){if(G||re)return null;y="0.00E+00"}else if(G){if(re)return null;y=v.includes(".")?"0.00%":"0%",Q*=.01}else if(re){const ie=v.includes(".")?"#,##0.00":"#,##0";y=B?ie+K:K+ie}else v.includes(",")&&(y=v.includes(".")?"#,##0.00":"#,##0");const q={v:Q*V};return y&&(q.z=y),q}}const Ge=(p,g,R)=>{const w=R.path||"",v=Object.keys(g);for(let k=0;k<v.length;k++){let M;const V=v[k];if(g[V]){if(V==="$"||V==="€")p||(M=R);else if(V==="-"){const y=/^(\s*([./-]|,\s)\s*|\s+)/.exec(p);if(y){const j=y[1]==="-"||y[1]==="/"||y[1]==="."?y[1]:" ";if(!R.sep||R.sep===j){const W=y[0].replace(/\s+/g," ");M=Ge(p.slice(y[0].length),g[V],{...R,sep:j,path:w+W})}}}else if(V===" "){const y=/^[,.]?\s+/.exec(p);if(y){const j=y[0].replace(/\s+/g," ");M=Ge(p.slice(y[0].length),g[V],{...R,path:w+j})}}else if(V==="j"||V==="d"){const y=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(p);y&&(M=Ge(p.slice(y[0].length),g[V],{...R,day:y[0],path:w+V}))}else if(V==="n"||V==="m"){const y=/^(0?[1-9]|1[012])\b/.exec(p);y&&(M=Ge(p.slice(y[0].length),g[V],{...R,month:+y[0],_mon:y[0],path:w+V}))}else if(V==="F"||V==="M"){const y=/^([a-z]{3,9})\b/i.exec(p),j=y&&(V==="F"?pl:gl)[y[0].toLowerCase()];j&&(M=Ge(p.slice(y[0].length),g[V],{...R,month:j,_mon:y[0],path:w+V}))}else if(V==="l"||V==="D"){const y=/^([a-z]{3,9})\b/i.exec(p);(y&&Rl[y[0].toLowerCase()])===V&&(M=Ge(p.slice(y[0].length),g[V],{...R,path:w+V}))}else if(V==="y"){const y=/^\d\d\b/.exec(p);if(y){const j=+y[0]>=30?+y[0]+1900:+y[0]+2e3;M=Ge(p.slice(y[0].length),g[V],{...R,year:j,path:w+V})}}else if(V==="Y"){const y=/^\d\d\d\d\b/.exec(p);y&&(M=Ge(p.slice(y[0].length),g[V],{...R,year:+y[0],path:w+V}))}else{if(V!=="x")throw new Error('Unknown date token "'.concat(V,'"'));{const y=_n(p);y&&(M=Ge("",g[V],{...R,time:y.v,tf:y.z,path:w+V}))}}if(M)return M}}};function ci(p,g){const R=Ge(p.trim(),Te,{path:""});if(R){var w;if(R.sep==="."&&R.path.length===3)return null;const v=+((w=R.year)!==null&&w!==void 0?w:_l);if(R.day||(R.day=1),!function(V,y,j){if(j<1||y<1||y>12)return!1;if(y===2){if(j>(V%4==0&&V%100!=0||V%400==0||V===1900?29:28))return!1}else if((y===4||y===6||y===9||y===11)&&j>30||(y===1||y===3||y===5||y===7||y===8||y===10||y===12)&&j>31)return!1;return!0}(v,R.month,R.day))return null;let k=-1/0;if(v<1900)return null;v<=1900&&R.month<=2?k=25568:v<1e4&&(k=25569);const M=Date.UTC(v,R.month-1,R.day)/864e5+k+(R.time||0);if(M>=0&&M<=2958465){const V=R._mon[0]==="0"||R.day[0]==="0"||R._mon.length===2&&R.day.length===2,y=R.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?V?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?V?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?R.tf||"":j==="Y"?"yyyy":j);return g&&g.nativeDate?{v:ti(M,g),z:y}:{v:M,z:y}}}return null}function _n(p){const g=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(p);if(g){const[,R,w,v,k,M]=g;if(k&&!v||!M&&!w&&!v)return null;let V=1*(R||0);if(M){if(V>=13)return null;M[0]!=="p"&&M[0]!=="P"||(V+=12)}return{v:(60*V*60+60*(1*(w||0))+1*(v||0)+1*(k||0))/86400,z:(R.length===2?"hh":"h")+":mm"+(v?":ss":"")+(M?" AM/PM":"")}}return null}function fi(p){return/^\s*true\s*$/i.test(p)?{v:!0}:/^\s*false\s*$/i.test(p)?{v:!1}:null}const Xt={};function El(p,g){const{pattern:R,partitions:w,locale:v}=p,k=y=>{const j=Object.assign({},x(),g,y);return v&&(j.locale=v),j},M=(y,j)=>{const W=k(j);return function(F,G,re){const K=c(re.locale),B=G[3]?G[3]:oi;if(typeof F=="boolean"&&(F=F?"TRUE":"FALSE"),F==null)return"";if(typeof F!="number")return ii(F,B,re,K);if(!isFinite(F)){const q=K||E;return isNaN(F)?q.nan:(F<0?q.negative:"")+q.infinity}const Q=ai(F,G);return Q?ii(F,Q,re,K):re.overflow}(Vr(y,W),w,W)};M.color=(y,j)=>function(W,F){if(typeof W!="number"||!isFinite(W))return(F[3]?F[3].color:oi.color)||ui;const G=ai(W,F);return G&&G.color||ui}(Vr(y,k(j)),w);const V=function(y){var j;let W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[F,G]=y,re=F.frac_max,K={type:"general",isDate:cl(y),isText:fl(y),isPercent:ll(y),maxDecimals:F.general?9:re,scale:(j=F.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:F.grouping?1:0,_partitions:y},B=!K.isDate&&!K.isText&&!F.error&&F.tokens.some(oe=>oe.type==="string"&&(W?oe.value===W:me.test(oe.value)));let Q="G",q=re>=0?Math.min(15,re):"",ie="",ue="";if(G&&G.color&&(ue="-",K.color=1),F.parens&&(ie="()",K.parentheses=1),B)Q="C",K.type="currency";else if(F.error)K.type="error",K.maxDecimals=0;else if(K.isDate){let oe=0,De=0,Je="";F.tokens.forEach(Y=>{const Be=Y.type;/^(b-)?year/.test(Be)?(Je+="Y",De++):Be.startsWith("month")?(Je+="M",De++):/^(week)?day/.test(Be)?(Je+="D",De++):Be!=="hour"&&Be!=="min"&&Be!=="sec"&&Be!=="am"||(Je+=Be[0],oe++)}),K.type="date",De&&oe?K.type="datetime":!De&&oe&&(K.type="time");const Et=ml.find(Y=>Je.startsWith(Y[0]));Q=Et?"D":"G",q=Et?Et[1]:""}else K.isText?(Q="G",K.type="text",q="",K.maxDecimals=0):F.general?(Q="G",K.type="general",q=""):F.fractions?(Q="G",K.type="fraction",q=""):F.exponential?(Q="S",K.type="scientific"):K.isPercent?(Q="P",K.type="percent"):F.grouping?(Q=",",K.type="grouped"):(F.int_max||re)&&(Q="F",K.type="number");return K.code=Q+q+ue+ie,K.level=hl[K.type],Object.freeze(K)}(w,(g||{}).currency)||new SyntaxError;return M.info=V,M.dateInfo=function(y){const[j]=y;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(w),M.isPercent=()=>!!V.isPercent,M.isDate=()=>!!V.isDate,M.isText=()=>!!V.isText,M.pattern=R,p.error&&(M.error=p.error),M.options=k,M.locale=v||g&&g.locale||"",Object.freeze(M)}function de(p,g){p||(p="General");let R=null;return Xt[p]?R=Xt[p]:(R=Object.assign({},x(),g).throws?Ht(p):function(w){try{return Ht(w)}catch(v){const k={tokens:[{type:"error"}],error:v.message};return{pattern:w,partitions:[k,k,k,k],error:v.message,locale:null}}}(p),R.error||(Xt[p]=R)),El(R,g)}de.isDate=p=>de(p,{throws:!1}).isDate(),de.isPercent=p=>de(p,{throws:!1}).isPercent(),de.isText=p=>de(p,{throws:!1}).isText(),de.getInfo=(p,g)=>de(p,{...g,throws:!1}).info,de.getDateInfo=(p,g)=>de(p,{...g,throws:!1}).dateInfo,de.dateToSerial=Vr,de.dateFromSerial=ti,de.options=x,de.dec2frac=C,de.round=D,de.codeToLocale=s,de.parseLocale=u,de.getLocale=c,de.addLocale=(p,g)=>{const R=u(g);return delete Xt[R.lang],delete Xt[R.language],d(p,R)},de.format=function(p,g,R){let w=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const v=R&&typeof R=="object"?R:{locale:R,throws:!w};return de(p,v)(Vr(g,v),v)},de.is_date=de.isDate,de.parseNumber=li,de.parseDate=ci,de.parseTime=_n,de.parseBool=fi,de.parseValue=function(p,g){var R,w,v;return(R=(w=(v=li(p))!==null&&v!==void 0?v:ci(p,g))!==null&&w!==void 0?w:_n(p))!==null&&R!==void 0?R:fi(p)};var Cl=de;return t=t.default}()})})(Vs);var Co=Vs.exports,Do=Co;const yo=Eo(Do),bo=(r,n)=>yo.format(r,n);class So extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=Re(t,s,n),a=Re(t,s,e);return i.map((o,u,l)=>{if(o.isError()||o.isString()||o.isBoolean())return o;let c=a.get(u,l)||Ee.create(" ");if(c.isError())return c;if(c.isBoolean())return h.create(f.VALUE);c.isNull()&&(c=Ee.create(" "));const m=`${c.getValue()}`;o.isNull()&&(o=b.create(0));const d=o.getValue(),E=bo(m,d);return Ee.create(E)})}}const xs=[[mo,pt.CONCATENATE],[go,pt.LEN],[Ro,pt.LENB],[So,pt.TEXT]],vs=[];var Lo=(r=>{})();const Ms=[];var Fs=(r=>(r.ENCODEURL="ENCODEURL",r.FILTERXML="FILTERXML",r.WEBSERVICE="WEBSERVICE",r))(Fs||{});class Bs extends _.Disposable{constructor(){super(...arguments);S(this,"_definedNameMap",new Map)}dispose(){this._definedNameMap.clear()}registerDefinedName(e,t,s){var a;this._definedNameMap.get(e)==null&&this._definedNameMap.set(e,new Map),(a=this._definedNameMap.get(e))==null||a.set(t,s)}removeDefinedName(e,t){var s;(s=this._definedNameMap.get(e))==null||s.delete(t)}getDefinedNameMap(e){return this._definedNameMap.get(e)}getValue(e,t){var s;return(s=this._definedNameMap.get(e))==null?void 0:s.get(t)}hasDefinedName(e){var s;return(((s=this._definedNameMap.get(e))==null?void 0:s.size)||0)!==0}}const It=Z.createIdentifier("univer.formula.defined-names.service");var Ao=Object.defineProperty,wo=Object.getOwnPropertyDescriptor,Po=(r,n,e,t)=>{for(var s=t>1?void 0:t?wo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Ao(n,e,s),s},Vo=(r,n)=>(e,t)=>n(e,t,r);L.FormulaCurrentConfigService=class extends _.Disposable{constructor(e){super();S(this,"_unitData",{});S(this,"_arrayFormulaCellData",{});S(this,"_formulaData",{});S(this,"_sheetNameMap",{});S(this,"_forceCalculate",!1);S(this,"_dirtyRanges",[]);S(this,"_dirtyNameMap",{});S(this,"_numfmtItemMap",{});S(this,"_dirtyUnitFeatureMap",{});S(this,"_excludedCell");S(this,"_sheetIdToNameMap",{});this._currentUniverService=e}dispose(){this._unitData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._numfmtItemMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={}}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getNumfmtItemMap(){return this._numfmtItemMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap)this._unitData=e.allUnitData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:s}=this._loadSheetData();this._unitData=t,this._sheetNameMap=s}this._formulaData=e.formulaData,this._arrayFormulaCellData=bn(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._numfmtItemMap=e.numfmtItemMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(s=>{t[s]&&Object.keys(t[s]).forEach(i=>{e[s]==null&&(e[s]={}),e[s][t[s][i]]=i})}),this._sheetIdToNameMap={},Object.keys(e).forEach(s=>{Object.keys(e[s]).forEach(i=>{this._sheetIdToNameMap[s]==null&&(this._sheetIdToNameMap[s]={}),this._sheetIdToNameMap[s][e[s][i]]=i})})}_loadSheetData(){const e=this._currentUniverService.getAllUniverSheetsInstance(),t={},s={};for(const i of e){const a=i.getUnitId(),o=i.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),d=c.getConfig();u[m]={cellData:new _.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,s[a]=l}return{allUnitData:t,unitSheetNameMap:s}}},L.FormulaCurrentConfigService=Po([Vo(0,_.IUniverInstanceService)],L.FormulaCurrentConfigService);const it=Z.createIdentifier("univer.formula.current-data.service");var xo=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,Mo=(r,n,e,t)=>{for(var s=t>1?void 0:t?vo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&xo(n,e,s),s},Fo=(r,n)=>(e,t)=>n(e,t,r),$e=(r=>(r[r.IDLE=0]="IDLE",r[r.START_DEPENDENCY=1]="START_DEPENDENCY",r[r.START_CALCULATION=2]="START_CALCULATION",r[r.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",r[r.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",r[r.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",r[r.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",r[r.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",r))($e||{}),wt=(r=>(r[r.INITIAL=0]="INITIAL",r[r.STOP_EXECUTION=1]="STOP_EXECUTION",r[r.NOT_EXECUTED=2]="NOT_EXECUTED",r[r.SUCCESS=3]="SUCCESS",r))(wt||{});L.FormulaRuntimeService=class extends _.Disposable{constructor(e){super();S(this,"_formulaExecuteStage",0);S(this,"_stopState",!1);S(this,"_currentRow",-1);S(this,"_currentColumn",-1);S(this,"_currentRowCount",Number.NEGATIVE_INFINITY);S(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);S(this,"_currentSubUnitId","");S(this,"_currentUnitId","");S(this,"_runtimeData",{});S(this,"_runtimeOtherData",{});S(this,"_unitArrayFormulaRange",{});S(this,"_runtimeArrayFormulaCellData",{});S(this,"_runtimeClearArrayFormulaCellData",{});S(this,"_numfmtItemMap",{});S(this,"_runtimeFeatureRange",{});S(this,"_runtimeFeatureCellData",{});S(this,"_functionsExecutedState",0);S(this,"_functionDefinitionPrivacyVar",new Map);S(this,"_totalFormulasToCalculate",0);S(this,"_completedFormulasCount",0);S(this,"_totalArrayFormulasToCalculate",0);S(this,"_completedArrayFormulasCount",0);S(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._numfmtItemMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,s,i,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=s,this._currentColumnCount=i,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const s=this._currentSubUnitId,i=this._currentUnitId;this._runtimeOtherData[i]===void 0&&(this._runtimeOtherData[i]={});const a=this._runtimeOtherData[i];a[s]===void 0&&(a[s]={});const o=a[s];o[e]=this._objectValueToCellValue(t)}setRuntimeData(e){const t=this._currentRow,s=this._currentColumn,i=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new _.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={}),this._numfmtItemMap[u]==null&&(this._numfmtItemMap[u]={}),this._numfmtItemMap[u][o]==null&&(this._numfmtItemMap[u][o]={});const c=this._numfmtItemMap[u][o],m=this._unitArrayFormulaRange[u];let d=new _.ObjectMatrix;m[o]&&(d=new _.ObjectMatrix(m[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const E=this._runtimeArrayFormulaCellData[u];E[o]==null&&(E[o]=new _.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const D=this._runtimeClearArrayFormulaCellData[u];D[o]==null&&(D[o]=new _.ObjectMatrix);const C=l[o],A=E[o],P=D[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const x=e,{startRow:U,startColumn:$,endRow:se,endColumn:he}=x.getRangePosition();if(U===se&&$===he){const J=x.getFirstCell(),z=this._objectValueToCellValue(J);C.setValue(t,s,z),P.setValue(t,s,z),c[t]==null&&(c[t]={}),c[t][s]=J.getPattern();return}const me={startRow:t,startColumn:s,endRow:se-U+t,endColumn:he-$+s};if(d.setValue(t,s,me),m[o]=d.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,s,me)||this._checkIfArrayFormulaExceeded(i,a,me)){const J=this._objectValueToCellValue(h.create(f.SPILL));C.setValue(t,s,J),P.setValue(t,s,J)}else{const J=h.create(f.SPILL);x.iterator((z,te,N)=>{const Fe=this._objectValueToCellValue(z);if(te===U&&N===$){if(z!=null&&z.isError()&&z.isEqualType(J))return P.setValue(t,s,{}),C.setValue(t,s,{...this._objectValueToCellValue(J)}),!1;C.setValue(t,s,{...Fe})}const We=te-U+t,Ht=N-$+s;A.setValue(We,Ht,Fe);const we=z==null?void 0:z.getPattern();we&&(c[We]==null&&(c[We]={}),c[We][Ht]=we)})}}else{const x=this._objectValueToCellValue(e);C.setValue(t,s,x),c[t]==null&&(c[t]={}),c[t][s]=e.getPattern(),P.setValue(t,s,x)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getNumfmtItemMap(){return this._numfmtItemMap}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),numfmtItemMap:this.getNumfmtItemMap(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage()}}_objectValueToCellValue(e){if(e==null)return{v:0,t:_.CellValueType.NUMBER};if(e.isError())return{v:e.getErrorType(),t:_.CellValueType.STRING};if(e.isValueObject()){const t=e,s=t.getValue();return t.isNumber()?{v:s,t:_.CellValueType.NUMBER}:t.isBoolean()?{v:s,t:_.CellValueType.BOOLEAN}:t.isString()&&_.isRealNum(s)?{v:s,t:_.CellValueType.FORCE_STRING}:{v:s,t:_.CellValueType.STRING}}}_checkIfArrayFormulaRangeHasData(e,t,s,i,a){var E,D,C,A,P,x,U,$,se,he,me,J;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,m=this._currentConfigService.getUnitData(),d=(C=(D=(E=this._unitArrayFormulaRange[e])==null?void 0:E[t])==null?void 0:D[s])==null?void 0:C[i];for(let z=o;z<=l;z++)for(let te=u;te<=c;te++){if(z===s&&i===te)continue;const N=(x=(P=(A=this._runtimeData)==null?void 0:A[e])==null?void 0:P[t])==null?void 0:x.getValue(z,te),Fe=(se=($=(U=this._runtimeArrayFormulaCellData)==null?void 0:U[e])==null?void 0:$[t])==null?void 0:se.getValue(z,te),We=(J=(me=(he=m==null?void 0:m[e])==null?void 0:he[t])==null?void 0:me.cellData)==null?void 0:J.getValue(z,te);if(!_.isNullCell(N)||!_.isNullCell(Fe)&&!this._isInArrayFormulaRange(d,z,te)||!_.isNullCell(We))return!0}return!1}_isInArrayFormulaRange(e,t,s){if(e==null)return!1;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=e;return t>=i&&t<=o&&s>=a&&s<=u}_checkIfArrayFormulaExceeded(e,t,s){return s.endRow>=e||s.endColumn>=t}_isInDirtyRange(e,t,s,i){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:En(a,e,t,s,i)}},L.FormulaRuntimeService=Mo([Fo(0,it)],L.FormulaRuntimeService);const Me=Z.createIdentifier("univer.formula.runtime.service");var Bo=Object.defineProperty,Oo=Object.getOwnPropertyDescriptor,Uo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Oo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Bo(n,e,s),s},on=(r,n)=>(e,t)=>n(e,t,r);let Pt=class extends _.Disposable{constructor(r,n,e){super(),this._definedNamesService=r,this._runtimeService=n,this._lexerTreeBuilder=e}treeBuilder(r,n=!0){return this._lexerTreeBuilder.treeBuilder(r,n,this._injectDefinedName.bind(this))}_injectDefinedName(r){var i;const n=this._runtimeService.currentUnitId;if(!this._definedNamesService.hasDefinedName(n))return{sequenceString:"",hasDefinedName:!1};const e=this._lexerTreeBuilder.getSequenceNode(r);let t="",s=!1;for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===ve.REFERENCE||l===ve.FUNCTION){const m=(i=this._definedNamesService.getDefinedNameMap(n))==null?void 0:i.get(c);m?(t+=m,s=!0):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:s}}};Pt=Uo([on(0,It),on(1,Me),on(2,Z.Inject(Zt))],Pt);var ne=(r=>(r.REFERENCE="ReferenceNode",r.VALUE="ValueNode",r.OPERATOR="OperatorNode",r.FUNCTION="FunctionNode",r.LAMBDA="LambdaNode",r.LAMBDA_PARAMETER="LambdaNodeParameter",r.ERROR="ErrorNode",r.BASE="Base",r.ROOT="Root",r.UNION="UnionNode",r.PREFIX="PrefixNode",r.SUFFIX="SuffixNode",r.NULL="NullNode",r))(ne||{});const Ye=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class xe extends _.Disposable{constructor(e){super();S(this,"_children",[]);S(this,"_parent");S(this,"_valueObject");S(this,"_calculateState",!1);S(this,"_async",!1);S(this,"_address",!1);S(this,"_refOffsetX",0);S(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return ne.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(ft.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),s=[],i=t.length;for(let o=0;o<i;o++){const u=t[o];s.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return i>0&&(a.children=s),a}}class ye extends xe{constructor(e){super(e);S(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return ne.ERROR}static create(e){return new ye(e)}getValue(){return this._errorValueObject}}const ze=100;class Qe extends _.Disposable{get zIndex(){return 0}create(n,e,t){let s;return n instanceof ee?s=n.getToken():s=n,new xe(s)}checkAndCreateNodeType(n){}}class un extends xe{get nodeType(){return ne.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class Os extends Qe{get zIndex(){return Ye.get(ne.ROOT)||ze}checkAndCreateNodeType(n){if(!(n instanceof ee))return;if(n.getToken()===et)return new un(et)}}class Us extends _.Disposable{constructor(){super(...arguments);S(this,"_functionExecutors",new Map);S(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.set(s.name,s)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.delete(s)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.set(s.functionName,s)}}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.delete(s)}}}const He=Z.createIdentifier("univer.formula.function.service");var ko=Object.defineProperty,To=Object.getOwnPropertyDescriptor,jo=(r,n,e,t)=>{for(var s=t>1?void 0:t?To(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&ko(n,e,s),s},ks=(r,n)=>(e,t)=>n(e,t,r);class lr extends xe{constructor(n,e,t){super(e),this._accessor=n,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ne.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===_e.MINUS?t=this._functionExecutor.calculate(b.create(0),e):this._operatorString===_e.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(n){if(!n.isReferenceObject())return h.create(f.VALUE);const e=n;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(Me),s=t.currentRow||0,i=t.currentColumn||0;return e.isRow()?e.getCellByColumn(i):e.isColumn()?e.getCellByRow(s):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let cr=class extends Qe{constructor(r,n){super(),this._functionService=r,this._injector=n}get zIndex(){return Ye.get(ne.PREFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof ee))return;const n=r.getToken(),e=n.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===_e.MINUS)t=Le.MINUS;else return e===_e.AT?new lr(this._injector,e):void 0;const s=this._functionService.getExecutor(t);return s?new lr(this._injector,e,s):(console.error(`No function ${n}`),ye.create(f.NAME))}};cr=jo([ks(0,He),ks(1,Z.Inject(Z.Injector))],cr);function Ts(r,n,e){let t,s;const i=r.slice(0,2);let a=0;if(new RegExp(_e.MINUS,"g").test(i)){const o=n.getExecutor(Le.MINUS);t=new lr(e,_e.MINUS,o),a++}return new RegExp(_e.AT,"g").test(i)&&(s=new lr(e,_e.AT),t&&s.setParent(t),a++),a>0&&(r=r.slice(a)),{tokenTrim:r,minusPrefixNode:t,atPrefixNode:s}}var Io=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Yo=(r,n,e,t)=>{for(var s=t>1?void 0:t?$o(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Io(n,e,s),s},fr=(r,n)=>(e,t)=>n(e,t,r);class zo extends xe{constructor(n,e,t,s){super(n),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return ne.FUNCTION}async executeAsync(){const n=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?n.push(o.toArrayValueObject()):n.push(o))}const s=this._calculate(n);let i;return s.isAsyncObject()||s.isAsyncArrayObject()?i=await s.getValue():i=s,this._setRefData(i),this.setValue(i),Promise.resolve(ft.SUCCESS)}execute(){const n=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const a=e[i].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?n.push(a.toArrayValueObject()):n.push(a))}const s=this._calculate(n);this._setRefData(s),this.setValue(s)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const n=this.getChildren(),e=n.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=n[1].getValue(),s=n[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(s!=null&&s.isReferenceObject()))return;const i=t.getRangeData(),a=s.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=i,m=l-o+1,d=c-u+1,{startRow:E,startColumn:D,endRow:C,endColumn:A}=a,P=C-E+1,x=A-D+1;m!==P&&(a.endRow+=m-P),d!==x&&(a.endColumn+=d-x)}_calculate(n){var t;let e;if(this._setRefInfo(),this._functionExecutor.isCustom()){const s=this._functionExecutor.calculateCustom(...n.map(i=>i.isArray()?i.toValue():i.getValue()));if(typeof s!="object"||s==null)e=rt.create(s);else{const i=Ki(s);e=be.create({calculateValueList:i,rowCount:i.length,columnCount:((t=i[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else e=this._functionExecutor.calculate(...n);return e}_setRefInfo(){const{currentUnitId:n,currentSubUnitId:e,currentRow:t,currentColumn:s}=this._runtimeService;this._functionExecutor.setRefInfo(n,e,t,s)}_setRefData(n){if(!n.isReferenceObject())return;const e=n;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let hr=class extends Qe{constructor(r,n,e,t){super(),this._functionService=r,this._currentConfigService=n,this._runtimeService=e,this._injector=t}get zIndex(){return Ye.get(ne.FUNCTION)||ze}create(r){const n=this._functionService.getExecutor(r);return n?new zo(r,n,this._currentConfigService,this._runtimeService):(console.error(`No function ${r}`),ye.create(f.NAME))}checkAndCreateNodeType(r){if(typeof r=="string")return;const n=r.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:s}=Ts(n.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return ye.create(f.VALUE);const i=e.toUpperCase();if(this._functionService.hasExecutor(i)){const a=this.create(i);return s?a.setParent(s):t&&a.setParent(t),a}}};hr=Yo([fr(0,He),fr(1,it),fr(2,Me),fr(3,Z.Inject(Z.Injector))],hr);var Qo=Object.defineProperty,Ho=Object.getOwnPropertyDescriptor,Wo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ho(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Qo(n,e,s),s},Go=(r,n)=>(e,t)=>n(e,t,r);let Vt=class extends _.Disposable{constructor(r){super(),this._runtimeService=r}dispose(){}async executeAsync(r){if(!r)return h.create(f.VALUE);await this._executeAsync(r);const n=r.getValue();if(n==null)throw new Error("node value is null");return Promise.resolve(n)}execute(r){if(!r)return h.create(f.VALUE);this._execute(r);const n=r.getValue();if(n==null)throw new Error("node value is null");return n}executePreCalculateNode(r){return r.execute(),r.getValue()}checkAsyncNode(r){const n=[];this._checkAsyncNode(r,n);for(let e=0,t=n.length;e<t;e++)if(n[e]===!0)return!0;return!1}_checkAsyncNode(r,n){const e=r.getChildren(),t=e.length;for(let s=0;s<t;s++){const i=e[s];n.push(i.isAsync()),this._checkAsyncNode(i,n)}}async _executeAsync(r){if(this._runtimeService.isStopExecution())return Promise.resolve(ft.ERROR);const n=r.getChildren(),e=n.length;for(let t=0;t<e;t++){const s=n[t];if(s.getToken().toUpperCase()===Ut&&s.isEmptyParamFunction()){s.execute();continue}await this._executeAsync(s)}return r.nodeType===ne.FUNCTION&&r.isAsync()?await r.executeAsync():r.execute(),Promise.resolve(ft.SUCCESS)}_execute(r){if(this._runtimeService.isStopExecution())return ft.ERROR;const n=r.getChildren(),e=n.length;for(let t=0;t<e;t++){const s=n[t];if(s.getToken().toUpperCase()===Ut&&s.isEmptyParamFunction()){s.execute();continue}this._execute(s)}return r.execute(),ft.SUCCESS}};Vt=Wo([Go(0,Me)],Vt);function js(r){return r instanceof ee?r.getToken()===Dt:!1}function Xo(r){return r instanceof ee?r.getToken()===xn:!1}function Is(r){if(!r)return;if(r.getToken()!==Ot)return r;const n=r,e=n.getCurrentLambdaPrivacyVar(),t=n.getLambdaParameter();if(!e)return;const s=e.get(t);return s==null&&r.getValue()?r:Is(s)}class ln extends Ze{constructor(e,t,s){super(0);S(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=s,this._lambdaPrivacyValueMap.clear()}static create(e,t,s){return new ln(e,t,s)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let s;if(this._interpreter.checkAsyncNode(this._lambdaNode))s=new Ni(this._interpreter.executeAsync(this._lambdaNode));else{const i=this._interpreter.execute(this._lambdaNode);i.isReferenceObject()?s=i.toArrayValueObject():s=i}return this._lambdaNode.setNotEmpty(!0),s}_setLambdaNodeValue(e){const t=e.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.getToken()===Ot){const u=a.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)a.setValue(l);else{const c=a.getCurrentLambdaPrivacyVar(),m=Is(c.get(u));m!=null&&a.setValue(m.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const s=e[t],i=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(i,s)}}}var Ko=Object.defineProperty,qo=Object.getOwnPropertyDescriptor,Zo=(r,n,e,t)=>{for(var s=t>1?void 0:t?qo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Ko(n,e,s),s},$s=(r,n)=>(e,t)=>n(e,t,r);class Jo extends xe{constructor(e,t,s,i){super(e);S(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=s,this._lambdaPrivacyVarKeys=i}get nodeType(){return ne.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(ln.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let mr=class extends Qe{constructor(r,n){super(),this._runtimeService=r,this._interpreter=n}get zIndex(){return Ye.get(ne.LAMBDA)||ze}create(r){const n=r.getChildren(),e=n[0];let t=n.slice(1,-1);const s=n[n.length-1];if(!(e instanceof ee&&s instanceof ee))return ye.create(f.NAME);if(e.getToken()===Dt){const o=e.getChildren();if(t.length!==o.length)return ye.create(f.VALUE)}else t=n.slice(0,-1);const i=_.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof ee){const l=u.getChildren()[0];u.setToken(xn),a.set(l.trim(),void 0)}else return ye.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(i,a),this._updateLambdaStatement(s,i,a),new Jo(r.getToken(),i,this._interpreter,[...a.keys()])}checkAndCreateNodeType(r){if(!(!(r instanceof ee)||r.getToken().trim().toUpperCase()!==Ut))return this.create(r)}_updateLambdaStatement(r,n,e){this._updateTree(r,n,e)}_updateTree(r,n,e){const t=r.getChildren(),s=t.length,i=t[0];for(let a=0;a<s;a++){const o=t[a];if(!(js(i)&&a!==0))if(o instanceof ee)this._updateTree(o,n,e);else{const u=o.trim();if(e.has(u)){const l=new ee;l.setToken(Ot),l.setLambdaId(n),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[a]=l}}}}};mr=Zo([$s(0,Me),$s(1,Z.Inject(Vt))],mr);function Ys(r){if(!r)return;if(r.getToken()!==Ot)return r;const n=r,e=n.getCurrentLambdaPrivacyVar(),t=n.getLambdaParameter();if(e)return Ys(e.get(t))}class No extends xe{constructor(n,e,t){super(n),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ne.LAMBDA_PARAMETER}execute(){const n=Ys(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(n)this.setValue(n.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class zs extends Qe{get zIndex(){return Ye.get(ne.LAMBDA_PARAMETER)||ze}create(n){const e=n.getFunctionDefinitionPrivacyVar(),t=n.getLambdaParameter();return e?new No(n.getToken(),t,e):new ye(f.SPILL)}checkAndCreateNodeType(n){if(!(!(n instanceof ee)||n.getToken().trim()!==Ot))return this.create(n)}}class eu extends xe{constructor(n){super(n),this._operatorString=n}get nodeType(){return ne.NULL}execute(){this.setValue(ce.create())}}var tu=Object.defineProperty,ru=Object.getOwnPropertyDescriptor,nu=(r,n,e,t)=>{for(var s=t>1?void 0:t?ru(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&tu(n,e,s),s},su=(r,n)=>(e,t)=>n(e,t,r);class iu extends xe{constructor(n,e){super(n),this._operatorString=n,this._functionExecutor=e}get nodeType(){return ne.OPERATOR}execute(){var i,a;const n=this.getChildren();this._functionExecutor.name===Le.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(i=n[0])==null?void 0:i.getValue(),t=(a=n[1])==null?void 0:a.getValue();const s=this.getToken();if((e==null||t==null)&&s!==pe.MINUS&&s!==pe.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=ce.create()),t==null&&(t=ce.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let dr=class extends Qe{constructor(r){super(),this._functionService=r}get zIndex(){return Ye.get(ne.OPERATOR)||ze}create(r){let n="";const e=r;e===pe.PLUS?n=Le.PLUS:e===pe.MINUS?n=Le.MINUS:e===pe.MULTIPLY?n=Le.MULTIPLY:e===pe.DIVIDED?n=Le.DIVIDED:e===pe.CONCATENATE?n=pt.CONCATENATE:e===pe.POWER?n=Ve.POWER:hi.has(e)&&(n=Le.COMPARE);const t=this._functionService.getExecutor(n);return t?new iu(e,t):(console.error(`No function ${r}`),ye.create(f.NAME))}checkAndCreateNodeType(r){if(r instanceof ee)return;const n=r.trim();if(!(n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')&&ot.has(n))return this.create(n)}};dr=nu([su(0,He)],dr);class au extends _.Disposable{constructor(){super(...arguments);S(this,"_tableMap",new Map);S(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var s;(s=this._tableMap.get(e))==null||s.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,s){var i;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(i=this._tableMap.get(e))==null||i.set(t,s)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const cn=Z.createIdentifier("univer.formula.super-table.service");class ou extends Lt{constructor(n,e,t,s){super(n),this._tableData=e,this._columnDataString=t;const i=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(i);const u=this._stringToColumnData(this._columnDataString,o,s),l=u.startColumn,c=u.endColumn,m=u.type;let d=-1,E=-1;const D=a.startRow,C=a.startColumn;m===ht.ALL?(d=D,E=C):m===ht.DATA?(d=D+1,E=C):m===ht.HEADERS?(d=D,E=D):m===ht.TOTALS&&(d=C,E=C),this.setRangeData({startColumn:l,endColumn:c,startRow:d,endRow:E})}isTable(){return!0}_stringToColumnData(n,e,t){n=n.substring(1,-1);const s=n.indexOf(X.COMMA);let i=-1,a=-1,o=ht.ALL;if(s===-1){const u=this._columnHandler(n,e);i=u.startColumn,a=u.endColumn}else{const u=n.substring(0,s).substring(1,-1),l=n.substring(s+1),c=this._columnHandler(l,e,!0);i=c.startColumn,a=c.endColumn,o=t.get(u),o||(o=ht.ALL)}return{startColumn:i,endColumn:a,type:o}}_columnHandler(n,e,t=!1){var o,u,l;let s=-1,i=-1;const a=n.indexOf(X.COLON);if(new RegExp(Pn,"g").test(n)){const c=n.substring(0,a).substring(1,-1),m=n.substring(a+1).substring(1,-1);s=(o=e.get(c))!=null?o:-1,i=(u=e.get(m))!=null?u:-1}else t&&(n=n.substring(1,-1)),s=(l=e.get(n))!=null?l:-1,i=s;return{startColumn:s,endColumn:i}}}var uu=Object.defineProperty,lu=Object.getOwnPropertyDescriptor,cu=(r,n,e,t)=>{for(var s=t>1?void 0:t?lu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&uu(n,e,s),s},$t=(r,n)=>(e,t)=>n(e,t,r);class gr extends xe{constructor(n,e,t,s=!1){super(e),this._accessor=n,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=s}get nodeType(){return ne.REFERENCE}execute(){const n=this._accessor.get(it),e=this._accessor.get(Me);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(n.getSheetNameMap()),this._referenceObject.setUnitData(n.getUnitData()),this._referenceObject.setArrayFormulaCellData(n.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setNumfmtItemData(n.getNumfmtItemMap()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();this._referenceObject.setRefOffset(t,s),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let pr=class extends Qe{constructor(r,n,e,t,s){super(),this._definedNamesService=r,this._superTableService=n,this._formulaRuntimeService=e,this._functionService=t,this._injector=s}get zIndex(){return Ye.get(ne.REFERENCE)||ze}checkAndCreateNodeType(r){var u,l;let n=!1,e,t=!1;r instanceof ee?(n=!0,e=r.getToken().trim(),((l=(u=r.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===X.COLON&&(t=!0)):e=r.trim();const{tokenTrim:s,minusPrefixNode:i,atPrefixNode:a}=Ts(e,this._functionService,this._injector);if(!n&&s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let o;if(new RegExp(Bt).test(s))o=new gr(this._injector,s,new Nr(s),t);else if(n&&new RegExp(An).test(s))o=new gr(this._injector,s,new en(s),t);else if(n&&new RegExp(wn).test(s))o=new gr(this._injector,s,new tn(s),t);else{const c=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(c),d=new RegExp(Pn,"g"),E=s.replace(d,"");if(!n&&(m!=null&&m.has(E))){const D=d.exec(s);let C="";D&&(C=D[0]);const A=m.get(E),P=this._superTableService.getTableOptionMap();o=new gr(this._injector,s,new ou(s,A,C,P))}}if(o)return a?o.setParent(a):i&&o.setParent(i),o}};pr=cu([$t(0,It),$t(1,cn),$t(2,Me),$t(3,He),$t(4,Z.Inject(Z.Injector))],pr);var fu=Object.defineProperty,hu=Object.getOwnPropertyDescriptor,mu=(r,n,e,t)=>{for(var s=t>1?void 0:t?hu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&fu(n,e,s),s},Qs=(r,n)=>(e,t)=>n(e,t,r);class Hs extends xe{constructor(n,e,t){super(e),this._accessor=n,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ne.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===Xe.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===Xe.POUND?t=this._handlerPound(e):t=h.create(f.VALUE),this.setValue(t)}_handlerPound(n){var c,m,d,E;if(!n.isReferenceObject()||!n.isCell())return h.create(f.VALUE);const e=this._accessor.get(it),t=this._accessor.get(Pt),s=n,i=s.getRangePosition(),a=s.getUnitId(),o=s.getSheetId(),u=e.getFormulaData(),l=(E=(d=(m=(c=u==null?void 0:u[a])==null?void 0:c[o])==null?void 0:m[i.startRow])==null?void 0:d[i.startColumn])==null?void 0:E.f;return l&&t.treeBuilder(l),h.create(f.VALUE)}}let Rr=class extends Qe{constructor(r,n){super(),this._functionService=r,this._injector=n}get zIndex(){return Ye.get(ne.SUFFIX)||ze}checkAndCreateNodeType(r){if(!(r instanceof ee))return;const n=r.getToken().trim();if(n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;let e="";if(n===Xe.PERCENTAGE)e=Le.DIVIDED;else return n===Xe.POUND?new Hs(this._injector,n):void 0;const t=this._functionService.getExecutor(e);return t?new Hs(this._injector,n,t):(console.error(`No function ${r}`),ye.create(f.NAME))}};Rr=mu([Qs(0,He),Qs(1,Z.Inject(Z.Injector))],Rr);var du=Object.defineProperty,gu=Object.getOwnPropertyDescriptor,pu=(r,n,e,t)=>{for(var s=t>1?void 0:t?gu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&du(n,e,s),s},Ru=(r,n)=>(e,t)=>n(e,t,r);class _u extends xe{constructor(n){super(n),this._operatorString=n}get nodeType(){return ne.UNION}execute(){const n=this.getChildren(),e=n[0].getValue(),t=n[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let s;this._operatorString===X.COLON?s=this._unionFunction(e,t):s=h.create(f.NAME),this.setValue(s)}_unionFunction(n,e){return n.isError()||e.isError()||!n.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(n=n,e=e,n.isCell()&&e.isCell()||n.isRow()&&e.isRow()||n.isColumn()&&e.isColumn()?n.unionBy(e):h.create(f.REF))}}let _r=class extends Qe{constructor(r){super(),this._functionService=r}get zIndex(){return Ye.get(ne.UNION)||ze}create(r){return new _u(r)}checkAndCreateNodeType(r){if(!(r instanceof ee))return;const e=r.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===X.COLON)return this.create(e)}};_r=pu([Ru(0,He)],_r);class Eu extends xe{constructor(n){super(n),this._operatorString=n}get nodeType(){return ne.VALUE}execute(){this.setValue(rt.create(this._operatorString))}}class Ws extends Qe{get zIndex(){return Ye.get(ne.VALUE)||ze}_checkValueNode(n){if(Number.isNaN(Number(n))){const e=n.trim(),t=e.charAt(0),s=e.charAt(e.length-1);if(Mt.has(e))return this.create(e);if(t==='"'&&s==='"')return this.create(e);if(t==="{"&&s==="}")return this.create(e);const i=e.toUpperCase();if(i===ct.TRUE||i===ct.FALSE)return this.create(i)}else return this.create(n)}create(n){return new Eu(n)}checkAndCreateNodeType(n){if(!(n instanceof ee))return this._checkValueNode(n)}}function Cu(r){let n=r;for(;n!=null&&n.getParent();)n=n.getParent();return n}var Du=Object.defineProperty,yu=Object.getOwnPropertyDescriptor,bu=(r,n,e,t)=>{for(var s=t>1?void 0:t?yu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Du(n,e,s),s},ke=(r,n)=>(e,t)=>n(e,t,r);let Yt=class extends _.Disposable{constructor(n,e,t,s,i,a,o,u,l,c,m){super();S(this,"_astNodeFactoryList",[]);S(this,"_refOffsetX",0);S(this,"_refOffsetY",0);this._runtimeService=n,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=s,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(n=>{n.dispose()}),this._astNodeFactoryList=[]}parse(n,e=0,t=0){const s=new un(et);return this._refOffsetX=e,this._refOffsetY=t,this._parse(n,s)}_lambdaParameterHandler(n,e){const t=e.getLambdaId(),s=new un(et),i=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!i)return!1;const a=[...i.keys()],o=n.getChildren(),u=o.length;for(let m=0;m<u;m++){const d=o[m];if(d instanceof ee)this._parse(d,s);else return!1}const l=s.getChildren(),c=l.length;for(let m=0;m<c;m++){const d=l[m];i.set(a[m],d)}return s.setParent(e),e}_changeLetToLambda(n){const e=n.getChildren(),t=e.length;if(t%2!==1||t===0)return;const s=new ee;s.setToken(Ut);const i=new ee;i.setToken(Dt);const a=[...e];for(let u=0;u<t;u++){const l=a[u];if(!(l instanceof ee))return;u%2===0?l.changeToParent(s):l.changeToParent(i)}s.addChildrenFirst(i),i.setParent(s);const o=n.getParent();return o==null||o.replaceChild(n,s),s}_parse(n,e){const t=n.getChildren(),s=t.length,i=[];let a=null;const o=n.getToken().trim().toUpperCase();if(o===Di){const c=this._changeLetToLambda(n);return c!=null?this._parse(c,e):ye.create(f.ERROR)}if(o===Ke){if(a=e,s===0)return new eu(et).setParent(e),a}else{if(o===Dt){let c=this._lambdaParameterHandler(n,e);return c===!1&&(c=ye.create(f.ERROR)),c}if(a=this._checkAstNode(n),a==null)return ye.create(f.ERROR)}const u=t[0];for(let c=0;c<s;c++){const m=t[c];if(js(u)){if(c!==0&&c!==s-1)continue}else if(Xo(m)&&c!==s-1)continue;let d=null;if(m instanceof ee){if(d=this._parse(m,a),d===a)continue}else d=this._checkAstNode(m);if(d==null)return ye.create(f.NAME);if(d=Cu(d),d==null)return;switch(d.nodeType){case ne.ERROR:return d;case ne.FUNCTION:i.push(d);break;case ne.LAMBDA:i.push(d);break;case ne.LAMBDA_PARAMETER:i.push(d);break;case ne.OPERATOR:{const E=i.pop(),D=i.pop();D&&D.setParent(d),E&&E.setParent(d),i.push(d);break}case ne.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),i.push(d);break;case ne.ROOT:i.push(d);break;case ne.UNION:i.push(d);break;case ne.VALUE:i.push(d);break;case ne.PREFIX:i.push(d);break;case ne.SUFFIX:i.push(d);break}}const l=i.length;for(let c=0;c<l;c++)i[c].setParent(a);return a}_checkAstNode(n){let e=null;const t=this._astNodeFactoryList.length;for(let s=0;s<t&&(e=this._astNodeFactoryList[s].checkAndCreateNodeType(n),e==null);s++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(_.sortRules)}};Yt=bu([ke(0,Me),ke(1,Z.Inject(Os)),ke(2,Z.Inject(hr)),ke(3,Z.Inject(mr)),ke(4,Z.Inject(zs)),ke(5,Z.Inject(dr)),ke(6,Z.Inject(cr)),ke(7,Z.Inject(pr)),ke(8,Z.Inject(Rr)),ke(9,Z.Inject(_r)),ke(10,Z.Inject(Ws))],Yt);class Gs extends _.Disposable{constructor(){super(...arguments);S(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Er=Z.createIdentifier("univer.formula.feature-calculation-manager.service");class Xs extends _.Disposable{constructor(){super(...arguments);S(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:s,formulaId:i}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[s])==null||delete u[i]}get(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i]}has(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i])!=null}register(e){const{unitId:t,subUnitId:s,formulaId:i,item:a}=e;this._otherFormulaData[t]&&(this._otherFormulaData[t]={}),this._otherFormulaData[t][s]&&(this._otherFormulaData[t][s]={}),this._otherFormulaData[t][s][i]=a}getOtherFormulaData(){return this._otherFormulaData}}const fn=Z.createIdentifier("univer.formula.other-formula-manager.service");class hn extends _.Disposable{constructor(){super(...arguments);S(this,"node");S(this,"children",[]);S(this,"parents",[]);S(this,"formula","");S(this,"row",-1);S(this,"column",-1);S(this,"rowCount",Number.NEGATIVE_INFINITY);S(this,"columnCount",Number.NEGATIVE_INFINITY);S(this,"subUnitId","");S(this,"unitId","");S(this,"rangeList",[]);S(this,"formulaId");S(this,"featureId");S(this,"getDirtyData");S(this,"_state",0)}dispose(){var e;this.children.forEach(t=>{t.dispose()}),this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,s=e.startColumn,i=e.endRow,a=e.endColumn;return!(this.row<t||this.row>i||this.column<s||this.column>a)}dependencyRange(e,t,s){var i,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:m,range:d}=l.gridRange;if(((i=t[c])==null?void 0:i[m])!=null)return!0;if(!e.has(c))continue;const E=e.get(c);if(!E.has(m))continue;const D=E.get(m),C=(a=s==null?void 0:s[c])==null?void 0:a[m];let{startRow:A,endRow:P,startColumn:x,endColumn:U}=d;Number.isNaN(A)&&(A=0),Number.isNaN(x)&&(x=0),Number.isNaN(P)&&(P=Number.POSITIVE_INFINITY),Number.isNaN(U)&&(U=Number.POSITIVE_INFINITY);for(const $ of D){const{startRow:se,startColumn:he,endRow:me,endColumn:J}=$;if(!(A>me||P<se||x>J||U<he)){let z=!0;if(C==null||C.forValue((te,N)=>{if(te>=A&&te<=P&&N>=x&&N<=U)return z=!1,!1}),z)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,s=this.rangeList.length;t<s;t++){const i=this.rangeList[t],a=i.gridRange.unitId,o=i.gridRange.sheetId,u=i.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class Su extends _.Disposable{constructor(){super(...arguments);S(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}add(e,t){const{token:s}=e;if(!this._cacheItems.has(s)){this._cacheItems.set(s,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(s).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const s=this._cacheItems.get(e),i=s.treeList.indexOf(t);i!==-1&&s.treeList.splice(i,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:s,treeList:i}=t,{gridRange:a}=s,{unitId:o,sheetId:u,range:l}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&i.forEach(c=>{if(c===e)return!0;c.pushChildren(e)})})}}var Lu=Object.defineProperty,Au=Object.getOwnPropertyDescriptor,wu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Au(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Lu(n,e,s),s},Rt=(r,n)=>(e,t)=>n(e,t,r);const Pu=1e5,mn=new ut(Pu);let zt=class extends _.Disposable{constructor(n,e,t,s,i,a,o){super();S(this,"_updateRangeFlattenCache",new Map);S(this,"_dirtyUnitSheetNameMap",{});this._currentConfigService=n,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=s,this._interpreter=i,this._astTreeBuilder=a,this._lexer=o}dispose(){this._updateRangeFlattenCache.clear(),mn.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const n=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:s,dependencyTreeCache:i}=await this._generateTreeList(n,e,t),a=this._getUpdateTreeListAndMakeDependency(s,i);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(n,e,t){if(!e.has(n)){e.add(n),t.add(n);for(let s=0;s<n.children.length;s++)if(!e.has(n.children[s])&&this._isCyclicUtil(n.children[s],e,t)||t.has(n.children[s]))return!0}return t.delete(n),!1}_checkIsCycleDependency(n){const e=new Set,t=new Set;for(let s=0,i=n.length;s<i;s++){const a=n[s];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(n,e,t){const s=Object.keys(n),i=Object.keys(e),a=[];for(const u of s){const l=n[u];if(l==null)continue;const c=Object.keys(l);for(const m of c)new _.ObjectMatrix(l[m]).forValue((E,D,C)=>{if(C==null)return!0;const{f:A,x:P,y:x}=C,U=this._generateAstNode(A,P,x),$=new hn,se=t[u][m];$.node=U,$.formula=A,$.unitId=u,$.subUnitId=m,$.row=E,$.column=D,$.rowCount=se.rowCount,$.columnCount=se.columnCount,a.push($)})}for(const u of i){const l=e[u];if(l==null)continue;const c=Object.keys(l);for(const m of c){const d=l[m];if(d==null)continue;const E=Object.keys(d);for(const D of E){const C=d[D],{f:A}=C,P=this._generateAstNode(A),x=new hn;x.node=P,x.formula=A,x.unitId=u,x.subUnitId=m,x.formulaId=D,a.push(x)}}}this._featureCalculationManagerService.getReferenceExecutorMap().forEach((u,l)=>{const{unitId:c,subUnitId:m,dependencyRanges:d,getDirtyData:E}=u,D=new hn;D.unitId=c,D.subUnitId=m,D.getDirtyData=E,D.featureId=l,D.rangeList=d.map(C=>({gridRange:C,token:yt({...C,sheetName:this._currentConfigService.getSheetName(C.unitId,C.sheetId)})})),a.push(D)});const o=new Su;for(let u=0,l=a.length;u<l;u++){const c=a[u];if(this._runtimeService.setCurrent(c.row,c.column,c.rowCount,c.columnCount,c.subUnitId,c.unitId),c.node==null)continue;const m=await this._getRangeListByNode(c.node);for(let d=0,E=m.length;d<E;d++){const D=m[d];c.pushRangeList(D),o.add(D,c)}}return{treeList:a,dependencyTreeCache:o}}_updateRangeFlatten(){const n=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!n){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const s=e[t],i=s.range,a=s.sheetId,o=s.unitId;this._addFlattenCache(o,a,i)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(n,e=0,t=0){let s=mn.get(`${n}##${e}${t}`);if(s)return s;const i=this._lexer.treeBuilder(n);if(Mt.has(i))return ye.create(i);if(s=this._astTreeBuilder.parse(i,e,t),s==null)throw new Error("astNode is null");return mn.set(`${n}##${e}${t}`,s),s}_addFlattenCache(n,e,t){let s=this._updateRangeFlattenCache.get(n);s==null&&(s=new Map,this._updateRangeFlattenCache.set(n,s));let i=s.get(e);i==null&&(i=[],s.set(e,i)),i.push(t)}_isPreCalculateNode(n){return n.nodeType===ne.UNION||n.nodeType===ne.PREFIX&&n.getToken()===_e.AT||n.nodeType===ne.SUFFIX&&n.getToken()===Xe.POUND}_nodeTraversalRef(n,e){const t=n.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===ne.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(n,e){const t=n.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.nodeType===ne.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(n){let e;return this._interpreter.checkAsyncNode(n)?e=await this._interpreter.executeAsync(n):e=this._interpreter.execute(n),e}async _getRangeListByNode(n){const e=[],t=[];this._nodeTraversalRef(n,e),this._nodeTraversalReferenceFunction(n,t);const s=[];for(let i=0,a=e.length;i<a;i++){const o=e[i],l=(await this._executeNode(o)).toUnitRange(),c=yt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});s.push({gridRange:l,token:c})}for(let i=0,a=t.length;i<a;i++){const o=t[i],l=(await this._executeNode(o)).toUnitRange(),c=yt({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});s.push({gridRange:l,token:c})}return s}_getUpdateTreeListAndMakeDependency(n,e){const t=[],s=new Set,i=this._currentConfigService.isForceCalculate();let a=!0;e.size()>n.length&&(a=!1);for(let o=0,u=n.length;o<u;o++){const l=n[o];if(a)e.dependency(l);else for(let c=0,m=n.length;c<m;c++){const d=n[c];l!==d&&l.dependency(d)&&l.pushChildren(d)}(i||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!s.has(l)&&(t.push(l),s.add(l))}return e.dispose(),t}_includeTree(n){var l,c,m,d,E;const e=n.unitId,t=n.subUnitId,s=n.featureId;if(s!=null){const D=this._currentConfigService.getDirtyUnitFeatureMap();if(((c=(l=D==null?void 0:D[e])==null?void 0:l[t])==null?void 0:c[s])!=null)return!0}const i=(d=(m=this._currentConfigService.getExcludedRange())==null?void 0:m[e])==null?void 0:d[t];let a=!1;if(i==null||i.forValue((D,C)=>{if(n.row===D&&n.column===C)return a=!0,!1}),a)return!1;if(((E=this._dirtyUnitSheetNameMap[e])==null?void 0:E[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const o=this._updateRangeFlattenCache.get(e);if(!o.has(t))return!1;const u=o.get(t);for(const D of u)if(n.inRangeData(D))return!0;return!1}_calculateRunList(n){let e=n;const t=[];for(;e.length>0;){const s=e.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){t.push(s);continue}const i=[];for(let a=0,o=s.parents.length;a<o;a++){const u=s.parents[a];u.isAdded()||s.isSkip()||i.push(u)}i.length===0?(t.push(s),s.setSkip()):(s.setAdded(),e.push(s),e=e.concat(i))}return t.reverse()}};zt=wu([_.OnLifecycle(_.LifecycleStages.Rendered,zt),Rt(0,it),Rt(1,Me),Rt(2,fn),Rt(3,Er),Rt(4,Z.Inject(Vt)),Rt(5,Z.Inject(Yt)),Rt(6,Z.Inject(Pt))],zt);var Vu=Object.defineProperty,xu=Object.getOwnPropertyDescriptor,vu=(r,n,e,t)=>{for(var s=t>1?void 0:t?xu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Vu(n,e,s),s},_t=(r,n)=>(e,t)=>n(e,t,r);const Mu=1;L.CalculateFormulaService=class extends _.Disposable{constructor(e,t,s,i,a,o,u){super();S(this,"_executionStartListener$",new vr.Subject);S(this,"executionStartListener$",this._executionStartListener$.asObservable());S(this,"_executionCompleteListener$",new vr.Subject);S(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());S(this,"_executionInProgressListener$",new vr.Subject);S(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=s,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}dispose(){}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||Mu;for(let s=0;s<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());s++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Zr.clear(),tt.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:s}=e,{dirtyRanges:i,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,s);return i==null||i.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(i,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const s=[],i={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new _.ObjectMatrix(o[u]);if(l==null)return!0;const c=new _.ObjectMatrix;l.forValue((m,d,E)=>{c.setValue(m,d,!0),s.push({unitId:a,sheetId:u,range:E})}),i[a]==null&&(i[a]={}),i[a][u]=c})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const m=l[c];if(m==null)return!0;for(const d of m)s.push({unitId:u,sheetId:c,range:d})})})}),{dirtyRanges:s,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),s=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());for(let i=0,a=t.length;i<a;i++){if(await new Promise(m=>{_.requestImmediateMacroTask(m)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const o=t[i],u=o.node,l=o.getDirtyData;let c;if(u==null&&l==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId),l!=null&&o.featureId!=null){const{runtimeCellData:m,dirtyRanges:d}=l(o);this._runtimeService.setRuntimeFeatureCellData(o.featureId,m),this._runtimeService.setRuntimeFeatureRange(o.featureId,d)}else u!=null&&(s.checkAsyncNode(u)?c=await s.executeAsync(u):c=s.execute(u),o.formulaId!=null?this._runtimeService.setRuntimeOtherData(o.formulaId,c):this._runtimeService.setRuntimeData(c));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const s=this._lexer.treeBuilder(e,t);if(Object.values(f).includes(s))return ye.create(s);const i=this._astTreeBuilder.parse(s);i==null||i.serialize()}},L.CalculateFormulaService=vu([_.OnLifecycle(_.LifecycleStages.Rendered,L.CalculateFormulaService),_t(0,_.IConfigService),_t(1,Z.Inject(Pt)),_t(2,it),_t(3,Me),_t(4,Z.Inject(zt)),_t(5,Z.Inject(Vt)),_t(6,Z.Inject(Yt))],L.CalculateFormulaService);const dn={id:"formula.mutation.set-numfmt-formula-data",type:_.CommandType.MUTATION,handler:(r,n)=>(r.get(L.FormulaDataModel).updateNumfmtItemMap(n.numfmtItemMap),!0)};var Fu=Object.defineProperty,Bu=Object.getOwnPropertyDescriptor,Ou=(r,n,e,t)=>{for(var s=t>1?void 0:t?Bu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Fu(n,e,s),s},Cr=(r,n)=>(e,t)=>n(e,t,r);let Dr=class extends _.Disposable{constructor(r,n,e,t){super(),this._commandService=r,this._calculateFormulaService=n,this._currentUniverService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,n)=>{if(r.id===Yr.id)this._calculateFormulaService.stopFormulaExecution();else if(r.id===Qr.id){const e=r.params.formulaData;this._formulaDataModel.setFormulaData(e)}else if(r.id===$r.id){const e=r.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:s,dirtyUnitFeatureMap:i,numfmtItemMap:a}=e;this._calculate(!1,t,s,i,a)}}else if(r.id===Jt.id){const e=r.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:s}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(s)}}))}async _calculate(r=!1,n=[],e={},t={},s={}){if(n.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&r===!1)return;const i=this._formulaDataModel.getFormulaData(),a=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:i,arrayFormulaCellData:a,forceCalculate:r,dirtyRanges:n,dirtyNameMap:e,dirtyUnitFeatureMap:t,numfmtItemMap:s})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(r=>{const n=r.functionsExecutedState;switch(n){case wt.NOT_EXECUTED:break;case wt.STOP_EXECUTION:break;case wt.SUCCESS:this._applyFormula(r);break;case wt.INITIAL:break}this._commandService.executeCommand(tr.id,{functionsExecutedState:n},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(r=>{this._commandService.executeCommand(tr.id,{stageInfo:r},{onlyLocal:!0})})}async _applyFormula(r){const{unitData:n,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:s,clearArrayFormulaCellData:i,numfmtItemMap:a}=r;if(!n){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(Jt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),_.Tools.isEmptyObject(a)||this._commandService.executeCommand(dn.id,{numfmtItemMap:a},{onlyLocal:!0}),this._commandService.executeCommand(zr.id,{unitData:Ri(n),unitOtherData:e},{onlyLocal:!0})}};Dr=Ou([_.OnLifecycle(_.LifecycleStages.Ready,Dr),Cr(0,_.ICommandService),Cr(1,Z.Inject(L.CalculateFormulaService)),Cr(2,_.IUniverInstanceService),Cr(3,Z.Inject(L.FormulaDataModel))],Dr);var Uu=Object.defineProperty,ku=Object.getOwnPropertyDescriptor,Tu=(r,n,e,t)=>{for(var s=t>1?void 0:t?ku(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Uu(n,e,s),s},gn=(r,n)=>(e,t)=>n(e,t,r);let Qt=class extends _.Disposable{constructor(r=[],n,e,t){super(),this._function=r,this._commandService=n,this._injector=e,this._functionService=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Qr,Jt,$r,Yr,tr,zr,dn,Nt,er,jr,Ir,Hr,Wr,jn,In,Gr,Mr,Xr].forEach(r=>this.disposeWithMe(this._commandService.registerCommand(r)))}_registerFunctions(){const r=[...is,...cs,...fs,...ms,...gs,...ps,..._s,...Cs,...Ds,...ys,...Ls,...As,...Ps,...xs,...vs,...Ms].concat(this._function).map(n=>{const e=n[0],t=n[1];return new e(t)});this._functionService.registerExecutors(...r)}};Qt=Tu([_.OnLifecycle(_.LifecycleStages.Ready,Qt),gn(1,_.ICommandService),gn(2,Z.Inject(Z.Injector)),gn(3,He)],Qt);var ju=Object.defineProperty,Iu=Object.getOwnPropertyDescriptor,$u=(r,n,e,t)=>{for(var s=t>1?void 0:t?Iu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&ju(n,e,s),s},pn=(r,n)=>(e,t)=>n(e,t,r);let yr=class extends _.Disposable{constructor(r,n,e){super(),this._commandService=r,this._formulaDataModel=n,this._functionService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,n)=>{if(r.id===Mr.id){const e=r.params;if(e==null)return;const{functions:t}=e,s=t.map(i=>{const a=i[0],o=i[1];return zu(a,o)});this._functionService.registerExecutors(...s)}else if(r.id===Xr.id){const e=r.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};yr=$u([_.OnLifecycle(_.LifecycleStages.Ready,yr),pn(0,_.ICommandService),pn(1,Z.Inject(L.FormulaDataModel)),pn(2,He)],yr);class Yu extends I{isCustom(){return!0}}function zu(r,n){const e=new Yu(n),t=new Function(`return ${r}`)();return e.calculateCustom=t,e}var Qu=Object.defineProperty,Hu=Object.getOwnPropertyDescriptor,Wu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Hu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Qu(n,e,s),s},Ks=(r,n)=>(e,t)=>n(e,t,r);let br=class extends _.Disposable{constructor(r,n){super(),this._commandService=r,this._definedNamesService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Nt.id){const n=r.params;if(n==null)return;const{unitId:e,name:t,formulaOrRefString:s}=n;this._definedNamesService.registerDefinedName(e,t,s)}else if(r.id===er.id){const n=r.params;if(n==null)return;const{unitId:e,name:t}=n;this._definedNamesService.removeDefinedName(e,t)}}))}};br=Wu([_.OnLifecycle(_.LifecycleStages.Ready,br),Ks(0,_.ICommandService),Ks(1,It)],br);var Gu=Object.defineProperty,Xu=Object.getOwnPropertyDescriptor,Ku=(r,n,e,t)=>{for(var s=t>1?void 0:t?Xu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Gu(n,e,s),s},qs=(r,n)=>(e,t)=>n(e,t,r);let Sr=class extends _.Disposable{constructor(r,n){super(),this._commandService=r,this._featureCalculationManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===jr.id){const n=r.params;if(n==null)return;const{featureId:e,calculationParam:t}=n;this._featureCalculationManagerService.register(e,t)}else if(r.id===Ir.id){const n=r.params;if(n==null)return;const{featureId:e}=n;this._featureCalculationManagerService.remove(e)}}))}};Sr=Ku([_.OnLifecycle(_.LifecycleStages.Ready,Sr),qs(0,_.ICommandService),qs(1,Er)],Sr);var qu=Object.defineProperty,Zu=Object.getOwnPropertyDescriptor,Ju=(r,n,e,t)=>{for(var s=t>1?void 0:t?Zu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&qu(n,e,s),s},Zs=(r,n)=>(e,t)=>n(e,t,r);let Lr=class extends _.Disposable{constructor(r,n){super(),this._commandService=r,this._otherFormulaManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Hr.id){const n=r.params;if(n==null)return;this._otherFormulaManagerService.register(n)}else if(r.id===Wr.id){const n=r.params;if(n==null)return;this._otherFormulaManagerService.remove(n)}}))}};Lr=Ju([_.OnLifecycle(_.LifecycleStages.Ready,Lr),Zs(0,_.ICommandService),Zs(1,fn)],Lr);var Nu=Object.defineProperty,el=Object.getOwnPropertyDescriptor,tl=(r,n,e,t)=>{for(var s=t>1?void 0:t?el(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Nu(n,e,s),s},Js=(r,n)=>(e,t)=>n(e,t,r);let Ar=class extends _.Disposable{constructor(r,n){super(),this._commandService=r,this._superTableService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Nt.id){const n=r.params;if(n==null)return;const{unitId:e,tableName:t,reference:s}=n;this._superTableService.registerTable(e,t,s)}else if(r.id===er.id){const n=r.params;if(n==null)return;const{unitId:e,tableName:t}=n;this._superTableService.remove(e,t)}else if(r.id===Gr.id){const n=r.params;if(n==null)return;const{tableOption:e,tableOptionType:t}=n;this._superTableService.registerTableOptionMap(e,t)}}))}};Ar=tl([_.OnLifecycle(_.LifecycleStages.Ready,Ar),Js(0,_.ICommandService),Js(1,cn)],Ar);var rl=Object.defineProperty,nl=Object.getOwnPropertyDescriptor,sl=(r,n,e,t)=>{for(var s=t>1?void 0:t?nl(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&rl(n,e,s),s},il=(r,n)=>(e,t)=>n(e,t,r);const al="base-formula-engine";L.UniverFormulaEnginePlugin=class extends _.Plugin{constructor(n,e){super(al),this._config=n,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const n=[[He,{useClass:Us}],[Er,{useClass:Gs}],[It,{useClass:Bs}],[L.FormulaDataModel],[Zt],[Qt,{useFactory:()=>{var t;return this._injector.createInstance(Qt,(t=this._config)==null?void 0:t.function)}}],[Sr]];(e=this._config)!=null&&e.notExecuteFormula||n.push([L.CalculateFormulaService],[fn,{useClass:Xs}],[cn,{useClass:au}],[it,{useClass:L.FormulaCurrentConfigService}],[Me,{useClass:L.FormulaRuntimeService}],[Dr],[br],[Lr],[Ar],[yr],[zt],[Vt],[Yt],[Pt],[Os],[hr],[mr],[zs],[dr],[cr],[pr],[Rr],[_r],[Ws]),n.forEach(t=>this._injector.add(t))}onReady(){this._injector.get(L.FormulaDataModel).initFormulaData()}},L.UniverFormulaEnginePlugin=sl([il(1,Z.Inject(Z.Injector))],L.UniverFormulaEnginePlugin),L.ArrayValueObject=be,L.BaseFunction=I,L.BaseReferenceObject=Lt,L.BaseValueObject=Ze,L.BooleanValueObject=H,L.DefinedNamesService=Bs,L.ErrorType=f,L.ErrorValueObject=h,L.FUNCTION_NAMES_ARRAY=ra,L.FUNCTION_NAMES_COMPATIBILITY=At,L.FUNCTION_NAMES_CUBE=hs,L.FUNCTION_NAMES_DATABASE=ds,L.FUNCTION_NAMES_DATE=nt,L.FUNCTION_NAMES_ENGINEERING=Rs,L.FUNCTION_NAMES_FINANCIAL=Es,L.FUNCTION_NAMES_INFORMATION=Ue,L.FUNCTION_NAMES_LOGICAL=st,L.FUNCTION_NAMES_LOOKUP=Se,L.FUNCTION_NAMES_MATH=Ve,L.FUNCTION_NAMES_STATISTICAL=Ae,L.FUNCTION_NAMES_TEXT=pt,L.FUNCTION_NAMES_UNIVER=Lo,L.FUNCTION_NAMES_WEB=Fs,L.FeatureCalculationManagerService=Gs,L.FormulaExecuteStageType=$e,L.FormulaExecutedStateType=wt,L.FunctionService=Us,L.FunctionType=Cn,L.IDefinedNamesService=It,L.IFeatureCalculationManagerService=Er,L.IFormulaCurrentConfigService=it,L.IFormulaRuntimeService=Me,L.IFunctionService=He,L.LexerNode=ee,L.LexerTreeBuilder=Zt,L.NumberValueObject=b,L.OtherFormulaManagerService=Xs,L.RangeReferenceObject=jt,L.RegisterFunctionMutation=Mr,L.RemoveDefinedNameMutation=er,L.RemoveFeatureCalculationMutation=Ir,L.RemoveOtherFormulaMutation=Wr,L.RemoveSuperTableMutation=In,L.SetArrayFormulaDataMutation=Jt,L.SetArrayFormulaDataUndoMutationFactory=Mi,L.SetDefinedNameMutation=Nt,L.SetFeatureCalculationMutation=jr,L.SetFormulaCalculationNotificationMutation=tr,L.SetFormulaCalculationResultMutation=zr,L.SetFormulaCalculationStartMutation=$r,L.SetFormulaCalculationStopMutation=Yr,L.SetFormulaDataMutation=Qr,L.SetNumfmtFormulaDataMutation=dn,L.SetOtherFormulaMutation=Hr,L.SetSuperTableMutation=jn,L.SetSuperTableOptionMutation=Gr,L.StringValueObject=Ee,L.UnregisterFunctionMutation=Xr,L.ValueObjectFactory=rt,L.compareToken=O,L.convertUnitDataToRuntime=bn,L.deserializeRangeForR1C1=ss,L.deserializeRangeWithSheet=bt,L.functionArray=is,L.functionCompatibility=cs,L.functionCube=fs,L.functionDatabase=ms,L.functionDate=gs,L.functionEngineering=ps,L.functionFinancial=_s,L.functionInformation=Cs,L.functionLogical=Ds,L.functionLookup=ys,L.functionMath=Ls,L.functionMeta=As,L.functionStatistical=Ps,L.functionText=xs,L.functionUniver=vs,L.functionWeb=Ms,L.generateStringWithSequence=On,L.getAbsoluteRefTypeWitString=Li,L.getAbsoluteRefTypeWithSingleString=kt,L.includeFormulaLexerToken=yn,L.initSheetFormulaData=Tn,L.isFormulaLexerToken=Ft,L.isInDirtyRange=En,L.isReferenceString=Vn,L.matchRefDrawToken=pi,L.matchToken=X,L.normalizeSheetName=gi,L.operatorToken=pe,L.sequenceNodeType=ve,L.serializeRange=lt,L.serializeRangeToRefString=yt,L.serializeRangeWithSheet=Mn,L.serializeRangeWithSpreadsheet=Fn,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(L,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs"],E):(L=typeof globalThis<"u"?globalThis:L||self,E(L.UniverEngineFormula={},L.UniverCore,L["@wendellhu/redi"],L.rxjs))})(this,function(L,E,K,Dt){"use strict";var wl=Object.defineProperty;var Pl=(L,E,K)=>E in L?wl(L,E,{enumerable:!0,configurable:!0,writable:!0,value:K}):L[E]=K;var b=(L,E,K)=>(Pl(L,typeof E!="symbol"?E+"":E,K),K);function Cn(r,n,e,t,s){for(let i=0,a=r.length;i<a;i++){const o=r[i];if(n!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:m}=o.range;if(t>=u&&t<=c&&s>=l&&s<=m)return!0}return!1}var f=(r=>(r.DIV_BY_ZERO="#DIV/0!",r.NAME="#NAME?",r.VALUE="#VALUE!",r.NUM="#NUM!",r.NA="#N/A",r.CYCLE="#CYCLE!",r.REF="#REF!",r.SPILL="#SPILL!",r.CALC="#CALC!",r.ERROR="#ERROR!",r.CONNECT="#GETTING_DATA",r.NULL="#NULL!",r))(f||{});const Ut=new Set(Object.values(f));var yn=(r=>(r[r.Financial=0]="Financial",r[r.Date=1]="Date",r[r.Math=2]="Math",r[r.Statistical=3]="Statistical",r[r.Lookup=4]="Lookup",r[r.Database=5]="Database",r[r.Text=6]="Text",r[r.Logical=7]="Logical",r[r.Information=8]="Information",r[r.Engineering=9]="Engineering",r[r.Cube=10]="Cube",r[r.Compatibility=11]="Compatibility",r[r.Web=12]="Web",r[r.Array=13]="Array",r[r.Univer=14]="Univer",r[r.User=15]="User",r[r.DefinedName=16]="DefinedName",r))(yn||{}),ge=(r=>(r.PLUS="+",r.MINUS="-",r.MULTIPLY="*",r.DIVIDED="/",r.CONCATENATE="&",r.POWER="^",r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(ge||{}),B=(r=>(r.EQUALS="=",r.NOT_EQUAL="<>",r.GREATER_THAN=">",r.GREATER_THAN_OR_EQUAL=">=",r.LESS_THAN="<",r.LESS_THAN_OR_EQUAL="<=",r))(B||{});const qt=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),ct=new Set(qt.keys()),_i=new Set(["=","<>",">",">=","<","<="]);var X=(r=>(r.OPEN_BRACKET="(",r.CLOSE_BRACKET=")",r.COMMA=",",r.SINGLE_QUOTATION="'",r.DOUBLE_QUOTATION='"',r.OPEN_BRACES="{",r.CLOSE_BRACES="}",r.COLON=":",r.OPEN_SQUARE_BRACKET="[",r.CLOSE_SQUARE_BRACKET="]",r))(X||{}),Xe=(r=>(r.PERCENTAGE="%",r.POUND="#",r))(Xe||{});const Ei=new Set(["%","#"]);var _e=(r=>(r.AT="@",r.MINUS="-",r))(_e||{});const Ci=" ",Dn=[...Object.values(B),...Object.values(ge),...Object.values(X),...Object.values(Xe),...Object.values(_e)];function Ot(r){return Dn.includes(r)}function bn(r){for(const n of Dn)if(r.indexOf(n)>-1)return!0;return!1}function yi(r){return r[0]==="'"&&r[r.length-1]==="'"?r.substring(1,r.length-1):r}function Di(r){return Ot(r)&&r!==X.CLOSE_BRACES&&r!==X.CLOSE_BRACKET&&r!==X.SINGLE_QUOTATION&&r!==X.DOUBLE_QUOTATION||r===" "}function Sn(r){const n={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;n[e]==null&&(n[e]={}),Object.keys(t).forEach(s=>{const i=t[s];n[e][s]=new E.ObjectMatrix(i)})}),n}function bi(r){const n={};return Object.keys(r).forEach(e=>{const t=r[e];if(t==null)return!0;n[e]==null&&(n[e]={}),Object.keys(t).forEach(s=>{const i=t[s];n[e][s]=i.getData()})}),n}const Or={id:"formula.mutation.register-function",type:E.CommandType.MUTATION,handler:()=>!0};class ft{constructor(n){b(this,"_cache");this._cache=new E.LRUMap(n)}set(n,e){const t=this._hash(n);this._cache.set(t,e)}get(n){const e=this._hash(n);return this._cache.get(e)}clear(){this._cache.clear()}_hash(n){return E.hashAlgorithm(n)}}const Fr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Si="((?![\\[\\]\\/?*\\\\]).)*!",tt="$",Br="\\s*?:\\s*?",bt=`'?(${Fr})?(${Si})?'?`,kr=`\\${tt}?[A-Za-z]+\\${tt}?[0-9]+`,Ai=`^(${_e.AT})?${bt}${kr}${Br}${kr}$`,Ft=`^${bt}\\s*?${kr}(${Xe.POUND})?$`,An=`^${bt}\\${tt}?[0-9]+${Br}\\${tt}?[0-9]+$`,Ln=`^${bt}\\${tt}?[A-Za-z]+${Br}\\${tt}?[A-Za-z]+$`,wn=`^${bt}\\s*?\\${tt}?[0-9]+$`,Pn=`^${bt}\\s*?\\${tt}?[A-Za-z]+$`,Vn="[.*?]",Li="{.*?}";function xn(r){return new RegExp(Ft).test(r)||new RegExp(Ai).test(r)||new RegExp(An).test(r)||new RegExp(Ln).test(r)}const Ke="P_1",rt="R_1",St="L_1",Bt="LR_1",vn="LO_1",wi="LET",kt="LAMBDA",Pi="CUBE",Vi=/[^0-9]/g,xi=/[^A-Za-z]/g;function Tt(r){const n=r[0]==="$",t=r.substring(1).indexOf("$")>-1;return n&&t?E.AbsoluteRefType.ALL:n?E.AbsoluteRefType.COLUMN:t?E.AbsoluteRefType.ROW:E.AbsoluteRefType.NONE}function vi(r){const n=r.split("!");n.length>1&&(r=n[n.length-1]);const e=r.split(":");return e.length>1?{startAbsoluteRefType:Tt(e[0]),endAbsoluteRefType:Tt(e[1])}:{startAbsoluteRefType:Tt(e[0])}}function Mn(r=E.AbsoluteRefType.NONE){let n="",e="";return r===E.AbsoluteRefType.ROW?n="$":r===E.AbsoluteRefType.COLUMN?e="$":r===E.AbsoluteRefType.ALL&&(n="$",e="$"),{rowAbsoluteString:n,columnAbsoluteString:e}}function qe(r){const{startColumn:n,startRow:e,endColumn:t,endRow:s,startAbsoluteRefType:i,endAbsoluteRefType:a,rangeType:o=E.RANGE_TYPE.NORMAL}=r,u=Mn(i),l=Mn(a);if(o===E.RANGE_TYPE.ROW||o===E.RANGE_TYPE.ALL){const d=`${u.rowAbsoluteString}${e+1}`,R=`${l.rowAbsoluteString}${s+1}`;return`${d}:${R}`}if(o===E.RANGE_TYPE.COLUMN){const d=`${u.columnAbsoluteString}${E.Tools.chatAtABC(n)}`,R=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}`;return`${d}:${R}`}const c=`${u.columnAbsoluteString}${E.Tools.chatAtABC(n)}${u.rowAbsoluteString}${e+1}`,m=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}${l.rowAbsoluteString}${s+1}`;return c===m?c:`${c}:${m}`}function Un(r,n){return Zt(r)?`'${r}'!${qe(n)}`:`${r}!${qe(n)}`}function On(r,n,e){return Zt(r)||Zt(n)?`'[${r}]${n}'!${qe(e)}`:`[${r}]${n}!${qe(e)}`}function ht(r){const{unitId:n,sheetName:e,range:t}=r;return n!=null&&n.length>0&&e!=null&&e.length>0?On(n,e,t):e!=null&&e.length>0?Un(e,t):qe(t)}function Tr(r){const n=Number.parseInt(r.replace(Vi,""))-1,e=E.Tools.ABCatNum(r.replace(xi,"")),t=Tt(r);return{row:n,column:e,absoluteRefType:t}}function Fn(r){const n=new RegExp(Fr).exec(r);let e="";n!=null&&(e=n[0].trim(),e=e.slice(1,e.length-1),r=r.replace(new RegExp(Fr),""));const t=r.indexOf("!");let s="",i="";return t>-1?(s=r.substring(0,t),s[0]==="'"&&s[s.length-1]==="'"&&(s=s.substring(1,s.length-1)),i=r.substring(t+1)):i=r,{refBody:i,sheetName:s,unitId:e}}function nt(r){const{refBody:n,sheetName:e,unitId:t}=Fn(r),s=n.indexOf(":");if(s===-1){const y=Tr(n),C=y.row,A=y.column,P=y.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:C,startColumn:A,endRow:C,endColumn:A,startAbsoluteRefType:P,endAbsoluteRefType:P}}}const i=n.substring(0,s),a=n.substring(s+1),o=Tr(i),u=Tr(a),l=o.row,c=o.column,m=u.row,d=u.column;let R=E.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(m)?R=E.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(d)&&(R=E.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:m,endColumn:d,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:R}}}function Zt(r){return r.length===0?!1:!!(bn(r)||Mi(r)||Ui(r)||Oi(r)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(r))}function Mi(r){const n=r.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(r)&&n!==null}function Ui(r){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(r)}function Oi(r){return!new RegExp("^\\p{Letter}","u").test(r.charAt(0))}var Pe=(r=>(r[r.NORMAL=0]="NORMAL",r[r.NUMBER=1]="NUMBER",r[r.STRING=2]="STRING",r[r.FUNCTION=3]="FUNCTION",r[r.REFERENCE=4]="REFERENCE",r[r.ARRAY=5]="ARRAY",r))(Pe||{});function Jt(r){let n="";for(const e of r)typeof e=="string"?n+=e:n+=e.token;return n}class J{constructor(){b(this,"_parent");b(this,"_token",rt);b(this,"_children",[]);b(this,"_lambdaId");b(this,"_functionDefinitionPrivacyVar");b(this,"_lambdaParameter","");b(this,"_startIndex",-1);b(this,"_endIndex",-1);b(this,"_definedNames",[])}dispose(){var n;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(n=this._functionDefinitionPrivacyVar)==null||n.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(n){this._lambdaId=n}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(n){this._functionDefinitionPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(n){this._lambdaParameter=n}getParent(){return this._parent}setParent(n){this._parent=n}getChildren(){return this._children}setChildren(n){this._children=n}addChildren(n){this._children.push(n)}addChildrenFirst(n){this._children.unshift(n)}getToken(){return this._token}setToken(n){this._token=n}setIndex(n,e){this._startIndex=n,this._endIndex=e}setDefinedNames(n){this._definedNames=n}hasDefinedNames(){return this._definedNames.length>0}replaceChild(n,e){const t=this._getIndexInParent(n);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(n){const e=this.getParent();e&&e.removeChild(this),this.setParent(n),n.getChildren().push(this)}removeChild(n){const e=this._getIndexInParent(n);e!=null&&this.getChildren().splice(e,1)}serialize(){const n=this.getToken(),e=this.getChildren(),t=[],s=e.length;for(let i=0;i<s;i++){const a=e[i];a instanceof J?t.push(a.serialize()):t.push(a)}return{token:n,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(n){const e=this.getChildren(),t=e.length;for(let s=0;s<t;s++)if(e[s]===n)return s}}const Bn=1e5,jr=new ft(Bn),Ir=new ft(Bn);class Nt extends E.Disposable{constructor(){super(...arguments);b(this,"_currentLexerNode",new J);b(this,"_upLevel",0);b(this,"_segment","");b(this,"_bracketState",[]);b(this,"_squareBracketState",0);b(this,"_bracesState",0);b(this,"_singleQuotationState",0);b(this,"_doubleQuotationState",0);b(this,"_lambdaState",!1);b(this,"_colonState",!1);b(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),jr.clear(),Ir.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const s=this._getCurrentParamIndex(e,t);if(s==null||s===f.VALUE)return;const i=s[0];if(typeof i=="string")return;let a=i.getParent(),o=i;for(;a;){const u=a.getToken();if(u!==Ke&&!Ot(u)&&a.getStartIndex()!==-1){const l=a.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=a,a=a.getParent()}}moveFormulaRefOffset(e,t,s){const i=this.sequenceNodesBuilder(e);if(i==null)return e;const a=[];for(let o=0,u=i.length;o<u;o++){const l=i[o];if(typeof l=="string"||l.nodeType!==Pe.REFERENCE){a.push(l);continue}const{token:c}=l,m=nt(c),{range:d,sheetName:R,unitId:y}=m,C=E.Rectangle.moveOffset(d,t,s);let A="";E.isValidRange(C)?A=ht({range:C,unitId:y,sheetName:R}):A=f.REF,a.push({...l,token:A})}return`=${Jt(a)}`}checkIfAddBracket(e){let t=0,s=e.length-1,i=e[s];for(;(i===X.CLOSE_BRACKET||i===" ")&&s>=0;)i===X.CLOSE_BRACKET&&t++,i=e[--s];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(a[1]===X.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==Ke&&c!==X.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==kt&&(t===0?l+=1:t--),u=u.getParent()}return l}convertRefersToAbsolute(e,t,s){const i=this.sequenceNodesBuilder(e);if(i==null)return e;let a="";e.substring(0,1)===ge.EQUALS&&(a=ge.EQUALS);for(let o=0,u=i.length;o<u;o++){const l=i[o];if(typeof l!="string"&&l.nodeType===Pe.REFERENCE){const{token:c,endIndex:m}=l,d=nt(c);if(d==null)continue;const{range:R,sheetName:y,unitId:C}=d,A={...R,startAbsoluteRefType:t,endAbsoluteRefType:s},P=ht({range:A,unitId:C,sheetName:y}),V=P.length-c.length;i[o]={...l,token:P,endIndex:m+V};for(let U=o+1;U<u;U++){const $=i[U];typeof $!="string"&&($.startIndex+=V,$.endIndex+=V)}}}return`${a}${Jt(i)}`}sequenceNodesBuilder(e){const t=Ir.get(e);if(t)return[...t];const s=this._getSequenceArray(e);if(s.length===0)return;const i=this.getSequenceNode(s);return Ir.set(e,[...i]),i}getSequenceNode(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i],u=e[i-1],{segment:l,currentString:c}=o;if(c===X.DOUBLE_QUOTATION&&(s=!0),(l!==""||i===0)&&i!==a-1){t.push(c);continue}let m=(u==null?void 0:u.segment)||"",d=i-m.length,R=i-1,y=i-1;if(i===a-1&&this._isLastMergeString(c)&&(m+=c,R+=1),m===""||qt.has(m)){t.push(c);continue}const C=m.trim(),A=this._replacePrefixString(C);if(s===!0&&C[C.length-1]===X.DOUBLE_QUOTATION)s=!1,this._pushSequenceNode(t,{nodeType:Pe.STRING,token:m,startIndex:d,endIndex:R},y);else if(new RegExp(Ft).test(A)){if(A.length!==C.length){const P=C.length-A.length;y+=P,d+=P,m=this._replacePrefixString(m)}this._pushSequenceNode(t,{nodeType:Pe.REFERENCE,token:m,startIndex:d,endIndex:R},y)}else E.Tools.isStringNumber(C)?this._pushSequenceNode(t,{nodeType:Pe.NUMBER,token:m,startIndex:d,endIndex:R},y):C.length>0&&this._pushSequenceNode(t,{nodeType:Pe.FUNCTION,token:m,startIndex:d,endIndex:R},y);(i!==a-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===X.DOUBLE_QUOTATION||E.Tools.isStringNumber(e)||!Ot(e)}_mergeSequenceNodeReference(e){const t=[],s=e.length;let i=0;for(;i<s;){const a=e[i];if(typeof a=="string"){const o=e[i-1];if(a.trim()===X.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Pe.FUNCTION&&o.token.trim().substring(0,1)===X.OPEN_BRACES){o.nodeType=Pe.ARRAY,o.token+=a,o.endIndex+=a.length,i++;continue}t.push(a)}else{const o=e[i+1],u=e[i+2];o===X.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&xn((a.token+o+u.token).trim())&&(a.nodeType=Pe.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,i+=2),t.push(a)}i++}return t}_pushSequenceNode(e,t,s){const i=s-t.startIndex+1;e.splice(e.length-i,i,t)}_replacePrefixString(e){const t=[];let s=!1;for(let i=0,a=e.length;i<a;i++){const o=e[i];if(o===Ci&&!s)t.push(o);else{if(!s&&(o===_e.AT||o===_e.MINUS))continue;t.push(o),s=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,s,i){if(t===!0){const d=jr.get(e),R=i==null?void 0:i(e);if(d&&!R)return d}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(rt);const a=[];let o=this._nodeMaker(e,a);if(o===f.VALUE||a.length===0)return o;let u=!1,l="",c=[];if(s){const{hasDefinedName:d,sequenceString:R,definedNames:y}=s(a);u=d,l=R,c=y}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(rt),o=this._nodeMaker(`=${l}`),o===f.VALUE))return o;const m=this._getTopNode(this._currentLexerNode);if(m&&(this._currentLexerNode=m),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;jr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_suffixExpressionHandler(e){var l,c;const t=e.getChildren();if(!t)return!1;const s=t.length,i=[],a=[];for(let m=0;m<s;m++){const d=t[m];if(d instanceof J)this._suffixExpressionHandler(d),i.push(d);else{const R=d.trim();if(R==="")continue;if(ct.has(R)){if(R===ge.PLUS&&this._deletePlusForPreNode(t[m-1]))continue;if(R!==ge.PLUS&&R!==ge.MINUS&&this._deletePlusForPreNode(t[m-1]))return!1;for(;a.length>0;){const y=(l=a[a.length-1])==null?void 0:l.trim();if(!y||y===X.OPEN_BRACKET)break;const C=qt.get(y),A=qt.get(R);if(!C||!A)break;if(A>=C)i.push(a.pop());else break}a.push(d)}else if(R===X.OPEN_BRACKET)a.push(d);else if(R===X.CLOSE_BRACKET){if(this._checkOpenBracket(t[m-1])||this._checkOperator(t[m-1]))return!1;for(;a.length>0;){const y=(c=a[a.length-1])==null?void 0:c.trim();if(!y)break;if(y===X.OPEN_BRACKET){a.pop();break}i.push(a.pop())}}else{if(this._checkCloseBracket(t[m-1]))return!1;i.push(d)}}}const o=i.length,u=i[o-1];for(;a.length>0;){const m=a.pop();if(!(u instanceof J)&&(m===X.OPEN_BRACKET||m===X.CLOSE_BRACKET))return!1;i.push(m)}return e.setChildren(i),!0}_checkCloseBracket(e){return e===X.CLOSE_BRACKET}_checkOpenBracket(e){return e===X.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof J?!1:ct.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof J)){const t=e.trim();if(ct.has(t)||t===X.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new J}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof J)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var s,i,a,o,u,l;const e=(s=this._currentLexerNode)==null?void 0:s.getParent();let t=!1;if(e&&e.getToken()===St){if((i=e==null?void 0:e.getParent())!=null&&i.getParent()){const c=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const m=(l=this._currentLexerNode)==null?void 0:l.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const s=this._currentLexerNode.getChildren();if(!(e instanceof J)&&this.isColonOpen()){const i=new J;i.setToken(e),i.setParent(this._currentLexerNode),e=i}t?s.unshift(e):s.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,s=!1){const i=new J;i.setToken(e),i.setIndex(t-e.length,t-1),this._setCurrentLexerNode(i,s)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const s=e[t];if(s!==" ")return s;t--}}_negativeCondition(e){return!!(ct.has(e)||e===X.OPEN_BRACKET||e===X.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new J,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,s){if(e!==Xe.POUND)return!0;let i=s[++t];for(;i===" ";)i=s[++t];return!!Ot(i)}_nodeMaker(e,t,s){e.substring(0,1)===ge.EQUALS&&(e=e.substring(1));let i=!1;e.substring(0,1)===ge.MINUS&&(e=`0${e}`,i=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const l=a[u];if(s===u)return[this._currentLexerNode,l];if(l===X.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=a[u+1];if(c&&c===X.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,l,u,i),u++,this._addSequenceArray(t,c,u,i),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(Ke,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===X.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const m=a[u+1];if(m&&m===X.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(St,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(l===X.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===X.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===X.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===X.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===X.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=a[u+1];c&&c===X.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===X.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=a[u+1];c&&c===X.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===X.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return f.VALUE;this._newAndPushCurrentLexerNode(Ke,u)}else{const m=new J;m.setToken(Pi);const d=new J;d.setToken(Ke),d.changeToParent(m);const R=this._currentLexerNode.getParent();if(R&&R.getToken()===X.COLON){const y=R.getParent();if(!y)return f.VALUE;R.changeToParent(d),y.setChildren([]),m.changeToParent(y)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(Ke,u)}}else if(l===X.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new J;c.setToken(l);const m=new J;m.setToken(Ke),m.setParent(c);const d=new J;d.setToken(Ke),d.setParent(c),c.getChildren().push(m,d);let R=c,y=0;if(this._segmentCount()>0){let C,A,P=0;const V=this._segment.trim(),U=V[0],$=V[1];if(U===_e.MINUS&&(C=new J,C.setToken(_e.MINUS),P++),(U===_e.AT||$===_e.AT)&&(A=new J,A.setToken(_e.AT),C&&(C.addChildren(A),A.setParent(C)),P++),P>0&&(this._segment=V.slice(P)),y=P,A)if(A.addChildren(c),c.setParent(A),A.getParent()){const me=A.getParent();me&&(R=me)}else R=A;else C&&(R=C,C.addChildren(c),c.setParent(C));const ie=new J;ie.setToken(this._segment),ie.setParent(m),m.getChildren().push(ie),this._resetSegment()}else{const C=this._getLastChildCurrentLexerNode();C&&C.changeToParent(m)}this._setCurrentLexerNode(R),this._currentLexerNode=d,this._openColon(y)}else if(Ei.has(l)&&this._checkSimilarErrorToken(l,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new J;c.setToken(l);const m=this._getLastChildCurrent();m instanceof J?m.changeToParent(c):m!==!1&&(c.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ct.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===ge.MINUS&&c===""){const m=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(ge.MINUS),this._addSequenceArray(t,l,u,i),u++;continue}}else if(this._segment.length>0&&a[u-1]&&a[u-1].toUpperCase()==="E"&&(l===ge.MINUS||l===ge.PLUS)){this._pushSegment(l),this._addSequenceArray(t,l,u,i),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===ge.LESS_THAN||l===ge.GREATER_THAN){const m=a[u+1];m&&ct.has(l+m)?(this._pushNodeToChildren(c+l+m),u++):this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,u,i),u++}this._pushNodeToChildren(this._segment)}_addSequenceArray(e,t,s,i){i&&s===0||e==null||e.push({segment:this._segment,currentString:t,cur:s,currentLexerNode:this._currentLexerNode})}}var Fi=Object.defineProperty,Bi=Object.getOwnPropertyDescriptor,ki=(r,n,e,t)=>{for(var s=t>1?void 0:t?Bi(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Fi(n,e,s),s},kn=(r,n)=>(e,t)=>n(e,t,r);L.FormulaDataModel=class extends E.Disposable{constructor(e,t){super();b(this,"_formulaData",{});b(this,"_arrayFormulaRange",{});b(this,"_arrayFormulaCellData",{});b(this,"_numfmtItemMap",{});this._currentUniverService=e,this._lexerTreeBuilder=t}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{var l,c,m,d;const a=s[i],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[i];if(o==null)return!0;let u=new E.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[i])!=null&&(u=new E.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[i])),a.forValue((R,y)=>{var $;const C=($=o==null?void 0:o[R])==null?void 0:$[y];if(C==null)return!0;const{startRow:A,startColumn:P,endRow:V,endColumn:U}=C;for(let ie=A;ie<=V;ie++)for(let me=P;me<=U;me++)u.setValue(ie,me,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(s).forEach(i=>{var l,c,m,d;const a=s[i];let o=new E.ObjectMatrix,u=new E.ObjectMatrix;((l=this._arrayFormulaRange[t])==null?void 0:l[i])!=null&&(o=new E.ObjectMatrix((c=this._arrayFormulaRange[t])==null?void 0:c[i])),((m=this._arrayFormulaCellData[t])==null?void 0:m[i])!=null&&(u=new E.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[i])),a.forValue((R,y)=>{const C=o==null?void 0:o.getValue(R,y);if(C==null)return!0;const{startRow:A,startColumn:P,endRow:V,endColumn:U}=C;for(let $=A;$<=V;$++)for(let ie=P;ie<=U;ie++)u.setValue($,ie,null)}),a.forValue((R,y,C)=>{u.setValue(R,y,C)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][i]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getNumfmtItemMap(){return this._numfmtItemMap}getNumfmtValue(e,t,s,i){var a,o,u;return(u=(o=(a=this._numfmtItemMap[e])==null?void 0:a[t])==null?void 0:o[s])==null?void 0:u[i]}setNumfmtItemMap(e){this._numfmtItemMap=e}updateNumfmtItemMap(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._numfmtItemMap[t]==null&&(this._numfmtItemMap[t]={}),Object.keys(s).forEach(i=>{const a=s[i],o=new E.ObjectMatrix(a);this._numfmtItemMap[t][i]==null&&(this._numfmtItemMap[t][i]={}),o.forValue((u,l,c)=>{this._numfmtItemMap[t][i][u]==null&&(this._numfmtItemMap[t][i][u]={}),this._numfmtItemMap[t][i][u][l]=c})})})}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(s).forEach(i=>{var u,l;const a=new E.ObjectMatrix(s[i]);let o=new E.ObjectMatrix;(u=this._arrayFormulaRange[t])!=null&&u[i]&&(o=new E.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[i])),a.forValue((c,m,d)=>{o.setValue(c,m,d)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][i]=o.getData())})})}deleteArrayFormulaRange(e,t,s,i){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new E.ObjectMatrix(a);o.getValue(s,i)&&(o.realDeleteValue(s,i),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._currentUniverService.getAllUniverSheetsInstance().length===0)return;const t=this._currentUniverService.getCurrentUniverSheetInstance(),s=t.getUnitId();this._formulaData[s]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();Tn(this._formulaData,s,u,o)})}getCalculateData(){const e=this._currentUniverService.getAllUniverSheetsInstance(),t={},s={};for(const i of e){const a=i.getUnitId(),o=i.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),d=c.getConfig();u[m]={cellData:new E.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,s[a]=l}return{allUnitData:t,unitSheetNameMap:s}}updateFormulaData(e,t,s){const i=new E.ObjectMatrix(s),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new E.ObjectMatrix(l[t]);i.forValue((m,d,R)=>{const y=(R==null?void 0:R.f)||"",C=(R==null?void 0:R.si)||"",A=E.isFormulaString(y),P=E.isFormulaId(C);if(A&&P)c.setValue(m,d,{f:y,si:C}),a.set(C,{f:y,r:m,c:d});else if(A&&!P)c.setValue(m,d,{f:y});else if(!A&&P)c.setValue(m,d,{f:"",si:C});else if(!A&&!P&&c.getValue(m,d)){const V=c.getValue(m,d),U=(V==null?void 0:V.f)||"",$=(V==null?void 0:V.si)||"";E.isFormulaString(U)&&E.isFormulaId($)&&o.set($,U),c.realDeleteValue(m,d)}}),c.forValue((m,d,R)=>{const y=(R==null?void 0:R.f)||"",C=(R==null?void 0:R.si)||"";if(E.isFormulaId(C)){const A=a.get(C),P=o.get(C);if(A&&!E.isFormulaString(y)){const V=A.f,U=d-A.c,$=m-A.r;c.setValue(m,d,{f:V,si:C,x:U,y:$})}else if(typeof P=="string"){const V=R.x||0,U=R.y||0,$=this._lexerTreeBuilder.moveFormulaRefOffset(P,V,U);o.set(C,{r:m,c:d,f:$}),c.setValue(m,d,{f:$,si:C})}else if(typeof P=="object"){const V=d-P.c,U=m-P.r;c.setValue(m,d,{f:P.f,si:C,x:V,y:U})}}})}updateArrayFormulaRange(e,t,s){var u;const i=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!i)return;const a=new E.ObjectMatrix(i);new E.ObjectMatrix(s).forValue((l,c,m)=>{if((a==null?void 0:a.getValue(l,c))==null)return!0;const R=(m==null?void 0:m.f)||"",y=(m==null?void 0:m.si)||"",C=E.isFormulaString(R),A=E.isFormulaId(y);!C&&!A&&a.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,s){var c,m;const i=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!i)return;const a=new E.ObjectMatrix(i),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new E.ObjectMatrix(o);new E.ObjectMatrix(s).forValue((d,R,y)=>{const C=a==null?void 0:a.getValue(d,R);if(C==null)return!0;const A=(y==null?void 0:y.f)||"",P=(y==null?void 0:y.si)||"",V=E.isFormulaString(A),U=E.isFormulaId(P);if(!V&&!U){const{startRow:$,startColumn:ie,endRow:me,endColumn:pe}=C;for(let N=$;N<=me;N++)for(let H=ie;H<=pe;H++)u.realDeleteValue(N,H)}})}updateNumfmtData(e,t,s){var c,m;const i=(c=this._arrayFormulaRange[e])==null?void 0:c[t],a=new E.ObjectMatrix(i),o=(m=this._numfmtItemMap[e])==null?void 0:m[t];if(!o)return;const u=new E.ObjectMatrix(o);new E.ObjectMatrix(s).forValue((d,R,y)=>{const C=(y==null?void 0:y.f)||"",A=(y==null?void 0:y.si)||"",P=E.isFormulaString(C),V=E.isFormulaId(A);if(!P&&!V){u.setValue(d,R,null);const U=a.getValue(d,R);if(U){const{startRow:$,startColumn:ie,endRow:me,endColumn:pe}=U;for(let N=$;N<=me;N++)for(let H=ie;H<=pe;H++)u.setValue(N,H,null)}}})}getFormulaItemBySId(e,t,s){const i=this._formulaData;if(i[s]==null)return null;const a=i[s];if((a==null?void 0:a[t])==null)return null;const o=new E.ObjectMatrix(a[t]);let u=null;return o.forValue((l,c,m)=>{const{f:d,si:R,x:y=0,y:C=0}=m;if(R===e&&d.length>0&&y===0&&C===0)return u=m,!1}),u}getFormulaDataItem(e,t,s,i){var a,o,u,l;return(l=(u=(o=(a=this._formulaData)==null?void 0:a[i])==null?void 0:o[s])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const s=new Map,i=this._formulaData;if(i[e]==null)return s;const a=i[e];return(a==null?void 0:a[t])==null||new E.ObjectMatrix(a[t]).forValue((u,l,c)=>{const m=(c==null?void 0:c.f)||"",d=(c==null?void 0:c.si)||"",R=(c==null?void 0:c.x)||0,y=(c==null?void 0:c.y)||0;E.isFormulaString(m)&&E.isFormulaId(d)&&R===0&&y===0&&s.set(d,{f:m,r:u,c:l})}),s}},L.FormulaDataModel=ki([kn(0,E.IUniverInstanceService),kn(1,K.Inject(Nt))],L.FormulaDataModel);function Tn(r,n,e,t){const s=new Map,i=new E.ObjectMatrix;t.forValue((a,o,u)=>{const l=(u==null?void 0:u.f)||"",c=(u==null?void 0:u.si)||"",m=E.isFormulaString(l),d=E.isFormulaId(c);m&&d?(i.setValue(a,o,{f:l,si:c}),s.set(c,{f:l,r:a,c:o})):m&&!d?i.setValue(a,o,{f:l}):!m&&d&&i.setValue(a,o,{f:"",si:c})}),i.forValue((a,o,u)=>{const l=(u==null?void 0:u.f)||"",c=(u==null?void 0:u.si)||"";if(E.isFormulaId(c)&&!E.isFormulaString(l)){const m=s.get(c);if(m){const d=m.f,R=o-m.c,y=a-m.r;i.setValue(a,o,{f:d,si:c,x:R,y})}}}),r[n]&&(r[n][e]=i.getData())}const Ti=r=>{const n=r.get(L.FormulaDataModel),e=E.Tools.deepClone(n.getArrayFormulaRange()),t=E.Tools.deepClone(n.getArrayFormulaCellData());return{arrayFormulaRange:e,arrayFormulaCellData:t}},er={id:"formula.mutation.set-array-formula-data",type:E.CommandType.MUTATION,handler:(r,n)=>{const e=r.get(L.FormulaDataModel);return e.setArrayFormulaRange(n.arrayFormulaRange),e.setArrayFormulaCellData(n.arrayFormulaCellData),!0}};class jn extends E.Disposable{constructor(){super();b(this,"_definedNameMap",{});b(this,"_update$",new Dt.Subject);b(this,"update$",this._update$.asObservable());b(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});b(this,"_currentRange$",new Dt.Subject);b(this,"currentRange$",this._currentRange$.asObservable());b(this,"_focusRange$",new Dt.Subject);b(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const s=this.getValueById(e,t);s!=null&&this._focusRange$.next({...s,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return qe(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var s;(s=this._definedNameMap[e])==null||delete s[t],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var i;const s=this._definedNameMap[e];return s==null?null:(i=Array.from(Object.values(s)).filter(a=>a.name===t))==null?void 0:i[0]}getValueById(e,t){var s;return(s=this._definedNameMap[e])==null?void 0:s[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const jt=K.createIdentifier("univer.formula.defined-names.service"),tr={id:"formula.mutation.set-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},rr={id:"formula.mutation.remove-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},In={id:"formula.mutation.set-defined-name-current",type:E.CommandType.MUTATION,handler:(r,n)=>{const e=r.get(jt),{unitId:t,sheetId:s,range:i}=n;return e.setCurrentRange({range:i,unitId:t,sheetId:s}),!0}},$r={id:"formula.mutation.set-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},Yr={id:"formula.mutation.remove-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},Qr={id:"formula.mutation.set-formula-calculation-start",type:E.CommandType.MUTATION,handler:()=>!0},zr={id:"formula.mutation.set-formula-calculation-stop",type:E.CommandType.MUTATION,handler:()=>!0},nr={id:"formula.mutation.set-formula-calculation-notification",type:E.CommandType.MUTATION,handler:()=>!0},Hr={id:"formula.mutation.set-formula-calculation-result",type:E.CommandType.MUTATION,handler:()=>!0},Wr={id:"formula.mutation.set-formula-data",type:E.CommandType.MUTATION,handler:(r,n)=>(r.get(L.FormulaDataModel).setFormulaData(n.formulaData),!0)},Gr={id:"formula.mutation.set-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},Xr={id:"formula.mutation.remove-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},$n={id:"formula.mutation.set-super-table",type:E.CommandType.MUTATION,handler:()=>!0},Yn={id:"formula.mutation.remove-super-table",type:E.CommandType.MUTATION,handler:()=>!0},Kr={id:"formula.mutation.set-super-table-option",type:E.CommandType.MUTATION,handler:()=>!0},qr={id:"formula.mutation.unregister-function",type:E.CommandType.MUTATION,handler:()=>!0};class sr extends E.Disposable{constructor(){super(...arguments);b(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var st=(r=>(r.FALSE="FALSE",r.TRUE="TRUE",r))(st||{}),mt=(r=>(r[r.SUCCESS=0]="SUCCESS",r[r.ERROR=1]="ERROR",r))(mt||{}),dt=(r=>(r.ALL="#All",r.DATA="#Data",r.HEADERS="#Headers",r.TOTALS="#Totals",r))(dt||{}),Oe=(r=>(r[r.FRONT=0]="FRONT",r[r.BACK=1]="BACK",r))(Oe||{});class ji{constructor(){b(this,"_cache",new Map);b(this,"_continueBuildingCache",new Map)}set(n,e,t,s,i){if(!this.shouldContinueBuildingCache(n,e,t,i))return;let a=this._cache.get(n);a==null&&(a=new Map,this._cache.set(n,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(s);l==null&&(l=new Set,u.set(s,l)),l.add(i)}getCellValuePositions(n,e,t){var s,i;return(i=(s=this._cache.get(n))==null?void 0:s.get(e))==null?void 0:i.get(t)}getCellPositions(n,e,t,s){var i,a,o;return(o=(a=(i=this._cache.get(n))==null?void 0:i.get(e))==null?void 0:a.get(t))==null?void 0:o.get(s)}getCellPosition(n,e,t,s,i,a){const o=this.getCellPositions(n,e,t,s);if(o!=null){for(const u of o)if(u>=i&&u<=a)return u}}setContinueBuildingCache(n,e,t,s,i){let a=this._continueBuildingCache.get(n);a==null&&(a=new Map,this._continueBuildingCache.set(n,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:s,endRow:i},o.set(t,u);return}u.startRow=Math.min(u.startRow,s),u.endRow=Math.max(u.endRow,i)}shouldContinueBuildingCache(n,e,t,s){var u,l;const i=(l=(u=this._continueBuildingCache.get(n))==null?void 0:u.get(e))==null?void 0:l.get(t);if(i==null)return!0;const{startRow:a,endRow:o}=i;return!(s>=a&&s<=o)}canUseCache(n,e,t,s,i){var l,c;if(t===-1||s===-1||i===-1)return!1;const a=(c=(l=this._continueBuildingCache.get(n))==null?void 0:l.get(e))==null?void 0:c.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(s>u||i<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const it=new ji;var Ze=(r=>(r[r.MIN=0]="MIN",r[r.MAX=1]="MAX",r))(Ze||{}),Ve=(r=>(r[r.NORMAL=0]="NORMAL",r[r.MIN=1]="MIN",r[r.MAX=2]="MAX",r))(Ve||{});function Qn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(r,n)=>r.localeCompare(n)}function Ii(r){return r.indexOf("*")>-1||r.indexOf("?")>-1}function zn(r,n){const e=Yi(n).replace(/~?[*?]/g,s=>s.startsWith("~")?`\\${s.substring(1)}`:s==="*"?".*":s==="?"?".":s);return new RegExp(`^${e}$`).test(r)}function Hn(r){return r.replace(/~?[*?]/g,n=>n.startsWith("~")?n.substring(1):" ")}function $i(r,n,e){let t=!1;switch(e){case B.EQUALS:t=zn(r,n);break;case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:t=zn(r,n)||r>Hn(n);break;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:t=r<Hn(n);break}return t}function Yi(r){return r.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Je extends sr{constructor(n){super(),this._rawValue=n}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(n){}setArrayValue(n){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(n){return h.create(f.VALUE)}minus(n){return h.create(f.VALUE)}multiply(n){return h.create(f.VALUE)}divided(n){return h.create(f.VALUE)}mod(n){return h.create(f.VALUE)}map(n){return h.create(f.NAME)}mapValue(n){return h.create(f.NAME)}compare(n,e){return h.create(f.NAME)}isEqual(n){return this.compare(n,B.EQUALS)}isNotEqual(n){return this.compare(n,B.NOT_EQUAL)}isGreaterThanOrEqual(n){return this.compare(n,B.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(n){return this.compare(n,B.LESS_THAN_OR_EQUAL)}isLessThan(n){return this.compare(n,B.LESS_THAN)}isGreaterThan(n){return this.compare(n,B.GREATER_THAN)}concatenateFront(n){return h.create(f.NAME)}concatenateBack(n){return h.create(f.NAME)}plusBy(n){return h.create(f.VALUE)}minusBy(n){return h.create(f.VALUE)}multiplyBy(n){return h.create(f.VALUE)}dividedBy(n){return h.create(f.VALUE)}modInverse(n){return h.create(f.VALUE)}compareBy(n,e){return h.create(f.NAME)}concatenate(n,e=Oe.FRONT){let t=this.getValue().toString();if(typeof n=="string")e===Oe.FRONT?t=n+t:t+=n;else if(typeof n=="number")e===Oe.FRONT?t=n.toString()+t:t+=n.toString();else if(typeof n=="boolean"){const s=n?"TRUE":"FALSE";e===Oe.FRONT?t=s+t:t+=s}return t}pow(n){return h.create(f.VALUE)}powInverse(n){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(n){return h.create(f.VALUE)}atan2Inverse(n){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(n){return h.create(f.VALUE)}roundInverse(n){return h.create(f.VALUE)}floor(n){return h.create(f.VALUE)}floorInverse(n){return h.create(f.VALUE)}ceil(n){return h.create(f.VALUE)}ceilInverse(n){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const Qi=1e3,Wn=new ft(Qi);class h extends Je{constructor(n,e=""){super(n),this._errorType=n,this._errorContent=e}static create(n,e=""){const t=`${n}-${e}`,s=Wn.get(t);if(s)return s;const i=new h(n,e);return Wn.set(t,i),i}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(n){return n.getErrorType()===this.getErrorType()}isError(){return!0}}var zi=20,Hi=1,gt=1e6,Gn=1e6,Wi=-7,Gi=21,Xi=!1,It="[big.js] ",pt=It+"Invalid ",ir=pt+"decimal places",Ki=pt+"rounding mode",Xn=It+"Division by zero",fe={},Ie=void 0,qi=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Kn(){function r(n){var e=this;if(!(e instanceof r))return n===Ie?Kn():new r(n);if(n instanceof r)e.s=n.s,e.e=n.e,e.c=n.c.slice();else{if(typeof n!="string"){if(r.strict===!0&&typeof n!="bigint")throw TypeError(pt+"value");n=n===0&&1/n<0?"-0":String(n)}Zi(e,n)}e.constructor=r}return r.prototype=fe,r.DP=zi,r.RM=Hi,r.NE=Wi,r.PE=Gi,r.strict=Xi,r.roundDown=0,r.roundHalfUp=1,r.roundHalfEven=2,r.roundUp=3,r}function Zi(r,n){var e,t,s;if(!qi.test(n))throw Error(pt+"number");for(r.s=n.charAt(0)=="-"?(n=n.slice(1),-1):1,(e=n.indexOf("."))>-1&&(n=n.replace(".","")),(t=n.search(/e/i))>0?(e<0&&(e=t),e+=+n.slice(t+1),n=n.substring(0,t)):e<0&&(e=n.length),s=n.length,t=0;t<s&&n.charAt(t)=="0";)++t;if(t==s)r.c=[r.e=0];else{for(;s>0&&n.charAt(--s)=="0";);for(r.e=e-t-1,r.c=[],e=0;t<=s;)r.c[e++]=+n.charAt(t++)}return r}function Rt(r,n,e,t){var s=r.c;if(e===Ie&&(e=r.constructor.RM),e!==0&&e!==1&&e!==2&&e!==3)throw Error(Ki);if(n<1)t=e===3&&(t||!!s[0])||n===0&&(e===1&&s[0]>=5||e===2&&(s[0]>5||s[0]===5&&(t||s[1]!==Ie))),s.length=1,t?(r.e=r.e-n+1,s[0]=1):s[0]=r.e=0;else if(n<s.length){if(t=e===1&&s[n]>=5||e===2&&(s[n]>5||s[n]===5&&(t||s[n+1]!==Ie||s[n-1]&1))||e===3&&(t||!!s[0]),s.length=n,t){for(;++s[--n]>9;)if(s[n]=0,n===0){++r.e,s.unshift(1);break}}for(n=s.length;!s[--n];)s.pop()}return r}function At(r,n,e){var t=r.e,s=r.c.join(""),i=s.length;if(n)s=s.charAt(0)+(i>1?"."+s.slice(1):"")+(t<0?"e":"e+")+t;else if(t<0){for(;++t;)s="0"+s;s="0."+s}else if(t>0)if(++t>i)for(t-=i;t--;)s+="0";else t<i&&(s=s.slice(0,t)+"."+s.slice(t));else i>1&&(s=s.charAt(0)+"."+s.slice(1));return r.s<0&&e?"-"+s:s}fe.abs=function(){var r=new this.constructor(this);return r.s=1,r},fe.cmp=function(r){var n,e=this,t=e.c,s=(r=new e.constructor(r)).c,i=e.s,a=r.s,o=e.e,u=r.e;if(!t[0]||!s[0])return t[0]?i:s[0]?-a:0;if(i!=a)return i;if(n=i<0,o!=u)return o>u^n?1:-1;for(a=(o=t.length)<(u=s.length)?o:u,i=-1;++i<a;)if(t[i]!=s[i])return t[i]>s[i]^n?1:-1;return o==u?0:o>u^n?1:-1},fe.div=function(r){var n=this,e=n.constructor,t=n.c,s=(r=new e(r)).c,i=n.s==r.s?1:-1,a=e.DP;if(a!==~~a||a<0||a>gt)throw Error(ir);if(!s[0])throw Error(Xn);if(!t[0])return r.s=i,r.c=[r.e=0],r;var o,u,l,c,m,d=s.slice(),R=o=s.length,y=t.length,C=t.slice(0,o),A=C.length,P=r,V=P.c=[],U=0,$=a+(P.e=n.e-r.e)+1;for(P.s=i,i=$<0?0:$,d.unshift(0);A++<o;)C.push(0);do{for(l=0;l<10;l++){if(o!=(A=C.length))c=o>A?1:-1;else for(m=-1,c=0;++m<o;)if(s[m]!=C[m]){c=s[m]>C[m]?1:-1;break}if(c<0){for(u=A==o?s:d;A;){if(C[--A]<u[A]){for(m=A;m&&!C[--m];)C[m]=9;--C[m],C[A]+=10}C[A]-=u[A]}for(;!C[0];)C.shift()}else break}V[U++]=c?l:++l,C[0]&&c?C[A]=t[R]||0:C=[t[R]]}while((R++<y||C[0]!==Ie)&&i--);return!V[0]&&U!=1&&(V.shift(),P.e--,$--),U>$&&Rt(P,$,e.RM,C[0]!==Ie),P},fe.eq=function(r){return this.cmp(r)===0},fe.gt=function(r){return this.cmp(r)>0},fe.gte=function(r){return this.cmp(r)>-1},fe.lt=function(r){return this.cmp(r)<0},fe.lte=function(r){return this.cmp(r)<1},fe.minus=fe.sub=function(r){var n,e,t,s,i=this,a=i.constructor,o=i.s,u=(r=new a(r)).s;if(o!=u)return r.s=-u,i.plus(r);var l=i.c.slice(),c=i.e,m=r.c,d=r.e;if(!l[0]||!m[0])return m[0]?r.s=-u:l[0]?r=new a(i):r.s=1,r;if(o=c-d){for((s=o<0)?(o=-o,t=l):(d=c,t=m),t.reverse(),u=o;u--;)t.push(0);t.reverse()}else for(e=((s=l.length<m.length)?l:m).length,o=u=0;u<e;u++)if(l[u]!=m[u]){s=l[u]<m[u];break}if(s&&(t=l,l=m,m=t,r.s=-r.s),(u=(e=m.length)-(n=l.length))>0)for(;u--;)l[n++]=0;for(u=n;e>o;){if(l[--e]<m[e]){for(n=e;n&&!l[--n];)l[n]=9;--l[n],l[e]+=10}l[e]-=m[e]}for(;l[--u]===0;)l.pop();for(;l[0]===0;)l.shift(),--d;return l[0]||(r.s=1,l=[d=0]),r.c=l,r.e=d,r},fe.mod=function(r){var n,e=this,t=e.constructor,s=e.s,i=(r=new t(r)).s;if(!r.c[0])throw Error(Xn);return e.s=r.s=1,n=r.cmp(e)==1,e.s=s,r.s=i,n?new t(e):(s=t.DP,i=t.RM,t.DP=t.RM=0,e=e.div(r),t.DP=s,t.RM=i,this.minus(e.times(r)))},fe.neg=function(){var r=new this.constructor(this);return r.s=-r.s,r},fe.plus=fe.add=function(r){var n,e,t,s=this,i=s.constructor;if(r=new i(r),s.s!=r.s)return r.s=-r.s,s.minus(r);var a=s.e,o=s.c,u=r.e,l=r.c;if(!o[0]||!l[0])return l[0]||(o[0]?r=new i(s):r.s=s.s),r;if(o=o.slice(),n=a-u){for(n>0?(u=a,t=l):(n=-n,t=o),t.reverse();n--;)t.push(0);t.reverse()}for(o.length-l.length<0&&(t=l,l=o,o=t),n=l.length,e=0;n;o[n]%=10)e=(o[--n]=o[n]+l[n]+e)/10|0;for(e&&(o.unshift(e),++u),n=o.length;o[--n]===0;)o.pop();return r.c=o,r.e=u,r},fe.pow=function(r){var n=this,e=new n.constructor("1"),t=e,s=r<0;if(r!==~~r||r<-Gn||r>Gn)throw Error(pt+"exponent");for(s&&(r=-r);r&1&&(t=t.times(n)),r>>=1,!!r;)n=n.times(n);return s?e.div(t):t},fe.prec=function(r,n){if(r!==~~r||r<1||r>gt)throw Error(pt+"precision");return Rt(new this.constructor(this),r,n)},fe.round=function(r,n){if(r===Ie)r=0;else if(r!==~~r||r<-gt||r>gt)throw Error(ir);return Rt(new this.constructor(this),r+this.e+1,n)},fe.sqrt=function(){var r,n,e,t=this,s=t.constructor,i=t.s,a=t.e,o=new s("0.5");if(!t.c[0])return new s(t);if(i<0)throw Error(It+"No square root");i=Math.sqrt(t+""),i===0||i===1/0?(n=t.c.join(""),n.length+a&1||(n+="0"),i=Math.sqrt(n),a=((a+1)/2|0)-(a<0||a&1),r=new s((i==1/0?"5e":(i=i.toExponential()).slice(0,i.indexOf("e")+1))+a)):r=new s(i+""),a=r.e+(s.DP+=4);do e=r,r=o.times(e.plus(t.div(e)));while(e.c.slice(0,a).join("")!==r.c.slice(0,a).join(""));return Rt(r,(s.DP-=4)+r.e+1,s.RM)},fe.times=fe.mul=function(r){var n,e=this,t=e.constructor,s=e.c,i=(r=new t(r)).c,a=s.length,o=i.length,u=e.e,l=r.e;if(r.s=e.s==r.s?1:-1,!s[0]||!i[0])return r.c=[r.e=0],r;for(r.e=u+l,a<o&&(n=s,s=i,i=n,l=a,a=o,o=l),n=new Array(l=a+o);l--;)n[l]=0;for(u=o;u--;){for(o=0,l=a+u;l>u;)o=n[l]+i[u]*s[l-u-1]+o,n[l--]=o%10,o=o/10|0;n[l]=o}for(o?++r.e:n.shift(),u=n.length;!n[--u];)n.pop();return r.c=n,r},fe.toExponential=function(r,n){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>gt)throw Error(ir);for(e=Rt(new e.constructor(e),++r,n);e.c.length<r;)e.c.push(0)}return At(e,!0,!!t)},fe.toFixed=function(r,n){var e=this,t=e.c[0];if(r!==Ie){if(r!==~~r||r<0||r>gt)throw Error(ir);for(e=Rt(new e.constructor(e),r+e.e+1,n),r=r+e.e+1;e.c.length<r;)e.c.push(0)}return At(e,!1,!!t)},fe[Symbol.for("nodejs.util.inspect.custom")]=fe.toJSON=fe.toString=function(){var r=this,n=r.constructor;return At(r,r.e<=n.NE||r.e>=n.PE,!!r.c[0])},fe.toNumber=function(){var r=Number(At(this,!0,!0));if(this.constructor.strict===!0&&!this.eq(r.toString()))throw Error(It+"Imprecise conversion");return r},fe.toPrecision=function(r,n){var e=this,t=e.constructor,s=e.c[0];if(r!==Ie){if(r!==~~r||r<1||r>gt)throw Error(pt+"precision");for(e=Rt(new t(e),r,n);e.c.length<r;)e.c.push(0)}return At(e,r<=e.e||e.e<=t.NE||e.e>=t.PE,!!s)},fe.valueOf=function(){var r=this,n=r.constructor;if(n.strict===!0)throw Error(It+"valueOf disallowed");return At(r,r.e<=n.NE||r.e>=n.PE,!0)};var Ce=Kn();function qn(r){let n;switch(r){case B.EQUALS:n=B.EQUALS;break;case B.GREATER_THAN:n=B.LESS_THAN;break;case B.GREATER_THAN_OR_EQUAL:n=B.LESS_THAN_OR_EQUAL;break;case B.LESS_THAN:n=B.GREATER_THAN;break;case B.LESS_THAN_OR_EQUAL:n=B.GREATER_THAN_OR_EQUAL;break;case B.NOT_EQUAL:n=B.NOT_EQUAL;break}return n}function Zr(r,n){return Ce(r).times(n).toNumber()}function Zn(r,n){const e=10**Math.floor(n);return Math.round(Zr(r,e))/e}function Jn(r,n){const e=10**Math.floor(n);return Math.floor(Zr(r,e))/e}function Nn(r,n){const e=10**Math.floor(n);return Math.ceil(Zr(r,e))/e}function es(r,n){const e=new Ce(r),t=new Ce(n),s=Math.floor(r/n);return e.minus(t.times(s)).toNumber()}function ts(r,n){return r**n}const xr=class xr extends Je{static create(){return this._instance=this._instance||new xr(0),this._instance}isNull(){return!0}plus(n){return S.create(0).plus(n)}minus(n){return S.create(0).minus(n)}multiply(n){return S.create(0).multiply(n)}divided(n){return S.create(0).divided(n)}mod(n){return S.create(0).mod(n)}compare(n,e){return n.isString()?Ee.create("").compare(n,e):n.isBoolean()?z.create(!1).compare(n,e):S.create(0).compare(n,e)}concatenateFront(n){return n.isArray()?n.concatenateBack(Ee.create("")):Ee.create(this.concatenate(n.getValue(),Oe.FRONT))}concatenateBack(n){return n.isArray()?n.concatenateFront(Ee.create("")):Ee.create(this.concatenate(n.getValue(),Oe.BACK))}plusBy(n){return S.create(0).plusBy(n)}minusBy(n){return S.create(0).minusBy(n)}multiplyBy(n){return S.create(0).multiplyBy(n)}dividedBy(n){return S.create(0).dividedBy(n)}compareBy(n,e){return typeof n=="string"?Ee.create("").compareBy(n,e):typeof n=="boolean"?z.create(!1).compareBy(n,e):S.create(0).compareBy(n,e)}pow(n){return S.create(0).pow(n)}sqrt(){return S.create(0).sqrt()}cbrt(){return S.create(0).cbrt()}cos(){return S.create(0).cos()}acos(){return S.create(0).acos()}acosh(){return S.create(0).acosh()}sin(){return S.create(0).sin()}asin(){return S.create(0).asin()}asinh(){return S.create(0).asinh()}tan(){return S.create(0).tan()}tanh(){return S.create(0).tanh()}atan(){return S.create(0).atan()}atan2(n){return S.create(0).atan2(n)}atanh(){return S.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return S.create(0).exp()}abs(){return S.create(0).abs()}round(n){return S.create(0).round(n)}floor(n){return S.create(0).floor(n)}ceil(n){return S.create(0).ceil(n)}convertToNumberObjectValue(){return S.create(0)}convertToBooleanObjectValue(){return z.create(!1)}};b(xr,"_instance");let ce=xr;const vt=class vt extends Je{constructor(e){super(e);b(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new vt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new vt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),S.create(-t)}getReciprocal(){return this.getValue()?S.create(1):h.create(f.DIV_BY_ZERO)}plus(e){return this._convertTonNumber().plus(e)}minus(e){return this._convertTonNumber().minus(e)}multiply(e){return this._convertTonNumber().multiply(e)}divided(e){return this._convertTonNumber().divided(e)}mod(e){return this._convertTonNumber().mod(e)}compare(e,t){return this._convertTonNumber().compare(e,t)}concatenateFront(e){return this._convertTonNumber().concatenateFront(e)}concatenateBack(e){return this._convertTonNumber().concatenateBack(e)}_convertTonNumber(){const e=this.getValue();let t=0;return e&&(t=1),S.create(t)}pow(e){return this._convertTonNumber().pow(e)}sqrt(){return this._convertTonNumber().sqrt()}cbrt(){return this._convertTonNumber().cbrt()}cos(){return this._convertTonNumber().cos()}acos(){return this._convertTonNumber().acos()}acosh(){return this._convertTonNumber().acosh()}sin(){return this._convertTonNumber().sin()}asin(){return this._convertTonNumber().asin()}asinh(){return this._convertTonNumber().asinh()}tan(){return this._convertTonNumber().tan()}tanh(){return this._convertTonNumber().tanh()}atan(){return this._convertTonNumber().atan()}atan2(e){return this._convertTonNumber().atan2(e)}atanh(){return this._convertTonNumber().atanh()}log(){return this._convertTonNumber().log()}log10(){return this._convertTonNumber().log10()}exp(){return this._convertTonNumber().exp()}abs(){return this._convertTonNumber().abs()}round(e){return this._convertTonNumber().round(e)}floor(e){return this._convertTonNumber().floor(e)}ceil(e){return this._convertTonNumber().ceil(e)}convertToNumberObjectValue(){return or(this.getValue())}convertToBooleanObjectValue(){return this}};b(vt,"_instanceTrue"),b(vt,"_instanceFalse");let z=vt;const Ji=2e5,rs=new ft(Ji);class S extends Je{constructor(e){super(e);b(this,"_value",0);this._value=Number(e)}static create(e,t=""){const s=`${e}-${t}`,i=rs.get(s);if(i)return i;const a=new S(e);return a.setPattern(t),rs.set(s,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return S.create(0).minus(this)}getReciprocal(){return S.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);const t=this.plusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}const t=this.minusBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}multiply(e){if(e.isArray())return e.multiply(this);const t=this.multiplyBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}const t=this.dividedBy(e.getValue());return t.isError()||t.setPattern(this.getPattern()||e.getPattern()),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),s=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(s===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=es(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}if(typeof s=="boolean"){const i=s?1:0;return i===0?h.create(f.DIV_BY_ZERO):S.create(es(t,i))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Ee.create(this.concatenate(e.getValue(),Oe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Ee.create(this.concatenate(e.getValue(),Oe.BACK))}compare(e,t){return e.isArray()?e.compare(this,qn(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Ut.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).plus(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(Ce(t).plus(e?1:0).toNumber()):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).minus(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(Ce(t).minus(e?1:0).toNumber()):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).times(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?S.create(Ce(t).times(e?1:0).toNumber()):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const s=Ce(t).div(e).toNumber();return Number.isFinite(s)?S.create(s):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):S.create(Ce(t).div(1).toNumber()):this}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string")switch(t){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:i=!1;break;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:i=!0;break}else if(typeof e=="number")if(!Number.isFinite(s)||!Number.isFinite(e))i=this._compareInfinity(s,e,t);else switch(t){case B.EQUALS:i=Ce(s).eq(e);break;case B.GREATER_THAN:i=Ce(s).gt(e);break;case B.GREATER_THAN_OR_EQUAL:i=Ce(s).gte(e);break;case B.LESS_THAN:i=Ce(s).lt(e);break;case B.LESS_THAN_OR_EQUAL:i=Ce(s).lte(e);break;case B.NOT_EQUAL:i=!Ce(s).eq(e);break}else if(typeof e=="boolean")switch(t){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:i=!1;break;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:i=!0;break}return z.create(i)}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=ts(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(ts(t,s?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Ce(e).sqrt().toNumber();return Number.isFinite(t)?S.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):S.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Math.atan2(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Math.atan2(t,s?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?S.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Zn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Zn(t,s?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Jn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Jn(t,s?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),s=e.getValue();if(typeof s=="string")return h.create(f.VALUE);if(typeof s=="number"){if(!Number.isFinite(t)||!Number.isFinite(s))return h.create(f.NUM);const i=Nn(t,s);return Number.isFinite(i)?S.create(i):h.create(f.NUM)}return typeof s=="boolean"?S.create(Nn(t,s?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return ar(!0)}_compareInfinity(e,t,s){let i=!1;switch(s){case B.EQUALS:i=e===t;break;case B.GREATER_THAN:i=e>t;break;case B.GREATER_THAN_OR_EQUAL:i=e>=t;break;case B.LESS_THAN:i=e<t;break;case B.LESS_THAN_OR_EQUAL:i=e<=t;break;case B.NOT_EQUAL:i=e!==t;break}return i}}const Ni=2e5,ns=new ft(Ni);class Ee extends Je{constructor(e){super(e);b(this,"_value");this._value=e}static create(e){const t=ns.get(e);if(t)return t;const s=new Ee(e);return ns.set(e,s),s}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):Ee.create(this.concatenate(e.getValue(),Oe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):Ee.create(this.concatenate(e.getValue(),Oe.BACK))}compare(e,t){return e.isArray()?e.compare(this,qn(t)):this.compareBy(e.getValue(),t)}compareBy(e,t){const s=this.getValue();let i=!1;if(typeof e=="string"){if(Ii(e))return this._checkWildcard(e,t);switch(t){case B.EQUALS:i=s===e;break;case B.GREATER_THAN:i=s>e;break;case B.GREATER_THAN_OR_EQUAL:i=s>=e;break;case B.LESS_THAN:i=s<e;break;case B.LESS_THAN_OR_EQUAL:i=s<=e;break;case B.NOT_EQUAL:i=s!==e;break}}else if(typeof e=="number")switch(t){case B.NOT_EQUAL:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:i=!0;break;case B.EQUALS:case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:i=!1;break}else if(typeof e=="boolean")switch(t){case B.EQUALS:case B.GREATER_THAN:case B.GREATER_THAN_OR_EQUAL:i=!1;break;case B.LESS_THAN:case B.LESS_THAN_OR_EQUAL:case B.NOT_EQUAL:i=!0;break}return z.create(i)}convertToNumberObjectValue(){return or(this.getValue())}convertToBooleanObjectValue(){return z.create(!0)}_checkWildcard(e,t){const s=this.getValue().toLocaleLowerCase(),i=$i(s,e,t);return z.create(i)}}function ar(r){if(typeof r=="boolean")return z.create(r);let n=!1;if(typeof r=="string"){const e=r.toLocaleUpperCase();e===st.TRUE?n=!0:e===st.FALSE&&(n=!1)}else r===1?n=!0:n=!1;return z.create(n)}function Jr(r){let n=r.toString();return n.charAt(0)==='"'&&n.charAt(n.length-1)==='"'&&(n=n.slice(1,-1),n=n.replace(/""/g,'"')),Ee.create(n)}function or(r){if(typeof r=="boolean"){let n=0;return r&&(n=1),S.create(n)}else{if(typeof r=="number")return Number.isFinite(r)?S.create(r):h.create(f.NUM);if(E.isRealNum(r))return S.create(Number(r))}return h.create(f.VALUE)}function ea(r){return""}function ta(r=[]){const n=[];for(let e=0;e<r.length;e++){const t=r[e];n[e]==null&&(n[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];n[e][s]=at.create(i)}}return n}function ra(r=[]){const n=[];for(let e=0;e<r.length;e++){const t=r[e];n[e]==null&&(n[e]=[]);for(let s=0;s<t.length;s++){const i=t[s];i==null?n[e][s]=null:i.isError()?n[e][s]=i.getErrorType():n[e][s]=i.getValue()}}return n}class be extends Je{constructor(e){super(typeof e=="string"?e:ea());b(this,"_values",[]);b(this,"_rowCount",-1);b(this,"_columnCount",-1);b(this,"_unitId","");b(this,"_sheetId","");b(this,"_currentRow",-1);b(this,"_currentColumn",-1);b(this,"_sliceCache",new Map);b(this,"_flattenCache");b(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new be(e)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}get(e,t){const s=this._values[e];if(s==null)return null;const i=s[t];return i==null?null:i}getRealValue(e,t){const s=this._values[e];if(s==null)return null;const i=s[t];return i==null?null:i}set(e,t,s){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=s}getRangePosition(){const t=this.getRowCount(),s=0,i=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:s,endColumn:i-1}}iterator(e){var u;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=s;l++)for(let c=i;c<=a;c++)if(e((u=o[l])==null?void 0:u[c],l,c)===!1)return}iteratorReverse(e){const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let u=s;u>=t;u--)for(let l=a;l>=i;l--)if(e(o[u][l],u,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,s,i)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:s,column:i},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||ce.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||ce.create()}pick(e){const t=e.getRowCount(),s=e.getColumnCount();if(t!==this._rowCount||s!==this._columnCount)return this._createNewArray([[ce.create()]],1,1);const i=[];i[0]=[];for(let a=0;a<t;a++)for(let o=0;o<s;o++){const u=e.get(a,o),l=this.get(a,o);u==null||u.isError()||u.getValue()===!0&&i[0].push(l)}return this._createNewArray(i,1,i[0].length)}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let s=0;s<this._rowCount;s++)for(let i=0;i<this._columnCount;i++){const a=this.get(s,i);e[0].push(a)}const t=this._createNewArray(e,1,e[0].length);return this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],s=[],i=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){a++;continue}c.isString()?(e.push(c),s.push(a++)):(t.push(c),i.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:s,numberPosition:i};return this._flattenPosition=o,o}slice(e,t){let s=0,i=this._rowCount,a=1,o=0,u=this._columnCount,l=1;if(e!=null&&(s=e[0]||0,i=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),s>=this._rowCount||o>=this._columnCount)return;const c=`${s}_${i}_${a}_${o}_${u}_${l}`,m=this._sliceCache.get(c);if(m!=null)return m;const d=[],R=this._values;let y=0,C=0;for(let U=s;U<i;U+=a){C=0,d[y]==null&&(d[y]=[]);for(let $=o;$<u;$+=l){if(!R[U])return;let ie=R[U][$];ie==null&&(ie=ce.create()),d[y][C]=ie,C++}y++}if(d.length===0||d[0].length===0)return;const A=a>1?-1:s+this._currentRow,P=l>1?-1:o+this._currentColumn,V=this._createNewArray(d,d.length,d[0].length,A,P);return this._sliceCache.set(c,V),V}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,s=this._columnCount;return this._createNewArray(e,s,t)}orderSearch(e,t=Ve.MIN,s=!1,i=!1){let a,o,u,l;const c=(m,d,R)=>{if(m==null)return!0;let y;if(i===!0?y=m.compare(e,B.EQUALS):y=m.isEqual(e),(y==null?void 0:y.getValue())===!0)return a=m,u={row:d,column:R},!1;t===Ve.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:R}):t===Ve.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:d,column:R})};if(s){const m=this._values.length;if(this._values[0]==null)return;const d=this._values[0].length;for(let R=m-1;R>=0;R--)for(let y=d-1;y>=0;y--){const C=this._values[R][y];c(C,R,y)}}else this.iterator((m,d,R)=>{c(m,d,R)});if(a!=null)return u;if(o!=null)return l}binarySearch(e,t=Ze.MIN){if(e.isError())return;const{stringArray:s,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,s,i,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,s,i=Ze.MIN){const a=Qn(),o=e.getValue().toString();let u=0,l=t.length-1,c=null;for(;u<=l;){const m=Math.floor((u+l)/2),d=t[m];let R=0;if(d.isNull())R=1;else{const y=d.getValue();R=a(y.toString(),o)}if(R===0)return s[m];R===-1?(u=m+1,i===Ze.MIN&&(c=m)):(l=m-1,i===Ze.MAX&&(c=m))}if(c!=null)return s[c]}sum(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=S.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=S.create(0);return this.iterator(t=>{if(t!=null&&!t.isNull())return!0;e=e.plusBy(1)}),e}getNegative(){return be.create("{0}").minus(this)}getReciprocal(){return be.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t){return this._batchOperator(e,5,t)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(s,i,a)=>s==null?ce.create():s.isError()?s:e(s,i,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,s=this._columnCount,i=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<s;l++){const c=(a=this._values)==null?void 0:a[o];if(c==null)u[l]=h.create(f.VALUE);else{const m=c[l];m?u[l]=e(m,o,l):u[l]=ce.create()}}i.push(u)}return this._createNewArray(i,t,s)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),s=this.count();return t.divided(e===0?s:s.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),s=t.getColumnCount();if(s<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),s%2===0){const i=t.get(0,s/2)||ce.create(),a=t.get(0,s/2-1)||ce.create();return i.plus(a).divided(S.create(2))}return t.get(0,(s-1)/2)||ce.create()}var(e=0){const t=this.mean(),s=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const m=c.minus(t).pow(S.create(2));m.isError()||s[0].push(m)});const{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return be.create({calculateValueList:s,rowCount:1,columnCount:s[0].length,unitId:i,sheetId:a,row:o,column:u}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return ra(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Qn();return(s,i)=>{const a=s[e],o=i[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,s=e[0].length,i=[];for(let a=0;a<s;a++){i[a]=[];for(let o=0;o<t;o++)i[a][o]=e[o][a]}return i}_batchOperator(e,t,s){const i=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const l=e.getRowCount(),c=e.getColumnCount();if(a=Math.max(l,a),o=Math.max(c,o),l===1&&c===1){const m=e.getFirstCell();for(let d=0;d<o;d++)i.push(m)}else if(l===1&&this._columnCount>1){const m=e.getArrayValue();for(let d=0;d<o;d++)i.push(m[0][d])}else return this._batchOperatorArray(e,t,s)}else for(let l=0;l<o;l++)i.push(e);const u=[];for(let l=0;l<o;l++){const c=i[l];this._batchOperatorValue(c,l,u,t,s)}return this._createNewArray(u,a,o)}_batchOperatorValue(e,t,s,i,a){var R,y;const o=this._rowCount;let u=!1;const l=this.getUnitId(),c=this.getSheetId(),m=this.getCurrentRow(),d=this.getCurrentColumn();if(i===5&&(u=it.canUseCache(l,c,t+d,m,m+o-1),u===!0)){if(a===B.EQUALS){const C=it.getCellPositions(l,c,t+d,e.getValue());C!=null&&C.forEach(A=>{const P=A-m;s[P]==null&&(s[P]=[]),s[P][t]=z.create(!0)})}else{const C=it.getCellValuePositions(l,c,t+d);C!=null&&C.forEach((A,P)=>{let V=ce.create();typeof P=="string"?V=Ee.create(P):typeof P=="number"?V=S.create(P):typeof P=="boolean"&&(V=z.create(P)),V.compare(e,a).getValue()===!0&&A.forEach($=>{$>=m&&$<=m+o-1&&(s[$-m]==null&&(s[$-m]=[]),s[$-m][t]=z.create(!0))})})}return}for(let C=0;C<o;C++){const A=(y=(R=this._values)==null?void 0:R[C])==null?void 0:y[t];if(s[C]==null&&(s[C]=[]),A&&e)if(A.isError())s[C][t]=A;else if(e.isError())s[C][t]=e;else switch(i){case 1:s[C][t]=A.plus(e);break;case 0:s[C][t]=A.minus(e);break;case 2:s[C][t]=A.multiply(e);break;case 3:s[C][t]=A.divided(e);break;case 4:s[C][t]=A.mod(e);break;case 5:a?s[C][t]=A.compare(e,a):s[C][t]=h.create(f.VALUE);break;case 6:s[C][t]=A.concatenateFront(e);break;case 7:s[C][t]=A.concatenateBack(e);break;case 8:s[C][t]=A.pow(e);break;case 9:s[C][t]=A.round(e);break;case 10:s[C][t]=A.floor(e);break;case 12:s[C][t]=A.atan2(e);break;case 11:s[C][t]=A.ceil(e);break}else s[C][t]=h.create(f.NA);A!=null&&(A.isError()?it.set(l,c,t+d,A.getErrorType(),C+m):A.isNull()?it.set(l,c,t+d,null,C+m):it.set(l,c,t+d,A.getValue(),C+m))}it.setContinueBuildingCache(l,c,t+d,m,m+o-1)}_batchOperatorArray(e,t,s){var m,d,R,y,C,A,P,V,U,$,ie,me;let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],u=e.getArrayValue(),l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let pe=0;pe<i;pe++){const N=[];for(let H=0;H<a;H++){let ne;l===3?ne=(d=(m=this._values)==null?void 0:m[0])==null?void 0:d[0]:l===1?ne=(y=(R=this._values)==null?void 0:R[0])==null?void 0:y[H]:l===2?ne=(A=(C=this._values)==null?void 0:C[pe])==null?void 0:A[0]:ne=(V=(P=this._values)==null?void 0:P[pe])==null?void 0:V[H];let ee;if(c===3?ee=(U=u==null?void 0:u[0])==null?void 0:U[0]:c===1?ee=($=u==null?void 0:u[0])==null?void 0:$[H]:c===2?ee=(ie=u==null?void 0:u[pe])==null?void 0:ie[0]:ee=(me=u==null?void 0:u[pe])==null?void 0:me[H],ne&&ee)if(ne.isError())N[H]=ne;else if(ee.isError())N[H]=ee;else switch(t){case 1:N[H]=ne.plus(ee);break;case 0:N[H]=ne.minus(ee);break;case 2:N[H]=ne.multiply(ee);break;case 3:N[H]=ne.divided(ee);break;case 4:N[H]=ne.mod(ee);break;case 5:s?N[H]=ne.compare(ee,s):N[H]=h.create(f.VALUE);break;case 6:N[H]=ne.concatenateFront(ee);break;case 7:N[H]=ne.concatenateBack(ee);break;case 8:N[H]=ne.pow(ee);break;case 9:N[H]=ne.round(ee);break;case 12:N[H]=ne.atan2(ee);break;case 10:N[H]=ne.floor(ee);break;case 11:N[H]=ne.ceil(ee);break}else N[H]=h.create(f.NA)}o.push(N)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),s=t.length,i=[];let a=0;for(let o=0;o<s;o++){const l=t[o].split(","),c=l.length;a<c&&(a=c);const m=[];for(let d=0;d<c;d++){const R=l[d].trim();m.push(at.create(R))}i.push(m)}return this._rowCount=s,this._columnCount=a,i}_createNewArray(e,t,s,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:s,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return be.create(o)}}class at{static create(n){if(n==null)return ce.create();if(typeof n=="boolean")return z.create(n);if(typeof n=="string"){const e=n.toLocaleUpperCase().trim();return Ut.has(e)?h.create(e):e===st.TRUE||e===st.FALSE?ar(n):E.isRealNum(n)?S.create(Number(n)):new RegExp(Li,"g").test(n.replace(/\n/g,"").replace(/\r/g,""))?be.create(n.replace(/\n/g,"").replace(/\r/g,"")):Jr(n)}return typeof n=="number"?or(n):h.create(f.VALUE)}}function na(r){if(r===null)return 0;if(r!=null&&r.p){const n=r==null?void 0:r.p.body;if(n==null)return 0;const e=n.dataStream;return e.substring(e.length-2,e.length)===E.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(r==null?void 0:r.v)||0}const sa=1e5,Nr=new ft(sa);class Lt extends sr{constructor(e){super();b(this,"_forcedSheetId","");b(this,"_forcedSheetName","");b(this,"_defaultSheetId","");b(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});b(this,"_unitData",{});b(this,"_defaultUnitId","");b(this,"_forcedUnitId","");b(this,"_runtimeData",{});b(this,"_arrayFormulaCellData",{});b(this,"_runtimeArrayFormulaCellData",{});b(this,"_runtimeFeatureCellData",{});b(this,"_numfmtItemData",{});b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:s,endColumn:i}=this.getRangePosition();return e<0||s<0||t>=this.getActiveSheetRowCount()||i>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let e=this._rangeData.startRow+this._refOffsetY,t=this._rangeData.endRow+this._refOffsetY,s=this._rangeData.startColumn+this._refOffsetX,i=this._rangeData.endColumn+this._refOffsetX;return Number.isNaN(e)&&(e=0),Number.isNaN(s)&&(s=0),Number.isNaN(t)&&(t=this.getActiveSheetRowCount()-1),Number.isNaN(i)&&(i=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:t,startColumn:s,endColumn:i}}isReferenceObject(){return!0}iterator(e){var l,c,m;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,i);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let d=t;d<=s;d++)for(let R=i;R<=a;R++){if(d<0||R<0)return e(h.create(f.REF),d,R);const y=this.getCellData(d,R);let C=!1;if(y==null||E.isNullCell(y)){C=e(null,d,R);continue}const A=this.getCellValueObject(y),P=A.isNumber(),V=(m=(c=(l=this._numfmtItemData[o])==null?void 0:l[u])==null?void 0:c[d])==null?void 0:m[R];if(V&&P&&A.setPattern(V),C=e(A,d,R),C===!1)return}}getFirstCell(){var c,m,d;const{startRow:e,startColumn:t}=this.getRangePosition(),s=this.getCellData(e,t);if(!s)return S.create(0);const i=this.getCellValueObject(s),a=i.isNumber(),o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId,l=(d=(m=(c=this._numfmtItemData[o])==null?void 0:c[u])==null?void 0:m[e])==null?void 0:d[t];return l&&a&&i.setPattern(l),i}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getNumfmtItemData(){return this._numfmtItemData}setNumfmtItemData(e){this._numfmtItemData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=na(e);return Ut.has(t)?h.create(t):e.t===E.CellValueType.NUMBER?or(t):e.t===E.CellValueType.STRING||e.t===E.CellValueType.FORCE_STRING?Jr(t):e.t===E.CellValueType.BOOLEAN?ar(t):at.create(t)}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const s=this.getCurrentActiveSheetData(),i=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(i==null?void 0:i.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(s==null?void 0:s.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var i;const s=Object.keys(this._runtimeFeatureCellData);for(const a of s){const o=this._runtimeFeatureCellData[a],u=(i=o==null?void 0:o[this.getUnitId()])==null?void 0:i[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const s=this.getCellData(e,t);return s?this.getCellValueObject(s):h.create(f.VALUE)}toArrayValueObject(e=!0){var y;const{startRow:t,endRow:s,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${s}_${i}_${a}`,u=Nr.get(o);if(u&&e)return u;const l=s-t+1,c=a-i+1;if(l<0||c<0)return this._getBlankArrayValueObject();const m=new Array(l);this.iterator((C,A,P)=>{const V=A-t,U=P-i;m[V]||(m[V]=new Array(c)),C==null&&(C=ce.create()),m[V][U]=C});const d={calculateValueList:m,rowCount:m.length,columnCount:((y=m[0])==null?void 0:y.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:i},R=be.create(d);return e&&Nr.set(o,R),R}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return be.create(e)}}class ia extends sr{constructor(n){super(),this._promise=n}isAsyncObject(){return!0}async getValue(){return this._promise}}class aa extends sr{constructor(n){super(),this._promiseList=n}isAsyncArrayObject(){return!0}async getValue(){var t;const n=[];for(let s=0;s<this._promiseList.length;s++){const i=this._promiseList[s];n[s]==null&&(n[s]=[]);for(let a=0;a<i.length;a++){const o=i[a];o.isAsyncObject()?n[s][a]=await o.getValue():n[s][a]=o}}const e={calculateValueList:n,rowCount:n.length,columnCount:((t=n[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return be.create(e)}}class $t extends Lt{constructor(n,e,t){super(""),this.setRangeData(n),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const ss=/[\[\]]/g;function is(r,n){if(ss.test(r)){const e=Number(r.replace(ss,""));return n+e}return Number(r)-1}function en(r,n=0,e=0){r=r.toLocaleUpperCase();const t=r.split(/[RC]/),s=t[1],i=t[2],a=is(s,n),o=is(i,e);return{row:a,column:o,absoluteRefType:E.AbsoluteRefType.NONE}}function as(r,n=0,e=0){const{refBody:t,sheetName:s,unitId:i}=Fn(r),a=t.indexOf(":");if(a===-1){const C=en(t,n,e),A=C.row,P=C.column,V=C.absoluteRefType;return{unitId:i,sheetName:s,range:{startRow:A,startColumn:P,endRow:A,endColumn:P,startAbsoluteRefType:V,endAbsoluteRefType:V}}}const o=t.substring(0,a),u=t.substring(a+1),l=en(o,n,e),c=en(u,n,e),m=l.row,d=l.column,R=c.row,y=c.column;return{unitId:i,sheetName:s,range:{startRow:m,startColumn:d,endRow:R,endColumn:y,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function oa(r){const n=ur(r.startRow,r.startAbsoluteRefType,!0),e=ur(r.startColumn,r.startAbsoluteRefType,!1),t=ur(r.endRow,r.endAbsoluteRefType,!0),s=ur(r.endColumn,r.endAbsoluteRefType,!1);return n===t&&e===s?`R${n}C${e}`:`R${n}C${e}:R${t}C${s}`}function ur(r,n=E.AbsoluteRefType.ALL,e){switch(r+=1,n){case E.AbsoluteRefType.ALL:return`${r}`;case E.AbsoluteRefType.ROW:return e?`${r}`:`[${r}]`;case E.AbsoluteRefType.COLUMN:return e?`[${r}]`:`${r}`;case E.AbsoluteRefType.NONE:return`[${r}]`}}const os=[];var us=(r=>r)(us||{});function ua(r){const n=r.getValue();let e=0;return n&&(e=1),S.create(e)}function ls(r){return r.isArray()&&r.getRowCount()===1&&r.getColumnCount()===1?!0:r.isReferenceObject()?!!(r.isCell()||r.getRowCount()===1&&r.getColumnCount()===1):(r=r,!!(r.isString()||r.isNumber()||r.isBoolean()||r.isError()||r.isNull()))}function de(r,n,e,t){const s=[];if(e.isArray()){const i=e.getRowCount(),a=e.getColumnCount();if(i===1&&a===1){const o=e.getFirstCell();for(let u=0;u<r;u++){const l=[];for(let c=0;c<n;c++)l.push(o);s.push(l)}}else if(i===1&&a>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(0,l)||(t!=null?t:ce.create());u.push(c)}s.push(u)}else if(a===1&&i>1)for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(o,0)||(t!=null?t:ce.create());u.push(c)}s.push(u)}else for(let o=0;o<r;o++){const u=[];for(let l=0;l<n;l++){const c=e.getRealValue(o,l)||(t!=null?t:ce.create());u.push(c)}s.push(u)}}else for(let i=0;i<r;i++){const a=[];for(let o=0;o<n;o++)a.push(e);s.push(a)}return Yt(s,r,n)}function Yt(r,n,e,t="",s=""){const i={calculateValueList:r,rowCount:n,columnCount:e,unitId:t,sheetId:s,row:-1,column:-1};return be.create(i)}class tn extends Lt{constructor(n){super(n);const e=nt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(n){if(!n.isCell())return h.create(f.REF);const e=n,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(n,e){const t=n.startRow,s=n.startColumn,i=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>i?(o.startRow=i,o.endRow=t):(o.startRow=t,o.endRow=i),s>a?(o.startColumn=a,o.endColumn=s):(o.startColumn=s,o.endColumn=a),o}_createRange(n){const e=new $t(n,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setNumfmtItemData(this.getNumfmtItemData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();e.setRefOffset(t,s);const i=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),i!=null&&e.setForcedSheetIdDirect(i);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class rn extends Lt{constructor(n){super(n);const e=nt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(n){if(!n.isRow())return h.create(f.REF);const e=n;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData().startRow,i=t.startRow;return s>i?t.endRow=s:(t.startRow=s,t.endRow=i),this.setToken(`${this.getToken()}${X.COLON}${e.getToken()}`),this}}class nn extends Lt{constructor(n){super(n);const e=nt(n);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(n){if(!n.isColumn())return h.create(f.REF);const e=n;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),s=e.getRangeData().startColumn,i=t.startColumn;return s>i?t.endColumn=s:(t.startColumn=s,t.endColumn=i),this.setToken(`${this.getToken()}${X.COLON}${e.getToken()}`),this}}class I extends E.Disposable{constructor(e){super();b(this,"_unitId");b(this,"_subUnitId");b(this,"_row",-1);b(this,"_column",-1);b(this,"needsExpandParams",!1);b(this,"needsReferenceObject",!1);this._name=e}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,s,i){this._unitId=e,this._subUnitId=t,this._row=s,this._column=i}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const s=Number(e.getValue());return Number.isNaN(s)?h.create(f.REF):s}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const s=e.getValue();s<=0&&(t=s)}}return t}binarySearch(e,t,s,i){const a=t.binarySearch(e,i);if(a==null)return h.create(f.NA);let o;return s.getRowCount()===1?o=s.get(0,a)||ce.create():o=s.get(a,0)||ce.create(),o.isNull()?h.create(f.NA):o}equalSearch(e,t,s,i=!0){const a=s.pick(t.isEqual(e));let o;return i?o=a.getFirstCell():o=a.getLastCell(),o.isNull()?h.create(f.NA):o}fuzzySearch(e,t,s,i=!0){const a=s.pick(t.compare(e,B.EQUALS));let o;return i?o=a.getFirstCell():o=a.getLastCell(),o.isNull()?h.create(f.NA):o}orderSearch(e,t,s,i=Ve.MIN,a=!1){const o=t.orderSearch(e,i,a);if(o==null)return h.create(f.NA);const u=s.get(o.row,o.column)||ce.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,s,i=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):i===0?s.slice([o,o+1]):s.slice(void 0,[o,o+1])}equalSearchExpand(e,t,s,i=!0,a=0){const o=t.isEqual(e);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,s,i=!0,a=0){const o=t.compare(e,B.EQUALS);let u;return i?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,s,i=Ve.MIN,a=!1,o=0){const u=t.orderSearch(e,i,a);return u==null?h.create(f.NA):o===0?s.slice([u.row,u.row+1]):s.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const s=[];s[0]=[];for(let i=0;i<e.length;i++){let a=e[i];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;s[0].push(u)}),o!=null&&o.isError())return o}else s[0].push(a)}return Yt(s,1,s[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=ua(e)),e.isString()){const t=Number(e.getValue());e=S.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const s=e.getForcedUnitId(),i=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=ht({unitId:s,sheetName:a,range:t});let l;return new RegExp(Ft).test(u)?l=new tn(u):new RegExp(wn).test(u)?l=new rn(u):new RegExp(Pn).test(u)?l=new nn(u):l=new $t(t,i,s),this._setReferenceDefault(e,l)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class cs extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.std()}}class fs extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.std(1)}}class hs extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.var()}}class ms extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n);return e.isError()?e:e.var(1)}}var wt=(r=>(r.BETADIST="BETADIST",r.BETAINV="BETAINV",r.BINOMDIST="BINOMDIST",r.CHIDIST="CHIDIST",r.CHIINV="CHIINV",r.CHITEST="CHITEST",r.CONFIDENCE="CONFIDENCE",r.COVAR="COVAR",r.CRITBINOM="CRITBINOM",r.EXPONDIST="EXPONDIST",r.FDIST="FDIST",r.FINV="FINV",r.FTEST="FTEST",r.GAMMADIST="GAMMADIST",r.GAMMAINV="GAMMAINV",r.HYPGEOMDIST="HYPGEOMDIST",r.LOGINV="LOGINV",r.LOGNORMDIST="LOGNORMDIST",r.MODE="MODE",r.NEGBINOMDIST="NEGBINOMDIST",r.NORMDIST="NORMDIST",r.NORMINV="NORMINV",r.NORMSDIST="NORMSDIST",r.NORMSINV="NORMSINV",r.PERCENTILE="PERCENTILE",r.PERCENTRANK="PERCENTRANK",r.POISSON="POISSON",r.QUARTILE="QUARTILE",r.RANK="RANK",r.STDEV="STDEV",r.STDEVP="STDEVP",r.TDIST="TDIST",r.TINV="TINV",r.TTEST="TTEST",r.VAR="VAR",r.VARP="VARP",r.WEIBULL="WEIBULL",r.ZTEST="ZTEST",r))(wt||{});const ds=[[fs,wt.STDEV],[cs,wt.STDEVP],[ms,wt.VAR],[hs,wt.VARP]],gs=[];var ps=(r=>(r.CUBEKPIMEMBER="CUBEKPIMEMBER",r.CUBEMEMBER="CUBEMEMBER",r.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",r.CUBERANKEDMEMBER="CUBERANKEDMEMBER",r.CUBESET="CUBESET",r.CUBESETCOUNT="CUBESETCOUNT",r.CUBEVALUE="CUBEVALUE",r))(ps||{});const Rs=[];var _s=(r=>(r.DAVERAGE="DAVERAGE",r.DCOUNT="DCOUNT",r.DCOUNTA="DCOUNTA",r.DGET="DGET",r.DMAX="DMAX",r.DMIN="DMIN",r.DPRODUCT="DPRODUCT",r.DSTDEV="DSTDEV",r.DSTDEVP="DSTDEVP",r.DSUM="DSUM",r.DVAR="DVAR",r.DVARP="DVARP",r))(_s||{});const sn="yyyy/mm/dd;@";function an(r){const n=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(r.getFullYear(),r.getMonth(),r.getDate());let s=(t-n.getTime())/(1e3*3600*24);return t>e.getTime()&&(s+=1),Math.floor(s)+1}function lr(r){const n=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(r)-1;return t>(e.getTime()-n.getTime())/(1e3*3600*24)&&(t-=1),new Date(n.getTime()+t*(1e3*3600*24))}function on(r){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(r))return!1;const e=r.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const s=t.getFullYear(),i=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${s}-${i}-${a}`;return r.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}class la extends I{calculate(n,e,t){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(t.isError())return t;const s=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=de(s,i,n),o=de(s,i,e),u=de(s,i,t);return a.map((l,c,m)=>{const d=o.get(c,m)||ce.create(),R=u.get(c,m)||ce.create();if(l.isError())return l;if(d.isError())return d;if(R.isError())return R;if(l.isString()||d.isString()||R.isString())return h.create(f.VALUE);let y=+l.getValue();const C=Math.floor(+d.getValue()),A=+R.getValue();if(y<0||y>9999)return h.create(f.NUM);y>=0&&y<1899&&(y+=1900);const P=new Date(y,C-1,A),V=an(P);if(V<0)return h.create(f.NUM);const U=S.create(V);return U.setPattern(sn),U})}}class ca extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!on(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+n.getValue();if(a<0)return h.create(f.NUM);if(a===0)return S.create(0);e=lr(a)}const s=e.getDate();return S.create(s)}}class fa extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=de(t,s,n),a=de(t,s,e);return i.map((o,u,l)=>{const c=a.get(u,l)||ce.create();if(o.isError())return o;if(c.isError())return c;if(o.isString()||o.isBoolean()||c.isString()||c.isBoolean())return h.create(f.VALUE);const m=+o.getValue();if(m<0)return h.create(f.NUM);const d=Math.floor(+c.getValue()),R=lr(m),y=R.getUTCFullYear(),C=R.getUTCMonth()+d,A=R.getUTCDate(),P=new Date(Date.UTC(y,C,A)),V=an(P),U=S.create(V);return U.setPattern(sn),U})}}var ot=(r=>(r.DATE="DATE",r.DATEDIF="DATEDIF",r.DATEVALUE="DATEVALUE",r.DAY="DAY",r.DAYS="DAYS",r.DAYS360="DAYS360",r.EDATE="EDATE",r.EOMONTH="EOMONTH",r.HOUR="HOUR",r.ISOWEEKNUM="ISOWEEKNUM",r.MINUTE="MINUTE",r.MONTH="MONTH",r.NETWORKDAYS="NETWORKDAYS",r.NETWORKDAYS_INTL="NETWORKDAYS.INTL",r.NOW="NOW",r.SECOND="SECOND",r.TIME="TIME",r.TIMEVALUE="TIMEVALUE",r.TODAY="TODAY",r.WEEKDAY="WEEKDAY",r.WEEKNUM="WEEKNUM",r.WORKDAY="WORKDAY",r.WORKDAY_INTL="WORKDAY.INTL",r.YEAR="YEAR",r.YEARFRAC="YEARFRAC",r))(ot||{});class ha extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!on(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+n.getValue();if(a<0)return h.create(f.NUM);if(a===0)return S.create(1);e=lr(a)}const s=e.getUTCMonth()+1;return S.create(s)}}class ma extends I{calculate(n){if(n)return h.create(f.NA);const e=an(new Date),t=S.create(e);return t.setPattern(sn),t}}class da extends I{calculate(n){return n==null?h.create(f.NA):n.isArray()?n.map(e=>this._handleSingleObject(e)):this._handleSingleObject(n)}_handleSingleObject(n){if(n.isError())return n;let e;const t=n.getValue();if(n.isString()){if(!on(`${t}`))return h.create(f.VALUE);e=new Date(`${t}`)}else{const a=+t;if(a<0)return h.create(f.NUM);if(a===0)return S.create(1900);e=lr(a)}const s=e.getUTCFullYear();return S.create(s)}}const Es=[[la,ot.DATE],[ca,ot.DAY],[fa,ot.EDATE],[ha,ot.MONTH],[ma,ot.TODAY],[da,ot.YEAR]],Cs=[];var ys=(r=>(r.BESSELI="BESSELI",r.BESSELJ="BESSELJ",r.BESSELK="BESSELK",r.BESSELY="BESSELY",r.BIN2DEC="BIN2DEC",r.BIN2HEX="BIN2HEX",r.BIN2OCT="BIN2OCT",r.BITAND="BITAND",r.BITLSHIFT="BITLSHIFT",r.BITOR="BITOR",r.BITRSHIFT="BITRSHIFT",r.BITXOR="BITXOR",r.COMPLEX="COMPLEX",r.CONVERT="CONVERT",r.DEC2BIN="DEC2BIN",r.DEC2HEX="DEC2HEX",r.DEC2OCT="DEC2OCT",r.DELTA="DELTA",r.ERF="ERF",r.ERF_PRECISE="ERF.PRECISE",r.ERFC="ERFC",r.ERFC_PRECISE="ERFC.PRECISE",r.GESTEP="GESTEP",r.HEX2BIN="HEX2BIN",r.HEX2DEC="HEX2DEC",r.HEX2OCT="HEX2OCT",r.IMABS="IMABS",r.IMAGINARY="IMAGINARY",r.IMARGUMENT="IMARGUMENT",r.IMCONJUGATE="IMCONJUGATE",r.IMCOS="IMCOS",r.IMCOSH="IMCOSH",r.IMCOT="IMCOT",r.IMCSC="IMCSC",r.IMCSCH="IMCSCH",r.IMDIV="IMDIV",r.IMEXP="IMEXP",r.IMLN="IMLN",r.IMLOG10="IMLOG10",r.IMLOG2="IMLOG2",r.IMPOWER="IMPOWER",r.IMPRODUCT="IMPRODUCT",r.IMREAL="IMREAL",r.IMSEC="IMSEC",r.IMSECH="IMSECH",r.IMSIN="IMSIN",r.IMSINH="IMSINH",r.IMSQRT="IMSQRT",r.IMSUB="IMSUB",r.IMSUM="IMSUM",r.IMTAN="IMTAN",r.OCT2BIN="OCT2BIN",r.OCT2DEC="OCT2DEC",r.OCT2HEX="OCT2HEX",r))(ys||{});const Ds=[];var bs=(r=>(r.ACCRINT="ACCRINT",r.ACCRINTM="ACCRINTM",r.AMORDEGRC="AMORDEGRC",r.AMORLINC="AMORLINC",r.COUPDAYBS="COUPDAYBS",r.COUPDAYS="COUPDAYS",r.COUPDAYSNC="COUPDAYSNC",r.COUPNCD="COUPNCD",r.COUPNUM="COUPNUM",r.COUPPCD="COUPPCD",r.CUMIPMT="CUMIPMT",r.CUMPRINC="CUMPRINC",r.DB="DB",r.DDB="DDB",r.DISC="DISC",r.DOLLARDE="DOLLARDE",r.DOLLARFR="DOLLARFR",r.DURATION="DURATION",r.EFFECT="EFFECT",r.FV="FV",r.FVSCHEDULE="FVSCHEDULE",r.INTRATE="INTRATE",r.IPMT="IPMT",r.IRR="IRR",r.ISPMT="ISPMT",r.MDURATION="MDURATION",r.MIRR="MIRR",r.NOMINAL="NOMINAL",r.NPER="NPER",r.NPV="NPV",r.ODDFPRICE="ODDFPRICE",r.ODDFYIELD="ODDFYIELD",r.ODDLPRICE="ODDLPRICE",r.ODDLYIELD="ODDLYIELD",r.PDURATION="PDURATION",r.PMT="PMT",r.PPMT="PPMT",r.PRICE="PRICE",r.PRICEDISC="PRICEDISC",r.PRICEMAT="PRICEMAT",r.PV="PV",r.RATE="RATE",r.RECEIVED="RECEIVED",r.RRI="RRI",r.SLN="SLN",r.SYD="SYD",r.TBILLEQ="TBILLEQ",r.TBILLPRICE="TBILLPRICE",r.TBILLYIELD="TBILLYIELD",r.VDB="VDB",r.XIRR="XIRR",r.XNPV="XNPV",r.YIELD="YIELD",r.YIELDDISC="YIELDDISC",r.YIELDMAT="YIELDMAT",r))(bs||{}),Fe=(r=>(r.CELL="CELL",r.ERROR_TYPE="ERROR.TYPE",r.INFO="INFO",r.ISBLANK="ISBLANK",r.ISERR="ISERR",r.ISERROR="ISERROR",r.ISEVEN="ISEVEN",r.ISFORMULA="ISFORMULA",r.ISLOGICAL="ISLOGICAL",r.ISNA="ISNA",r.ISNONTEXT="ISNONTEXT",r.ISNUMBER="ISNUMBER",r.ISODD="ISODD",r.ISOMITTED="ISOMITTED",r.ISREF="ISREF",r.ISTEXT="ISTEXT",r.N="N",r.NA="NA",r.SHEET="SHEET",r.SHEETS="SHEETS",r.TYPE="TYPE",r))(Fe||{});class ga extends I{calculate(n){return n==null?h.create(f.NA):n.isNull()?z.create(!0):n.isArray()?n.mapValue(e=>e.isNull()?z.create(!0):z.create(!1)):z.create(!1)}}class pa extends I{calculate(n){return n==null?h.create(f.NA):n.getValue()===f.NA?z.create(!1):n.isError()?z.create(!0):n.isArray()?n.mapValue(e=>e.getValue()===f.NA?z.create(!1):e.isError()?z.create(!0):z.create(!1)):z.create(!1)}}class Ra extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?z.create(!0):n.isArray()?n.mapValue(e=>e.isError()?z.create(!0):z.create(!1)):z.create(!1)}}class _a extends I{calculate(n){return n==null?h.create(f.NA):n.isBoolean()?z.create(!0):n.isArray()?n.mapValue(e=>e.isBoolean()?z.create(!0):z.create(!1)):z.create(!1)}}class Ea extends I{calculate(n){return n==null?h.create(f.NA):n.getValue()===f.NA?z.create(!0):n.isArray()?n.mapValue(e=>e.getValue()===f.NA?z.create(!0):z.create(!1)):z.create(!1)}}class Ca extends I{calculate(n){return n==null?h.create(f.NA):!n.isArray()&&!n.isString()?z.create(!0):n.isArray()?n.mapValue(e=>e.isString()?z.create(!1):z.create(!0)):z.create(!1)}}class ya extends I{calculate(n){return n==null?h.create(f.NA):n.isNumber()?z.create(!0):n.isArray()?n.mapValue(e=>e.isNumber()?z.create(!0):z.create(!1)):z.create(!1)}}class Da extends I{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e){return e==null?h.create(f.NA):e.isReferenceObject()?z.create(!0):z.create(!1)}}class ba extends I{calculate(n){return n==null?h.create(f.NA):n.isString()?z.create(!0):n.isArray()?n.mapValue(e=>e.isString()?z.create(!0):z.create(!1)):z.create(!1)}}const Ss=[[ga,Fe.ISBLANK],[pa,Fe.ISERR],[Ra,Fe.ISERROR],[_a,Fe.ISLOGICAL],[Ea,Fe.ISNA],[Ca,Fe.ISNONTEXT],[ya,Fe.ISNUMBER],[Da,Fe.ISREF],[ba,Fe.ISTEXT]];class Sa extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=!0,t=!0,s=null;for(const i of n){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e&&!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e&&!!i.getValue(),t=!1)}return t?h.create(f.VALUE):z.create(e)}}var ut=(r=>(r.AND="AND",r.BYCOL="BYCOL",r.BYROW="BYROW",r.FALSE="FALSE",r.IF="IF",r.IFERROR="IFERROR",r.IFNA="IFNA",r.IFS="IFS",r.LAMBDA="LAMBDA",r.LET="LET",r.MAKEARRAY="MAKEARRAY",r.MAP="MAP",r.NOT="NOT",r.OR="OR",r.REDUCE="REDUCE",r.SCAN="SCAN",r.SWITCH="SWITCH",r.TRUE="TRUE",r.XOR="XOR",r))(ut||{});class Aa extends I{calculate(n,e,t=z.create(!1)){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(n=this._getSingleValueObject(n),!n.isArray())return n.getValue()?e:t;const s=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),i=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=de(s,i,n),o=de(s,i,e,h.create(f.NA)),u=de(s,i,t,h.create(f.NA));return a.map((l,c,m)=>{if(l.isNull())return h.create(f.NA);{const d=o.get(c,m)||ce.create(),R=u.get(c,m)||ce.create();return this._calculateSingleCell(l,d,R)}})}_getSingleValueObject(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?n.getFirstCell():n}_calculateSingleCell(n,e,t){return n.isNull()?h.create(f.NA):n.getValue()?e.isNull()?h.create(f.NA):e:t.isNull()?h.create(f.NA):t}}class La extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(!n.isArray())return n.isError()?e:n;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=de(t,s,n),a=de(t,s,e);return i.iterator((o,u,l)=>{o!=null&&o.isError()&&i.set(u,l,a.get(u,l))}),i}}class wa extends I{calculate(...n){return h.create(f.VALUE)}}class Pa extends I{calculate(...n){if(n.length!==3)return h.create(f.VALUE);const e=this.getIndexNumValue(n[0]);if(typeof e!="number")return e;const t=this.getIndexNumValue(n[1]);if(typeof t!="number")return t;if(!(n[2].isValueObject()&&n[2].isLambda()))return h.create(f.VALUE);const s=n[2],i=[];for(let a=0;a<e;a++){i[a]==null&&(i[a]=[]);for(let o=0;o<t;o++){const u=s.execute(S.create(a+1),S.create(o+1));i[a][o]=u}}return new aa(i)}isAsync(){return!0}}class Va extends I{calculate(...n){if(n.length===0)return new h(f.NA);let e=!1,t=!0,s=null;for(const i of n){if(i.isError())return i;if(i.isArray()){if(i.iterator(a=>{if(a!=null&&a.isError())return s=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(e=e||!!a.getValue(),t=!1)}),s)return s}else(i.isBoolean()||i.isNumber())&&(e=e||!!i.getValue(),t=!1)}return t?new h(f.VALUE):new z(e)}}const As=[[Sa,ut.AND],[Aa,ut.IF],[wa,ut.LAMBDA],[Pa,ut.MAKEARRAY],[Va,ut.OR],[La,ut.IFERROR]];class xa extends I{calculate(n,e,t,s,i){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;const a=Number(n.getValue())-1,o=Number(e.getValue())-1;if(Number.isNaN(a)||Number.isNaN(o))return h.create(f.VALUE);const u=t?va(t.getValue()):E.AbsoluteRefType.ALL,l=this.getZeroOrOneByOneDefault(s),c=i?`${i.getValue()}`:"",m=Zt(c)?`'${c}'`:c,d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:u,endAbsoluteRefType:u},R=s&&!l?oa(d):qe(d);return Ee.create(m!==""?`${m}!${R}`:R)}}function va(r){switch(r){case 1:return E.AbsoluteRefType.ALL;case 2:return E.AbsoluteRefType.ROW;case 3:return E.AbsoluteRefType.COLUMN;case 4:return E.AbsoluteRefType.NONE;default:return E.AbsoluteRefType.ALL}}class Ma extends I{calculate(n){if(n==null)return S.create(this.column+1);if(n.isError())return n;if(!n.isArray())return h.create(f.NA);const e=n.getCurrentColumn(),t=n.getColumnCount(),s=[];for(let a=0;a<t;a++)s.push(S.create(e+a+1));const i={calculateValueList:[s],rowCount:1,columnCount:t,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(i)}}class Ua extends I{calculate(n){if(n==null)return h.create(f.NA);if(n.isError())return n;if(n.isString()||n.isNumber()||n.isBoolean())return S.create(1);if(!n.isArray())return h.create(f.NA);const e=n.getColumnCount();return S.create(e)}}var Se=(r=>(r.ADDRESS="ADDRESS",r.AREAS="AREAS",r.CHOOSE="CHOOSE",r.CHOOSECOLS="CHOOSECOLS",r.CHOOSEROWS="CHOOSEROWS",r.COLUMN="COLUMN",r.COLUMNS="COLUMNS",r.DROP="DROP",r.EXPAND="EXPAND",r.FILTER="FILTER",r.FORMULATEXT="FORMULATEXT",r.GETPIVOTDATA="GETPIVOTDATA",r.HLOOKUP="HLOOKUP",r.HSTACK="HSTACK",r.HYPERLINK="HYPERLINK",r.IMAGE="IMAGE",r.INDEX="INDEX",r.INDIRECT="INDIRECT",r.LOOKUP="LOOKUP",r.MATCH="MATCH",r.OFFSET="OFFSET",r.ROW="ROW",r.ROWS="ROWS",r.RTD="RTD",r.SORT="SORT",r.SORTBY="SORTBY",r.TAKE="TAKE",r.TOCOL="TOCOL",r.TOROW="TOROW",r.TRANSPOSE="TRANSPOSE",r.UNIQUE="UNIQUE",r.VLOOKUP="VLOOKUP",r.VSTACK="VSTACK",r.WRAPCOLS="WRAPCOLS",r.WRAPROWS="WRAPROWS",r.XLOOKUP="XLOOKUP",r.XMATCH="XMATCH",r))(Se||{});class Oa extends I{calculate(n,e,t,s){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray()||t.isError()||s!=null&&s.isError())return h.create(f.NA);const i=this.getZeroOrOneByOneDefault(s);if(i==null)return h.create(f.VALUE);const a=this.getIndexNumValue(t);if(a instanceof h)return a;const o=e.slice([0,1]),u=e.slice([a-1,a]);return o==null||u==null?h.create(f.REF):n.isArray()?n.map(l=>this._handleSingleObject(l,o,u,i)):this._handleSingleObject(n,o,u,i)}_handleSingleObject(n,e,t,s){return s===0?this.equalSearch(n,e,t):this.binarySearch(n,e,t)}}class Fa extends I{calculate(n,e){if(n==null)return h.create(f.NA);if(n.isError())return n;let t=this.getZeroOrOneByOneDefault(e);if(t==null&&(t=1),n.isArray()){const c=n;if(c.getRowCount()===1&&c.getColumnCount()===1)n=c.getFirstCell();else return c.map(()=>h.create(f.VALUE))}if(!n.isString())return h.create(f.REF);const s=n.getValue();if(t===0){const c=as(s),{range:m,sheetName:d,unitId:R}=c,y=new $t(m);return y.setForcedUnitIdDirect(R),y.setForcedSheetName(d),this._setDefault(y)}if(new RegExp(Ft).test(s))return this._setDefault(new tn(s));if(new RegExp(An).test(s))return this._setDefault(new rn(s));if(new RegExp(Ln).test(s))return this._setDefault(new nn(s));const i=nt(s),{range:a,sheetName:o,unitId:u}=i,l=new $t(a);return l.setForcedUnitIdDirect(u),l.setForcedSheetName(o),this._setDefault(l)}_setDefault(n){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(n.setDefaultUnitId(this.unitId),n.setDefaultSheetId(this.subUnitId),n)}}class Ba extends I{constructor(){super(...arguments);b(this,"needsExpandParams",!0)}calculate(e,t,s){return e==null||t==null?h.create(f.NA):e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?s!=null&&s.isError()?s:t.getColumnCount()===1||t.getRowCount()===1?s!=null&&!s.isArray()?h.create(f.REF):this._handleVector(e,t,s):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,s){if(s==null)s=t;else if(s.getRowCount()!==t.getRowCount()||s.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(i=>this.binarySearch(i,t,s)):this.binarySearch(e,t,s)}_handleArray(e,t){const s=t.getRowCount(),i=t.getColumnCount();let a,o;return i>s?(a=t.slice([0,1]),o=t.slice([s-1,s])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[i-1,i])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class ka extends I{calculate(n,e,t){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const s=e.getRowCount(),i=e.getColumnCount();if(s!==1&&i!==1||t!=null&&t.isError())return h.create(f.NA);const a=this.getMatchTypeValue(t);return a==null?h.create(f.VALUE):n.isArray()?n.map(o=>this._handleSingleObject(o,e,a)):this._handleSingleObject(n,e,a)}_handleSingleObject(n,e,t){const s=this._getSearchModeValue(t),i=e.orderSearch(n,s);if(i==null)return h.create(f.NA);if(i instanceof h)return i;const a=e.getRowCount()===1?i.column+1:i.row+1;return S.create(a)}_getSearchModeValue(n){switch(n){case 1:return Ve.MIN;case 0:return Ve.NORMAL;case-1:return Ve.MAX}}}class Ta extends I{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,t,s,i,a){if(e==null||t==null||s==null)return h.create(f.NA);if(e.isError())return e;if(t.isError())return t;if(s.isError())return s;if(i!=null&&i.isError())return i;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject()),i?i.isReferenceObject()&&(i=i.toArrayValueObject()):i=S.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=S.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,s=s,i=i,a=a,l===1&&c===1)return this._handleSingleObject(e,t,s,i,a);const m=de(l,c,t,h.create(f.NA)),d=de(l,c,s,h.create(f.NA)),R=de(l,c,i,h.create(f.NA)),y=de(l,c,a,h.create(f.NA));return m.mapValue((C,A,P)=>{const V=d.get(A,P),U=R.get(A,P),$=y.get(A,P);return C.isError()?C:V.isError()?V:U.isError()?U:$.isError()?$:this._handleSingleObject(e,C,V,U,$,!0)})}_handleSingleObject(e,t,s,i,a,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),m=this.getIndexNumValue(s);if(typeof c!="number"||typeof m!="number")return h.create(f.VALUE);const d=u+c,R=l+m;if(d<0||R<0)return h.create(f.REF);const y=this.getIndexNumValue(i),C=this.getIndexNumValue(a);if(typeof y!="number"||typeof C!="number")return h.create(f.VALUE);if(y===0||C===0)return h.create(f.REF);const A=y>0?d+y-1:d+y+1,P=C>0?R+C-1:R+C+1;if(A<0||P<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const V=d<A?d:A,U=R<P?R:P,$=d>A?d:A,ie=R>P?R:P,me={startRow:V,startColumn:U,endRow:$,endColumn:ie};return this.createReferenceObject(e,me)}}class ja extends I{calculate(n){if(n==null)return S.create(this.row+1);if(n.isError())return n;if(!n.isArray())return h.create(f.NA);const e=n.getCurrentRow(),t=n.getRowCount(),s=[];for(let a=0;a<t;a++)s.push([S.create(e+a+1)]);const i={calculateValueList:s,rowCount:t,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(i)}}class Ia extends I{calculate(n){if(n==null)return h.create(f.NA);if(n.isError())return n;if(n.isString()||n.isNumber()||n.isBoolean())return S.create(1);if(!n.isArray())return h.create(f.NA);const e=n.getRowCount();return S.create(e)}}class $a extends I{calculate(n,e,t,s){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);if(t.isError()||s!=null&&s.isError())return h.create(f.NA);if(s=s!=null?s:z.create(!0),ls(n)&&ls(s)&&t.isArray()){n=n.isArray()?n.getFirstCell():n;const l=this.getZeroOrOneByOneDefault(s);if(l==null)return h.create(f.VALUE);let c;const m=[];return t.iterator((d,R,y)=>{if(d==null)return c=h.create(f.VALUE),!1;const C=this._handleTableArray(n,e,d,l);if(C.isError())return c=C,!1;m[R]===void 0&&(m[R]=[]),m[R][y]=C}),c||Yt(m,m.length,m[0].length,this.unitId||"",this.subUnitId||"")}const i=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),o=de(i,a,n),u=de(i,a,s);return o.map((l,c,m)=>{if(l.isError())return l;const d=u.get(c,m);if(d==null)return h.create(f.VALUE);if(d.isError())return d;const R=this.getZeroOrOneByOneDefault(d);return R==null?h.create(f.VALUE):this._handleTableArray(l,e,t,R)})}_handleTableArray(n,e,t,s){const i=this.getIndexNumValue(t);if(i instanceof h)return i;const a=e.slice(void 0,[0,1]);if(a==null)return h.create(f.VALUE);const o=e.slice(void 0,[i-1,i]);return o==null?h.create(f.REF):this._handleSingleObject(n,a,o,s)}_handleSingleObject(n,e,t,s){return s===0?this.equalSearch(n,e,t):this.binarySearch(n,e,t)}}class Ya extends I{calculate(n,e,t,s,i,a){if(n==null||e==null||t==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const o=e.getRowCount(),u=e.getColumnCount();if(o!==1&&u!==1)return h.create(f.VALUE);if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const l=t.getRowCount(),c=t.getColumnCount();if(o!==l&&u!==c)return h.create(f.VALUE);if(s!=null&&s.isError()||i!=null&&i.isError()||a!=null&&a.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const m=this.getIndexNumValue(i||S.create(0));if(m instanceof h)return m;const d=this.getIndexNumValue(a||S.create(1));if(d instanceof h)return d;if(n.isArray()){let C;return o===1?C=t.slice([0,1]):C=t.slice(void 0,[0,1]),C==null?h.create(f.NA):n.map(A=>{const P=this._handleSingleObject(A,e,C,m,d);return P.isError()?s:P})}if(u===c&&o===l){const C=this._handleSingleObject(n,e,t,m,d);return C.isError()?s:C}let R=0;u===c&&(R=1);const y=this._handleExpandObject(n,e,t,m,d,R);return y==null?h.create(f.NA):y}_handleExpandObject(n,e,t,s,i,a=0){return(i===2||i===-2)&&s!==2?this.binarySearchExpand(n,e,t,a,this._getSearchModeValue(i)):s===2?this.fuzzySearchExpand(n,e,t,i!==-1,a):s===-1||s===1?this.orderSearchExpand(n,e,t,s===1?Ve.MAX:Ve.MIN,i===-1,a):this.equalSearchExpand(n,e,t,i!==-1,a)}_handleSingleObject(n,e,t,s,i){return(i===2||i===-2)&&s!==2?this.binarySearch(n,e,t,this._getSearchModeValue(i)):s===2?this.fuzzySearch(n,e,t,i!==-1):s===-1||s===1?this.orderSearch(n,e,t,s===1?Ve.MAX:Ve.MIN,i===-1):this.equalSearch(n,e,t,i!==-1)}_getSearchModeValue(n){return n===-2?Ze.MAX:Ze.MIN}}class Qa extends I{calculate(n,e,t,s){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return h.create(f.REF);if(!e.isArray())return h.create(f.VALUE);const i=e.getRowCount(),a=e.getColumnCount();if(i!==1&&a!==1)return h.create(f.VALUE);if(t!=null&&t.isError()||s!=null&&s.isError())return h.create(f.NA);const o=this.getIndexNumValue(t||S.create(0));if(o instanceof h)return o;const u=this.getIndexNumValue(s||S.create(1));return u instanceof h?u:n.isArray()?n.map(l=>this._handleSingleObject(l,e,o,u)):this._handleSingleObject(n,e,o,u)}_handleSingleObject(n,e,t,s){let i;if((s===2||s===-2)&&t!==2){const a=this._getSearchModeValue(s);i=e.binarySearch(n,a)}else if(t===2){const a=e.compare(n,B.EQUALS);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}else if(t===-1||t===1){const a=e.orderSearch(n,t===1?Ve.MAX:Ve.MIN,s===-1);if(a==null)return h.create(f.NA);if(a instanceof h)return a;i=e.getRowCount()===1?a.column:a.row}else{const a=e.isEqual(n);let o;if(s!==-1?o=a.getFirstTruePosition():o=a.getLastTruePosition(),o==null)return h.create(f.NA);i=e.getRowCount()===1?o.column:o.row}return i==null?h.create(f.NA):S.create(i+1)}_getSearchModeValue(n){return n===-2?Ze.MAX:Ze.MIN}}class za extends I{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,t,s,i){if(e==null)return h.create(f.NA);if(e.isError())return e;if(t!=null&&t.isError())return t;if(s!=null&&s.isError())return s;if(i!=null&&i.isError())return i;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:c,endRow:m,startColumn:d,endColumn:R}=e.getRangeData();a=m-c+1,o=R-d+1}else return h.create(f.VALUE);a===1&&o>1&&s==null?(s=t!=null?t:S.create(0),t=S.create(0)):(t=t!=null?t:S.create(0),s=s!=null?s:S.create(0)),i=i!=null?i:S.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1,i.isArray()?i.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(t=t,s=s,i=i,u===1&&l===1)return this._calculateSingleCell(e,t,s,i);{const c=de(u,l,t,h.create(f.NA)),m=de(u,l,s,h.create(f.NA)),d=de(u,l,i,h.create(f.NA));return c.map((R,y,C)=>{const A=m.get(y,C)||ce.create(),P=d.get(y,C)||ce.create(),V=this._calculateSingleCell(e,R,A,P);return V.isReferenceObject()?V.toArrayValueObject().getFirstCell():V})}}_calculateSingleCell(e,t,s,i){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(s.isError())return s;const o=this._getNumberValue(s);if(o===void 0||o<0)return h.create(f.VALUE);if(i.isError())return i;const u=this._getAreaNumberValue(i);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,s,i){const{startRow:a,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,m=0,d=0,R=0;if(t===0?(c=a,m=o):c=m=a+t-1,s===0?(d=u,R=l):d=R=u+s-1,c>o||d>l)return h.create(f.REF);const y={startRow:c,startColumn:d,endRow:m,endColumn:R};return this.createReferenceObject(e,y)}}const Ls=[[xa,Se.ADDRESS],[Ma,Se.COLUMN],[Ua,Se.COLUMNS],[za,Se.INDEX],[Fa,Se.INDIRECT],[Ta,Se.OFFSET],[ja,Se.ROW],[Ia,Se.ROWS],[$a,Se.VLOOKUP],[Ba,Se.LOOKUP],[ka,Se.MATCH],[Oa,Se.HLOOKUP],[Ya,Se.XLOOKUP],[Qa,Se.XMATCH]];class Ha extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?h.create(f.VALUE):n.abs())}}class Wa extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?new h(f.VALUE):n.acos())}}class Ga extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?h.create(f.VALUE):n.acosh())}}class Xa extends I{calculate(n){return n==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.isArray()?n.map(e=>e.isError()?e:ws(e)):ws(n))}}function ws(r){let n=r.getValue();if(r.isBoolean()&&(n=n?1:0),!Number.isFinite(n))return h.create(f.VALUE);const e=Math.atan(1/Number(n));return Number.isNaN(e)?h.create(f.VALUE):S.create(e)}var xe=(r=>(r.ABS="ABS",r.ACOS="ACOS",r.ACOSH="ACOSH",r.ACOT="ACOT",r.ACOTH="ACOTH",r.AGGREGATE="AGGREGATE",r.ARABIC="ARABIC",r.ASIN="ASIN",r.ASINH="ASINH",r.ATAN="ATAN",r.ATAN2="ATAN2",r.ATANH="ATANH",r.BASE="BASE",r.CEILING="CEILING",r.CEILING_MATH="CEILING.MATH",r.CEILING_PRECISE="CEILING.PRECISE",r.COMBIN="COMBIN",r.COMBINA="COMBINA",r.COS="COS",r.COSH="COSH",r.COT="COT",r.COTH="COTH",r.CSC="CSC",r.CSCH="CSCH",r.DECIMAL="DECIMAL",r.DEGREES="DEGREES",r.EVEN="EVEN",r.EXP="EXP",r.FACT="FACT",r.FACTDOUBLE="FACTDOUBLE",r.FLOOR="FLOOR",r.FLOOR_MATH="FLOOR.MATH",r.FLOOR_PRECISE="FLOOR.PRECISE",r.GCD="GCD",r.INT="INT",r.ISO_CEILING="ISO.CEILING",r.LCM="LCM",r.LET="LET",r.LN="LN",r.LOG="LOG",r.LOG10="LOG10",r.MDETERM="MDETERM",r.MINVERSE="MINVERSE",r.MMULT="MMULT",r.MOD="MOD",r.MROUND="MROUND",r.MULTINOMIAL="MULTINOMIAL",r.MUNIT="MUNIT",r.ODD="ODD",r.PI="PI",r.POWER="POWER",r.PRODUCT="PRODUCT",r.QUOTIENT="QUOTIENT",r.RADIANS="RADIANS",r.RAND="RAND",r.RANDARRAY="RANDARRAY",r.RANDBETWEEN="RANDBETWEEN",r.ROMAN="ROMAN",r.ROUND="ROUND",r.ROUNDDOWN="ROUNDDOWN",r.ROUNDUP="ROUNDUP",r.SEC="SEC",r.SECH="SECH",r.SERIESSUM="SERIESSUM",r.SEQUENCE="SEQUENCE",r.SIGN="SIGN",r.SIN="SIN",r.SINH="SINH",r.SQRT="SQRT",r.SQRTPI="SQRTPI",r.SUBTOTAL="SUBTOTAL",r.SUM="SUM",r.SUMIF="SUMIF",r.SUMIFS="SUMIFS",r.SUMPRODUCT="SUMPRODUCT",r.SUMSQ="SUMSQ",r.SUMX2MY2="SUMX2MY2",r.SUMX2PY2="SUMX2PY2",r.SUMXMY2="SUMXMY2",r.TAN="TAN",r.TANH="TANH",r.TRUNC="TRUNC",r))(xe||{});class Ka extends I{calculate(n,e){return n==null||e==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:n.mod(e)))}}class qa extends I{calculate(n,e){return n==null||e==null?h.create(f.NA):(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:n.pow(e)))}}class Za extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(1);for(let t=0;t<n.length;t++){let s=n[t];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(e=e.multiply(s),e.isError())return e}}return e}_multiplyArray(n){let e=S.create(1);return n.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.multiply(t)}),e}}class Ja extends I{constructor(){super(...arguments);b(this,"needsReferenceObject",!0)}calculate(e,...t){if(e==null)return h.create(f.NA);if(e.isError())return e;if(t.length===0)return h.create(f.NA);if(e.isReferenceObject()){const s=[];return e.iterator((i,a,o)=>{s[a]==null&&(s[a]=[]),s[a][o]=this._handleSingleObject(i,...t)}),Yt(s,s.length,s[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const s=this._getIndexNumValue(e);let i;if(s instanceof h)return s;switch(s){case 1:i=this._average(!1,...t);break;case 2:i=this._count(!1,...t);break;case 3:i=this._counta(!1,...t);break;case 4:i=this._max(!1,...t);break;case 5:i=this._min(!1,...t);break;case 6:i=this._product(!1,...t);break;case 7:i=this._stdev(!1,...t);break;case 8:i=this._stdevp(!1,...t);break;case 9:i=this._sum(!1,...t);break;case 10:i=this._var(!1,...t);break;case 11:i=this._varp(!1,...t);break;case 101:i=this._average(!0,...t);break;case 102:i=this._count(!0,...t);break;case 103:i=this._counta(!0,...t);break;case 104:i=this._max(!0,...t);break;case 105:i=this._min(!0,...t);break;case 106:i=this._product(!0,...t);break;case 107:i=this._stdev(!0,...t);break;case 108:i=this._stdevp(!0,...t);break;case 109:i=this._sum(!0,...t);break;case 110:i=this._var(!0,...t);break;case 111:i=this._varp(!0,...t);break;default:i=h.create(f.VALUE)}return i}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const s=Math.floor(t);return s>=1&&s<=11||s>=101&&s<=111?s:h.create(f.VALUE)}_average(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.mean()}_count(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.count()}_counta(e,...t){let s=S.create(0);for(let i=0;i<t.length;i++){const a=t[i];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||u==null||u.isNull())return!0;s=s.plusBy(1)})}return s}_max(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?S.create(0):s.max()}_min(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?S.create(0):s.min()}_product(e,...t){const s=this._flattenRefArray(e,...t);if(s.isError())return s;if(this._isBlankArrayObject(s))return S.create(0);let i=S.create(1);return s.iterator(a=>{i=i.multiply(a)}),i}_stdev(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std(1)}_stdevp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.std()}_sum(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:s.sum()}_var(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var(1)}_varp(e,...t){const s=this._flattenRefArray(e,...t);return s.isError()?s:this._isBlankArrayObject(s)?h.create(f.DIV_BY_ZERO):s.var()}_flattenRefArray(e,...t){const s=[];s[0]=[];for(let i=0;i<t.length;i++){const a=t[i];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;s[0].push(l)}),u!=null&&u.isError())return u}return Yt(s,1,s[0].length)}_isRowHidden(e,t){const s=e[t];return s?s.hd===E.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class Na extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<n.length;t++){let s=n[t];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),e=e.plus(s),e.isError())return e}return e}}function eo(r){const n=[B.EQUALS,B.NOT_EQUAL,B.GREATER_THAN_OR_EQUAL,B.GREATER_THAN,B.LESS_THAN_OR_EQUAL,B.LESS_THAN];for(const e of n)if(r.startsWith(e)){const t=r.substring(e.length);return[e,at.create(t)]}return[B.EQUALS,at.create(r)]}function Ps(r,n,e){if(!e)if(n.isString()){const t=`${n.getValue()}`,[s,i]=eo(t);e=s,n=i}else e=B.EQUALS;return r.compare(n,e)}function to(r,n){const e=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),t=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),s=de(e,t,r),i=de(e,t,n);return s.mapValue((a,o,u)=>{const l=i.get(o,u);return a!=null&&a.isError()?a:l!=null&&l.isError()?l:a!=null&&a.isBoolean()&&(l!=null&&l.isBoolean())?ar(a.getValue()&&l.getValue()):z.create(!1)})}class ro extends I{calculate(n,e,t){return n==null||e==null||n.isError()||e.isError()||t!=null&&t.isError()?h.create(f.NA):!n.isArray()||t&&!t.isArray()?h.create(f.VALUE):e.isArray()?e.map(s=>this._handleSingleObject(n,s,t)):this._handleSingleObject(n,e,t)}_handleSingleObject(n,e,t){const s=Ps(n,e),i=t?t.slice([0,n.getRowCount()],[0,n.getColumnCount()]):n;return i?i.pick(s).sum():h.create(f.VALUE)}}class no extends I{calculate(n,...e){if(n==null||e.length<2||n.isError())return h.create(f.NA);if(!n.isArray()||e.length<2||e.length%2!==0||e.some((c,m)=>m%2===0&&!c.isArray()))return h.create(f.VALUE);const t=n.getRowCount(),s=n.getColumnCount();let i=0,a=0;e.forEach((c,m)=>{if(m%2===1)if(c.isArray()){const d=c;i=Math.max(i,d.getRowCount()),a=Math.max(a,d.getColumnCount())}else i=Math.max(i,1),a=Math.max(a,1)});const o=[];for(let c=0;c<e.length;c++){if(c%2===1)continue;const m=e[c],d=m.getRowCount(),R=m.getColumnCount();if(d!==t||R!==s)return de(i,a,h.create(f.NA));const y=e[c+1];de(i,a,y,h.create(f.NA)).iterator((A,P,V)=>{if(!A)return;const U=Ps(m,A);if(o[P]===void 0&&(o[P]=[]),o[P][V]===void 0){o[P][V]=U;return}o[P][V]=to(o[P][V],U)})}const u=o.map(c=>c.map(m=>n.pick(m).sum())),l={calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return be.create(l)}}const Vs=[[Ha,xe.ABS],[Wa,xe.ACOS],[Ga,xe.ACOSH],[Xa,xe.ACOT],[Ka,xe.MOD],[Ja,xe.SUBTOTAL],[Na,xe.SUM],[ro,xe.SUMIF],[no,xe.SUMIFS],[qa,xe.POWER],[Za,xe.PRODUCT]];class so extends I{constructor(){super(...arguments);b(this,"_compareType",B.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class un extends Je{constructor(e){super("");b(this,"_values",[]);this._values=e}static create(e){return new un(e)}isCube(){return!0}sum(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=S.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isLessThan(s)&&(e=s)}),e}min(){let e=S.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const s=t.max();e.isGreaterThan(s)&&(e=s)}),e}count(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=S.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class io extends I{calculate(...n){if(n.length===0)return h.create(f.VALUE);const e=[];for(let t=0;t<n.length;t++){const s=n[t];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);e.push(s)}return un.create(e)}}class ao extends I{calculate(n,e){return n.isError()?n:e.isError()?e:!e.isArray()&&e.getValue()===0?h.create(f.DIV_BY_ZERO):n.divided(e)}}var Ae=(r=>(r.COMPARE="COMPARE",r.DIVIDED="DIVIDED",r.MINUS="MINUS",r.MULTIPLY="MULTIPLY",r.PLUS="PLUS",r.UNION="UNION",r.CUBE="CUBE",r))(Ae||{});class oo extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.minus(e)}}class uo extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.multiply(e)}}class lo extends I{calculate(n,e){return n.isError()?n:e.isError()?e:n.plus(e)}}const xs=[[so,Ae.COMPARE],[ao,Ae.DIVIDED],[oo,Ae.MINUS],[uo,Ae.MULTIPLY],[lo,Ae.PLUS],[io,Ae.CUBE]];class co extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(0),t=S.create(0);for(let s=0;s<n.length;s++){let i=n[s];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(e=e.plus(i.sum()),e.isError())return e;t=t.plus(i.count())}else i.isNull()||(e=e.plus(i),t=t.plus(S.create(1)))}return e.divided(t)}}class fo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<n.length;t++){const s=n[t];s.isError()||(s.isArray()?e=e.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(e=e.plus(S.create(1))):s.isNull()||(e=e.plus(S.create(1))))}return e}}class ho extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(0);for(let t=0;t<n.length;t++){let s=n[t];if(s.isError()){e=e.plus(S.create(1));continue}s.isArray()?(s=s.countA(),e=e.plus(s)):s.isNull()||(e=e.plus(S.create(1)))}return e}}var Le=(r=>(r.AVEDEV="AVEDEV",r.AVERAGE="AVERAGE",r.AVERAGEA="AVERAGEA",r.AVERAGEIF="AVERAGEIF",r.AVERAGEIFS="AVERAGEIFS",r.BETA_DIST="BETA.DIST",r.BETA_INV="BETA.INV",r.BINOM_DIST="BINOM.DIST",r.BINOM_DIST_RANGE="BINOM.DIST.RANGE",r.BINOM_INV="BINOM.INV",r.CHISQ_DIST="CHISQ.DIST",r.CHISQ_DIST_RT="CHISQ.DIST.RT",r.CHISQ_INV="CHISQ.INV",r.CHISQ_INV_RT="CHISQ.INV.RT",r.CHISQ_TEST="CHISQ.TEST",r.CONFIDENCE_NORM="CONFIDENCE.NORM",r.CONFIDENCE_T="CONFIDENCE.T",r.CORREL="CORREL",r.COUNT="COUNT",r.COUNTA="COUNTA",r.COUNTBLANK="COUNTBLANK",r.COUNTIF="COUNTIF",r.COUNTIFS="COUNTIFS",r.COVARIANCE_P="COVARIANCE.P",r.COVARIANCE_S="COVARIANCE.S",r.DEVSQ="DEVSQ",r.EXPON_DIST="EXPON.DIST",r.F_DIST="F.DIST",r.F_DIST_RT="F.DIST.RT",r.F_INV="F.INV",r.F_INV_RT="F.INV.RT",r.F_TEST="F.TEST",r.FISHER="FISHER",r.FISHERINV="FISHERINV",r.FORECAST="FORECAST",r.FORECAST_ETS="FORECAST.ETS",r.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",r.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",r.FORECAST_ETS_STAT="FORECAST.ETS.STAT",r.FORECAST_LINEAR="FORECAST.LINEAR",r.FREQUENCY="FREQUENCY",r.GAMMA="GAMMA",r.GAMMA_DIST="GAMMA.DIST",r.GAMMA_INV="GAMMA.INV",r.GAMMALN="GAMMALN",r.GAMMALN_PRECISE="GAMMALN.PRECISE",r.GAUSS="GAUSS",r.GEOMEAN="GEOMEAN",r.GROWTH="GROWTH",r.HARMEAN="HARMEAN",r.HYPGEOM_DIST="HYPGEOM.DIST",r.INTERCEPT="INTERCEPT",r.KURT="KURT",r.LARGE="LARGE",r.LINEST="LINEST",r.LOGEST="LOGEST",r.LOGNORM_DIST="LOGNORM.DIST",r.LOGNORM_INV="LOGNORM.INV",r.MAX="MAX",r.MAXA="MAXA",r.MAXIFS="MAXIFS",r.MEDIAN="MEDIAN",r.MIN="MIN",r.MINA="MINA",r.MINIFS="MINIFS",r.MODE_MULT="MODE.MULT",r.MODE_SNGL="MODE.SNGL",r.NEGBINOM_DIST="NEGBINOM.DIST",r.NORM_DIST="NORM.DIST",r.NORM_INV="NORM.INV",r.NORM_S_DIST="NORM.S.DIST",r.NORM_S_INV="NORM.S.INV",r.PEARSON="PEARSON",r.PERCENTILE_EXC="PERCENTILE.EXC",r.PERCENTILE_INC="PERCENTILE.INC",r.PERCENTRANK_EXC="PERCENTRANK.EXC",r.PERCENTRANK_INC="PERCENTRANK.INC",r.PERMUT="PERMUT",r.PERMUTATIONA="PERMUTATIONA",r.PHI="PHI",r.POISSON_DIST="POISSON.DIST",r.PROB="PROB",r.QUARTILE_EXC="QUARTILE.EXC",r.QUARTILE_INC="QUARTILE.INC",r.RANK_AVG="RANK.AVG",r.RANK_EQ="RANK.EQ",r.RSQ="RSQ",r.SKEW="SKEW",r.SKEW_P="SKEW.P",r.SLOPE="SLOPE",r.SMALL="SMALL",r.STANDARDIZE="STANDARDIZE",r.STDEV_P="STDEV.P",r.STDEV_S="STDEV.S",r.STDEVA="STDEVA",r.STDEVPA="STDEVPA",r.STEYX="STEYX",r.T_DIST="T.DIST",r.T_DIST_2T="T.DIST.2T",r.T_DIST_RT="T.DIST.RT",r.T_INV="T.INV",r.T_INV_2T="T.INV.2T",r.T_TEST="T.TEST",r.TREND="TREND",r.TRIMMEAN="TRIMMEAN",r.VAR_P="VAR.P",r.VAR_S="VAR.S",r.VARA="VARA",r.VARPA="VARPA",r.WEIBULL_DIST="WEIBULL.DIST",r.Z_TEST="Z.TEST",r))(Le||{});class mo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(Number.NEGATIVE_INFINITY);for(let t=0;t<n.length;t++){let s=n[t];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;e=this._validator(e,s)}}return e}_validator(n,e){return n.isLessThan(e).getValue()&&(n=e),n}}class vs extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=S.create(Number.POSITIVE_INFINITY);for(let t=0;t<n.length;t++){let s=n[t];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;s.isNull()||(e=this._validator(e,s))}return e}_validator(n,e){return n.isGreaterThan(e).getValue()&&(n=e),n}}class go extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.std(1)}}class po extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.std()}}class Ro extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.var(1)}}class _o extends I{calculate(...n){if(n.length===0)return h.create(f.NA);const e=this.flattenArray(n,!1);return e.isError()?e:e.var()}}const Ms=[[co,Le.AVERAGE],[fo,Le.COUNT],[mo,Le.MAX],[vs,Le.MIN],[vs,Le.MIN],[ho,Le.COUNTA],[cs,Le.STDEV_P],[fs,Le.STDEV_S],[go,Le.STDEVA],[po,Le.STDEVPA],[hs,Le.VAR_P],[ms,Le.VAR_S],[Ro,Le.VARA],[_o,Le.VARPA]];class Eo extends I{calculate(...n){if(n.length===0)return h.create(f.NA);let e=0,t=0;n.forEach(i=>{if(i.isArray()){const a=i;e=Math.max(e,a.getRowCount()),t=Math.max(t,a.getColumnCount())}else e=Math.max(e,1),t=Math.max(t,1)});let s=null;for(const i of n)s=de(e,t,i,h.create(f.NA)).mapValue((o,u,l)=>{var R,y;const c=s&&s.get(u,l);if(c!=null&&c.isError())return c;if(o.isError())return o;const m=c!=null&&c.isNull()?"":(R=c==null?void 0:c.getValue())!=null?R:"",d=o!=null&&o.isNull()?"":(y=o==null?void 0:o.getValue())!=null?y:"";return Jr(`${m}${d}`)});return s||h.create(f.VALUE)}}var _t=(r=>(r.ASC="ASC",r.ARRAYTOTEXT="ARRAYTOTEXT",r.BAHTTEXT="BAHTTEXT",r.CHAR="CHAR",r.CLEAN="CLEAN",r.CODE="CODE",r.CONCAT="CONCAT",r.CONCATENATE="CONCATENATE",r.DBCS="DBCS",r.DOLLAR="DOLLAR",r.EXACT="EXACT",r.FIND="FIND",r.FINDB="FINDB",r.FIXED="FIXED",r.LEFT="LEFT",r.LEFTB="LEFTB",r.LEN="LEN",r.LENB="LENB",r.LOWER="LOWER",r.MID="MID",r.MIDB="MIDB",r.NUMBERVALUE="NUMBERVALUE",r.PHONETIC="PHONETIC",r.PROPER="PROPER",r.REPLACE="REPLACE",r.REPLACEB="REPLACEB",r.REPT="REPT",r.RIGHT="RIGHT",r.RIGHTB="RIGHTB",r.SEARCH="SEARCH",r.SEARCHB="SEARCHB",r.SUBSTITUTE="SUBSTITUTE",r.T="T",r.TEXT="TEXT",r.TEXTAFTER="TEXTAFTER",r.TEXTBEFORE="TEXTBEFORE",r.TEXTJOIN="TEXTJOIN",r.TEXTSPLIT="TEXTSPLIT",r.TRIM="TRIM",r.UNICHAR="UNICHAR",r.UNICODE="UNICODE",r.UPPER="UPPER",r.VALUE="VALUE",r.VALUETOTEXT="VALUETOTEXT",r.CALL="CALL",r.EUROCONVERT="EUROCONVERT",r.REGISTER_ID="REGISTER.ID",r))(_t||{});class Co extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?n:n.isArray()?n.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(n)}_handleSingleText(n){if(n.isError())return n;if(n.isNull())return S.create(0);if(n.isString()||n.isBoolean()||n.isNumber()){const e=n.getValue().toString();return S.create(e.length)}return h.create(f.VALUE)}}function yo(r){let n=0;for(let e=0;e<r.length;e++){const t=r.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?n+=2:n+=1}return n}class Do extends I{calculate(n){return n==null?h.create(f.NA):n.isError()?n:n.isArray()?n.mapValue(e=>this._handleSingleText(e)):this._handleSingleText(n)}_handleSingleText(n){if(n.isError())return n;if(n.isNull())return S.create(0);if(n.isString()||n.isBoolean()||n.isNumber()){const e=n.getValue().toString(),t=yo(e);return S.create(t)}return h.create(f.VALUE)}}var bo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function So(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Us={exports:{}};(function(r,n){(function(e,t){r.exports=t()})(typeof self<"u"?self:bo,function(){return function(){var e={d:function(p,g){for(var _ in g)e.o(g,_)&&!e.o(p,_)&&Object.defineProperty(p,_,{enumerable:!0,get:g[_]})},o:function(p,g){return Object.prototype.hasOwnProperty.call(p,g)}},t={};e.d(t,{default:function(){return Ll}});var s={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const i=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(p){const g=i.exec(p);if(!g)throw new SyntaxError("Malformed locale: ".concat(p));return{lang:g[1]+(g[2]?"_"+g[2]:""),language:g[1],territory:g[2]||"",codeset:g[3]||"",modifier:g[4]||""}}function l(p){if(typeof p=="number")return s[65535&p]||null;const g=parseInt(p,16);return isFinite(g)&&s[65535&g]?s[65535&g]||null:i.test(p)?p:null}function c(p){const g=l(p);let _=null;if(g){const w=u(g);_=a[w.lang]||a[w.language]||null}return _}function m(p){return Object.assign({},o,p)}function d(p,g){const _=typeof g=="object"?g:u(g);return a[_.lang]=m(p),_.language===_.lang||a[_.language]||(a[_.language]=m(p)),a[_.lang]}const R=m({group:","});function y(p,g){if(typeof p!="number")return p;if(p<0)return-y(-p,g);if(g){const _=10**(g||0)||1;return y(p*_,0)/_}return Math.round(p)}R.isDefault=!0,d({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),d({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),d({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),d({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),d({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),d({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),d({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),d({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),d({group:","},"en"),d({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),d({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),d({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),d({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),d({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),d({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),d({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),d({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),d({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),d({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),d({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),d({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),d({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),d({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),d({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),d({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function C(p,g,_){const w=p<0?-1:1,v=10**(g||2),k=10**(_||2);let M,x,D=Math.abs(p),j=0,W=0,O=0,G=1;if((p=D)%1==0)x=[p*w,1];else if(p<1e-19)x=[w,1e19];else if(p>1e19)x=[1e19*w,1];else{do if(D=1/(D-Math.floor(D)),M=G,G=G*Math.floor(D)+j,j=M,W=O,O=Math.floor(p*G+.5),O>=v||G>=k)return[w*W,j];while(Math.abs(p-O/G)>=1e-10&&D!==Math.floor(D));x=[w*O,G]}return x}const A={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},P=Object.assign({},A);function V(p){if(p===null&&(p=A),p){for(const g in p)if(g in A){const _=p[g];P[g]=_==null?A[g]:_}}return{...P}}const U={"#":"",0:"0","?":" "},$={"@":"text","-":"minus","+":"plus"},ie=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],me=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],pe=new RegExp("["+me.join("")+"]");function N(p,g,_){return g[_+"_max"]=p.length,g[_+"_min"]=p.replace(/#/g,"").length,g}const H={};function ne(p){if(!(p in H)){const g=[],_=p.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,w=>"?".repeat(w.length));for(let w=0;w<_.length;w++){const v=_.charAt(w);g[w]=v in U?U[v]:v}H[p]=g.join("")}return H[p]}function ee(p,g){typeof p=="string"&&(p={type:"string",value:p=p.replace(/ /g,U["?"])}),g.push(p)}function Me(p){const g=[],_={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:g};let w=p+"",v="int",k=!1,M=null;const x=[];let D,j,W=!1;for(;w&&!k;){if(D=/^General/i.exec(w))_.general=!0,ee({type:"general"},g);else if(v==="int"&&(D=/^[#?0]+(?:,[#?0]+)*/.exec(w))||v==="den"&&(D=/^[#?\d]+/.exec(w))||(D=/^[#?0]+/.exec(w)))_[v+"_pattern"].push(D[0]),M={type:v,num:D[0]},ee(M,g);else if((D=/^\//.exec(w))&&_[v+"_pattern"].length){if(!M)throw new SyntaxError("Missing a numerator in pattern ".concat(p));_.fractions=!0,_.num_pattern.push(_[v+"_pattern"].pop()),M.type="num",v="den",ee({type:"div"},g)}else if(D=/^,+/.exec(w)){const F=w.charAt(1)in U;j.slice(-1)in U&&(D[0].length>1||!F)?_.scale=.001**D[0].length:_.dec_fractions||ee(D[0],g)}else{if(D=/^;/.exec(w)){k=!0;break}if(D=/^[@+-]/.exec(w))D[0]==="@"&&(_.text=!0),ee({type:$[D[0]]},g);else if(D=/^(?:\[(h+|m+|s+)\])/i.exec(w)){const F=D[1].toLowerCase(),Q=F[0],Z={type:"",size:0,date:1,raw:D[0],pad:F.length};Q==="h"?(Z.size=16,Z.type="hour-elap"):Q==="m"?(Z.size=32,Z.type="min-elap"):(Z.size=64,Z.type="sec-elap"),_.date=_.date|Z.size,x.push(Z),ee(Z,g)}else if(D=/^(?:B2)/i.exec(w))W||(_.date_system=6);else if(D=/^(?:B1)/i.exec(w))W||(_.date_system=1);else if(D=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(w)){const F={type:"",size:0,date:1,raw:D[0]},Q=D[0].toLowerCase(),Z=Q[0];if(Q==="y"||Q==="yy")F.size=2,F.type="year-short";else if(Z==="y"||Z==="e")F.size=2,F.type="year";else if(Q==="b"||Q==="bb")F.size=2,F.type="b-year-short";else if(Z==="b")F.size=2,F.type="b-year";else if(Q==="d"||Q==="dd")F.size=8,F.type="day",F.pad=/dd/.test(Q);else if(Q==="ddd")F.size=8,F.type="weekday-short";else if(Z==="d")F.size=8,F.type="weekday";else if(Z==="h")F.size=16,F.type="hour",F.pad=/hh/i.test(Q);else if(Z==="m"){Q.length===3?(F.size=4,F.type="monthname-short"):Q.length===5?(F.size=4,F.type="monthname-single"):Q.length>=4&&(F.size=4,F.type="monthname");const se=x[x.length-1];!F.type&&se&&!se.used&&80&se.size&&(se.used=!0,F.size=32,F.type="min",F.pad=/mm/.test(Q)),F.type||(F.size=4,F.type="month",F.pad=/mm/.test(Q),F.indeterminate=!0)}else if(Z==="s"){F.size=64,F.type="sec",F.pad=/ss/.test(Q);const se=x[x.length-1];se&&32&se.size?F.used=!0:se&&se.indeterminate&&(delete se.indeterminate,se.size=32,se.type="min",F.used=!0)}_.date=_.date|F.size,_.date_eval=!0,x.push(F),ee(F,g)}else if(D=/^(?:AM\/PM|am\/pm|A\/P)/.exec(w))_.clock=12,_.date=16|_.date,_.date_eval=!0,ee({type:"am",short:D[0]==="A/P"},g);else if(_.date&&(D=/^\.0{1,3}/i.exec(w))){const F=D[0].length-1,Q=[64,128,256,512][F];_.date=_.date|Q,_.date_eval=!0,_.sec_decimals=Math.max(_.sec_decimals,F),ee({type:"subsec",size:Q,decimals:F,date:1,raw:D[0]},g)}else if((D=/^\\(.)/.exec(w))||(D=/^"([^"]*?)"/.exec(w)))ee(D[1],g);else if(D=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(w))_.condition=[D[1],parseFloat(D[2],10)];else if(D=/^\[\$([^\]]+)\]/.exec(w)){const F=D[1].split("-"),Q=F.length<2?"":F[F.length-1],Z=F[0];Z&&ee(Z,g);const se=l(Q);se&&(_.locale=se);const ue=parseInt(Q,16);isFinite(ue)&&16711680&ue&&(ue>>16&255)===6&&(_.date_system=6),W=!0}else if(D=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(w))_.color=D[2]?ie[parseInt(D[2],10)]||"#000":D[1].toLowerCase();else if(!(D=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(w))){if(D=/^%/.exec(w))_.scale=100,_.percent=!0,ee("%",g);else if(D=/^_(\\.|.)/.exec(w))ee(" ",g);else if(D=/^\./.exec(w))ee({type:"point",value:D[0]},g),_.dec_fractions=!0,v="frac";else if(D=/^[Ee]([+-]?|(?=[0#?]))/.exec(w))_.exponential=!0,_.exp_plus=D[1]==="+",v="man",ee({type:"exp",plus:D[1]==="+"},g);else if(!(D=/^\*(\\.|.)/.exec(w))){if(D=/^[BENn[]/.exec(w))throw new SyntaxError("Unexpected char ".concat(w.charAt(0)," in pattern ").concat(p));w[0]==="("&&(_.parens=!0),D=[w[0]],ee(D[0],g)}}}j=D[0],w=w.slice(D?D[0].length:1)}if(_.pattern=p.slice(0,p.length-w.length),/^((?:\[[^\]]+\])+)(;|$)/.test(_.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(_.pattern)&&ee({type:"text"},g),_.fractions&&_.dec_fractions||_.fractions&&_.exponential)throw new SyntaxError("Invalid pattern: ".concat(_.pattern));const O=_.int_pattern.join("");if(_.grouping=O.indexOf(",")>=0,_.grouping){const F=O.split(","),Q=F.length;Q===2?(_.group_pri=F[1].length,_.group_sec=_.group_pri):Q>2&&(_.group_pri=F[Q-1].length,_.group_sec=F[Q-2].length)}else _.group_pri=0,_.group_sec=0;N(O.replace(/[,]/g,""),_,"int"),N(_.frac_pattern.join(""),_,"frac"),N(_.man_pattern.join(""),_,"man");let G=_.num_pattern.join(""),te=_.den_pattern.join("");const q=/\?/.test(te)||/\?/.test(G);return te=te.replace(/\d/g,q?"?":"#"),q&&(te=te.replace(/#$/g,"?")),N(G,_,"num"),N(te,_,"den"),q&&(G=G.replace(/#$/g,"?")),_.int_padding=ne(_.int_pattern.join("")),_.man_padding=ne(_.man_pattern.join("")),_.num_padding=ne(G),_.den_padding=ne(te),_.den_pattern.length&&(_.denominator=parseInt(_.den_pattern.join("").replace(/\D/g,""),10)),_.integer=!!_.int_pattern.join("").length,_.fractions&&g.forEach((F,Q)=>{const Z=g[Q+1];F.type==="string"&&Z&&(Z.type==="num"?F.rule="num+int":Z.type==="div"?F.rule="num":Z.type==="den"&&(F.rule="den"))}),_}const We=p=>{const g=p.condition;g&&g[1]<0&&(g[0]==="<"||g[0]==="<="||g[0]==="=")||p.tokens.unshift({type:"minus",volatile:!0})};function Wt(p){const g=[];let _,w=!1,v=null,k=p,M=0,x=!1,D=0,j=0;do{if(x=Me(k),(x.date||x.general)&&(x.int_pattern.length||x.frac_pattern.length||x.scale!==1||x.text))throw new Error("Illegal format");if(x.condition&&(j++,w=!0),x.text){if(v)throw new Error("Unexpected partition");v=x}x.locale&&(_=l(x.locale)),g.push(x),M=k.charAt(x.pattern.length)===";"?1:0,k=k.slice(x.pattern.length+M),D++}while(M&&D<4&&j<3);if(M)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const W=g[3];if(W&&(W.int_pattern.length||W.frac_pattern.length||W.date))throw new Error("Unexpected partition");if(w){const O=g.length;if(O===1&&(g[1]=Me("General"),g[1].generated=!0),O<3){const G=g[0],te=g[1];if(We(G),te.condition)We(te);else{const q=G.condition;(q[0]==="="||q[1]>=0&&(q[0]===">"||q[0]===">="))&&te.tokens.unshift({type:"minus",volatile:!0})}}else g.forEach(We)}else{if(g.length<4&&v)for(let O=0,G=g.length;O<G;O++)g[O]===v&&g.splice(O,1);if(g.length<1&&v&&(g[0]=Me("General"),g[0].generated=!0),g.length<2){const O=Me(g[0].pattern);O.tokens.unshift({type:"minus",volatile:!0}),O.generated=!0,g.push(O)}if(g.length<3){const O=Me(g[0].pattern);O.generated=!0,g.push(O)}if(g.length<4)if(v)g.push(v);else{const O=Me("@");O.generated=!0,g.push(O)}g[0].condition=[">",0],g[1].condition=["<",0],g[2].condition=null}return{pattern:p,partitions:g,locale:_}}const we=Math.floor;function ii(p){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&p>=0){if(p===0)return[1900,1,0];if(p===60)return[1900,2,29];if(p<60)return[1900,p<32?1:2,(p-1)%31+1]}let _=p+68569+2415019;const w=we(4*_/146097);_-=we((146097*w+3)/4);const v=we(4e3*(_+1)/1461001);_=_-we(1461*v/4)+31;const k=we(80*_/2447),M=_-we(2447*k/80);_=we(k/11);const x=k+2-12*_;return[0|100*(w-49)+v+_,0|x,0|M]}function ml(p){return ii(p+1462)}function dl(p){if(p===60)throw new Error("#VALUE!");if(p<=1)return[1317,8,29];if(p<60)return[1317,p<32?9:10,1+(p-2)%30];const g=10631/30,_=.1335;let w=p+466935;const v=we(w/10631);w-=10631*v;const k=we((w-_)/g);w-=we(k*g+_);const M=we((w+28.5001)/29.5);return M===13?[30*v+k,12,30]:[30*v+k,M,w-we(29.5001*M-29)]}function ai(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,_=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const w=we(p);return g===6?dl(w):g===-1?ml(w):ii(w,_)}const vr=Math.floor,_n=86400;function Mr(p,g){let _=null;if(Array.isArray(p)){const[w,v,k,M,x,D]=p;_=Date.UTC(w,v==null?0:v-1,k!=null?k:1,M||0,x||0,D||0)}else if(p instanceof Date&&(_=1*p,!g||!g.ignoreTimezone)){const w=new Date;w.setUTCFullYear(p.getFullYear(),p.getMonth(),p.getDate()),w.setUTCHours(p.getHours(),p.getMinutes(),p.getSeconds(),p.getMilliseconds()),_=1*w}if(_!=null&&isFinite(_)){const w=_/864e5;return w-(w<=-25509?-25568:-25569)}return p}function oi(p,g){let _=0|p;const w=_n*(p-_);let v=vr(w);w-v>.9999&&(v+=1,v===_n&&(v=0,_+=1));const k=v<0?_n+v:v,[M,x,D]=ai(p,0,g&&g.leap1900),j=vr(k/60/60)%60,W=vr(k/60)%60,O=vr(k)%60;if(g&&g.nativeDate){const G=new Date(0);return G.setUTCFullYear(M,x-1,D),G.setUTCHours(j,W,O),G}return[M,x,D,j,W,O]}function gl(p){return!!(p[0]&&p[0].percent||p[1]&&p[1].percent||p[2]&&p[2].percent||p[3]&&p[3].percent)}function pl(p){return!!(p[0]&&p[0].date||p[1]&&p[1].date||p[2]&&p[2].date||p[3]&&p[3].date)}function Rl(p){const[g,_,w,v]=p;return!(g&&!g.generated||_&&!_.generated||w&&!w.generated||!v||!v.text||v.generated)}const _l={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},El=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Cl={total:1,sign:0,period:0,int:1,frac:0},Gt=(p,g)=>p.replace(/\./,g.decimal);function ui(p,g,_,w){const v=0|_;if(typeof _=="string")p.push(_);else if(_===v)p.push(Math.abs(v));else{const k=Math.abs(_);let M=k?Math.floor(Math.log10(k)):0,x=M<0?k*10**-M:k/10**M;x===10&&(x=1,M++);const D=function(W){let O=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const G=Math.abs(W);if(!G)return Cl;const te=O&&W<0?1:0,q=Math.floor(G),F=Math.floor(Math.log10(G)+1);let Q=0,Z=0;if(q!==G){Q=1;const se=String(y(F<0?G*10**-F:G/10**F,15));let ue=se.length,oe=!0,De=0;for(;De<=se.length;){if(se[De]==="."){ue--;break}se[De]==="0"&&oe?ue--:oe=!1,De++}Z=ue-F,Z<0&&(Z=0,Q=0)}return{total:te+Math.max(F,1)+Q+Z,digits:Math.max(F,0)+Z,sign:te,period:Q,int:Math.max(F,1),frac:Z}}(k),j=()=>{const W=Math.abs(M);let O;O=x===1?x:y(x,5),p.push(Gt(O+"",w),w.exponent,M<0?w.negative:w.positive,W<10?"0":"",W)};if(M>=-4&&M<=-1){const W=k.toPrecision(10+M).replace(/\.?0+$/,"");p.push(Gt(W,w))}else if(M===10){const W=k.toFixed(10).slice(0,12).replace(/\.$/,"");p.push(Gt(W,w))}else if(Math.abs(M)<=9)if(D.total<=11){const W=y(k,9).toFixed(D.frac);p.push(Gt(W,w))}else M===9?p.push(Math.floor(k)):M>=0&&M<9?p.push(y(k,9-M)):j();else D.total>=12?j():Math.floor(k)===k?p.push(Math.floor(k)):p.push(Gt(y(k,9).toFixed(D.frac),w))}return p}const Xt=86400,li={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},ci=function(p){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const _=Math.floor(Math.log10(p));return g>1?Math.floor(_/g)*g:_};function fi(p,g,_,w){let v="",k="",M="",x="",D="",j=0,W=0|p,O=0,G=0,te=1,q=0,F=0,Q=0,Z=0,se=0,ue=0;const oe=w||R;if(!g.text&&isFinite(g.scale)&&g.scale!==1&&(p=function(ae){if(ae===0)return ae;const le=Math.ceil(Math.log10(ae<0?-ae:ae)),T=10**(16-Math.floor(le));return Math.round(ae*T)/T}(p*g.scale)),g.exponential){let ae=Math.abs(p);if(ae){const le=10**-ci(ae,g.int_max),T=y(ae*le,g.frac_max)/le;j=ci(T,g.int_max)}ae/=10**j,p=p<0?-ae:ae,v+=Math.abs(j)}if(g.integer){const ae=Math.abs(y(p,g.fractions?1:g.frac_max));D+=ae<1?"":Math.floor(ae)}if(g.grouping){let ae="",le=D.length;for(le>g.group_pri&&(le-=g.group_pri,ae=oe.group+D.slice(le,le+g.group_pri)+ae);le>g.group_sec;)le-=g.group_sec,ae=oe.group+D.slice(le,le+g.group_sec)+ae;D=le?D.slice(0,le)+ae:ae}g.dec_fractions&&(x=String(y(p,g.frac_max)).split(".")[1]||"");let De=!1;if(g.fractions){const ae=Math.abs(g.integer?p%1:p);if(ae)if(De=!0,isFinite(g.denominator))M+=g.denominator,k+=y(ae*g.denominator),k==="0"&&(k="",M="",De=!1,D||(D="0"));else{const le=C(ae,g.integer?g.num_max:1/0,g.den_max);k+=le[0],M+=le[1],g.integer&&k==="0"&&(D||(D="0"),k="",M="",De=!1)}}if(g.date){W=Math.trunc(p);const ae=Xt*(p-W);if(O=Math.floor(ae),ue=ae-O,Math.abs(ue)<1e-6?ue=0:ue>.9999&&(ue=0,O+=1,O===Xt&&(O=0,W+=1)),ue){const le=512&g.date||256&g.date||128&g.date;(le===512&&ue>.9995||le===256&&ue>.995||le===128&&ue>.95||!le&&ue>=.5)&&(O++,ue=0)}if(W||g.date_system){const le=ai(p,g.date_system,_.leap1900);G=le[0],te=le[1],q=le[2]}if(O){const le=O<0?Xt+O:O;se=Math.floor(le)%60,Z=Math.floor(le/60)%60,Q=Math.floor(le/60/60)%60}if(F=(6+W)%7,g.date_eval&&(et=p,yt=W+O/Xt,_.dateSpanLarge?et<-694324||yt>=35830291:et<0||yt>=2958466)){if(_.dateErrorThrows)throw new Error("Date out of bounds");return _.dateErrorNumber?ui(p<0?[oe.negative]:[],0,p,oe).join(""):_.overflow}}var et,yt;if(g.int_padding&&(D=g.int_padding.length===1?D||g.int_padding:g.int_padding.substring(0,g.int_padding.length-D.length)+D),g.num_padding&&(k=g.num_padding.length===1?k||g.num_padding:g.num_padding.substring(0,g.num_padding.length-k.length)+k),g.den_padding&&(M=g.den_padding.length===1?M||g.den_padding:M+g.den_padding.slice(M.length)),g.man_padding){const ae=g.exp_plus?"+":"";v=g.man_padding.length===1?(j<0?"-":ae)+(v||g.man_padding):(j<0?"-":ae)+g.man_padding.slice(0,g.man_padding.length-v.length)+v}const Y=[];let Ue=0;const lt={int:0,frac:0,man:0,num:0,den:0};for(let ae=0,le=g.tokens.length;ae<le;ae++){const T=g.tokens[ae],Ur=T.num?T.num.length:0;if(T.type==="string")T.rule?T.rule==="num"?De?Y.push(T.value):(g.num_min>0||g.den_min>0)&&Y.push(T.value.replace(/./g,U["?"])):T.rule==="num+int"?De&&D?Y.push(T.value):g.den_min>0&&(D||g.num_min)&&Y.push(T.value.replace(/./g,U["?"])):T.rule==="den"&&(De?Y.push(T.value):(g.den_min>0||g.den_min>0)&&Y.push(T.value.replace(/./g,U["?"]))):Y.push(T.value);else if(T.type==="error")Y.push(_.invalid);else if(T.type==="point")Y.push(g.date?T.value:oe.decimal);else if(T.type==="general")ui(Y,0,p,oe);else if(T.type==="exp")Y.push(oe.exponent);else if(T.type==="minus")T.volatile&&g.date||T.volatile&&(p>=0||typeof p!="number")||(T.volatile&&!g.fractions&&(g.integer||g.dec_fractions)?(p<0&&D&&D!=="0"||x)&&Y.push(oe.negative):Y.push(oe.negative));else if(T.type==="plus")Y.push(oe.positive);else if(T.type==="text")Y.push(p);else if(T.type==="div")De?Y.push("/"):g.num_min>0||g.den_min>0?Y.push(U["?"]):Y.push(U["#"]);else if(T.type==="int")if(g.int_pattern.length===1)Y.push(D);else{const Re=Ue?g.int_pattern.join("").length-lt.int:1/0,Mt=Ue===g.int_pattern.length-1?0:g.int_pattern.join("").length-(lt.int+T.num.length);Y.push(D.substring(D.length-Re,D.length-Mt)),Ue++,lt.int+=T.num.length}else if(T.type==="frac"){const Re=lt.frac;for(let Mt=0;Mt<Ur;Mt++)Y.push(x[Mt+Re]||U[T.num[Mt]]);lt.frac+=Ur}else if(T.type in li)g[T.type+"_pattern"].length===1?(T.type==="int"&&Y.push(D),T.type==="frac"&&Y.push(x),T.type==="man"&&Y.push(v),T.type==="num"&&Y.push(k),T.type==="den"&&Y.push(M)):(Y.push(li[T.type].slice(lt[T.type],lt[T.type]+Ur)),lt[T.type]+=Ur);else if(T.type==="year")G<0&&Y.push(oe.negative),Y.push(String(Math.abs(G)).padStart(4,"0"));else if(T.type==="year-short"){const Re=G%100;Y.push(Re<10?"0":"",Re)}else if(T.type==="month")Y.push(T.pad&&te<10?"0":"",te);else if(T.type==="monthname-single")g.date_system===6?Y.push(oe.mmmm6[te-1].charAt(0)):Y.push(oe.mmmm[te-1].charAt(0));else if(T.type==="monthname-short")g.date_system===6?Y.push(oe.mmm6[te-1]):Y.push(oe.mmm[te-1]);else if(T.type==="monthname")g.date_system===6?Y.push(oe.mmmm6[te-1]):Y.push(oe.mmmm[te-1]);else if(T.type==="weekday-short")Y.push(oe.ddd[F]);else if(T.type==="weekday")Y.push(oe.dddd[F]);else if(T.type==="day")Y.push(T.pad&&q<10?"0":"",q);else if(T.type==="hour"){const Re=Q%g.clock||(g.clock<24?g.clock:0);Y.push(T.pad&&Re<10?"0":"",Re)}else if(T.type==="min")Y.push(T.pad&&Z<10?"0":"",Z);else if(T.type==="sec")Y.push(T.pad&&se<10?"0":"",se);else if(T.type==="subsec"){Y.push(oe.decimal);const Re=ue.toFixed(g.sec_decimals);Y.push(Re.slice(2,2+T.decimals))}else if(T.type==="am"){const Re=Q<12?0:1;T.short&&!w?Y.push("AP"[Re]):Y.push(oe.ampm[Re])}else if(T.type==="hour-elap"){p<0&&Y.push(oe.negative);const Re=24*W+Math.floor(Math.abs(O)/3600);Y.push(String(Math.abs(Re)).padStart(T.pad,"0"))}else if(T.type==="min-elap"){p<0&&Y.push(oe.negative);const Re=1440*W+Math.floor(Math.abs(O)/60);Y.push(String(Math.abs(Re)).padStart(T.pad,"0"))}else if(T.type==="sec-elap"){p<0&&Y.push(oe.negative);const Re=W*Xt+Math.abs(O);Y.push(String(Math.abs(Re)).padStart(T.pad,"0"))}else if(T.type==="b-year")Y.push(G+543);else if(T.type==="b-year-short"){const Re=(G+543)%100;Y.push(Re<10?"0":"",Re)}}return _.nbsp?Y.join(""):Y.join("").replace(/\u00a0/g," ")}function hi(p,g){for(let _=0;_<3;_++){const w=g[_];if(w){let v;if(w.condition){const k=w.condition[0],M=w.condition[1];k==="="?v=p===M:k===">"?v=p>M:k==="<"?v=p<M:k===">="?v=p>=M:k==="<="?v=p<=M:k==="<>"&&(v=p!==M)}else v=!0;if(v)return w}}}const mi=Me("@"),di="black",Te={};function je(p,g){if(p){const _=p[0];g[_]=g[_]||{},je(p.slice(1),g[_])}else g.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(p=>{je(p,Te),je(p+" x",Te),je(p+" l",Te),je(p+" l x",Te),je("l "+p,Te),je("l "+p+" x",Te),je(p+" D",Te),je(p+" D x",Te),je("D "+p,Te),je("D "+p+" x",Te)});const yl={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Dl={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},bl={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Sl=new Date().getUTCFullYear();function gi(p){const g=new RegExp("^([\\s+%"+me.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+me.join("")+")]*)$").exec(p);if(g){const[,_,w,v,k,M]=g;let x=1,D="",j=!1,W=!1,O=!1,G=!1,te=!1,q=null,F=!1,Q=parseFloat(w.replace(/,/g,""));if(!isFinite(Q))return null;for(let se=0;se<_.length;se++){const ue=_[se];if(ue==="-"){if(j||W)return null;j=!0,x=-1}else if(pe.test(ue)){if(te)return null;te=!0,q=ue}else if(ue==="("){if(W||j)return null;W=!0,x=-1}else if(ue==="%"){if(G)return null;G=!0}}for(let se=0;se<M.length;se++){const ue=M[se];if(pe.test(ue)){if(te)return null;te=!0,q=ue,F=!0}else if(ue===")"){if(O||!W)return null;O=!0}else if(ue==="%"){if(G)return null;G=!0}}if(k){if(G||te)return null;D="0.00E+00"}else if(G){if(te)return null;D=v.includes(".")?"0.00%":"0%",Q*=.01}else if(te){const se=v.includes(".")?"#,##0.00":"#,##0";D=F?se+q:q+se}else v.includes(",")&&(D=v.includes(".")?"#,##0.00":"#,##0");const Z={v:Q*x};return D&&(Z.z=D),Z}}const Ge=(p,g,_)=>{const w=_.path||"",v=Object.keys(g);for(let k=0;k<v.length;k++){let M;const x=v[k];if(g[x]){if(x==="$"||x==="€")p||(M=_);else if(x==="-"){const D=/^(\s*([./-]|,\s)\s*|\s+)/.exec(p);if(D){const j=D[1]==="-"||D[1]==="/"||D[1]==="."?D[1]:" ";if(!_.sep||_.sep===j){const W=D[0].replace(/\s+/g," ");M=Ge(p.slice(D[0].length),g[x],{..._,sep:j,path:w+W})}}}else if(x===" "){const D=/^[,.]?\s+/.exec(p);if(D){const j=D[0].replace(/\s+/g," ");M=Ge(p.slice(D[0].length),g[x],{..._,path:w+j})}}else if(x==="j"||x==="d"){const D=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(p);D&&(M=Ge(p.slice(D[0].length),g[x],{..._,day:D[0],path:w+x}))}else if(x==="n"||x==="m"){const D=/^(0?[1-9]|1[012])\b/.exec(p);D&&(M=Ge(p.slice(D[0].length),g[x],{..._,month:+D[0],_mon:D[0],path:w+x}))}else if(x==="F"||x==="M"){const D=/^([a-z]{3,9})\b/i.exec(p),j=D&&(x==="F"?Dl:yl)[D[0].toLowerCase()];j&&(M=Ge(p.slice(D[0].length),g[x],{..._,month:j,_mon:D[0],path:w+x}))}else if(x==="l"||x==="D"){const D=/^([a-z]{3,9})\b/i.exec(p);(D&&bl[D[0].toLowerCase()])===x&&(M=Ge(p.slice(D[0].length),g[x],{..._,path:w+x}))}else if(x==="y"){const D=/^\d\d\b/.exec(p);if(D){const j=+D[0]>=30?+D[0]+1900:+D[0]+2e3;M=Ge(p.slice(D[0].length),g[x],{..._,year:j,path:w+x})}}else if(x==="Y"){const D=/^\d\d\d\d\b/.exec(p);D&&(M=Ge(p.slice(D[0].length),g[x],{..._,year:+D[0],path:w+x}))}else{if(x!=="x")throw new Error('Unknown date token "'.concat(x,'"'));{const D=En(p);D&&(M=Ge("",g[x],{..._,time:D.v,tf:D.z,path:w+x}))}}if(M)return M}}};function pi(p,g){const _=Ge(p.trim(),Te,{path:""});if(_){var w;if(_.sep==="."&&_.path.length===3)return null;const v=+((w=_.year)!==null&&w!==void 0?w:Sl);if(_.day||(_.day=1),!function(x,D,j){if(j<1||D<1||D>12)return!1;if(D===2){if(j>(x%4==0&&x%100!=0||x%400==0||x===1900?29:28))return!1}else if((D===4||D===6||D===9||D===11)&&j>30||(D===1||D===3||D===5||D===7||D===8||D===10||D===12)&&j>31)return!1;return!0}(v,_.month,_.day))return null;let k=-1/0;if(v<1900)return null;v<=1900&&_.month<=2?k=25568:v<1e4&&(k=25569);const M=Date.UTC(v,_.month-1,_.day)/864e5+k+(_.time||0);if(M>=0&&M<=2958465){const x=_._mon[0]==="0"||_.day[0]==="0"||_._mon.length===2&&_.day.length===2,D=_.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?x?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?x?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?_.tf||"":j==="Y"?"yyyy":j);return g&&g.nativeDate?{v:oi(M,g),z:D}:{v:M,z:D}}}return null}function En(p){const g=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(p);if(g){const[,_,w,v,k,M]=g;if(k&&!v||!M&&!w&&!v)return null;let x=1*(_||0);if(M){if(x>=13)return null;M[0]!=="p"&&M[0]!=="P"||(x+=12)}return{v:(60*x*60+60*(1*(w||0))+1*(v||0)+1*(k||0))/86400,z:(_.length===2?"hh":"h")+":mm"+(v?":ss":"")+(M?" AM/PM":"")}}return null}function Ri(p){return/^\s*true\s*$/i.test(p)?{v:!0}:/^\s*false\s*$/i.test(p)?{v:!1}:null}const Kt={};function Al(p,g){const{pattern:_,partitions:w,locale:v}=p,k=D=>{const j=Object.assign({},V(),g,D);return v&&(j.locale=v),j},M=(D,j)=>{const W=k(j);return function(O,G,te){const q=c(te.locale),F=G[3]?G[3]:mi;if(typeof O=="boolean"&&(O=O?"TRUE":"FALSE"),O==null)return"";if(typeof O!="number")return fi(O,F,te,q);if(!isFinite(O)){const Z=q||R;return isNaN(O)?Z.nan:(O<0?Z.negative:"")+Z.infinity}const Q=hi(O,G);return Q?fi(O,Q,te,q):te.overflow}(Mr(D,W),w,W)};M.color=(D,j)=>function(W,O){if(typeof W!="number"||!isFinite(W))return(O[3]?O[3].color:mi.color)||di;const G=hi(W,O);return G&&G.color||di}(Mr(D,k(j)),w);const x=function(D){var j;let W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[O,G]=D,te=O.frac_max,q={type:"general",isDate:pl(D),isText:Rl(D),isPercent:gl(D),maxDecimals:O.general?9:te,scale:(j=O.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:O.grouping?1:0,_partitions:D},F=!q.isDate&&!q.isText&&!O.error&&O.tokens.some(oe=>oe.type==="string"&&(W?oe.value===W:pe.test(oe.value)));let Q="G",Z=te>=0?Math.min(15,te):"",se="",ue="";if(G&&G.color&&(ue="-",q.color=1),O.parens&&(se="()",q.parentheses=1),F)Q="C",q.type="currency";else if(O.error)q.type="error",q.maxDecimals=0;else if(q.isDate){let oe=0,De=0,et="";O.tokens.forEach(Y=>{const Ue=Y.type;/^(b-)?year/.test(Ue)?(et+="Y",De++):Ue.startsWith("month")?(et+="M",De++):/^(week)?day/.test(Ue)?(et+="D",De++):Ue!=="hour"&&Ue!=="min"&&Ue!=="sec"&&Ue!=="am"||(et+=Ue[0],oe++)}),q.type="date",De&&oe?q.type="datetime":!De&&oe&&(q.type="time");const yt=El.find(Y=>et.startsWith(Y[0]));Q=yt?"D":"G",Z=yt?yt[1]:""}else q.isText?(Q="G",q.type="text",Z="",q.maxDecimals=0):O.general?(Q="G",q.type="general",Z=""):O.fractions?(Q="G",q.type="fraction",Z=""):O.exponential?(Q="S",q.type="scientific"):q.isPercent?(Q="P",q.type="percent"):O.grouping?(Q=",",q.type="grouped"):(O.int_max||te)&&(Q="F",q.type="number");return q.code=Q+Z+ue+se,q.level=_l[q.type],Object.freeze(q)}(w,(g||{}).currency)||new SyntaxError;return M.info=x,M.dateInfo=function(D){const[j]=D;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(w),M.isPercent=()=>!!x.isPercent,M.isDate=()=>!!x.isDate,M.isText=()=>!!x.isText,M.pattern=_,p.error&&(M.error=p.error),M.options=k,M.locale=v||g&&g.locale||"",Object.freeze(M)}function he(p,g){p||(p="General");let _=null;return Kt[p]?_=Kt[p]:(_=Object.assign({},V(),g).throws?Wt(p):function(w){try{return Wt(w)}catch(v){const k={tokens:[{type:"error"}],error:v.message};return{pattern:w,partitions:[k,k,k,k],error:v.message,locale:null}}}(p),_.error||(Kt[p]=_)),Al(_,g)}he.isDate=p=>he(p,{throws:!1}).isDate(),he.isPercent=p=>he(p,{throws:!1}).isPercent(),he.isText=p=>he(p,{throws:!1}).isText(),he.getInfo=(p,g)=>he(p,{...g,throws:!1}).info,he.getDateInfo=(p,g)=>he(p,{...g,throws:!1}).dateInfo,he.dateToSerial=Mr,he.dateFromSerial=oi,he.options=V,he.dec2frac=C,he.round=y,he.codeToLocale=s,he.parseLocale=u,he.getLocale=c,he.addLocale=(p,g)=>{const _=u(g);return delete Kt[_.lang],delete Kt[_.language],d(p,_)},he.format=function(p,g,_){let w=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const v=_&&typeof _=="object"?_:{locale:_,throws:!w};return he(p,v)(Mr(g,v),v)},he.is_date=he.isDate,he.parseNumber=gi,he.parseDate=pi,he.parseTime=En,he.parseBool=Ri,he.parseValue=function(p,g){var _,w,v;return(_=(w=(v=gi(p))!==null&&v!==void 0?v:pi(p,g))!==null&&w!==void 0?w:En(p))!==null&&_!==void 0?_:Ri(p)};var Ll=he;return t=t.default}()})})(Us);var Ao=Us.exports,Lo=Ao;const wo=So(Lo),Po=(r,n)=>wo.format(r,n);class Vo extends I{calculate(n,e){if(n==null||e==null)return h.create(f.NA);if(n.isError())return n;if(e.isError())return e;const t=Math.max(n.isArray()?n.getRowCount():1,e.isArray()?e.getRowCount():1),s=Math.max(n.isArray()?n.getColumnCount():1,e.isArray()?e.getColumnCount():1),i=de(t,s,n),a=de(t,s,e);return i.map((o,u,l)=>{if(o.isError()||o.isString()||o.isBoolean())return o;let c=a.get(u,l)||Ee.create(" ");if(c.isError())return c;if(c.isBoolean())return h.create(f.VALUE);c.isNull()&&(c=Ee.create(" "));const m=`${c.getValue()}`;o.isNull()&&(o=S.create(0));const d=o.getValue(),R=Po(m,d);return Ee.create(R)})}}const Os=[[Eo,_t.CONCATENATE],[Co,_t.LEN],[Do,_t.LENB],[Vo,_t.TEXT]],Fs=[];var Bs=(r=>r)(Bs||{});const ks=[];var Ts=(r=>(r.ENCODEURL="ENCODEURL",r.FILTERXML="FILTERXML",r.WEBSERVICE="WEBSERVICE",r))(Ts||{}),xo=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,Mo=(r,n,e,t)=>{for(var s=t>1?void 0:t?vo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&xo(n,e,s),s},Uo=(r,n)=>(e,t)=>n(e,t,r);L.FormulaCurrentConfigService=class extends E.Disposable{constructor(e){super();b(this,"_unitData",{});b(this,"_arrayFormulaCellData",{});b(this,"_formulaData",{});b(this,"_sheetNameMap",{});b(this,"_forceCalculate",!1);b(this,"_dirtyRanges",[]);b(this,"_dirtyNameMap",{});b(this,"_dirtyDefinedNameMap",{});b(this,"_numfmtItemMap",{});b(this,"_dirtyUnitFeatureMap",{});b(this,"_dirtyUnitOtherFormulaMap",{});b(this,"_excludedCell");b(this,"_sheetIdToNameMap",{});b(this,"_executeUnitId","");b(this,"_executeSubUnitId","");this._currentUniverService=e}dispose(){this._unitData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._numfmtItemMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getNumfmtItemMap(){return this._numfmtItemMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap)this._unitData=e.allUnitData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:s}=this._loadSheetData();this._unitData=t,this._sheetNameMap=s}this._formulaData=e.formulaData,this._arrayFormulaCellData=Sn(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._numfmtItemMap=e.numfmtItemMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(s=>{t[s]&&Object.keys(t[s]).forEach(i=>{e[s]==null&&(e[s]={}),e[s][t[s][i]]=i})}),this._sheetIdToNameMap={},Object.keys(e).forEach(s=>{Object.keys(e[s]).forEach(i=>{this._sheetIdToNameMap[s]==null&&(this._sheetIdToNameMap[s]={}),this._sheetIdToNameMap[s][e[s][i]]=i})})}_loadSheetData(){const e=this._currentUniverService.getAllUniverSheetsInstance(),t=this._currentUniverService.getCurrentUniverSheetInstance(),s=t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=s==null?void 0:s.getSheetId();const i={},a={};for(const o of e){const u=o.getUnitId(),l=o.getSheets(),c={},m={};for(const d of l){const R=d.getSheetId(),y=d.getConfig();c[R]={cellData:new E.ObjectMatrix(y.cellData),rowCount:y.rowCount,columnCount:y.columnCount,rowData:y.rowData,columnData:y.columnData},m[d.getName()]=d.getSheetId()}i[u]=c,a[u]=m}return{allUnitData:i,unitSheetNameMap:a}}},L.FormulaCurrentConfigService=Mo([Uo(0,E.IUniverInstanceService)],L.FormulaCurrentConfigService);const Ne=K.createIdentifier("univer.formula.current-data.service");var Oo=Object.defineProperty,Fo=Object.getOwnPropertyDescriptor,Bo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Fo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Oo(n,e,s),s},ln=(r,n)=>(e,t)=>n(e,t,r);let Pt=class extends E.Disposable{constructor(r,n,e){super(),this._definedNamesService=r,this._lexerTreeBuilder=n,this._formulaCurrentConfigService=e}treeBuilder(r,n=!0){return this._lexerTreeBuilder.treeBuilder(r,n,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(r){const n=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&n[e]!=null){const t=Object.keys(n[e]);for(let s=0,i=t.length;s<i;s++){const a=t[s];if(r.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(r){const n=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&n[e]!=null){const t=Object.keys(n[e]);for(let s=0,i=t.length;s<i;s++)if(t[s]===r)return!0}return!1}_injectDefinedName(r){const n=this._formulaCurrentConfigService.getExecuteUnitId();if(n==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(r);let t="",s=!1;const i=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===Pe.REFERENCE||l===Pe.FUNCTION){const m=this._definedNamesService.getValueByName(n,c);if(m){let d=m.formulaOrRefString;d.substring(0,1)===ge.EQUALS&&(d=d.substring(1)),t+=d,i.push(m.name),s=!0}else this._checkDefinedNameDirty(c)?(t+=f.NAME,s=!0,i.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:s,definedNames:i}}};Pt=Bo([ln(0,jt),ln(1,K.Inject(Nt)),ln(2,Ne)],Pt);var ko=Object.defineProperty,To=Object.getOwnPropertyDescriptor,jo=(r,n,e,t)=>{for(var s=t>1?void 0:t?To(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&ko(n,e,s),s},Io=(r,n)=>(e,t)=>n(e,t,r),$e=(r=>(r[r.IDLE=0]="IDLE",r[r.START_DEPENDENCY=1]="START_DEPENDENCY",r[r.START_CALCULATION=2]="START_CALCULATION",r[r.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",r[r.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",r[r.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",r[r.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",r[r.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",r))($e||{}),Vt=(r=>(r[r.INITIAL=0]="INITIAL",r[r.STOP_EXECUTION=1]="STOP_EXECUTION",r[r.NOT_EXECUTED=2]="NOT_EXECUTED",r[r.SUCCESS=3]="SUCCESS",r))(Vt||{});L.FormulaRuntimeService=class extends E.Disposable{constructor(e){super();b(this,"_formulaExecuteStage",0);b(this,"_stopState",!1);b(this,"_currentRow",-1);b(this,"_currentColumn",-1);b(this,"_currentRowCount",Number.NEGATIVE_INFINITY);b(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);b(this,"_currentSubUnitId","");b(this,"_currentUnitId","");b(this,"_runtimeData",{});b(this,"_runtimeOtherData",{});b(this,"_unitArrayFormulaRange",{});b(this,"_runtimeArrayFormulaCellData",{});b(this,"_runtimeClearArrayFormulaCellData",{});b(this,"_numfmtItemMap",{});b(this,"_runtimeFeatureRange",{});b(this,"_runtimeFeatureCellData",{});b(this,"_functionsExecutedState",0);b(this,"_functionDefinitionPrivacyVar",new Map);b(this,"_totalFormulasToCalculate",0);b(this,"_completedFormulasCount",0);b(this,"_totalArrayFormulasToCalculate",0);b(this,"_completedArrayFormulasCount",0);b(this,"_isCycleDependency",!1);this._currentConfigService=e}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._numfmtItemMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0}setCurrent(e,t,s,i,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=s,this._currentColumnCount=i,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const s=this._currentSubUnitId,i=this._currentUnitId;this._runtimeOtherData[i]===void 0&&(this._runtimeOtherData[i]={});const a=this._runtimeOtherData[i];a[s]===void 0&&(a[s]={});const o=a[s];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const l=t,{startRow:c,startColumn:m}=l.getRangePosition();l.iterator((d,R,y)=>{const C=this._objectValueToCellValue(d),A=R-c,P=y-m;u[A]==null&&(u[A]=[]),u[A][P]=C})}else u=[[this._objectValueToCellValue(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,s=this._currentColumn,i=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new E.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={}),this._numfmtItemMap[u]==null&&(this._numfmtItemMap[u]={}),this._numfmtItemMap[u][o]==null&&(this._numfmtItemMap[u][o]={});const c=this._numfmtItemMap[u][o],m=this._unitArrayFormulaRange[u];let d=new E.ObjectMatrix;m[o]&&(d=new E.ObjectMatrix(m[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const R=this._runtimeArrayFormulaCellData[u];R[o]==null&&(R[o]=new E.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const y=this._runtimeClearArrayFormulaCellData[u];y[o]==null&&(y[o]=new E.ObjectMatrix);const C=l[o],A=R[o],P=y[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const V=e,{startRow:U,startColumn:$,endRow:ie,endColumn:me}=V.getRangePosition();if(U===ie&&$===me){const N=V.getFirstCell(),H=this._objectValueToCellValue(N);C.setValue(t,s,H),P.setValue(t,s,H),c[t]==null&&(c[t]={}),c[t][s]=N.getPattern();return}const pe={startRow:t,startColumn:s,endRow:ie-U+t,endColumn:me-$+s};if(d.setValue(t,s,pe),m[o]=d.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,s,pe)||this._checkIfArrayFormulaExceeded(i,a,pe)){const N=this._objectValueToCellValue(h.create(f.SPILL));C.setValue(t,s,N),P.setValue(t,s,N)}else{const N=h.create(f.SPILL);V.iterator((H,ne,ee)=>{const Me=this._objectValueToCellValue(H);if(ne===U&&ee===$){if(H!=null&&H.isError()&&H.isEqualType(N))return P.setValue(t,s,{}),C.setValue(t,s,{...this._objectValueToCellValue(N)}),!1;C.setValue(t,s,{...Me})}const We=ne-U+t,Wt=ee-$+s;A.setValue(We,Wt,Me);const we=H==null?void 0:H.getPattern();we&&(c[We]==null&&(c[We]={}),c[We][Wt]=we)})}}else{const V=this._objectValueToCellValue(e);C.setValue(t,s,V),c[t]==null&&(c[t]={}),c[t][s]=e.getPattern(),P.setValue(t,s,V)}}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getNumfmtItemMap(){return this._numfmtItemMap}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),numfmtItemMap:this.getNumfmtItemMap(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage()}}_objectValueToCellValue(e){if(e==null)return{v:0,t:E.CellValueType.NUMBER};if(e.isError())return{v:e.getErrorType(),t:E.CellValueType.STRING};if(e.isValueObject()){const t=e,s=t.getValue();return t.isNumber()?{v:s,t:E.CellValueType.NUMBER}:t.isBoolean()?{v:s,t:E.CellValueType.BOOLEAN}:t.isString()&&E.isRealNum(s)?{v:s,t:E.CellValueType.FORCE_STRING}:{v:s,t:E.CellValueType.STRING}}}_checkIfArrayFormulaRangeHasData(e,t,s,i,a){var R,y,C,A,P,V,U,$,ie,me,pe,N;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,m=this._currentConfigService.getUnitData(),d=(C=(y=(R=this._unitArrayFormulaRange[e])==null?void 0:R[t])==null?void 0:y[s])==null?void 0:C[i];for(let H=o;H<=l;H++)for(let ne=u;ne<=c;ne++){if(H===s&&i===ne)continue;const ee=(V=(P=(A=this._runtimeData)==null?void 0:A[e])==null?void 0:P[t])==null?void 0:V.getValue(H,ne),Me=(ie=($=(U=this._runtimeArrayFormulaCellData)==null?void 0:U[e])==null?void 0:$[t])==null?void 0:ie.getValue(H,ne),We=(N=(pe=(me=m==null?void 0:m[e])==null?void 0:me[t])==null?void 0:pe.cellData)==null?void 0:N.getValue(H,ne);if(!E.isNullCell(ee)||!E.isNullCell(Me)&&!this._isInArrayFormulaRange(d,H,ne)||!E.isNullCell(We))return!0}return!1}_isInArrayFormulaRange(e,t,s){if(e==null)return!1;const{startRow:i,startColumn:a,endRow:o,endColumn:u}=e;return t>=i&&t<=o&&s>=a&&s<=u}_checkIfArrayFormulaExceeded(e,t,s){return s.endRow>=e||s.endColumn>=t}_isInDirtyRange(e,t,s,i){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:Cn(a,e,t,s,i)}},L.FormulaRuntimeService=jo([Io(0,Ne)],L.FormulaRuntimeService);const Be=K.createIdentifier("univer.formula.runtime.service");var re=(r=>(r.REFERENCE="ReferenceNode",r.VALUE="ValueNode",r.OPERATOR="OperatorNode",r.FUNCTION="FunctionNode",r.LAMBDA="LambdaNode",r.LAMBDA_PARAMETER="LambdaNodeParameter",r.ERROR="ErrorNode",r.BASE="Base",r.ROOT="Root",r.UNION="UnionNode",r.PREFIX="PrefixNode",r.SUFFIX="SuffixNode",r.NULL="NullNode",r))(re||{});const Ye=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class ve extends E.Disposable{constructor(e){super();b(this,"_children",[]);b(this,"_definedNames",[]);b(this,"_parent");b(this,"_valueObject");b(this,"_calculateState",!1);b(this,"_async",!1);b(this,"_address",!1);b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return re.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(mt.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),s=[],i=t.length;for(let o=0;o<i;o++){const u=t[o];s.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return i>0&&(a.children=s),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class ye extends ve{constructor(e){super(e);b(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return re.ERROR}static create(e){return new ye(e)}getValue(){return this._errorValueObject}}const Qe=100;class ze extends E.Disposable{get zIndex(){return 0}create(n,e,t){let s;return n instanceof J?s=n.getToken():s=n,new ve(s)}checkAndCreateNodeType(n){}}class cn extends ve{get nodeType(){return re.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class js extends ze{get zIndex(){return Ye.get(re.ROOT)||Qe}checkAndCreateNodeType(n){if(!(n instanceof J))return;if(n.getToken()===rt)return new cn(rt)}}class Is extends E.Disposable{constructor(){super(...arguments);b(this,"_functionExecutors",new Map);b(this,"_functionDescriptions",new Map)}dispose(){this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.set(s.name,s)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionExecutors.delete(s)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.set(s.functionName,s)}}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const s=e[t];this._functionDescriptions.delete(s)}}}const He=K.createIdentifier("univer.formula.function.service");var $o=Object.defineProperty,Yo=Object.getOwnPropertyDescriptor,Qo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Yo(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&$o(n,e,s),s},$s=(r,n)=>(e,t)=>n(e,t,r);class cr extends ve{constructor(n,e,t){super(e),this._accessor=n,this._operatorString=e,this._functionExecutor=t}get nodeType(){return re.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===_e.MINUS?t=this._functionExecutor.calculate(S.create(0),e):this._operatorString===_e.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(n){if(!n.isReferenceObject())return h.create(f.VALUE);const e=n;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(Be),s=t.currentRow||0,i=t.currentColumn||0;return e.isRow()?e.getCellByColumn(i):e.isColumn()?e.getCellByRow(s):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let fr=class extends ze{constructor(r,n){super(),this._functionService=r,this._injector=n}get zIndex(){return Ye.get(re.PREFIX)||Qe}checkAndCreateNodeType(r){if(!(r instanceof J))return;const n=r.getToken(),e=n.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===_e.MINUS)t=Ae.MINUS;else return e===_e.AT?new cr(this._injector,e):void 0;const s=this._functionService.getExecutor(t);return s?new cr(this._injector,e,s):(console.error(`No function ${n}`),ye.create(f.NAME))}};fr=Qo([$s(0,He),$s(1,K.Inject(K.Injector))],fr);function Ys(r,n,e){let t,s;const i=r.slice(0,2);let a=0;if(new RegExp(_e.MINUS,"g").test(i)){const o=n.getExecutor(Ae.MINUS);t=new cr(e,_e.MINUS,o),a++}return new RegExp(_e.AT,"g").test(i)&&(s=new cr(e,_e.AT),t&&s.setParent(t),a++),a>0&&(r=r.slice(a)),{tokenTrim:r,minusPrefixNode:t,atPrefixNode:s}}var zo=Object.defineProperty,Ho=Object.getOwnPropertyDescriptor,Wo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ho(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&zo(n,e,s),s},hr=(r,n)=>(e,t)=>n(e,t,r);class Go extends ve{constructor(n,e,t,s){super(n),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return re.FUNCTION}async executeAsync(){const n=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?n.push(o.toArrayValueObject()):n.push(o))}const s=this._calculate(n);let i;return s.isAsyncObject()||s.isAsyncArrayObject()?i=await s.getValue():i=s,this._setRefData(i),this.setValue(i),Promise.resolve(mt.SUCCESS)}execute(){const n=[],e=this.getChildren(),t=e.length;this._compatibility();for(let i=0;i<t;i++){const a=e[i].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?n.push(a.toArrayValueObject()):n.push(a))}const s=this._calculate(n);this._setRefData(s),this.setValue(s)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const n=this.getChildren(),e=n.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=n[1].getValue(),s=n[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(s!=null&&s.isReferenceObject()))return;const i=t.getRangeData(),a=s.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=i,m=l-o+1,d=c-u+1,{startRow:R,startColumn:y,endRow:C,endColumn:A}=a,P=C-R+1,V=A-y+1;m!==P&&(a.endRow+=m-P),d!==V&&(a.endColumn+=d-V)}_calculate(n){var t;let e;if(this._setRefInfo(),this._functionExecutor.isCustom()){const s=this._functionExecutor.calculateCustom(...n.map(i=>i.isArray()?i.toValue():i.getValue()));if(typeof s!="object"||s==null)e=at.create(s);else{const i=ta(s);e=be.create({calculateValueList:i,rowCount:i.length,columnCount:((t=i[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else e=this._functionExecutor.calculate(...n);return e}_setRefInfo(){const{currentUnitId:n,currentSubUnitId:e,currentRow:t,currentColumn:s}=this._runtimeService;this._functionExecutor.setRefInfo(n,e,t,s)}_setRefData(n){if(!n.isReferenceObject())return;const e=n;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}}let mr=class extends ze{constructor(r,n,e,t){super(),this._functionService=r,this._currentConfigService=n,this._runtimeService=e,this._injector=t}get zIndex(){return Ye.get(re.FUNCTION)||Qe}create(r){const n=this._functionService.getExecutor(r);return n?new Go(r,n,this._currentConfigService,this._runtimeService):(console.error(`No function ${r}`),ye.create(f.NAME))}checkAndCreateNodeType(r){if(typeof r=="string")return;const n=r.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:s}=Ys(n.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e)))return ye.create(f.VALUE);const i=e.toUpperCase();if(this._functionService.hasExecutor(i)){const a=this.create(i);return s?a.setParent(s):t&&a.setParent(t),a}}};mr=Wo([hr(0,He),hr(1,Ne),hr(2,Be),hr(3,K.Inject(K.Injector))],mr);var Xo=Object.defineProperty,Ko=Object.getOwnPropertyDescriptor,qo=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ko(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Xo(n,e,s),s},Zo=(r,n)=>(e,t)=>n(e,t,r);let xt=class extends E.Disposable{constructor(r){super(),this._runtimeService=r}dispose(){}async executeAsync(r){if(!r)return h.create(f.VALUE);await this._executeAsync(r);const n=r.getValue();if(n==null)throw new Error("node value is null");return Promise.resolve(n)}execute(r){if(!r)return h.create(f.VALUE);this._execute(r);const n=r.getValue();if(n==null)throw new Error("node value is null");return n}executePreCalculateNode(r){return r.execute(),r.getValue()}checkAsyncNode(r){const n=[];this._checkAsyncNode(r,n);for(let e=0,t=n.length;e<t;e++)if(n[e]===!0)return!0;return!1}_checkAsyncNode(r,n){const e=r.getChildren(),t=e.length;for(let s=0;s<t;s++){const i=e[s];n.push(i.isAsync()),this._checkAsyncNode(i,n)}}async _executeAsync(r){if(this._runtimeService.isStopExecution())return Promise.resolve(mt.ERROR);const n=r.getChildren(),e=n.length;for(let t=0;t<e;t++){const s=n[t];if(s.getToken().toUpperCase()===kt&&s.isEmptyParamFunction()){s.execute();continue}await this._executeAsync(s)}return r.nodeType===re.FUNCTION&&r.isAsync()?await r.executeAsync():r.execute(),Promise.resolve(mt.SUCCESS)}_execute(r){if(this._runtimeService.isStopExecution())return mt.ERROR;const n=r.getChildren(),e=n.length;for(let t=0;t<e;t++){const s=n[t];if(s.getToken().toUpperCase()===kt&&s.isEmptyParamFunction()){s.execute();continue}this._execute(s)}return r.execute(),mt.SUCCESS}};xt=qo([Zo(0,Be)],xt);function Qs(r){return r instanceof J?r.getToken()===St:!1}function Jo(r){return r instanceof J?r.getToken()===vn:!1}function zs(r){if(!r)return;if(r.getToken()!==Bt)return r;const n=r,e=n.getCurrentLambdaPrivacyVar(),t=n.getLambdaParameter();if(!e)return;const s=e.get(t);return s==null&&r.getValue()?r:zs(s)}class fn extends Je{constructor(e,t,s){super(0);b(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=s,this._lambdaPrivacyValueMap.clear()}static create(e,t,s){return new fn(e,t,s)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let s;if(this._interpreter.checkAsyncNode(this._lambdaNode))s=new ia(this._interpreter.executeAsync(this._lambdaNode));else{const i=this._interpreter.execute(this._lambdaNode);i.isReferenceObject()?s=i.toArrayValueObject():s=i}return this._lambdaNode.setNotEmpty(!0),s}_setLambdaNodeValue(e){const t=e.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.getToken()===Bt){const u=a.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)a.setValue(l);else{const c=a.getCurrentLambdaPrivacyVar(),m=zs(c.get(u));m!=null&&a.setValue(m.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const s=e[t],i=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(i,s)}}}var No=Object.defineProperty,eu=Object.getOwnPropertyDescriptor,tu=(r,n,e,t)=>{for(var s=t>1?void 0:t?eu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&No(n,e,s),s},Hs=(r,n)=>(e,t)=>n(e,t,r);class ru extends ve{constructor(e,t,s,i){super(e);b(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=s,this._lambdaPrivacyVarKeys=i}get nodeType(){return re.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(fn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let dr=class extends ze{constructor(r,n){super(),this._runtimeService=r,this._interpreter=n}get zIndex(){return Ye.get(re.LAMBDA)||Qe}create(r){const n=r.getChildren(),e=n[0];let t=n.slice(1,-1);const s=n[n.length-1];if(!(e instanceof J&&s instanceof J))return ye.create(f.NAME);if(e.getToken()===St){const o=e.getChildren();if(t.length!==o.length)return ye.create(f.VALUE)}else t=n.slice(0,-1);const i=E.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof J){const l=u.getChildren()[0];u.setToken(vn),a.set(l.trim(),void 0)}else return ye.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(i,a),this._updateLambdaStatement(s,i,a),new ru(r.getToken(),i,this._interpreter,[...a.keys()])}checkAndCreateNodeType(r){if(!(!(r instanceof J)||r.getToken().trim().toUpperCase()!==kt))return this.create(r)}_updateLambdaStatement(r,n,e){this._updateTree(r,n,e)}_updateTree(r,n,e){const t=r.getChildren(),s=t.length,i=t[0];for(let a=0;a<s;a++){const o=t[a];if(!(Qs(i)&&a!==0))if(o instanceof J)this._updateTree(o,n,e);else{const u=o.trim();if(e.has(u)){const l=new J;l.setToken(Bt),l.setLambdaId(n),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[a]=l}}}}};dr=tu([Hs(0,Be),Hs(1,K.Inject(xt))],dr);function Ws(r){if(!r)return;if(r.getToken()!==Bt)return r;const n=r,e=n.getCurrentLambdaPrivacyVar(),t=n.getLambdaParameter();if(e)return Ws(e.get(t))}class nu extends ve{constructor(n,e,t){super(n),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return re.LAMBDA_PARAMETER}execute(){const n=Ws(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(n)this.setValue(n.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class Gs extends ze{get zIndex(){return Ye.get(re.LAMBDA_PARAMETER)||Qe}create(n){const e=n.getFunctionDefinitionPrivacyVar(),t=n.getLambdaParameter();return e?new nu(n.getToken(),t,e):new ye(f.SPILL)}checkAndCreateNodeType(n){if(!(!(n instanceof J)||n.getToken().trim()!==Bt))return this.create(n)}}class su extends ve{constructor(n){super(n),this._operatorString=n}get nodeType(){return re.NULL}execute(){this.setValue(ce.create())}}var iu=Object.defineProperty,au=Object.getOwnPropertyDescriptor,ou=(r,n,e,t)=>{for(var s=t>1?void 0:t?au(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&iu(n,e,s),s},uu=(r,n)=>(e,t)=>n(e,t,r);class lu extends ve{constructor(n,e){super(n),this._operatorString=n,this._functionExecutor=e}get nodeType(){return re.OPERATOR}execute(){var i,a;const n=this.getChildren();this._functionExecutor.name===Ae.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(i=n[0])==null?void 0:i.getValue(),t=(a=n[1])==null?void 0:a.getValue();const s=this.getToken();if((e==null||t==null)&&s!==ge.MINUS&&s!==ge.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=ce.create()),t==null&&(t=ce.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let gr=class extends ze{constructor(r){super(),this._functionService=r}get zIndex(){return Ye.get(re.OPERATOR)||Qe}create(r){let n="";const e=r;e===ge.PLUS?n=Ae.PLUS:e===ge.MINUS?n=Ae.MINUS:e===ge.MULTIPLY?n=Ae.MULTIPLY:e===ge.DIVIDED?n=Ae.DIVIDED:e===ge.CONCATENATE?n=_t.CONCATENATE:e===ge.POWER?n=xe.POWER:_i.has(e)&&(n=Ae.COMPARE);const t=this._functionService.getExecutor(n);return t?new lu(e,t):(console.error(`No function ${r}`),ye.create(f.NAME))}checkAndCreateNodeType(r){if(r instanceof J)return;const n=r.trim();if(!(n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')&&ct.has(n))return this.create(n)}};gr=ou([uu(0,He)],gr);class cu extends E.Disposable{constructor(){super(...arguments);b(this,"_tableMap",new Map);b(this,"_tableOptionMap",new Map)}dispose(){this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var s;(s=this._tableMap.get(e))==null||s.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,s){var i;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(i=this._tableMap.get(e))==null||i.set(t,s)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const hn=K.createIdentifier("univer.formula.super-table.service");class fu extends Lt{constructor(n,e,t,s){super(n),this._tableData=e,this._columnDataString=t;const i=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(i);const u=this._stringToColumnData(this._columnDataString,o,s),l=u.startColumn,c=u.endColumn,m=u.type;let d=-1,R=-1;const y=a.startRow,C=a.startColumn;m===dt.ALL?(d=y,R=C):m===dt.DATA?(d=y+1,R=C):m===dt.HEADERS?(d=y,R=y):m===dt.TOTALS&&(d=C,R=C),this.setRangeData({startColumn:l,endColumn:c,startRow:d,endRow:R})}isTable(){return!0}_stringToColumnData(n,e,t){n=n.substring(1,-1);const s=n.indexOf(X.COMMA);let i=-1,a=-1,o=dt.ALL;if(s===-1){const u=this._columnHandler(n,e);i=u.startColumn,a=u.endColumn}else{const u=n.substring(0,s).substring(1,-1),l=n.substring(s+1),c=this._columnHandler(l,e,!0);i=c.startColumn,a=c.endColumn,o=t.get(u),o||(o=dt.ALL)}return{startColumn:i,endColumn:a,type:o}}_columnHandler(n,e,t=!1){var o,u,l;let s=-1,i=-1;const a=n.indexOf(X.COLON);if(new RegExp(Vn,"g").test(n)){const c=n.substring(0,a).substring(1,-1),m=n.substring(a+1).substring(1,-1);s=(o=e.get(c))!=null?o:-1,i=(u=e.get(m))!=null?u:-1}else t&&(n=n.substring(1,-1)),s=(l=e.get(n))!=null?l:-1,i=s;return{startColumn:s,endColumn:i}}}var hu=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,du=(r,n,e,t)=>{for(var s=t>1?void 0:t?mu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&hu(n,e,s),s},pr=(r,n)=>(e,t)=>n(e,t,r);class Rr extends ve{constructor(n,e,t,s=!1){super(e),this._accessor=n,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=s}get nodeType(){return re.REFERENCE}execute(){const n=this._accessor.get(Ne),e=this._accessor.get(Be);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(n.getSheetNameMap()),this._referenceObject.setUnitData(n.getUnitData()),this._referenceObject.setArrayFormulaCellData(n.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setNumfmtItemData(n.getNumfmtItemMap()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:s}=this.getRefOffset();this._referenceObject.setRefOffset(t,s),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let _r=class extends ze{constructor(r,n,e,t){super(),this._superTableService=r,this._formulaRuntimeService=n,this._functionService=e,this._injector=t}get zIndex(){return Ye.get(re.REFERENCE)||Qe}checkAndCreateNodeType(r){var u,l;let n=!1,e,t=!1;r instanceof J?(n=!0,e=r.getToken().trim(),((l=(u=r.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===X.COLON&&(t=!0)):e=r.trim();const{tokenTrim:s,minusPrefixNode:i,atPrefixNode:a}=Ys(e,this._functionService,this._injector);if(!n&&s.charAt(0)==='"'&&s.charAt(s.length-1)==='"')return;let o;if(new RegExp(Ft).test(s))o=new Rr(this._injector,s,new tn(s),t);else if(n&&new RegExp(wn).test(s))o=new Rr(this._injector,s,new rn(s),t);else if(n&&new RegExp(Pn).test(s))o=new Rr(this._injector,s,new nn(s),t);else{const c=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(c),d=new RegExp(Vn,"g"),R=s.replace(d,"");if(!n&&(m!=null&&m.has(R))){const y=d.exec(s);let C="";y&&(C=y[0]);const A=m.get(R),P=this._superTableService.getTableOptionMap();o=new Rr(this._injector,s,new fu(s,A,C,P))}}if(o)return a?o.setParent(a):i&&o.setParent(i),o}};_r=du([pr(0,hn),pr(1,Be),pr(2,He),pr(3,K.Inject(K.Injector))],_r);var gu=Object.defineProperty,pu=Object.getOwnPropertyDescriptor,Ru=(r,n,e,t)=>{for(var s=t>1?void 0:t?pu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&gu(n,e,s),s},Xs=(r,n)=>(e,t)=>n(e,t,r);class Ks extends ve{constructor(n,e,t){super(e),this._accessor=n,this._operatorString=e,this._functionExecutor=t}get nodeType(){return re.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===Xe.PERCENTAGE?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,S.create(100)),t.isNumber()&&t.setPattern("0.00%")):this._operatorString===Xe.POUND?t=this._handlerPound(e):t=h.create(f.VALUE),this.setValue(t)}_handlerPound(n){var c,m,d,R;if(!n.isReferenceObject()||!n.isCell())return h.create(f.VALUE);const e=this._accessor.get(Ne),t=this._accessor.get(Pt),s=n,i=s.getRangePosition(),a=s.getUnitId(),o=s.getSheetId(),u=e.getFormulaData(),l=(R=(d=(m=(c=u==null?void 0:u[a])==null?void 0:c[o])==null?void 0:m[i.startRow])==null?void 0:d[i.startColumn])==null?void 0:R.f;return l&&t.treeBuilder(l),h.create(f.VALUE)}}let Er=class extends ze{constructor(r,n){super(),this._functionService=r,this._injector=n}get zIndex(){return Ye.get(re.SUFFIX)||Qe}checkAndCreateNodeType(r){if(!(r instanceof J))return;const n=r.getToken().trim();if(n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;let e="";if(n===Xe.PERCENTAGE)e=Ae.DIVIDED;else return n===Xe.POUND?new Ks(this._injector,n):void 0;const t=this._functionService.getExecutor(e);return t?new Ks(this._injector,n,t):(console.error(`No function ${r}`),ye.create(f.NAME))}};Er=Ru([Xs(0,He),Xs(1,K.Inject(K.Injector))],Er);var _u=Object.defineProperty,Eu=Object.getOwnPropertyDescriptor,Cu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Eu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&_u(n,e,s),s},yu=(r,n)=>(e,t)=>n(e,t,r);class Du extends ve{constructor(n){super(n),this._operatorString=n}get nodeType(){return re.UNION}execute(){const n=this.getChildren(),e=n[0].getValue(),t=n[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let s;this._operatorString===X.COLON?s=this._unionFunction(e,t):s=h.create(f.NAME),this.setValue(s)}_unionFunction(n,e){return n.isError()||e.isError()||!n.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(n=n,e=e,n.isCell()&&e.isCell()||n.isRow()&&e.isRow()||n.isColumn()&&e.isColumn()?n.unionBy(e):h.create(f.REF))}}let Cr=class extends ze{constructor(r){super(),this._functionService=r}get zIndex(){return Ye.get(re.UNION)||Qe}create(r){return new Du(r)}checkAndCreateNodeType(r){if(!(r instanceof J))return;const e=r.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===X.COLON)return this.create(e)}};Cr=Cu([yu(0,He)],Cr);class bu extends ve{constructor(n){super(n),this._operatorString=n}get nodeType(){return re.VALUE}execute(){this.setValue(at.create(this._operatorString))}}class qs extends ze{get zIndex(){return Ye.get(re.VALUE)||Qe}_checkValueNode(n){if(Number.isNaN(Number(n))){const e=n.trim(),t=e.charAt(0),s=e.charAt(e.length-1);if(Ut.has(e))return this.create(e);if(t==='"'&&s==='"')return this.create(e);if(t==="{"&&s==="}")return this.create(e);const i=e.toUpperCase();if(i===st.TRUE||i===st.FALSE)return this.create(i)}else return this.create(n)}create(n){return new bu(n)}checkAndCreateNodeType(n){if(!(n instanceof J))return this._checkValueNode(n)}}function Su(r){let n=r;for(;n!=null&&n.getParent();)n=n.getParent();return n}var Au=Object.defineProperty,Lu=Object.getOwnPropertyDescriptor,wu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Lu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Au(n,e,s),s},ke=(r,n)=>(e,t)=>n(e,t,r);let Qt=class extends E.Disposable{constructor(n,e,t,s,i,a,o,u,l,c,m){super();b(this,"_astNodeFactoryList",[]);b(this,"_refOffsetX",0);b(this,"_refOffsetY",0);this._runtimeService=n,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=s,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(n=>{n.dispose()}),this._astNodeFactoryList=[]}parse(n,e=0,t=0){const s=new cn(rt);this._refOffsetX=e,this._refOffsetY=t;const i=this._parse(n,s);return n.hasDefinedNames()&&(i==null||i.setDefinedNames(n.getDefinedNames())),i}_lambdaParameterHandler(n,e){if(e.getLambdaId==null)return ye.create(f.VALUE);const t=e.getLambdaId(),s=new cn(rt),i=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!i)return!1;const a=[...i.keys()],o=n.getChildren(),u=o.length;for(let m=0;m<u;m++){const d=o[m];if(d instanceof J)this._parse(d,s);else return!1}const l=s.getChildren(),c=l.length;for(let m=0;m<c;m++){const d=l[m];i.set(a[m],d)}return s.setParent(e),e}_changeLetToLambda(n){const e=n.getChildren(),t=e.length;if(t%2!==1||t===0)return;const s=new J;s.setToken(kt);const i=new J;i.setToken(St);const a=[...e];for(let u=0;u<t;u++){const l=a[u];if(!(l instanceof J))return;u%2===0?l.changeToParent(s):l.changeToParent(i)}s.addChildrenFirst(i),i.setParent(s);const o=n.getParent();return o==null||o.replaceChild(n,s),s}_parse(n,e){const t=n.getChildren(),s=t.length,i=[];let a=null;const o=n.getToken().trim().toUpperCase();if(o===wi){const c=this._changeLetToLambda(n);return c!=null?this._parse(c,e):ye.create(f.ERROR)}if(o===Ke){if(a=e,s===0)return new su(rt).setParent(e),a}else{if(o===St){let c=this._lambdaParameterHandler(n,e);return c===!1&&(c=ye.create(f.ERROR)),c}if(a=this._checkAstNode(n),a==null)return ye.create(f.ERROR)}const u=t[0];for(let c=0;c<s;c++){const m=t[c];if(Qs(u)){if(c!==0&&c!==s-1)continue}else if(Jo(m)&&c!==s-1)continue;let d=null;if(m instanceof J){if(d=this._parse(m,a),d===a)continue}else d=this._checkAstNode(m);if(d==null)return ye.create(f.NAME);if(d=Su(d),d==null)return;switch(d.nodeType){case re.ERROR:return d;case re.FUNCTION:i.push(d);break;case re.LAMBDA:i.push(d);break;case re.LAMBDA_PARAMETER:i.push(d);break;case re.OPERATOR:{const R=i.pop(),y=i.pop();y&&y.setParent(d),R&&R.setParent(d),i.push(d);break}case re.REFERENCE:d.setRefOffset(this._refOffsetX,this._refOffsetY),i.push(d);break;case re.ROOT:i.push(d);break;case re.UNION:i.push(d);break;case re.VALUE:i.push(d);break;case re.PREFIX:i.push(d);break;case re.SUFFIX:i.push(d);break}}const l=i.length;for(let c=0;c<l;c++)i[c].setParent(a);return a}_checkAstNode(n){let e=null;const t=this._astNodeFactoryList.length;for(let s=0;s<t&&(e=this._astNodeFactoryList[s].checkAndCreateNodeType(n),e==null);s++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(E.sortRules)}};Qt=wu([ke(0,Be),ke(1,K.Inject(js)),ke(2,K.Inject(mr)),ke(3,K.Inject(dr)),ke(4,K.Inject(Gs)),ke(5,K.Inject(gr)),ke(6,K.Inject(fr)),ke(7,K.Inject(_r)),ke(8,K.Inject(Er)),ke(9,K.Inject(Cr)),ke(10,K.Inject(qs))],Qt);class Zs extends E.Disposable{constructor(){super(...arguments);b(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const yr=K.createIdentifier("univer.formula.feature-calculation-manager.service");class Js extends E.Disposable{constructor(){super(...arguments);b(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:s,formulaId:i}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[s])==null||delete u[i]}get(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i]}has(e){var a,o;const{unitId:t,subUnitId:s,formulaId:i}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[s])==null?void 0:o[i])!=null}register(e){const{unitId:t,subUnitId:s,formulaId:i,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][s]||(this._otherFormulaData[t][s]={}),this._otherFormulaData[t][s][i]=a}batchRegister(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{const a=s[i];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:i,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const s=e[t];if(s==null)return!0;Object.keys(s).forEach(i=>{const a=s[i];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:i,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Dr=K.createIdentifier("univer.formula.other-formula-manager.service");class mn extends E.Disposable{constructor(){super(...arguments);b(this,"node");b(this,"children",[]);b(this,"parents",[]);b(this,"formula","");b(this,"row",-1);b(this,"column",-1);b(this,"rowCount",Number.NEGATIVE_INFINITY);b(this,"columnCount",Number.NEGATIVE_INFINITY);b(this,"subUnitId","");b(this,"unitId","");b(this,"rangeList",[]);b(this,"formulaId");b(this,"featureId");b(this,"getDirtyData");b(this,"_state",0)}dispose(){var e;this.children.forEach(t=>{t.dispose()}),this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,s=e.startColumn,i=e.endRow,a=e.endColumn;return!(this.row<t||this.row>i||this.column<s||this.column>a)}dependencyRange(e,t,s){var i,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:m,range:d}=l.gridRange;if(((i=t[c])==null?void 0:i[m])!=null)return!0;if(!e.has(c))continue;const R=e.get(c);if(!R.has(m))continue;const y=R.get(m),C=(a=s==null?void 0:s[c])==null?void 0:a[m];let{startRow:A,endRow:P,startColumn:V,endColumn:U}=d;Number.isNaN(A)&&(A=0),Number.isNaN(V)&&(V=0),Number.isNaN(P)&&(P=Number.POSITIVE_INFINITY),Number.isNaN(U)&&(U=Number.POSITIVE_INFINITY);for(const $ of y){const{startRow:ie,startColumn:me,endRow:pe,endColumn:N}=$;if(!(A>pe||P<ie||V>N||U<me)){let H=!0;if(C==null||C.forValue((ne,ee)=>{if(ne>=A&&ne<=P&&ee>=V&&ee<=U)return H=!1,!1}),H)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,s=this.rangeList.length;t<s;t++){const i=this.rangeList[t],a=i.gridRange.unitId,o=i.gridRange.sheetId,u=i.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class Pu extends E.Disposable{constructor(){super(...arguments);b(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}add(e,t){const{token:s}=e;if(!this._cacheItems.has(s)){this._cacheItems.set(s,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(s).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const s=this._cacheItems.get(e),i=s.treeList.indexOf(t);i!==-1&&s.treeList.splice(i,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:s,treeList:i}=t,{gridRange:a}=s,{unitId:o,sheetId:u,range:l}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&i.forEach(c=>{if(c===e)return!0;c.pushChildren(e)})})}}var Vu=Object.defineProperty,xu=Object.getOwnPropertyDescriptor,vu=(r,n,e,t)=>{for(var s=t>1?void 0:t?xu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Vu(n,e,s),s},Et=(r,n)=>(e,t)=>n(e,t,r);const Mu=1e5,dn=new ft(Mu);let zt=class extends E.Disposable{constructor(n,e,t,s,i,a,o){super();b(this,"_updateRangeFlattenCache",new Map);b(this,"_dirtyUnitSheetNameMap",{});this._currentConfigService=n,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=s,this._interpreter=i,this._astTreeBuilder=a,this._lexer=o}dispose(){this._updateRangeFlattenCache.clear(),dn.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const n=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:s,dependencyTreeCache:i}=await this._generateTreeList(n,e,t),a=this._getUpdateTreeListAndMakeDependency(s,i);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(n,e,t){if(!e.has(n)){e.add(n),t.add(n);for(let s=0;s<n.children.length;s++)if(!e.has(n.children[s])&&this._isCyclicUtil(n.children[s],e,t)||t.has(n.children[s]))return!0}return t.delete(n),!1}_checkIsCycleDependency(n){const e=new Set,t=new Set;for(let s=0,i=n.length;s<i;s++){const a=n[s];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(n,e,t){const s=Object.keys(n),i=Object.keys(e),a=[];for(const u of s){const l=n[u];if(l==null)continue;const c=Object.keys(l);for(const m of c)new E.ObjectMatrix(l[m]).forValue((R,y,C)=>{if(C==null)return!0;const{f:A,x:P,y:V}=C,U=this._generateAstNode(A,P,V),$=new mn,ie=t[u][m];$.node=U,$.formula=A,$.unitId=u,$.subUnitId=m,$.row=R,$.column=y,$.rowCount=ie.rowCount,$.columnCount=ie.columnCount,a.push($)})}for(const u of i){const l=e[u];if(l==null)continue;const c=Object.keys(l);for(const m of c){const d=l[m];if(d==null)continue;const R=Object.keys(d);for(const y of R){const C=d[y],{f:A}=C,P=this._generateAstNode(A),V=new mn;V.node=P,V.formula=A,V.unitId=u,V.subUnitId=m,V.formulaId=y,a.push(V)}}}this._featureCalculationManagerService.getReferenceExecutorMap().forEach((u,l)=>{const{unitId:c,subUnitId:m,dependencyRanges:d,getDirtyData:R}=u,y=new mn;y.unitId=c,y.subUnitId=m,y.getDirtyData=R,y.featureId=l,y.rangeList=d.map(C=>({gridRange:C,token:ht({...C,sheetName:this._currentConfigService.getSheetName(C.unitId,C.sheetId)})})),a.push(y)});const o=new Pu;for(let u=0,l=a.length;u<l;u++){const c=a[u];if(this._runtimeService.setCurrent(c.row,c.column,c.rowCount,c.columnCount,c.subUnitId,c.unitId),c.node==null)continue;const m=await this._getRangeListByNode(c.node);for(let d=0,R=m.length;d<R;d++){const y=m[d];c.pushRangeList(y),o.add(y,c)}}return{treeList:a,dependencyTreeCache:o}}_updateRangeFlatten(){const n=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!n){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const s=e[t],i=s.range,a=s.sheetId,o=s.unitId;this._addFlattenCache(o,a,i)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(n,e=0,t=0){let s=dn.get(`${n}##${e}${t}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const i=this._lexer.treeBuilder(n);if(Ut.has(i))return ye.create(i);if(s=this._astTreeBuilder.parse(i,e,t),s==null)throw new Error("astNode is null");return dn.set(`${n}##${e}${t}`,s),s}_addFlattenCache(n,e,t){let s=this._updateRangeFlattenCache.get(n);s==null&&(s=new Map,this._updateRangeFlattenCache.set(n,s));let i=s.get(e);i==null&&(i=[],s.set(e,i)),i.push(t)}_isPreCalculateNode(n){return n.nodeType===re.UNION||n.nodeType===re.PREFIX&&n.getToken()===_e.AT||n.nodeType===re.SUFFIX&&n.getToken()===Xe.POUND}_nodeTraversalRef(n,e){const t=n.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===re.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(n,e){const t=n.getChildren(),s=t.length;for(let i=0;i<s;i++){const a=t[i];if(a.nodeType===re.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(n){let e;return this._interpreter.checkAsyncNode(n)?e=await this._interpreter.executeAsync(n):e=this._interpreter.execute(n),e}async _getRangeListByNode(n){const e=[],t=[];this._nodeTraversalRef(n,e),this._nodeTraversalReferenceFunction(n,t);const s=[];for(let i=0,a=e.length;i<a;i++){const o=e[i],l=(await this._executeNode(o)).toUnitRange(),c=ht({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});s.push({gridRange:l,token:c})}for(let i=0,a=t.length;i<a;i++){const o=t[i],l=(await this._executeNode(o)).toUnitRange(),c=ht({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});s.push({gridRange:l,token:c})}return s}_isDirtyDefinedForNode(n){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const s=Object.keys(e[t]);for(let i=0,a=s.length;i<a;i++){const o=s[i];if(n.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(n,e){const t=[],s=new Set,i=this._currentConfigService.isForceCalculate();let a=!0;e.size()>n.length&&(a=!1);for(let o=0,u=n.length;o<u;o++){const l=n[o];if(a)e.dependency(l);else for(let c=0,m=n.length;c<m;c++){const d=n[c];l!==d&&l.dependency(d)&&l.pushChildren(d)}(i||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!s.has(l)&&(t.push(l),s.add(l))}return e.dispose(),t}_includeTree(n){var m,d,R,y,C,A,P;const e=n.unitId,t=n.subUnitId,s=n.featureId;if(s!=null){const V=this._currentConfigService.getDirtyUnitFeatureMap();if(((d=(m=V==null?void 0:V[e])==null?void 0:m[t])==null?void 0:d[s])!=null)return!0}const i=n.formulaId;if(i!=null){const V=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((y=(R=V==null?void 0:V[e])==null?void 0:R[t])==null?void 0:y[i])!=null)return!0}const a=n.node;if(a!=null&&this._isDirtyDefinedForNode(a))return!0;const o=(A=(C=this._currentConfigService.getExcludedRange())==null?void 0:C[e])==null?void 0:A[t];let u=!1;if(o==null||o.forValue((V,U)=>{if(n.row===V&&n.column===U)return u=!0,!1}),u)return!1;if(((P=this._dirtyUnitSheetNameMap[e])==null?void 0:P[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const l=this._updateRangeFlattenCache.get(e);if(!l.has(t))return!1;const c=l.get(t);for(const V of c)if(n.inRangeData(V))return!0;return!1}_calculateRunList(n){let e=n;const t=[];for(;e.length>0;){const s=e.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){t.push(s);continue}const i=[];for(let a=0,o=s.parents.length;a<o;a++){const u=s.parents[a];u.isAdded()||s.isSkip()||i.push(u)}i.length===0?(t.push(s),s.setSkip()):(s.setAdded(),e.push(s),e=e.concat(i))}return t.reverse()}};zt=vu([E.OnLifecycle(E.LifecycleStages.Rendered,zt),Et(0,Ne),Et(1,Be),Et(2,Dr),Et(3,yr),Et(4,K.Inject(xt)),Et(5,K.Inject(Qt)),Et(6,K.Inject(Pt))],zt);var Uu=Object.defineProperty,Ou=Object.getOwnPropertyDescriptor,Fu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ou(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Uu(n,e,s),s},Ct=(r,n)=>(e,t)=>n(e,t,r);const Bu=1;L.CalculateFormulaService=class extends E.Disposable{constructor(e,t,s,i,a,o,u){super();b(this,"_executionStartListener$",new Dt.Subject);b(this,"executionStartListener$",this._executionStartListener$.asObservable());b(this,"_executionCompleteListener$",new Dt.Subject);b(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());b(this,"_executionInProgressListener$",new Dt.Subject);b(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=s,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}dispose(){}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||Bu;for(let s=0;s<t&&(await this._execute(),!!this._runtimeService.isCycleDependency());s++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Nr.clear(),it.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:s}=e,{dirtyRanges:i,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,s);return i==null||i.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(i,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const s=[],i={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new E.ObjectMatrix(o[u]);if(l==null)return!0;const c=new E.ObjectMatrix;l.forValue((m,d,R)=>{c.setValue(m,d,!0),s.push({unitId:a,sheetId:u,range:R})}),i[a]==null&&(i[a]={}),i[a][u]=c})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const m=l[c];if(m==null)return!0;for(const d of m)s.push({unitId:u,sheetId:c,range:d})})})}),{dirtyRanges:s,excludedCell:i}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=await this._formulaDependencyGenerator.generate(),s=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());for(let i=0,a=t.length;i<a;i++){if(await new Promise(m=>{E.requestImmediateMacroTask(m)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const o=t[i],u=o.node,l=o.getDirtyData;let c;if(u==null&&l==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId),l!=null&&o.featureId!=null){const{runtimeCellData:m,dirtyRanges:d}=l(o);this._runtimeService.setRuntimeFeatureCellData(o.featureId,m),this._runtimeService.setRuntimeFeatureRange(o.featureId,d)}else u!=null&&(s.checkAsyncNode(u)?c=await s.executeAsync(u):c=s.execute(u),o.formulaId!=null?this._runtimeService.setRuntimeOtherData(o.formulaId,c):this._runtimeService.setRuntimeData(c));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return t.length>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const s=this._lexer.treeBuilder(e,t);if(Object.values(f).includes(s))return ye.create(s);const i=this._astTreeBuilder.parse(s);i==null||i.serialize()}},L.CalculateFormulaService=Fu([E.OnLifecycle(E.LifecycleStages.Rendered,L.CalculateFormulaService),Ct(0,E.IConfigService),Ct(1,K.Inject(Pt)),Ct(2,Ne),Ct(3,Be),Ct(4,K.Inject(zt)),Ct(5,K.Inject(xt)),Ct(6,K.Inject(Qt))],L.CalculateFormulaService);const gn={id:"formula.mutation.set-numfmt-formula-data",type:E.CommandType.MUTATION,handler:(r,n)=>(r.get(L.FormulaDataModel).updateNumfmtItemMap(n.numfmtItemMap),!0)};var ku=Object.defineProperty,Tu=Object.getOwnPropertyDescriptor,ju=(r,n,e,t)=>{for(var s=t>1?void 0:t?Tu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&ku(n,e,s),s},br=(r,n)=>(e,t)=>n(e,t,r);let Sr=class extends E.Disposable{constructor(r,n,e,t){super(),this._commandService=r,this._calculateFormulaService=n,this._currentUniverService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,n)=>{if(r.id===zr.id)this._calculateFormulaService.stopFormulaExecution();else if(r.id===Wr.id){const e=r.params.formulaData;this._formulaDataModel.setFormulaData(e)}else if(r.id===Qr.id){const e=r.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:s,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,numfmtItemMap:u}=e;this._calculate(!1,t,s,i,a,o,u)}}else if(r.id===er.id){const e=r.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:s}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(s)}}))}async _calculate(r=!1,n=[],e={},t={},s={},i={},a={}){if(n.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(s).length===0&&Object.keys(i).length===0&&r===!1)return;const o=this._formulaDataModel.getFormulaData(),u=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:o,arrayFormulaCellData:u,forceCalculate:r,dirtyRanges:n,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:i,numfmtItemMap:a})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(r=>{const n=r.functionsExecutedState;switch(n){case Vt.NOT_EXECUTED:break;case Vt.STOP_EXECUTION:break;case Vt.SUCCESS:this._applyFormula(r);break;case Vt.INITIAL:break}this._commandService.executeCommand(nr.id,{functionsExecutedState:n},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(r=>{this._commandService.executeCommand(nr.id,{stageInfo:r},{onlyLocal:!0})})}async _applyFormula(r){const{unitData:n,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:s,clearArrayFormulaCellData:i,numfmtItemMap:a}=r;if(!n){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(er.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),E.Tools.isEmptyObject(a)||this._commandService.executeCommand(gn.id,{numfmtItemMap:a},{onlyLocal:!0}),this._commandService.executeCommand(Hr.id,{unitData:bi(n),unitOtherData:e},{onlyLocal:!0})}};Sr=ju([E.OnLifecycle(E.LifecycleStages.Ready,Sr),br(0,E.ICommandService),br(1,K.Inject(L.CalculateFormulaService)),br(2,E.IUniverInstanceService),br(3,K.Inject(L.FormulaDataModel))],Sr);var Iu=Object.defineProperty,$u=Object.getOwnPropertyDescriptor,Yu=(r,n,e,t)=>{for(var s=t>1?void 0:t?$u(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Iu(n,e,s),s},pn=(r,n)=>(e,t)=>n(e,t,r);let Ht=class extends E.Disposable{constructor(r=[],n,e,t){super(),this._function=r,this._commandService=n,this._injector=e,this._functionService=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Wr,er,Qr,zr,nr,Hr,gn,tr,rr,In,$r,Yr,Gr,Xr,$n,Yn,Kr,Or,qr].forEach(r=>this.disposeWithMe(this._commandService.registerCommand(r)))}_registerFunctions(){const r=[...os,...ds,...gs,...Rs,...Es,...Cs,...Ds,...Ss,...As,...Ls,...Vs,...xs,...Ms,...Os,...Fs,...ks].concat(this._function).map(n=>{const e=n[0],t=n[1];return new e(t)});this._functionService.registerExecutors(...r)}};Ht=Yu([E.OnLifecycle(E.LifecycleStages.Ready,Ht),pn(1,E.ICommandService),pn(2,K.Inject(K.Injector)),pn(3,He)],Ht);var Qu=Object.defineProperty,zu=Object.getOwnPropertyDescriptor,Hu=(r,n,e,t)=>{for(var s=t>1?void 0:t?zu(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Qu(n,e,s),s},Rn=(r,n)=>(e,t)=>n(e,t,r);let Ar=class extends E.Disposable{constructor(r,n,e){super(),this._commandService=r,this._formulaDataModel=n,this._functionService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((r,n)=>{if(r.id===Or.id){const e=r.params;if(e==null)return;const{functions:t}=e,s=t.map(i=>{const a=i[0],o=i[1];return Gu(a,o)});this._functionService.registerExecutors(...s)}else if(r.id===qr.id){const e=r.params;if(e==null)return;const{functions:t}=e;this._functionService.unregisterExecutors(...t)}}))}};Ar=Hu([E.OnLifecycle(E.LifecycleStages.Ready,Ar),Rn(0,E.ICommandService),Rn(1,K.Inject(L.FormulaDataModel)),Rn(2,He)],Ar);class Wu extends I{isCustom(){return!0}}function Gu(r,n){const e=new Wu(n),t=new Function(`return ${r}`)();return e.calculateCustom=t,e}var Xu=Object.defineProperty,Ku=Object.getOwnPropertyDescriptor,qu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ku(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Xu(n,e,s),s},Ns=(r,n)=>(e,t)=>n(e,t,r);let Lr=class extends E.Disposable{constructor(r,n){super(),this._commandService=r,this._definedNamesService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===tr.id){const n=r.params;if(n==null)return;const{id:e,unitId:t,name:s,formulaOrRefString:i,comment:a,hidden:o,localSheetId:u}=n;this._definedNamesService.registerDefinedName(t,{id:e,name:s.trim(),formulaOrRefString:i.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(r.id===rr.id){const n=r.params;if(n==null)return;const{unitId:e,id:t}=n;this._definedNamesService.removeDefinedName(e,t)}}))}};Lr=qu([E.OnLifecycle(E.LifecycleStages.Ready,Lr),Ns(0,E.ICommandService),Ns(1,jt)],Lr);var Zu=Object.defineProperty,Ju=Object.getOwnPropertyDescriptor,Nu=(r,n,e,t)=>{for(var s=t>1?void 0:t?Ju(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&Zu(n,e,s),s},ei=(r,n)=>(e,t)=>n(e,t,r);let wr=class extends E.Disposable{constructor(r,n){super(),this._commandService=r,this._featureCalculationManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===$r.id){const n=r.params;if(n==null)return;const{featureId:e,calculationParam:t}=n;this._featureCalculationManagerService.register(e,t)}else if(r.id===Yr.id){const n=r.params;if(n==null)return;const{featureId:e}=n;this._featureCalculationManagerService.remove(e)}}))}};wr=Nu([E.OnLifecycle(E.LifecycleStages.Ready,wr),ei(0,E.ICommandService),ei(1,yr)],wr);var el=Object.defineProperty,tl=Object.getOwnPropertyDescriptor,rl=(r,n,e,t)=>{for(var s=t>1?void 0:t?tl(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&el(n,e,s),s},ti=(r,n)=>(e,t)=>n(e,t,r);let Pr=class extends E.Disposable{constructor(r,n){super(),this._commandService=r,this._otherFormulaManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===Gr.id){const n=r.params;if(n==null)return;const e={[n.unitId]:{[n.subUnitId]:n.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(r.id===Xr.id){const n=r.params;if(n==null)return;const e={};n.formulaIdList.forEach(s=>e[s]=!0);const t={[n.unitId]:{[n.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};Pr=rl([E.OnLifecycle(E.LifecycleStages.Ready,Pr),ti(0,E.ICommandService),ti(1,Dr)],Pr);var nl=Object.defineProperty,sl=Object.getOwnPropertyDescriptor,il=(r,n,e,t)=>{for(var s=t>1?void 0:t?sl(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&nl(n,e,s),s},ri=(r,n)=>(e,t)=>n(e,t,r);let Vr=class extends E.Disposable{constructor(r,n){super(),this._commandService=r,this._superTableService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===tr.id){const n=r.params;if(n==null)return;const{unitId:e,tableName:t,reference:s}=n;this._superTableService.registerTable(e,t,s)}else if(r.id===rr.id){const n=r.params;if(n==null)return;const{unitId:e,tableName:t}=n;this._superTableService.remove(e,t)}else if(r.id===Kr.id){const n=r.params;if(n==null)return;const{tableOption:e,tableOptionType:t}=n;this._superTableService.registerTableOptionMap(e,t)}}))}};Vr=il([E.OnLifecycle(E.LifecycleStages.Ready,Vr),ri(0,E.ICommandService),ri(1,hn)],Vr);class al extends E.Disposable{constructor(){super(...arguments);b(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const ni=K.createIdentifier("univer.formula.active-dirty-manager.service");var ol=Object.defineProperty,ul=Object.getOwnPropertyDescriptor,ll=(r,n,e,t)=>{for(var s=t>1?void 0:t?ul(n,e):n,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(t?a(n,e,s):a(s))||s);return t&&s&&ol(n,e,s),s},cl=(r,n)=>(e,t)=>n(e,t,r);const fl="base-formula-engine";L.UniverFormulaEnginePlugin=class extends E.Plugin{constructor(n,e){super(fl),this._config=n,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const n=[[He,{useClass:Is}],[yr,{useClass:Zs}],[jt,{useClass:jn}],[ni,{useClass:al}],[hn,{useClass:cu}],[L.FormulaDataModel],[Nt],[Ht,{useFactory:()=>{var t;return this._injector.createInstance(Ht,(t=this._config)==null?void 0:t.function)}}],[wr],[Lr],[Vr]];(e=this._config)!=null&&e.notExecuteFormula||n.push([L.CalculateFormulaService],[Dr,{useClass:Js}],[Ne,{useClass:L.FormulaCurrentConfigService}],[Be,{useClass:L.FormulaRuntimeService}],[Sr],[Pr],[Ar],[zt],[xt],[Qt],[Pt],[js],[mr],[dr],[Gs],[gr],[fr],[_r],[Er],[Cr],[qs]),n.forEach(t=>this._injector.add(t))}onReady(){this._injector.get(L.FormulaDataModel).initFormulaData()}},L.UniverFormulaEnginePlugin=ll([cl(1,K.Inject(K.Injector))],L.UniverFormulaEnginePlugin);function si(r,n){const e=r.sequenceNodesBuilder(n);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Pe.REFERENCE))}function hl(r,n,e,t,s,i){if(!si(r,n))return n;const a=r.sequenceNodesBuilder(n),o=(R,y)=>({startRow:R,endRow:R,startColumn:y,endColumn:y}),u=o(e,t),l=E.Rectangle.getRelativeRange(o(s,i),u),c=E.Tools.deepClone(a),m=Array.isArray(c)?c.map(R=>{if(typeof R=="object"&&R.nodeType===Pe.REFERENCE){const y=nt(R.token),C=E.Rectangle.getPositionRange(l,y.range),A=qe(C);return{...R,token:A}}return R}):c;return`=${m&&Jt(m)}`}L.ArrayValueObject=be,L.BaseFunction=I,L.BaseReferenceObject=Lt,L.BaseValueObject=Je,L.BooleanValue=st,L.BooleanValueObject=z,L.DefinedNamesService=jn,L.ErrorType=f,L.ErrorValueObject=h,L.FUNCTION_NAMES_ARRAY=us,L.FUNCTION_NAMES_COMPATIBILITY=wt,L.FUNCTION_NAMES_CUBE=ps,L.FUNCTION_NAMES_DATABASE=_s,L.FUNCTION_NAMES_DATE=ot,L.FUNCTION_NAMES_ENGINEERING=ys,L.FUNCTION_NAMES_FINANCIAL=bs,L.FUNCTION_NAMES_INFORMATION=Fe,L.FUNCTION_NAMES_LOGICAL=ut,L.FUNCTION_NAMES_LOOKUP=Se,L.FUNCTION_NAMES_MATH=xe,L.FUNCTION_NAMES_STATISTICAL=Le,L.FUNCTION_NAMES_TEXT=_t,L.FUNCTION_NAMES_UNIVER=Bs,L.FUNCTION_NAMES_WEB=Ts,L.FeatureCalculationManagerService=Zs,L.FormulaExecuteStageType=$e,L.FormulaExecutedStateType=Vt,L.FunctionService=Is,L.FunctionType=yn,L.IActiveDirtyManagerService=ni,L.IDefinedNamesService=jt,L.IFeatureCalculationManagerService=yr,L.IFormulaCurrentConfigService=Ne,L.IFormulaRuntimeService=Be,L.IFunctionService=He,L.IOtherFormulaManagerService=Dr,L.LexerNode=J,L.LexerTreeBuilder=Nt,L.NumberValueObject=S,L.OtherFormulaManagerService=Js,L.RangeReferenceObject=$t,L.RegisterFunctionMutation=Or,L.RemoveDefinedNameMutation=rr,L.RemoveFeatureCalculationMutation=Yr,L.RemoveOtherFormulaMutation=Xr,L.RemoveSuperTableMutation=Yn,L.SetArrayFormulaDataMutation=er,L.SetArrayFormulaDataUndoMutationFactory=Ti,L.SetDefinedNameCurrentMutation=In,L.SetDefinedNameMutation=tr,L.SetFeatureCalculationMutation=$r,L.SetFormulaCalculationNotificationMutation=nr,L.SetFormulaCalculationResultMutation=Hr,L.SetFormulaCalculationStartMutation=Qr,L.SetFormulaCalculationStopMutation=zr,L.SetFormulaDataMutation=Wr,L.SetNumfmtFormulaDataMutation=gn,L.SetOtherFormulaMutation=Gr,L.SetSuperTableMutation=$n,L.SetSuperTableOptionMutation=Kr,L.StringValueObject=Ee,L.UnregisterFunctionMutation=qr,L.ValueObjectFactory=at,L.compareToken=B,L.convertUnitDataToRuntime=Sn,L.deserializeRangeForR1C1=as,L.deserializeRangeWithSheet=nt,L.functionArray=os,L.functionCompatibility=ds,L.functionCube=gs,L.functionDatabase=Rs,L.functionDate=Es,L.functionEngineering=Cs,L.functionFinancial=Ds,L.functionInformation=Ss,L.functionLogical=As,L.functionLookup=Ls,L.functionMath=Vs,L.functionMeta=xs,L.functionStatistical=Ms,L.functionText=Os,L.functionUniver=Fs,L.functionWeb=ks,L.generateStringWithSequence=Jt,L.getAbsoluteRefTypeWitString=vi,L.getAbsoluteRefTypeWithSingleString=Tt,L.includeFormulaLexerToken=bn,L.initSheetFormulaData=Tn,L.isFormulaLexerToken=Ot,L.isFormulaTransformable=si,L.isInDirtyRange=Cn,L.isReferenceString=xn,L.matchRefDrawToken=Di,L.matchToken=X,L.normalizeSheetName=yi,L.operatorToken=ge,L.sequenceNodeType=Pe,L.serializeRange=qe,L.serializeRangeToRefString=ht,L.serializeRangeWithSheet=Un,L.serializeRangeWithSpreadsheet=On,L.transformFormula=hl,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})});
|