@sheetxl/sdk 0.7.28-beta.2 → 0.7.28-beta.4
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/browser/cjs/{BREMLtxkQhtNSVra.cjs → BF14ZEAnaqxXroSj.cjs} +1 -1
- package/browser/cjs/{BG7YDVxiC4ErxvF1.cjs → BXtvdT1Z-MsB_o5F.cjs} +1 -1
- package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +33 -0
- package/browser/cjs/{CQf4zxkBmheTVbjX.cjs → CD2RXdnfqSYNc6gX.cjs} +2 -2
- package/browser/cjs/DcLpXGexEtOxi-dD.cjs +1 -0
- package/browser/cjs/index.cjs +2 -2
- package/browser/esm/{DN4d5bDBkti28wuc.mjs → 0Mj5WKM362q6CECb.mjs} +213 -207
- package/browser/esm/{BxIOX1TojvA-1ZZP.mjs → CHSahmMFYNB0Ajkf.mjs} +2 -2
- package/browser/esm/{CZO1RubmqnJV96rq.mjs → CKk58ZLcrllMzfou.mjs} +2 -2
- package/browser/esm/{DRWu3TmcE9JFf78V.mjs → CPTtL2f6_4iblmFM.mjs} +2 -2
- package/browser/esm/{DPOelA1J3WHbMXyh.mjs → CoA-sUxjiIUIpTUF.mjs} +2 -2
- package/browser/esm/{vHWuKF-ftK7LM1uw.mjs → DBIu6NUHIcxOOBQp.mjs} +1 -1
- package/browser/esm/{CB_4gdPPPruwremH.mjs → Dy4Sdpju1T2icURu.mjs} +4748 -3883
- package/browser/esm/index.mjs +419 -411
- package/node/esm/{XQhP3dYwF_tEuswB.mjs → BtGxbEbBm79YvF_k.mjs} +303 -297
- package/node/esm/{B-tgcZihStNV9CbZ.mjs → DUYP6faJJHCaW1Xf.mjs} +1 -1
- package/node/esm/{C8tfYGL3wHy9IDDc.mjs → DqgWsVXROpSgKq6c.mjs} +2 -2
- package/node/esm/index.mjs +8686 -7802
- package/package.json +6 -6
- package/resources/locales/de/model.msg.json +12 -0
- package/resources/locales/en/model.msg.json +12 -0
- package/types/scripting-enums.json +2 -0
- package/types/scripting.d.ts +341 -15
- package/types/src/anchored/IAnchored.d.ts +27 -0
- package/types/src/calculation/Calculation.d.ts +21 -12
- package/types/src/calculation/ICalculation.d.ts +183 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +20 -0
- package/types/src/calculation/compiler/FormulaParser.d.ts +32 -6
- package/types/src/calculation/executor/CalcExecutor.d.ts +204 -13
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +31 -0
- package/types/src/calculation/executor/CircularReference.d.ts +81 -0
- package/types/src/calculation/functions/Operators.d.ts +1 -1
- package/types/src/calculation/grid/CalcGrid.d.ts +5 -1
- package/types/src/calculation/grid/CalcGridUtils.d.ts +3 -2
- package/types/src/calculation/grid/ICalcGrid.d.ts +23 -1
- package/types/src/calculation/spatial/CircularEntry.d.ts +18 -0
- package/types/src/calculation/spatial/index.d.ts +1 -0
- package/types/src/calculation/state/CalcNode.d.ts +24 -17
- package/types/src/calculation/state/CalcState.d.ts +78 -15
- package/types/src/calculation/state/CalculationContext.d.ts +39 -0
- package/types/src/calculation/state/_ReadObservedGrid.d.ts +90 -0
- package/types/src/cell/ICell.d.ts +16 -0
- package/types/src/cellRange/ICellRange.d.ts +72 -6
- package/types/src/condition/AnchoredConditional.d.ts +26 -6
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +8 -1
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -1
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +6 -2
- package/types/src/dataValidation/IDataValidationCollection.d.ts +6 -2
- package/types/src/hyperlink/IHyperlink.d.ts +3 -1
- package/types/src/hyperlink/_Hyperlink.d.ts +6 -0
- package/types/src/lib/utils/utils.browser.d.ts +5 -0
- package/types/src/license/LicenseDetails.d.ts +5 -0
- package/types/src/primitives/CalcSignal.d.ts +20 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +7 -2
- package/types/src/scripting/_ScriptUtils.d.ts +13 -0
- package/types/src/sheet/Sheet.d.ts +33 -2
- package/types/src/sheet/SheetCell.d.ts +2 -0
- package/types/src/sheet/SheetRange.d.ts +12 -1
- package/types/src/sheet/_SheetStateTypes.d.ts +14 -1
- package/types/src/style/IStyle.d.ts +5 -0
- package/types/src/table/AnchoredTable.d.ts +17 -1
- package/types/src/text/TextUtils.d.ts +18 -0
- package/browser/cjs/DoemwsUQoGCk0vBK.cjs +0 -33
- package/browser/cjs/_c2uwwpr03Y7lzIj.cjs +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const e=require("./B7_pDFYCVzt-3hUs.cjs");let t=require("@sheetxl/primitives"),n=require("@sheetxl/utils"),r=require("@sheetxl/scripting");var i,a,o,s,c=class{constructor(e){this._items=new Map;let t=this._items;for(let n of Object.values(e))t.set(n.getName().toLowerCase(),n)}register(e){let t=e.getName().toLowerCase();this._items.set(t,e)}get(e){if(e)return this._items.get(e.toLowerCase())}getAll(){return Array.from(this._items.values())}has(e){return!!e&&this._items.has(e.toLowerCase())}},l=(e,t)=>{let n=new Map;return e.forEach((e,r)=>{t.get(r)!==e&&n.set(r,e)}),n},u=!1,d=e=>{if(typeof e!=`string`)throw Error(`A stateId (string) is required. Register with 'ITransaction.IStore.create'.`);return e},f=class extends Error{constructor(e,t,n){super(e===`open`?`Transaction conflict: a transaction is already open (expected commit '${t}').`:`Transaction conflict: expected commit '${t}' but current is '${n}'.`),this.name=`TransactionConflictError`,this.reason=e,this.expectedCommitId=t,this.actualCommitId=n}},p=class{constructor(e){this._record=e}getId(){return this._record.id}getDescription(){return this._record.description}getMeta(){return Object.freeze(this._record.meta)}getAuthor(){return this._record.author}getTimestamp(){return this._record.timestamp}getOperation(){return this._record.operation}},m=class{constructor(e){this._listeners=new Set,this._listenersState=new Map,this._commits=new Map,this._locked=!1,this._pending=null,this._versionCounter=0,this._isSync=e?.sync??u,this._isTransient=e?.transient??!1,this._author=e?.author,this._maxCommits=e?.maxCommits??1e3;let t={id:`0`,description:`initial`,meta:{},author:this._author,timestamp:Date.now(),states:new Map,version:0,previousId:null},n={record:t,commit:new p(t)};this._current=n,this._cacheId=null,this._cacheState=null,this._states=t.states,this._transactionStack=[],this._transactionOpen=!1;let r=new Map;r.set(t.id,n),this._commits=r,this._tipId=t.id}static{this.setDefaultSync=e=>{u=e}}getLog(e,t=100){let n=[],r=e;do{let e=this._commits.get(r);if(!e)throw Error(`Invalid commit id: '${r}'`);if(n.push(e.commit),r=e.record.previousId,!r)return n}while(n.length<t);return n}getCommitCount(){return this._commits.size}isOpenTransaction(){return this._transactionStack.length>0||this._transactionOpen}getPendingView(){let e=this._transactionStack;return e.length>0?e[0].getView():null}create(e){let t=n.CommonUtils.uuidV4();if(e!==void 0){let n=this.beginCommit();try{n.updateState(t,e),n.commit()}catch(e){throw n.rollback(),e}}return t}getState(e){d(e);let t=this._transactionStack;if(t.length===0){if(this._cacheId===e)return this._cacheState;let t=this._states.get(e);return this._cacheId=e,this._cacheState=t,t}return t[t.length-1].getState(e)}getCurrentCommit(e=!0){return(e?this._pending?.commit:null)??this._current.commit}getTipCommit(){return this._commits.get(this._tipId).commit}getVersionId(e){return d(e),this._states.get(e)?.version??0}restore(e,t){let n=this._getCommitContainer(e,t);if(this._current.commit.getId()===n.commit.getId())return n.commit;let r;t?.viewId&&t?.viewId!==`custom`||(r=n.record.viewAfter);let i=l(n.record.states,this._current.record.states);this._notifyStates(`onBeforeCommitStart`,this._current,i,r,!0,!1),this._current=n,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,this._notifyStates(`onAfterStateChange`,n,i,r,!1,!0,!0),this._notify(`onCommitChange`,n.commit,!0),this._transactionOpen=!0;try{this._notifyStates(`onRestoreOrRevert`,n,n.record.states,r,!1,!0)}finally{this._transactionOpen=!1}return n.commit}revert(e,t){let n=this._getCommitContainer(e,t),r=this._commits.get(n.record.previousId);if(!r)throw Error(`Invalid commit id: '${n.record.previousId}'`);let i;t?.viewId&&t?.viewId!==` custom`||(i=n.record.viewBefore??n.record.viewAfter);let a=l(r.record.states,this._current.record.states);this._notifyStates(`onBeforeCommitStart`,this._current,a,i,!0,!1),this._current=r,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,this._notifyStates(`onAfterStateChange`,r,a,i,!0,!1,!0),this._notify(`onCommitChange`,r.commit,!0),this._transactionOpen=!0;try{this._notifyStates(`onRestoreOrRevert`,r,r.record.states,i,!0,!0)}finally{this._transactionOpen=!1}return r.commit}_getCommitContainer(e,t){let n=this._commits.get(e);if(!n)throw Error(`Invalid commit id: '${e}'`);if(this._isTransient)throw Error(`Cannot revert transient store`);if(t?.force&&this._transactionStack.length>0&&this._transactionStack[0].rollback(),this._transactionStack.length!==0)throw Error(`Open transactions.`);return n}_pruneForwards(e){let t=this._tipId;for(;t&&t!==e;){let e=this._commits.get(t);if(!e)break;this._commits.delete(t),t=e.record.previousId}}_trimOldest(){if(this._commits.size<=this._maxCommits)return;let e=this._commits.get(this._tipId);for(let t=1;t<this._maxCommits&&e;t++){let t=e.record.previousId;e=t?this._commits.get(t):void 0}if(!e)return;let t=e.record.previousId;for(e.record.previousId=null;t;){let e=this._commits.get(t);if(!e)break;this._commits.delete(t),t=e.record.previousId}}beginCommit(e,t){let r=this._transactionStack,i=r.length;typeof e==`string`&&(e={description:e});let a=e?.expectedCommitId;if(a!==void 0){let e=this._current.record.id;if(i>0||this._transactionOpen)throw new f(`open`,a,e);if(e!==a)throw new f(`stale`,a,e)}if(this._locked)throw console.warn(`TransactionStore locked`,r),Error(`TransactionStore is locked by '${r[i-1].getDescription()}`);let o=e?.preventFurtherTransactions,s=this,c=(e,n,r)=>{let a=s._transactionStack;i!==a.length-1&&console.warn(`Transaction stack out of sync`,i,a.length,a),o&&(this._locked=!1),a.pop(),t?.(e,n,r),a.length===0&&(s._pending=null)},l;if(r.length===0){let t=this._current.record,r={states:new Map,id:n.CommonUtils.uuidV4(),description:typeof e==`string`?e:e?.description??null,meta:{},timestamp:Date.now(),author:(typeof e==`object`?e?.author:void 0)??this._author??null,version:t.version+1,previousId:t.id,viewBefore:null,viewAfter:{},operation:e?.operation},i={record:r,commit:new p(r)};this._pending=i,this._notify(`onCommitStart`,i.commit),l=new g(this,i,t?.states,e,c)}else l=r[r.length-1].beginTransaction(e,c);return o&&(this._locked=!0),this._transactionStack.push(l),l}doBatch(e,t,n){let r,i=this.beginCommit(t,n),a=this.getCurrentCommit();try{r=e?.(a);let n=()=>{i.commit(t)};if(r&&typeof r.then==`function`)return new Promise((e,t)=>{r.then(r=>{try{n(),e(r)}catch(e){t(e)}}).catch(e=>{i.rollback(),t(e)})});n()}catch(e){throw i.rollback(),e}return r}remove(e){d(e);let t=!1,n=this._listenersState.get(e);if(n){let r=this.getCurrentCommit();n.forEach(e=>{e.onClose?.(r)}),this._listenersState.delete(e),t=!0}this._current.record.states.delete(e)&&(t=!0),this._commits.forEach(n=>{n.record.states.delete(e)&&(t=!0)});let r=this._transactionStack;return r.length>0&&r[0]._purgeState(e),this._cacheId=null,this._cacheState=null,t}addListener(e){let t=this._listeners;return t.add(e),()=>{t.delete(e)}}addStateListener(e,t){if(d(e),!t)throw Error(`Listener is required`);let n=this._listenersState.get(e);return n||(n=new Set,this._listenersState.set(e,n)),n.add(t),()=>{n.delete(t),n.size===0&&this._listenersState.delete(e)}}dispatchEvents(e,t=!1){!t||this._isSync?e():setTimeout(e,0)}_commitRecord(e,t,n){let r=e.record,i=e.commit,a=++this._versionCounter;if(t.forEach((e,t)=>{e!=null&&((e,t,n)=>{Object.defineProperty(e,"id",{value:t,enumerable:!1,configurable:!0,writable:!1}),Object.defineProperty(e,"version",{value:n,enumerable:!1,configurable:!0,writable:!1})})(e,t,a)}),!this._isTransient){let t=!1;if(n){let n=this._commits.get(r.previousId);if(n){r.previousId=n.record.id;let a=n.record,o=a.states;o&&r.states.forEach((e,t)=>{o.set(t,e)}),a.viewAfter={...a.viewAfter,...r.viewAfter},a.meta={...a.meta,...r.meta},a.timestamp=r.timestamp,t=!0,r=a,i=n.commit,e={record:r,commit:i}}}this._commits.set(r.id,e),t||(r.previousId!==this._tipId&&this._pruneForwards(r.previousId),this._tipId=r.id,this._trimOldest())}this._current=e,this._states=this._current.record.states,this._cacheId=null,this._cacheState=null,n||this._notify(`onCommitChange`,i),this._notifyStates(`onAfterStateChange`,e,t,e.record.viewAfter,!1,!1,!0),n||this._notify(`onCommitEnd`,i,!0)}_notifyStates(e,t,n,r,i=!1,a=!1,o=!1){let s=t.commit,c=this._listenersState;n.forEach((t,n)=>{let l=c.get(n);l&&this.dispatchEvents(()=>{l.forEach(n=>{n[e]?.(t,r,s,i,a)})},o)})}_notify(e,t,n=!1){return this.dispatchEvents(()=>{this._listeners.forEach(n=>{n[e]?.(t)})},n)}},h=class{constructor(e,t,n){this._children=new Set,this._depth=0,this._closed=!1,this._readOnly=!1,this._store=e,this._container=t,n=typeof n==`string`?{description:n}:n,this._description=n?.description??``,this._readOnly=n?.readOnly??!1,n?.viewBefore!==void 0&&(t.record.viewBefore=t.record.viewBefore&&n.viewBefore?{...t.record.viewBefore,...n.viewBefore}:n.viewBefore),n?.viewAfter!==void 0&&(t.record.viewAfter=t.record.viewAfter&&n.viewAfter?{...t.record.viewAfter,...n.viewAfter}:n.viewAfter)}getView(){return this._container.record.viewAfter??this._container.record.viewBefore??null}getDepth(){return this._depth}getDescription(){return this._description}getStates(){return this._states}beginTransaction(e,t){this._ensureOpen();let n=new _(this._store,this,this._container,typeof e==`string`?{description:e}:e,t);return this._children||this._children,this._children.add(n),n}isReadOnly(){return this._readOnly}updateState(e,t){if(this._ensureOpen(),d(e),this._readOnly)throw Error(`Transaction is read-only`+(this._description?`: '${this._description}'`:``));let n=this.getState(e),r;if(typeof t==`function`){if(r=t(n),r===n)return n;r&&={...r}}else{if(t===void 0)return n;r={...n,...t}}if(r){let t=this._states;t||(t=new Map,this._states=t),t.set(e,r)}return r}commit(e){if(this._ensureOpen(),typeof e==`string`&&(e={description:e}),e){if(e.description&&(this._description=e.description),e.meta&&(this._meta=n.CommonUtils.mergeContentful(e.meta,this._meta)),e.viewAfter!==void 0){let t=this._container.record,n=e.viewAfter;if(n===null)t.viewAfter=null;else{let e=t.viewAfter;typeof n==`function`&&(n=n(e)),t.viewAfter={...e,...n}}}if(e.viewBefore!==void 0){let t=this._container.record,n=e.viewBefore;if(n===null)t.viewBefore=null;else{let e=t.viewBefore;typeof n==`function`&&(n=n(e)),t.viewBefore={...e,...n}}}}return this._children&&this._children.forEach(t=>{t.commit(e)}),this}isClose(){return this._closed}_ensureOpen(){if(this._closed)throw this._descriptions?console.warn(`stack: [${this._descriptions.join(`,`)}]`):this._description&&console.warn(`description: [${this._description}]`),Error(`Transaction already closed`)}_removeChild(e,t=!1){this._children.delete(e),t||this._mergeStates(e._states)}_purgeState(e){this._states?.delete(e),this._children.forEach(t=>{t._purgeState(e)})}_mergeStates(e){if(!e||e.size===0)return;let t=this._states;return t?(e.forEach((e,n)=>{t.set(n,e)}),t):(this._states=e,e)}},g=class extends h{constructor(e,t,n,r,i){super(e,t,r),this._prevStates=n,this._onClose=i,this._states=new Map,this._meta=t.record.meta}getId(){return this._container.commit.getId()}getParent(){return this}commit(e){let t=this._states,n=this._container,r=n.record.viewAfter;if(this._store._notifyStates(`onBeforeCommitStart`,n,t,r,!1,!1),super.commit(e),this._states.size===0)return this._closed=!0,this._onClose?.(this,!1,e),this;this._store._notifyStates(`onBeforeCommitEnd`,n,t,r,!1,!1);let i=new Map(this._prevStates);return this._states.forEach((e,t)=>{e===null?i.delete(t):i.set(t,e)}),this._states=i,this._description&&(n.record.description=this._description),this._meta&&(n.record.meta=this._meta),n.record.states=i,this._closed=!0,this._onClose?.(this,!1,e),this._store._commitRecord(n,t,e?.forceAmend??!1),this}rollback(){return this._ensureOpen(),this._children&&this._children.forEach(e=>{e.rollback()}),this._closed=!0,this._onClose?.(this,!0,null),this}updateState(e,t){let n=this.getState(e),r=super.updateState(e,t);return r===n||this._states.set(e,r),r}getState(e){d(e);let t=this._states.get(e);return t||=this._prevStates.get(e),t}},_=class extends h{constructor(e,t,n,r,i){if(super(e,n,r),!t)throw Error(`Parent transaction required`);this._parent=t,this._depth=this._parent.getDepth()+1,t.isReadOnly()&&(this._readOnly=!0),this._onClose=i}getId(){return this._parent.getId()}getParent(){return this._parent}getState(e){if(this._states){let t=this._states.get(e);if(t!==void 0)return t}return this._parent.getState(e)}commit(e){return super.commit(e),this._parent._removeChild(this),this._closed=!0,this._onClose?.(this,!1,e),this._parent??this}rollback(){return this._ensureOpen(),this._children&&this._children.forEach(e=>{e.rollback()}),this._parent._removeChild(this,!0),this._closed=!0,this._onClose?.(this,!0,null),this._parent??this}},v=class{constructor(e,t){this._listeners=new Set,this._pending=null,this._listeners=new Set,this._transactions=t??new m({transient:!0}),this._stateId=this._transactions.create(),this._src=e;let n=this;this._transactionsRemoveListener=this._transactions?.addListener({onCommitEnd(e){let t=n._pending;if(!t)return;n._pending=null;let r=e.getId(),i=new Set,a=t.length;for(let e=0;e<a;e++){let a=t[e];a.commitId===r&&n._doNotify(a.listeners,a.removes,a.options,i)}}})}addListeners(e,t){let n=t?.transactional??this._transactions.isOpenTransaction(),r={listeners:e},i=this,a=()=>{if(!n)return void i._listeners.delete(r);let e=i._transactions.getState(i._stateId)?.listeners,t=new Set(e);t.delete(r);let a=i._transactions.beginCommit();try{a.updateState(i._stateId,{listeners:t}),a.commit({forceAmend:!0})}catch(e){throw a.rollback(),e}};if(r.remove=t?.once?a:null,n){let e=i._transactions.getState(i._stateId)?.listeners,t=new Set(e);t.add(r);let n=this._transactions.beginCommit();try{n.updateState(i._stateId,{listeners:t}),n.commit({forceAmend:!0})}catch(e){throw n.rollback(),e}}else i._listeners.add(r);return a}async _doNotify(e,t=null,n,r){let i=n?.source??this._src,a=[],o=n?.params,s=e.length;for(let t=0;t<s;t++){let n=e[t];r&&r.has(n)||(r?.add(n),a.push(n(i,o)))}let c=null;if(t&&(c=()=>{let e=t.length;for(let n=0;n<e;n++)t[n]()}),n?.async)return new Promise(async(e,t)=>{try{let t=await Promise.all(a);c?.(),e(t)}catch(e){c?.(),t(e)}});c?.()}notify(e,t){let n=null,r=null,i=t=>{t.forEach(t=>{let i=t.listeners[e];i&&(n||=[],n.push(i),t.remove&&(r||=[],r.push(t.remove)))})},a=t?.transactional??this._transactions.isOpenTransaction();if(a){let e=this._transactions.getState(this._stateId)?.listeners;e&&i(e)}let o=n,s=r;n=null,r=null,i(this._listeners);let c=n,l=r;if(n=null,r=null,a){if(o&&this._doNotify(o,s,t),c){let e=this._pending;return e||(this._pending=e=[]),e.push({commitId:this._transactions.getCurrentCommit().getId(),listeners:c,removes:l,options:t}),this._doNotify(c,l,t)}}else if(c)return this._doNotify(c,l,t)}close(){this._transactions.remove(this._stateId),this._transactionsRemoveListener()}};(a=i||={}).SmallCaps={None:`none`,Small:`small`,All:`all`},a.StrikeStyle={None:`none`,Single:`single`,Double:`double`},(s=o||={}).TabStop=class{},s.HorizontalAlignment={General:`general`,Left:`left`,Center:`center`,Right:`right`,Justify:`justify`,Distributed:`distributed`,CenterContinuous:`centerContinuous`,Fill:`fill`},s.VerticalAlignment={Top:`top`,Center:`center`,Bottom:`bottom`,Justify:`justify`,Distributed:`distributed`},s.Orientation={Horizontal:`horizontal`,Vertical:`90`,Vertical270:`270`,Stacked:`stacked`},s.ReadingDirection={Auto:`auto`,LeftToRight:`ltr`,RightToLeft:`rtl`},s.Overflow={Visible:`visible`,Wrap:`wrap`,Clip:`clip`,Shrink:`shrink`,Ellipsis:`ellipsis`},s.Autofit={None:`none`,Normal:`normal`,Shape:`shape`},s.TabStopAlignment={Default:`default`,Left:`left`,Right:`right`,Center:`center`},s.toCSSHorizontalTextAlign=e=>e?e.toLowerCase():null;var y=e.n({DefaultUnQuoteRegEx:()=>j,camelToSnake:()=>T,capitalize:()=>x,clampString:()=>E,countDecimals:()=>D,findValidTextValue:()=>b,getBaseName:()=>C,getFileNameExtension:()=>S,isQuoted:()=>M,isValidEmail:()=>ee,isValidHttpUrl:()=>I,numberToAlphabet:()=>z,quote:()=>P,snakeToCamel:()=>w,splitUnquoted:()=>F,toHyperlinkAddress:()=>R,unquote:()=>N});function b(e,t,n=1e3){if(!e)throw Error(`A template string must be specified.`);if(t(e))return e;let r,i=new RegExp(/\d+/,`g`).exec(e),a=0;i===null?(a=1,r=`${e}_${a}`):(r=e,a=parseFloat(i[0]),isNaN(a)&&(a=0));let o=isNaN(a)?0:a;for(;a<o+n;)try{let e=r.replace(/\d+/g,()=>``+a++);if(t(e))return e}catch{}throw Error(`Unable to find valid name for '${e}'.`)}function x(e,t=!1){if(!e||e.length===0)return e;let n=e.charAt(0);if(n>=`a`&&n<=`z`){let r=String.fromCharCode(n.charCodeAt(0)-32);return t?r+e.slice(1).toLowerCase():r+e.slice(1)}return e}function S(e){if(!e||typeof e!=`string`)return``;let t=e.split(/[\\/]/).pop()||``,n=t.lastIndexOf(`.`);return t===``||n<1?``:t.slice(n+1)}function C(e,t=!1){if(!e||typeof e!=`string`)return``;let n=e.split(/[\\/]/).pop()||``;if(n===``)return``;let r=S(n),i=r.length===0?n:n.slice(0,n.length-r.length-1);return t?x(i,!0):i}function w(e){return e.toLowerCase().replace(/([-_][a-z])/g,e=>e.toUpperCase().replace(`-`,``).replace(`_`,``))}function T(e){return e&&e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}function E(e,t=36){return e.substring(0,36)+(e.length>t?`…`:``)}function D(e){if(e===void 0)return 0;let t=e.toString().split(`.`);return t.length<=1?0:t[1].length||0}var O=new RegExp(/^["|'|`](.*)["|'|`]$/),k=RegExp(`^([a-zA-Z]+:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$`,`i`),A=(e=`,`,t=`'`)=>RegExp(`\\s*${e}\\s*(?=(?:[^${t}]*${t}[^${t}]*${t})*[^${t}]*$)`,`g`),j=A();function M(e){return!!e&&e.length>1&&O.test(e)&&e[0]===e[e.length-1]}function N(e){return e.replace(O,`$1`)}function P(e,t=`'`){return`${t}${e}${t}`}function F(e,t,n){let r=j;return t===void 0&&n===void 0||(r=A(t,n)),e.split(r)}function I(e){let t;try{t=new URL(e)}catch{return!1}return(t.protocol===`http:`||t.protocol===`https:`)&&k.test(e)}var L=new RegExp(/^[^\s@]+@[^\s@]+\.[^\s@]+$/i);function ee(e){return e.length>7&&e.substring(0,7).toLowerCase()===`mailto:`?!/\s/.test(e):L.test(e)}function R(e){if(I(e))return e;if(e.length>4&&e.substring(0,4).toLowerCase()===`www.`){let t=`http://${e}`;return I(t)?t:null}return ee(e)?e.substring(0,7).toLowerCase()===`mailto:`?e:`mailto:${e}`:null}function z(e){return((e>=26?z((e/26|0)-1):``)+`abcdefghijklmnopqrstuvwxyz`[e%26|0]).toUpperCase()}var te=e.n({getAdvance:()=>oe,getLineLength:()=>ae,isRotatedLayout:()=>ie,layoutLines:()=>se,normalizeAngle:()=>B}),ne=Math.PI/180,re=1e-6;function B(e){let t=e%360;return t<0?t+360:t}function ie(e){return Math.abs(Math.sin(B(e)*ne))>=re}function ae(e,t,n){let r=B(n)*ne,i=Math.abs(Math.sin(r));return i<re?2**53-1:Math.max(1,(e-t*Math.abs(Math.cos(r)))/i)}function oe(e,t){let n=Math.sin(B(t)*ne);return Math.abs(n)<re?2**53-1:-e/n}function se(e,t,n,r,i){let a=B(t),s=a*ne,c=Math.cos(s),l=Math.sin(s),u=e[0]?.height??0,d=ae(n.height,u,a),f=oe(u,a),p=Math.abs(c)<re,m=0;if(p){let e=l<0;i===o.VerticalAlignment.Top?m=+!!e:i===o.VerticalAlignment.Center?m=.5:i===o.VerticalAlignment.Bottom&&(m=+!e)}else r===o.HorizontalAlignment.Right?m=1:r!==o.HorizontalAlignment.Center&&r!==o.HorizontalAlignment.CenterContinuous||(m=.5);let h=e.length,g=Array(h),_=0,v=0,y=0,b=0;for(let t=0;t<h;t++){let n=e[t],r=(d-n.width)*m,i={x:t*f+r*c,y:r*l},a=n.width*c,o=n.width*l,s=-n.height*l,u=n.height*c,p={x:i.x+Math.min(0,a)+Math.min(0,s),y:i.y+Math.min(0,o)+Math.min(0,u),width:Math.abs(a)+Math.abs(s),height:Math.abs(o)+Math.abs(u)};g[t]={origin:i,size:n,bounds:p},t===0?(_=p.x,v=p.y,y=p.x+p.width,b=p.y+p.height):(_=Math.min(_,p.x),v=Math.min(v,p.y),y=Math.max(y,p.x+p.width),b=Math.max(b,p.y+p.height))}let x,S=n.x-_;r===o.HorizontalAlignment.Right?S=n.x+n.width-y:r!==o.HorizontalAlignment.Center&&r!==o.HorizontalAlignment.CenterContinuous||(S=n.x+(n.width-(y-_))/2-_),x=p?l<0?n.y+n.height:n.y:i===o.VerticalAlignment.Top?n.y-v:i===o.VerticalAlignment.Center?n.y+(n.height-(b-v))/2-v:n.y+n.height-b;for(let e=0;e<h;e++){let t=g[e];t.origin.x+=S,t.origin.y+=x,t.bounds.x+=S,t.bounds.y+=x}return{angle:a,lineLength:d,advance:f,lines:g,bounds:{x:_+S,y:v+x,width:y-_,height:b-v}}}var ce=e.n({getBuildDate:()=>ue,getBuildVersion:()=>le});function le(){try{return`0.7.28-beta.4`}catch{return``}}function ue(){try{return`Wed Aug 26 2026`}catch{return``}}function de(e,t,n,r,i){return me(e- -446,i)}(function(){function e(e,t,n,r,i){return me(r-335,e)}let t=ge();function n(e,t,n,r,i){return me(r-133,e)}function r(e,t,n,r,i){return me(i-522,n)}function i(e,t,n,r,i){return me(r- -976,e)}for(;;)try{if(parseInt(e(`gv&s`,0,0,845))/1+-parseInt(i(`gv&s`,0,0,-467))/2*(parseInt(i(`5f(H`,0,0,-476))/3)+parseInt(n(`EyUQ`,0,0,630))/4+parseInt(i(`e920`,0,0,-471))/5+-parseInt(i(`27LI`,0,0,-464))/6+-parseInt(e(`G%7)`,0,0,831))/7*(parseInt(r(0,0,`L@0t`,0,1028))/8)+-parseInt(i(`Fba1`,0,0,-483))/9*(parseInt(r(0,0,`Cjdk`,0,1037))/10)==301797)break;t.push(t.shift())}catch{t.push(t.shift())}})();var fe=me(508,`U1gw`),pe=me(511,`p5yR`)+le();function me(e,t){e-=491;let n=ge(),r=n[e];me.bLGknL===void 0&&(me.EKNfQx=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},me.Dgkjar={},me.bLGknL=!0);let i=e+n[0],a=me.Dgkjar[i];return a?r=a:(me.jXOApP===void 0&&(me.jXOApP=!0),r=me.EKNfQx(r,t),me.Dgkjar[i]=r),r}var he=de(48,0,0,0,`YMyu`);function ge(){let e=[`WQhdIK5IqdjdoItdQmoziG`,`mbDkW57cOHdcKSkZW7NcIbKwBSoQimkxWRNdOqxdLmokWQFcPCo9WRTaWR0`,`WPJdMKJcJvCICSo3CbC+W4K`,`WOaXD2/dTmkwuSkaWO5i`,`WOxcTSksshXIW6eFumoBW6i`,`pCoQa8k0WRJcVgawW6OAoG`,`w8oHWO3dL8kCWRxdQvnSW7OkWPOP`,`WOvrWOVdT8k6yIRcQCkmEa`,`zCkWAdJcISkNeCo6W5a5`,`FCooA8oqW6OMW58`,`W7nnWPSvWPq1WOFcNH7dTb4`,`W5NdSmo7W7RdS3P2WP4pEq`,`WOmZCwlcQmozfCkhWQHah8kfW5e`,`WRVcI8oXqvVdJ8of`,`sSktWOVdKCkvWRldPq`,`WP7dJffCW6NcH8orEYVcJc0`,`B8kLWQ3dUKJcICk9W6a8m8o2hCkq`,`W5mgW6ZcL2FdR0JcIY7dTLCG`,`W4pcNCkhECo+WPelW5FdLmkwW5K`,`WPZdJCope8kEd8kOceBcNSkQha`,`W7ddTaTSWRuBW4K5eNu0WRSr`,`iYVcKGxcLGNcPvOFxG4`,`W7nlWPbPW60oWPFcRsC`,`AEkuHokxT+kwVUkxH+kvRokuVEkuVokvPUkwHUkxQUkvRSkKiUkvMEkxLokvV+kwGEkvG+kuMEkuSokvSokwS+kwJ+kuSUkuVUkxHokuOEkxO+kwHEkwO+kuGokvN+kuUEkxJokuU+kuHUkwSUkxSUkuGokvMUkvV8kM4Psj4PAB4PE4B8kM4PEp4PE94PAB4PEI4PAo4PAFy+kwT+kvUUkxN+kwGokxNEkwLokuOEkuKokuJ+kxM+kwRCkfnUkxPUkxUEkuQokxUEkxTUkuSokvVUkxSEkuGUkxNokxPUkwOEkwH+kvIokxVUkvSEkuTUkwQokvNEkxKEkwSEkvIUkwTUkwL+kxHUkvTEkwMUkvL8oc4Pwm4PsK4Psv4PE34PE04PwB4Psw4Psd4PsC4PAF4PAkW57IL4ZILRBILktILztILkRILj3ILlZILBZILBlILzlILypIL5BILkxIL43ILQpILyNILz3ILylILldILiBILPdILyFcMZpILAFIL4pIL4/ILQtILyVILAD/mSoVimoK4PAX4PwK4Pskl8okwCkOW5JILlFILyJILlZILi7ILOFIL5JcJEkvIUkwUEkxSmk14PE24PEN4Ps44PEq4Pwd4PE94Ps44Ps84PAD4PwF4PAl4PwF4PAq4PE94PwB4PER4PwR4Pw84PwH4PsK4PAn4PsWWQ/cIEkuJEkuLUkxRUkvMEkwVUkwPCoOkCo9WRpcQUkuQEkvTokwOe7dVf7dRqBIL7FILjVILOdILPlILlVILBb54PEx4Pwr4PsgW4JIL77ILOJIL4BIL7JILyBILlVILOtIL47IL6FIL4BILlfyWQxIL6RILPdILPlIL6hIL5xILOdILl3IL47ILzpILjxIL57ILkhIL4JILA3ILkRILl/ILzxILkdILiKCBhRILz7ILkRILyHbW7muuUkwT+kvUEkxIokvHSom4Psk4PA24PsI4PAv4PAy4PE+4PwX4PsH4PEr4Ps74PEbW5ZIL7tIL5RILABIL4ZIL6NILO3ILjNILzVILBFIL5RILz9aw+kwH+kxL+kuS+kxQUkuGEkxHokwOokuJUkuSokxHokvH+kvLokvPEkwOUkvQ+kxPokxK+kuI+kvPSo6W6RdTokuP+kvOUkvISkoWOVdPCof4Psq4PAg4PsFBCkf4PwN4PAo4PED4PAD4PwS4PEq4PEm4PwC4PAB4PET4Ps5`,`WQxdJuKyp2vtlG4`];return(ge=function(){return e})()}var _e=de(53,0,0,0,`d9D2`),ve=me(498,`qjO&`),ye=e.n({claimFullLicensePrint:()=>Pe,findLicenseKey:()=>ke,getHostDetails:()=>be,getKey:()=>je,getLocation:()=>Ce,getOS:()=>Te,isDevEnv:()=>Se,printBanner:()=>Ne,printDetails:()=>Ie,printLicenseNotice:()=>Fe,setKey:()=>Ae});async function be(){let e=typeof window===t(-536,-506,-490,`!9!l`,-511)?window[n(`EKkA`,872,857,813,837)][t(-529,-494,-554,`2#3F`,-518)]:t(-569,-525,-531,`z#sI`,-550);function t(e,t,n,r,i){return xe(i- -732,r)}function n(e,t,n,r,i){return xe(i-632,e)}return(e===xe(193,`pb8y`)||e===xe(203,`Vu1h`)||e===n(`Sr!e`,825,850,827,827))&&(e=null),{domain:e}}function xe(e,t){e-=130;let n=we(),r=n[e];xe.PtpySM===void 0&&(xe.diUoFd=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},xe.uiWWtw={},xe.PtpySM=!0);let i=e+n[0],a=xe.uiWWtw[i];return a?r=a:(xe.zegnGi===void 0&&(xe.zegnGi=!0),r=xe.diUoFd(r,t),xe.uiWWtw[i]=r),r}async function Se(){return(await be())[e=`XhG5`,t=-256,xe(t- -403,e)]===null;var e,t}function Ce(){function e(e,t,n,r,i){return xe(t- -290,r)}return globalThis[e(0,-151,0,`G3[]`)]?.[t=`2xs!`,n=-62,xe(n- -212,t)]?.[e(0,-67,0,`Ja(w`)]??`/`;var t,n}function we(){let e=`WPRcPCkLW4Kcwmk3WOVcHCkq.WPLZW4JdLq.t8oKrSkgWQ9uhWZcGq.WRCLrZ9VW5hdISkHWR/cOXxdOuK.W4WdW74MWPhcSv3cUW.W67dTh4Vaq.W6JdPSkJW4tdISkIdW.cCkIW5WLW6To.FcFcSSodWO7cHNtcMZX+iG.daf6WOZcSmktoZrOANRdRw8HW5DLW4RdVMpcHYjqyJvFw8kCWQddV8oNW7xcKvddJmoAjCoyWQW1WRTxW7r8B8oUW60VW6pdMHRdKW.WP1eW43dH388g8oMW4NcQSouoW.hCk5hCohW61a.WQldPInSW5n3va.uNP6W4tcKmkeW7f/.cmkZW5KIW7XygmkMW7ddUG.W60yWRRdQM7dUeJdJSo1qh7dRa.aYaXWONdHSorWQXmWOtcHSoJWPJdVq.mYzqmaVdRSkjj8k+tcS.cSknW7vAqJFdHSojyXba.WOXbW6ZcUYRcKM3cR+kcLqnEW4uSjxrxuCoPW7KnhLNdTmkKW4jQW6qMW7VcVCoSWPGFACk7W4hcMSogvq7dRSkigmoMWQtdGMxcGCo0frxdUwXAeCkXW7dcRq1fAbldL2G+BK7cNJCMieHmW5y.vcFdVd/dSKO.c1pcVZC9W5CAaSkOW6vNW45r.ic3cHSoP.d8kOW7q/W6Tki8kQW4ddS8onpL7dR0yclSoB.cCoRuI8.w2/cQmk6jGZdISkspCoqW6ddRCoYkKa.WQJdRSk1.CH3dGHdcHHFdSNZcGXRdPSogW4GMWP5rW4irWP7dUIBdV8kLqSoeaKrH.o8kMWPBdRxi2wSolWPtcTuSm.W55MW5tdHxiHfSkPW6VdUCkxECoOobq.WOa5cf0oW5XKWPq.w8kTWPSnWOVcNIC.WPhdV8kSvG.WPBdO8kXwSoUW78.gSkkmSkmkCk+W5TZW5tcP8kcACkp.DYFcQmo0WPBcJW.pJ9ZW6NdT8oSWOtdLNhcJ0VdGCky.W7pdSXL/W7vcCHCDW4ZcSW.pNSfWPRcHCkbW6a.tGCeWPFcUCkphdvIjW.EwNdMSk2b8oEhmosW7lcGJxdNSkw.tCkNWOudWO7cHG.ihFcS1/cOrL9WOv8WPa8oK0.WQBcVqbofwJdUIfICwlcRmo2A8oLW7bBFmko.ECk6W5tdPmoOW5uBWQ0.wSk+Bs7dQmo2WQpdTSoivIKhja.WOddPCkukSkGW6asWRuPWP91W6lcQq.WRBcOGjudG.sSomr8ocFCoR.vGBcUCokuXm.W6r6h2C.WQJdGmovW5hcRmoyW4ddL8krjSon.WRHmW73cMJhcP0ddPSoVua.CqxdHZS3FGa.ksZdJHeeyaSh.c1dcLCo6CJFcSre.WRFcH8olW4GzhZqjBGyQlSkXk24f.CwtcONq.gmkOW5q/W7Or.oCoZWQaBmxZcNSocmwOPWRFcIq.WQXUW43dIMPLaCoGW53dTCoolCk0oWLZ.rGaAWRNcV8kc.xxb9W7xcHSkvW7vOWPZcVCo9WPddKq.kSktW4G.W79PW5hdOwyRf8o5W5pdUCkBCSo1.ymoGnhjRWRdcG0LQW4fFW53dK8okla.DmktcCoyW7yisLhcIKy.W7nEWOVcKmkXW6G.WQNcGSoOW48ovYKtCqyQpW.W7a8WOtcMKriBSkHW47dPNhcLLDgDSoBhmkmWPZcQfpcTaCF.W4WjW7mGWPhcSa.W6tcJSoxW5iduYOf.iYZdGWrDBWueCLm0fCokkSode0W0aLu9FCkBd8oFuCokpq.ssddPtxdVuHD.gmo+W5fBW5ddNhCxgGxcS0q4.xGFdUez1WOywm8kOW69DW6C.WQ8IWR9wWQ3dV3XugG.ictcQCo9WPBdINpcLcLPDCo0WRBdQSoU.W6VdVSoDW7tcTfvFemo4.W6/cJSoiW4KFca.CmkZW6nl.BCkQqSk2W4VdT8oP.W7JcK8onW4S.WOFcHqrvhgG.WRiyWQpcTSklW5GQdW.W6hcPrjrdxdcR8o+W5tcNNtcPCoPnCkG.W6DpWP7cR8kHW6jIhSoDvc5KgJ7dOW3cRMSUwHBdVCkZWQyZoSoiWO3cTcviymkKqqRcK3lcLYFcU27cLt/cOmkuySoQgG.afNcQbmPW5WqaCkO.wqBdVufXWOCikmkSW4DaW4C.w8o8WQOswq.W7BcS8kBBmoclr7dJG.W6RcLmoXWR/cTCoSxCoZDmohW41Kva.jddcHa.W7bTW5BdQhCRf8oNW5tdTCkr.W6hdOSkxsmoSaGpdLWWXhCooW40XWPSpW6u`.split(`.`);return(we=function(){return e})()}function Te(){return n.CommonUtils[e=466,t=`8yY3`,xe(e-257,t)]();var e,t}function Ee(e,t,n,r,i){return xe(t- -279,i)}(function(){function e(e,t,n,r,i){return xe(n-205,e)}function t(e,t,n,r,i){return xe(n-958,r)}function n(e,t,n,r,i){return xe(i-225,t)}function r(e,t,n,r,i){return xe(i-273,e)}let i=we();function a(e,t,n,r,i){return xe(e- -559,i)}for(;;)try{if(-parseInt(t(0,0,1094,`d9#T`))/1*(-parseInt(a(-378,0,0,0,`pb8y`))/2)+-parseInt(a(-365,0,0,0,`pb8y`))/3*(-parseInt(a(-400,0,0,0,`]dpq`))/4)+-parseInt(e(`Ja(w`,0,351))/5+parseInt(n(0,`f7TW`,0,0,369))/6*(parseInt(n(0,`iCq2`,0,0,365))/7)+-parseInt(t(0,0,1100,`f7TW`))/8+parseInt(r(`5HmL`,0,0,0,425))/9+-parseInt(r(`&pBF`,0,0,0,421))/10*(parseInt(e(`@!r@`,0,401))/11)==848111)break;i.push(i.shift())}catch{i.push(i.shift())}})();var De=Ee(0,-122,0,0,`32!H`)[Ee(0,-73,0,0,`g%iv`)](``)[Ee(0,-71,0,0,`3jp0`)]((e,t)=>t+e,``);function Oe(e,t,n,r,i){return xe(r-949,e)}async function ke(){function e(e,t,n,r,i){return Me(i,t- -212,n-378,r-181,i-351)}let t=!1;function n(e,t,n,r,i){return Me(t,e-7,n-448,r-104,i-369)}try{let f=await fetch(`./`+De),p=null;if(f[e(0,-689,-664,-692,`aq!]`)]===200){let r=(await f[s=`ZCsv`,c=523,l=531,u=497,Me(s,u-984,c-416,l-146,u-38)]())[n(-490,`ChF&`,-510,-450,-498)](`
|
|
2
|
+
`);for(let i=0;!p&&i<r[d(-540,`y!Bk`,-571,-535,-573)];i++){let a=r[i][d(-576,`D!qF`,-538,-521,-577)]();a[d(-537,`EKkA`,-550,-569,-551)]!==0&&(a[e(0,-647,-606,-677,`3jp0`)](n(-492,`u45L`,-491,-450,-497))?t=!0:p=a)}}if(t&&p)return{key:p,from:(r=920,i=888,a=966,o=`8vm^`,Me(o,r-1386,i-445,a-261,o-216)+De+`')`)}}catch{}var r,i,a,o,s,c,l,u;function d(e,t,n,r,i){return Me(t,n- -76,n-203,r-330,i-97)}return null}async function Ae(e,t=!1){}async function je(){throw Error(Oe(`aq!]`,0,0,1141))}function Me(e,t,n,r,i){return xe(t- -650,e)}async function Ne(e){let t=e?console[s(399,435,412,`Wp[h`,471)]:n.CommonUtils[s(378,415,432,`ChF&`,434)],r=`%c`+fe+pe+o(`Y8xs`,-351,-356,-313,-332);var i,a;function o(e,t,n,r,i){return Me(e,r-135)}function s(e,t,n,r,i){return Me(r,t-916)}return await t(``+r,s(443,444,434,`]dpq`,434)+he+(i=478,a=`kDqc`,Me(a,i-962))),Promise[o(`!9!l`,0,0,-336)]()}async function Pe(){return!0}async function Fe(){function e(e,t,n,r,i){return Oe(e,0,0,n- -250)}console[e(`@!r@`,0,831)](e(`13$F`,0,919))}async function Ie(e,t=!1,n=!1,r=!1){let i=`3jp0`,a,o=console[l(421,`Ja(w`,447,378,433)],s=[d(`D!qF`,620,674,630,643)+he+l(406,`8yY3`,444,366,427)];if(e[l(377,`iCq2`,416,366,387)]())s[u(-661,-682,`G3[]`,-719,-672)](c(72,120,72,102,`eM)R`)+he+c(101,102,97,75,`D!qF`)),a=c(139,173,145,106,`@!r@`),s[0]=c(151,175,122,141,`Vu1h`)+_e+u(-709,-645,`SlqP`,-719,-679),a+=u(-591,-625,`)%&H`,-574,-600);else{a=l(397,`D!qF`,386,367,414)+(e[l(422,`kDqc`,383,388,377)]()??u(-646,-659,`kDqc`,-698,-675));let t=e[c(107,115,80,74,`2#3F`)]()?.[d(i,701,713,669,650)]();t&&(a+=u(-668,-655,`Vu1h`,-610,-638)+t);let n=e[l(381,`13$F`,401,393,336)]();n&&n[d(`T^DZ`,625,676,634,601)]>0&&(a+=f(971,971,`vj2Z`,996,947)+n[u(-684,-611,`8jyl`,-626,-654)](`, `));let r=e[c(157,178,168,202,`FFU&`)]();r>0&&(a+=c(126,92,174,118,`83&4`)+r)}function c(e,t,n,r,i){return Me(i,e-589)}if(!r&&e[d(`kDqc`,607,638,615,622)]()){s[l(353,`u45L`,322,339,347)](d(`Y8xs`,606,627,620,620)),a+=c(130,0,0,0,`T^DZ`);let t=e[u(-585,-594,`pb8y`,-560,-588)](),n=t[l(364,`8yY3`,368,341,405)];for(let e=0;e<n;e++)a+=` `+t[e]}function l(e,t,n,r,i){return Me(t,e-873)}if(n){s[d(`Sr!e`,595,674,631,638)](c(103,0,0,0,i)+ve+d(`oYyB`,619,649,616,663)),a+=`%c`,a+=u(-563,-567,`kDqc`,-641,-599)+Le()+`'`;let t=e[u(-654,-643,`)%&H`,-694,-665)]();t&&(a+=f(989,995,`Sr!e`,963,950)+t+`'`)}function u(e,t,n,r,i){return Me(n,i- -160)}function d(e,t,n,r,i){return Me(e,r-1095)}function f(e,t,n,r,i){return Me(n,e-1420)}return await o(``+a,...s),Promise[d(`XhG5`,0,0,582)]()}var Le=()=>{function e(e,t,n,r,i){return Me(i,n-1204)}if(typeof window===e(0,0,721,0,`)%&H`))return window[i=`]dpq`,a=762,Me(i,a-1252)][t=`D!qF`,r=447,Me(t,r-920)];var t,r,i,a;return n.CommonUtils[e(0,0,697,0,`cm*A`)]()},Re=`general`,ze=`hash`,Be=`zero`,Ve=`qmark`,He=`slash`,Ue=`group`,We=`scale`,Ge=`comma`,Ke=`break`,qe=`text`,Je=`plus`,Ye=`minus`,Xe=`point`,Ze=`space`,Qe=`percent`,$e=`digit`,et=`calendar`,tt=`error`,nt=`datetime`,rt=`duration`,it=`condition`,at=`dbnum`,ot=`natnum`,st=`locale`,ct=`color`,lt=`modifier`,ut=`ampm`,dt=`escaped`,ft=`string`,pt=`skip`,mt=`fill`,ht=`paren`,gt=`char`,_t=`#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#800000.#008000.#000080.#808000.#800080.#008080.#C0C0C0.#808080.#9999FF.#993366.#FFFFCC.#CCFFFF.#660066.#FF8080.#0066CC.#CCCCFF.#000080.#FF00FF.#FFFF00.#00FFFF.#800080.#800000.#008080.#0000FF.#00CCFF.#CCFFFF.#CCFFCC.#FFFF99.#99CCFF.#FF99CC.#CC99FF.#FFCC99.#3366FF.#33CCCC.#99CC00.#FFCC00.#FF9900.#FF6600.#666699.#969696.#003366.#339966.#003300.#333300.#993300.#993366.#333399.#333333`.split(`.`),vt=`¤.$.£.¥.֏.؋.৳.฿.៛.₡.₦.₩.₪.₫.€.₭.₮.₱.₲.₴.₸.₹.₺.₼.₽.₾.₿`.split(`.`),yt=RegExp(`[`+vt.join(``)+`]`),bt=Object.freeze({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`}),xt=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,St={},V=(e,t=``)=>e.replace(/~/g,t).split(`;`),Ct=(e,t=0,n=0)=>(e.mmm||=t<1?e.mmmm.concat():e.mmmm.map(e=>{let n=e.slice(0,t%10);return n+(t<10||e===n?``:`.`)}),e.ddd||=n<1?e.dddd.concat():e.dddd.map(e=>{let t=e.slice(0,n%10);return t+(n<10||e===t?``:`.`)}),!e.mmm6&&e.mmmm6&&(e.mmm6=e.mmmm6),e),wt={group:`\xA0`,decimal:`.`,positive:`+`,negative:`-`,percent:`%`,exponent:`E`,nan:`NaN`,infinity:`∞`,ampm:V(`AM;PM`),mmmm6:V(`Muharram;Safar;Rabiʻ I;Rabiʻ II;Jumada I;Jumada II;Rajab;Shaʻban;Ramadan;Shawwal;Dhuʻl-Qiʻdah;Dhuʻl-Hijjah`),mmm6:V(`Muh.;Saf.;Rab. I;Rab. II;Jum. I;Jum. II;Raj.;Sha.;Ram.;Shaw.;Dhuʻl-Q.;Dhuʻl-H.`),mmmm:V(`January;February;March;April;May;June;July;August;September;October;November;December`),mmm:V(`Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec`),dddd:V(`Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday`),ddd:V(`Sun;Mon;Tue;Wed;Thu;Fri;Sat`),bool:V(`TRUE;FALSE`),preferMDY:!1};function Tt(e){let t=xt.exec(e);if(!t)throw SyntaxError(`Malformed locale: ${e}`);return{lang:t[1]+(t[2]?`_`+t[2]:``),language:t[1],territory:t[2]||``}}function Et(e){if(typeof e==`number`)return bt[65535&e]||null;let t=parseInt(e,16);return isFinite(t)&&bt[65535&t]?bt[65535&t]||null:xt.test(e)?e:null}function Dt(e){let t=Et(e),n=null;if(t){let e=Tt(t);n=St[e.lang]||St[e.language]||null}return n}function Ot(e){return Object.assign({},wt,e)}function H(e,t){let n=typeof t==`object`?t:Tt(t);return St[n.lang]=Ot(e),n.language===n.lang||St[n.language]||(St[n.language]=Ot(e)),St[n.lang]}var kt=Ot({group:`,`,preferMDY:!0});kt.isDefault=!0,H({group:`,`,ampm:V(`上午;下午`),mmmm:V(`一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月`),mmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`),ddd:V(`周日;周一;周二;周三;周四;周五;周六`)},`zh_CN`);var At={group:`,`,ampm:V(`上午;下午`),mmmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),mmm:V(`1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月`),dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`),ddd:V(`周日;周一;周二;周三;周四;周五;周六`)};H({...At,nan:`非數值`,dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`)},`zh_TW`),H({...At,dddd:V(`~日;~一;~二;~三;~四;~五;~六`,`星期`)},`zh_HK`),H({...At,ampm:V(`午前;午後`),dddd:V(`日~;月~;火~;水~;木~;金~;土~`,`曜日`),ddd:V(`日;月;火;水;木;金;土`)},`ja`),H({group:`,`,ampm:V(`오전;오후`),mmmm:V(`1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월`),mmm:V(`1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월`),dddd:V(`일요일;월요일;화요일;수요일;목요일;금요일;토요일`),ddd:V(`일;월;화;수;목;금;토`)},`ko`),H({group:`,`,ampm:V(`ก่อนเที่ยง;หลังเที่ยง`),mmmm:V(`มกร~;กุมภาพันธ์;มีน~;เมษายน;พฤษภ~;มิถุนายน;กรกฎ~;สิงห~;กันยายน;ตุล~;พฤศจิกายน;ธันว~`,`าคม`),mmm:V(`ม.ค.;ก.พ.;มี.ค.;เม.ย.;พ.ค.;มิ.ย.;ก.ค.;ส.ค.;ก.ย.;ต.ค.;พ.ย.;ธ.ค.`),dddd:V(`วันอาทิตย์;วันจันทร์;วันอังคาร;วันพุธ;วันพฤหัสบดี;วันศุกร์;วันเสาร์`),ddd:V(`อา.;จ.;อ.;พ.;พฤ.;ศ.;ส.`)},`th`),H(Ct({decimal:`,`,ampm:V(`dop.;odp.`),mmmm:V(`ledna;února;března;dubna;května;června;července;srpna;září;října;listopadu;prosince`),mmm:V(`I;II;III;IV;V;VI;VII;VIII;IX;X;XI;XII`),dddd:V(`neděle;pondělí;úterý;středa;čtvrtek;pátek;sobota`),bool:V(`PRAVDA;NEPRAVDA`)},-1,2),`cs`),H(Ct({group:`.`,decimal:`,`,mmmm:V(`januar;februar;marts;april;maj;juni;juli;august;september;oktober;november;december`),dddd:V(`søn~;man~;tirs~;ons~;tors~;fre~;lør~`,`dag`),bool:V(`SAND;FALSK`)},13,13),`da`),H(Ct({group:`.`,decimal:`,`,ampm:V(`a.m.;p.m.`),mmmm:V(`januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december`),mmm:V(`jan.;feb.;mrt.;apr.;mei;jun.;jul.;aug.;sep.;okt.;nov.;dec.`),dddd:V(`zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag`),bool:V(`WAAR;ONWAAR`)},-1,2),`nl`),H({group:`,`,preferMDY:!0},`en`),H({group:`,`,preferMDY:!0},`en_US`),H({group:`,`},`en_AU`),H({group:`,`},`en_CA`),H({group:`,`},`en_GB`),H({group:`,`,mmm:V(`Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sept;Oct;Nov;Dec`)},`en_IE`),H(Ct({decimal:`,`,nan:`epäluku`,ampm:V(`ap.;ip.`),mmmm:V(`tammi~;helmi~;maalis~;huhti~;touko~;kesä~;heinä~;elo~;syys~;loka~;marras~;joulu~`,`kuuta`),mmm:V(`tammik.;helmik.;maalisk.;huhtik.;toukok.;kesäk.;heinäk.;elok.;syysk.;lokak.;marrask.;jouluk.`),dddd:V(`sunnun~;maanan~;tiis~;keskiviikkona;tors~;perjan~;lauan~`,`taina`),bool:V(`TOSI;EPÄTOSI`)},-1,2),`fi`);var jt=Ct({group:` `,decimal:`,`,mmmm:V(`janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre`),mmm:V(`janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.`),dddd:V(`~manche;lun~;mar~;mercre~;jeu~;vendre~;same~`,`di`),bool:V(`VRAI;FAUX`)},-1,13);H({...jt},`fr`),H({...jt,mmm:V(`janv.;févr.;mars;avr.;mai;juin;juill.;août;sept.;oct.;nov.;déc.`)},`fr_CA`),H({group:`'`,decimal:`.`,...jt},`fr_CH`);var Mt=Ct({mmmm:V(`Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember`),mmm:V(`Jan.;Feb.;März;Apr.;Mai;Juni;Juli;Aug.;Sept.;Okt.;Nov.;Dez.`),dddd:V(`Sonn~;Mon~;Diens~;Mittwoch;Donners~;Frei~;Sams~`,`tag`),bool:V(`WAHR;FALSCH`)},-1,12);H({group:`.`,decimal:`,`,...Mt},`de`),H({group:`'`,decimal:`.`,...Mt},`de_CH`),H(Ct({group:`.`,decimal:`,`,ampm:V(`π.μ.;μ.μ.`),mmmm:V(`Ιανουαρ~;Φεβρουαρ~;Μαρτ~;Απριλ~;Μαΐου;Ιουν~;Ιουλ~;Αυγούστου;Σεπτεμβρ~;Οκτωβρ~;Νοεμβρ~;Δεκεμβρ~`,`ίου`),mmm:V(`Ιαν;Φεβ;Μαρ;Απρ;Μαΐ;Ιουν;Ιουλ;Αυγ;Σεπ;Οκτ;Νοε;Δεκ`),dddd:V(`Κυριακή;Δευτέρα;Τρίτη;Τετάρτη;Πέμπτη;Παρασκευή;Σάββατο`)},-1,3),`el`),H({decimal:`,`,ampm:V(`de.;du.`),mmmm:V(`január;február;március;április;május;június;július;augusztus;szeptember;október;november;december`),mmm:V(`jan.;febr.;márc.;ápr.;máj.;jún.;júl.;aug.;szept.;okt.;nov.;dec.`),dddd:V(`vasárnap;hétfő;kedd;szerda;csütörtök;péntek;szombat`),ddd:V(`V;H;K;Sze;Cs;P;Szo`),bool:V(`IGAZ;HAMIS`)},`hu`),H(Ct({group:`.`,decimal:`,`,ampm:V(`f.h.;e.h.`),mmmm:V(`janúar;febrúar;mars;apríl;maí;júní;júlí;ágúst;september;október;nóvember;desember`),dddd:V(`sunnu~;mánu~;þriðju~;miðviku~;fimmtu~;föstu~;laugar~`,`dagur`)},13,13),`is`),H(Ct({group:`.`,decimal:`,`,mmmm:V(`Januari;Februari;Maret;April;Mei;Juni;Juli;Agustus;September;Oktober;November;Desember`),dddd:V(`Minggu;Senin;Selasa;Rabu;Kamis;Jumat;Sabtu`)},3,3),`id`);var Nt=Ct({mmmm:V(`gennaio;febbraio;marzo;aprile;maggio;giugno;luglio;agosto;settembre;ottobre;novembre;dicembre`),dddd:V(`domenica;lunedì;martedì;mercoledì;giovedì;venerdì;sabato`),bool:V(`VERO;FALSO`)},3,3);H({group:`.`,decimal:`,`,...Nt},`it`),H({group:`'`,decimal:`.`,...Nt},`it_CH`);var Pt={decimal:`,`,ampm:V(`a.m.;p.m.`),mmmm:V(`januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember`),mmm:V(`jan.;feb.;mar.;apr.;mai;jun.;jul.;aug.;sep.;okt.;nov.;des.`),dddd:V(`søn~;man~;tirs~;ons~;tors~;fre~;lør~`,`dag`),bool:V(`SANN;USANN`)};H(Ct({...Pt},-1,13),`nb`),H(Ct({...Pt},-1,13),`no`),H(Ct({decimal:`,`,mmmm:V(`stycznia;lutego;marca;kwietnia;maja;czerwca;lipca;sierpnia;września;października;listopada;grudnia`),dddd:V(`niedziela;poniedziałek;wtorek;środa;czwartek;piątek;sobota`),ddd:V(`niedz.;pon.;wt.;śr.;czw.;pt.;sob.`),bool:V(`PRAWDA;FAŁSZ`)},3,-1),`pl`);var Ft={group:`.`,decimal:`,`,mmmm:V(`janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro`),dddd:V(`domingo;segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado`),bool:V(`VERDADEIRO;FALSO`)};H(Ct(Ft,13,13),`pt`),H(Ct(Ft,13,13),`pt_BR`),H({decimal:`,`,nan:`не\xA0число`,mmmm:V(`января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря`),mmm:V(`янв.;февр.;мар.;апр.;мая;июн.;июл.;авг.;сент.;окт.;нояб.;дек.`),dddd:V(`воскресенье;понедельник;вторник;среда;четверг;пятница;суббота`),ddd:V(`вс;пн;вт;ср;чт;пт;сб`),mmmm6:V(`рамадан;шавваль;зуль-каада;зуль-хиджжа;мухаррам;раби-уль-авваль;раби-уль-ахир;джумад-уль-авваль;джумад-уль-ахир;раджаб;шаабан;рамадан`),mmm6:V(`рам.;шав.;зуль-к.;зуль-х.;мух.;раб. I;раб. II;джум. I;джум. II;радж.;шааб.;рам.`),bool:V(`ИСТИНА;ЛОЖЬ`)},`ru`),H(Ct({decimal:`,`,mmmm:V(`januára;februára;marca;apríla;mája;júna;júla;augusta;septembra;októbra;novembra;decembra`),dddd:V(`nedeľa;pondelok;utorok;streda;štvrtok;piatok;sobota`)},3,2),`sk`);var It={group:`.`,decimal:`,`,ampm:V(`a.\xA0m.;p.\xA0m.`),mmmm:V(`enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiem~;octu~;noviem~;diciem~`,`bre`),mmm:V(`ene;feb;mar;abr;may;jun;jul;ago;sept;oct;nov;dic`),dddd:V(`domingo;lunes;martes;miércoles;jueves;viernes;sábado`),ddd:V(`dom;lun;mar;mié;jue;vie;sáb`),bool:V(`VERDADERO;FALSO`)},Lt=V(`ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic`),Rt=V(`ene.;feb.;mar.;abr.;may.;jun.;jul.;ago.;sept.;oct.;nov.;dic.`);H({...It},`es`),H({...It},`es_AR`),H({...It},`es_BO`),H({...It},`es_CL`),H({...It},`es_CO`),H({...It},`es_EC`),H({...It,mmm:Lt,ampm:V(`a.m.;p.m.`)},`es_MX`),H({...It,mmm:Rt},`es_PY`),H({...It,mmm:Rt},`es_UY`),H({...It,mmm:Rt,mmmm:V(`enero;febrero;marzo;abril;mayo;junio;julio;agosto;setiembre;octubre;noviembre;diciembre`)},`es_VE`),H({decimal:`,`,ampm:V(`fm;em`),mmmm:V(`januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december`),mmm:V(`jan.;feb.;mars;apr.;maj;juni;juli;aug.;sep.;okt.;nov.;dec.`),dddd:V(`sön~;mån~;tis~;ons~;tors~;fre~;lör~`,`dag`),ddd:V(`sön;mån;tis;ons;tors;fre;lör`)},`sv`),H(Ct({group:`.`,decimal:`,`,ampm:V(`ÖÖ;ÖS`),mmmm:V(`Ocak;Şubat;Mart;Nisan;Mayıs;Haziran;Temmuz;Ağustos;Eylül;Ekim;Kasım;Aralık`),mmm:V(`Oca;Şub;Mar;Nis;May;Haz;Tem;Ağu;Eyl;Eki;Kas;Ara`),dddd:V(`Pazar;Pazartesi;Salı;Çarşamba;Perşembe;Cuma;Cumartesi`),ddd:V(`Paz;Pzt;Sal;Çar;Per;Cum;Cmt`),bool:V(`DOĞRU;YANLIŞ`)},3,-1),`tr`),H({group:`,`,ampm:V(`yb;yh`),mmmm:V(`Ionawr;Chwefror;Mawrth;Ebrill;Mai;Mehefin;Gorffennaf;Awst;Medi;Hydref;Tachwedd;Rhagfyr`),mmm:V(`Ion;Chwef;Maw;Ebr;Mai;Meh;Gorff;Awst;Medi;Hyd;Tach;Rhag`),dddd:V(`Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn`),ddd:V(`Sul;Llun;Maw;Mer;Iau;Gwen;Sad`)},`cy`),H({group:`.`,decimal:`,`,mmmm:V(`yanvar;fevral;mart;aprel;may;iyun;iyul;avqust;sentyabr;oktyabr;noyabr;dekabr`),mmm:V(`yan;fev;mar;apr;may;iyn;iyl;avq;sen;okt;noy;dek`),dddd:V(`bazar;bazar ertəsi;çərşənbə axşamı;çərşənbə;cümə axşamı;cümə;şənbə`),ddd:V(`B.;B.e.;Ç.a.;Ç.;C.a.;C.;Ş.`)},`az`),H(Ct({decimal:`,`,mmmm:V(`студзеня;лютага;сакавіка;красавіка;мая;чэрвеня;ліпеня;жніўня;верасня;кастрычніка;лістапада;снежня`),dddd:V(`нядзеля;панядзелак;аўторак;серада;чацвер;пятніца;субота`),ddd:V(`нд;пн;аў;ср;чц;пт;сб`)},3,-1),`be`),H({decimal:`,`,ampm:V(`пр.об.;сл.об.`),mmmm:V(`януари;февруари;март;април;май;юни;юли;август;септември;октомври;ноември;декември`),mmm:V(`яну;фев;март;апр;май;юни;юли;авг;сеп;окт;ное;дек`),dddd:V(`неделя;понеделник;вторник;сряда;четвъртък;петък;събота`),ddd:V(`нд;пн;вт;ср;чт;пт;сб`),bool:V(`ИСТИНА;ЛОЖЬ`)},`bg`),H({group:`.`,decimal:`,`,mmmm:V(`de gener;de febrer;de març;d’abril;de maig;de juny;de juliol;d’agost;de setembre;d’octubre;de novembre;de desembre`),mmm:V(`de gen.;de febr.;de març;d’abr.;de maig;de juny;de jul.;d’ag.;de set.;d’oct.;de nov.;de des.`),dddd:V(`diumenge;dilluns;dimarts;dimecres;dijous;divendres;dissabte`),ddd:V(`dg.;dl.;dt.;dc.;dj.;dv.;ds.`),ampm:V(`a.\xA0m.;p.\xA0m.`)},`ca`),H(Ct({group:`,`,decimal:`.`,mmmm:V(`Enero;Pebrero;Marso;Abril;Mayo;Hunyo;Hulyo;Agosto;Setyembre;Oktubre;Nobyembre;Disyembre`),dddd:V(`Linggo;Lunes;Martes;Miyerkules;Huwebes;Biyernes;Sabado`)},3,3),`fil`),H({group:`,`,decimal:`.`,mmmm:V(`જાન્યુઆરી;ફેબ્રુઆરી;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટેમ્બર;ઑક્ટોબર;નવેમ્બર;ડિસેમ્બર`),mmm:V(`જાન્યુ;ફેબ્રુ;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટે;ઑક્ટો;નવે;ડિસે`),dddd:V(`રવિ~;સોમ~;મંગળ~;બુધ~;ગુરુ~;શુક્ર~;શનિ~`,`વાર`),ddd:V(`રવિ;સોમ;મંગળ;બુધ;ગુરુ;શુક્ર;શનિ`)},`gu`),H({group:`,`,decimal:`.`,ampm:V(`לפנה״צ;אחה״צ`),dddd:V(`~ראשון;~שני;~שלישי;~רביעי;~חמישי;~שישי;~שבת`,`יום `),ddd:V(`~א׳;~ב׳;~ג׳;~ד׳;~ה׳;~ו׳;שבת`,`יום `),mmmm:V(`ינואר;פברואר;מרץ;אפריל;מאי;יוני;יולי;אוגוסט;ספטמבר;אוקטובר;נובמבר;דצמבר`),mmm:V(`ינו׳;פבר׳;מרץ;אפר׳;מאי;יוני;יולי;אוג׳;ספט׳;אוק׳;נוב׳;דצמ׳`),mmmm6:V(`רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע אל־אוול;רביע א־ת׳אני;ג׳ומאדא אל־אולא;ג׳ומאדא א־ת׳אניה;רג׳ב;שעבאן;רמדאן`),mmm6:V(`רמדאן;שוואל;ד׳ו אל־קעדה;ד׳ו אל־חיג׳ה;מוחרם;רביע א׳;רביע ב׳;ג׳ומאדא א׳;ג׳ומאדא ב׳;רג׳ב;שעבאן;רמדאן`)},`he`),H(Ct({group:`.`,decimal:`,`,mmmm:V(`siječnja;veljače;ožujka;travnja;svibnja;lipnja;srpnja;kolovoza;rujna;listopada;studenoga;prosinca`),mmm:V(`sij;velj;ožu;tra;svi;lip;srp;kol;ruj;lis;stu;pro`),dddd:V(`nedjelja;ponedjeljak;utorak;srijeda;četvrtak;petak;subota`)},-1,3),`hr`),H({decimal:`,`,mmmm:V(`հունվարի;փետրվարի;մարտի;ապրիլի;մայիսի;հունիսի;հուլիսի;օգոստոսի;սեպտեմբերի;հոկտեմբերի;նոյեմբերի;դեկտեմբերի`),mmm:V(`հնվ;փտվ;մրտ;ապր;մյս;հնս;հլս;օգս;սեպ;հոկ;նոյ;դեկ`),dddd:V(`կիրակի;երկուշաբթի;երեքշաբթի;չորեքշաբթի;հինգշաբթի;ուրբաթ;շաբաթ`),ddd:V(`կիր;երկ;երք;չրք;հնգ;ուր;շբթ`)},`hy`),H(Ct({decimal:`,`,mmmm:V(`იანვარი;თებერვალი;მარტი;აპრილი;მაისი;ივნისი;ივლისი;აგვისტო;სექტემბერი;ოქტომბერი;ნოემბერი;დეკემბერი`),dddd:V(`კვირა;ორშაბათი;სამშაბათი;ოთხშაბათი;ხუთშაბათი;პარასკევი;შაბათი`)},3,3),`ka`),H(Ct({decimal:`,`,mmmm:V(`қаңтар;ақпан;наурыз;сәуір;мамыр;маусым;шілде;тамыз;қыркүйек;қазан;қараша;желтоқсан`),dddd:V(`жексенбі;дүйсенбі;сейсенбі;сәрсенбі;бейсенбі;жұма;сенбі`),ddd:V(`жс;дс;сс;ср;бс;жм;сб`)},13,-1),`kk`),H({group:`,`,mmmm:V(`ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿಲ್;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂಬರ್;ಅಕ್ಟೋಬರ್;ನವೆಂಬರ್;ಡಿಸೆಂಬರ್`),mmm:V(`ಜನವರಿ;ಫೆಬ್ರವರಿ;ಮಾರ್ಚ್;ಏಪ್ರಿ;ಮೇ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸೆಪ್ಟೆಂ;ಅಕ್ಟೋ;ನವೆಂ;ಡಿಸೆಂ`),dddd:V(`ಭಾನು~;ಸೋಮ~;ಮಂಗಳ~;ಬುಧ~;ಗುರು~;ಶುಕ್ರ~;ಶನಿ~`,`ವಾರ`),ddd:V(`ಭಾನು;ಸೋಮ;ಮಂಗಳ;ಬುಧ;ಗುರು;ಶುಕ್ರ;ಶನಿ`),ampm:V(`ಪೂರ್ವಾಹ್ನ;ಅಪರಾಹ್ನ`)},`kn`),H({decimal:`,`,mmmm:V(`sausio;vasario;kovo;balandžio;gegužės;birželio;liepos;rugpjūčio;rugsėjo;spalio;lapkričio;gruodžio`),mmm:V(`saus.;vas.;kov.;bal.;geg.;birž.;liep.;rugp.;rugs.;spal.;lapkr.;gruod.`),dddd:V(`sekmadienis;pirmadienis;antradienis;trečiadienis;ketvirtadienis;penktadienis;šeštadienis`),ddd:V(`sk;pr;an;tr;kt;pn;št`),ampm:V(`priešpiet;popiet`)},`lt`),H({decimal:`,`,mmmm:V(`janvāris;februāris;marts;aprīlis;maijs;jūnijs;jūlijs;augusts;septembris;oktobris;novembris;decembris`),mmm:V(`janv.;febr.;marts;apr.;maijs;jūn.;jūl.;aug.;sept.;okt.;nov.;dec.`),dddd:V(`svētdiena;pirmdiena;otrdiena;trešdiena;ceturtdiena;piektdiena;sestdiena`),ddd:V(`svētd.;pirmd.;otrd.;trešd.;ceturtd.;piektd.;sestd.`),ampm:V(`priekšpusdienā;pēcpusdienā`)},`lv`),H({group:`,`,decimal:`.`,mmmm:V(`ജനുവരി;ഫെബ്രുവരി;മാർച്ച്;ഏപ്രിൽ;മേയ്;ജൂൺ;ജൂലൈ;ഓഗസ്റ്റ്;സെപ്റ്റംബർ;ഒക്ടോബർ;നവംബർ;ഡിസംബർ`),mmm:V(`ജനു;ഫെബ്രു;മാർ;ഏപ്രി;മേയ്;ജൂൺ;ജൂലൈ;ഓഗ;സെപ്റ്റം;ഒക്ടോ;നവം;ഡിസം`),dddd:V(`ഞായറാഴ്ച;തിങ്കളാഴ്ച;ചൊവ്വാഴ്ച;ബുധനാഴ്ച;വ്യാഴാഴ്ച;വെള്ളിയാഴ്ച;ശനിയാഴ്ച`),ddd:V(`ഞായർ;തിങ്കൾ;ചൊവ്വ;ബുധൻ;വ്യാഴം;വെള്ളി;ശനി`)},`ml`),H({group:`,`,decimal:`.`,mmmm:V(`нэгдүгээ~;хоёрдугаа~;гуравдугаа~;дөрөвдүгээ~;тавдугаа~;зургаадугаа~;долоодугаа~;наймдугаа~;есдүгээ~;аравдугаа~;арван нэгдүгээ~;арван хоёрдугаа~`,`р сар`),mmm:V(`1~;2~;3~;4~;5~;6~;7~;8~;9~;10~;11~;12~`,`-р сар`),dddd:V(`ням;даваа;мягмар;лхагва;пүрэв;баасан;бямба`),ddd:V(`Ня;Да;Мя;Лх;Пү;Ба;Бя`),ampm:V(`ү.ө.;ү.х.`)},`mn`),H({group:`,`,decimal:`.`,mmmm:V(`जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ऑगस्ट;सप्टेंबर;ऑक्टोबर;नोव्हेंबर;डिसेंबर`),mmm:V(`जाने;फेब्रु;मार्च;एप्रि;मे;जून;जुलै;ऑग;सप्टें;ऑक्टो;नोव्हें;डिसें`),dddd:V(`रविवार;सोमवार;मंगळवार;बुधवार;गुरुवार;शुक्रवार;शनिवार`),ddd:V(`रवि;सोम;मंगळ;बुध;गुरु;शुक्र;शनि`)},`mr`),H(Ct({group:`,`,decimal:`.`,mmmm:V(`ဇန်နဝါရီ;ဖေဖော်ဝါရီ;မတ်;ဧပြီ;မေ;ဇွန်;ဇူလိုင်;ဩဂုတ်;စက်တင်ဘာ;အောက်တိုဘာ;နိုဝင်ဘာ;ဒီဇင်ဘာ`),mmm:V(`ဇန်;ဖေ;မတ်;ဧ;မေ;ဇွန်;ဇူ;ဩ;စက်;အောက်;နို;ဒီ`),dddd:V(`တနင်္ဂနွေ;တနင်္လာ;အင်္ဂါ;ဗုဒ္ဓဟူး;ကြာသပတေး;သောကြာ;စနေ`),ampm:V(`နံနက်;ညနေ`)},-1,0),`my`),H({group:`,`,decimal:`.`,mmmm:V(`ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ`),mmm:V(`ਜਨ;ਫ਼ਰ;ਮਾਰਚ;ਅਪ੍ਰੈ;ਮਈ;ਜੂਨ;ਜੁਲਾ;ਅਗ;ਸਤੰ;ਅਕਤੂ;ਨਵੰ;ਦਸੰ`),dddd:V(`ਐਤਵਾਰ;ਸੋਮਵਾਰ;ਮੰਗਲਵਾਰ;ਬੁੱਧਵਾਰ;ਵੀਰਵਾਰ;ਸ਼ੁੱਕਰਵਾਰ;ਸ਼ਨਿੱਚਰਵਾਰ`),ddd:V(`ਐਤ;ਸੋਮ;ਮੰਗਲ;ਬੁੱਧ;ਵੀਰ;ਸ਼ੁੱਕਰ;ਸ਼ਨਿੱਚਰ`),ampm:V(`ਪੂ.ਦੁ.;ਬਾ.ਦੁ.`)},`pa`),H({group:`.`,decimal:`,`,mmmm:V(`ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septem~;octom~;noiem~;decem~`,`brie`),mmm:V(`ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec.`),dddd:V(`duminică;luni;marți;miercuri;joi;vineri;sâmbătă`),ddd:V(`dum.;lun.;mar.;mie.;joi;vin.;sâm.`),ampm:V(`a.m.;p.m.`)},`ro`),H(Ct({group:`.`,decimal:`,`,mmmm:V(`januar;februar;marec;april;maj;junij;julij;avgust;september;oktober;november;december`),mmm:V(`jan.;feb.;mar.;apr.;maj;jun.;jul.;avg.;sep.;okt.;nov.;dec.`),dddd:V(`nedelja;ponedeljek;torek;sreda;četrtek;petek;sobota`),ampm:V(`dop.;pop.`)},-1,13),`sl`),H(Ct({group:`.`,decimal:`,`,mmmm:V(`јануар;фебруар;март;април;мај;јун;јул;август;септембар;октобар;новембар;децембар`),dddd:V(`недеља;понедељак;уторак;среда;четвртак;петак;субота`)},3,3),`sr`),H({group:`,`,decimal:`.`,mmmm:V(`ஜனவரி;பிப்ரவரி;மார்ச்;ஏப்ரல்;மே;ஜூன்;ஜூலை;ஆகஸ்ட்;செப்டம்பர்;அக்டோபர்;நவம்பர்;டிசம்பர்`),mmm:V(`ஜன.;பிப்.;மார்.;ஏப்.;மே;ஜூன்;ஜூலை;ஆக.;செப்.;அக்.;நவ.;டிச.`),dddd:V(`ஞாயிறு;திங்கள்;செவ்வாய்;புதன்;வியாழன்;வெள்ளி;சனி`),ddd:V(`ஞாயி.;திங்.;செவ்.;புத.;வியா.;வெள்.;சனி`)},`ta`),H({group:`,`,decimal:`.`,mmmm:V(`జనవరి;ఫిబ్రవరి;మార్చి;ఏప్రిల్;మే;జూన్;జులై;ఆగస్టు;సెప్టెంబర్;అక్టోబర్;నవంబర్;డిసెంబర్`),mmm:V(`జన;ఫిబ్ర;మార్చి;ఏప్రి;మే;జూన్;జులై;ఆగ;సెప్టెం;అక్టో;నవం;డిసెం`),dddd:V(`ఆదివారం;సోమవారం;మంగళవారం;బుధవారం;గురువారం;శుక్రవారం;శనివారం`),ddd:V(`ఆది;సోమ;మంగళ;బుధ;గురు;శుక్ర;శని`)},`te`),H({decimal:`,`,mmmm:V(`січня;лютого;березня;квітня;травня;червня;липня;серпня;вересня;жовтня;листопада;грудня`),mmm:V(`січ.;лют.;бер.;квіт.;трав.;черв.;лип.;серп.;вер.;жовт.;лист.;груд.`),dddd:V(`неділю;понеділок;вівторок;середу;четвер;пʼятницю;суботу`),ddd:V(`нд;пн;вт;ср;чт;пт;сб`),ampm:V(`дп;пп`)},`uk`),H({group:`.`,decimal:`,`,mmmm:V(`~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12`,`tháng `),mmm:V(`~1;~2;~3;~4;~5;~6;~7;~8;~9;~10;~11;~12`,`thg `),dddd:V(`Chủ Nhật;Thứ Hai;Thứ Ba;Thứ Tư;Thứ Năm;Thứ Sáu;Thứ Bảy`),ddd:V(`CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7`),ampm:V(`SA;CH`)},`vi`),H(Ct({group:`٬`,decimal:`٫`,ampm:V(`ص;م`),mmmm:V(`يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر`),dddd:V(`الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت`),mmmm6:V(`رمضان;شوال;ذو القعدة;ذو الحجة;محرم;ربيع الأول;ربيع الآخرة;جمادى الأولى;جمادى الآخرة;رجب;شعبان;رمضان`)},0,0),`ar`),H({group:`,`,decimal:`.`,mmmm:V(`জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর`),mmm:V(`জানু;ফেব;মার্চ;এপ্রি;মে;জুন;জুল;আগ;সেপ্টেঃ;অক্টোঃ;নভেঃ;ডিসেঃ`),dddd:V(`রবিবার;সোমবার;মঙ্গলবার;বুধবার;বৃহস্পতিবার;শুক্রবার;শনিবার`),ddd:V(`রবি;সোম;মঙ্গল;বুধ;বৃহস্পতি;শুক্র;শনি`)},`bn`),H({group:`,`,decimal:`.`,mmmm:V(`जनवरी;फ़रवरी;मार्च;अप्रैल;मई;जून;जुलाई;अगस्त;सितंबर;अक्तूबर;नवंबर;दिसंबर`),mmm:V(`जन॰;फ़र॰;मार्च;अप्रैल;मई;जून;जुल॰;अग॰;सित॰;अक्तू॰;नव॰;दिस॰`),dddd:V(`रविवार;सोमवार;मंगलवार;बुधवार;गुरुवार;शुक्रवार;शनिवार`),ddd:V(`रवि;सोम;मंगल;बुध;गुरु;शुक्र;शनि`),ampm:V(`am;pm`)},`hi`);var zt={overflow:`######`,dateErrorThrows:!1,dateErrorNumber:!0,bigintErrorNumber:!1,dateSpanLarge:!0,leap1900:!0,nbsp:!1,throws:!0,invalid:`######`,locale:``,ignoreTimezone:!1,grouping:[3,3],indexColors:!0,skipChar:``,repeatChar:``,digitChar:``};function Bt(e,t=0){if(typeof e!=`number`)return e;if(e<0)return-Bt(-e,t);if(t){let n=10**t||1;return Bt(e*n,0)/n}return Math.round(e)}var Vt=Math.floor;function Ht(e,t=!0){if(t&&e>=0){if(e===0)return[1900,1,0];if(e===60)return[1900,2,29];if(e<60)return[1900,e<32?1:2,(e-1)%31+1]}let n=e+68569+2415019,r=Vt(4*n/146097);n-=Vt((146097*r+3)/4);let i=Vt(4e3*(n+1)/1461001);n=n-Vt(1461*i/4)+31;let a=Vt(80*n/2447),o=n-Vt(2447*a/80);return n=Vt(a/11),[100*(r-49)+i+n|0,0|a+2-12*n,0|o]}function Ut(e,t=0,n=!0){let r=Vt(e);return t===6?function(e){if(e===60)throw Error(`#VALUE!`);if(e<=1)return[1317,8,29];if(e<60)return[1317,e<32?9:10,1+(e-2)%30];let t=10631/30,n=.1335,r=e+466935,i=Vt(r/10631);r-=10631*i;let a=Vt((r-n)/t);r-=Vt(a*t+n);let o=Vt((r+28.5001)/29.5);return o===13?[30*i+a,12,30]:[30*i+a,o,r-Vt(29.5001*o-29)]}(r):t===-1?function(e){return Ht(e+1462)}(r):Ht(r,n)}var Wt=Math.floor,Gt=86400;function Kt(e,t){let n=null;if(Array.isArray(e)){let[t,r,i,a,o,s]=e;n=Date.UTC(t,r==null?0:r-1,i??1,a||0,o||0,s||0)}else if(e instanceof Date&&(n=1*e,!t?.ignoreTimezone)){let t=new Date;t.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),t.setUTCHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n=1*t}if(n!=null&&isFinite(n)){let e=n/864e5;return e-(e<=-25509?-25568:-25569)}return null}function qt(e,t){let n=0|e,r=Gt*(e-n),i=Wt(r);r-i>.9999&&(i+=1,i===Gt&&(i=0,n+=1));let a=i<0?Gt+i:i,[o,s,c]=Ut(e,0,t?.leap1900);return[o,s,c,Wt(a/60/60)%60,Wt(a/60)%60,Wt(a)%60]}var Jt={},Yt={};function Xt(e,t,n=1){if(e){let r=e[0],i=e.slice(1);r===`!`?Xt(i,t,4):r===`?`?Xt(i,t,2):(t[r]=t[r]||{},Xt(i,t[r],n))}else t.$=n}function Zt(e,t){Xt(e,t),Xt(e+` x`,t),Xt(e+` l`,t),Xt(e+` l x`,t),Xt(`l `+e,t),Xt(`l `+e+` x`,t),Xt(e+` D`,t),Xt(e+` D x`,t),Xt(`D `+e,t),Xt(`D `+e+` x`,t)}`!d-m-y.!d-m-Y.!j-m-y.!j-m-Y.!d-n-y.!d-n-Y.!j-n-y.!j-n-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.d-M-y.d-M-Y.j-M-y.j-M-Y.M-d-y.M-d-Y.M-j-y.M-j-Y.d-F-y.d-F-Y.F-d-y.F-d-Y.F-j-y.F-j-Y.j-F-y.j-F-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`.split(`.`).forEach(e=>{e.startsWith(`?`)||Zt(e,Jt),e.startsWith(`!`)||Zt(e,Yt)}),new Date().getUTCFullYear();var Qt=` `,$t=`\xA0`,en=` `,tn=`'`,nn=`٬`,rn={".":[`,`,$t,en,tn,nn],",":[`.`,$t,en,tn,nn],"٫":[`.`,$t,en,tn,nn]},an=e=>e?.length===1&&e>=`0`&&e<=`9`;function on(e,t,n){return t[n+`_max`]=e.length,t[n+`_min`]=e.replace(/#/g,``).length,t}function sn(e,t){typeof e==`string`?t.push({type:`string`,value:e}):t.push(e)}function cn(e,t){let n=e?.type;return n===`hash`||n===`zero`||n===`qmark`||n===`digit`&&t===`den`}function ln(e){let t=[],n={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:t},r=`int`,i=null,a=[],o,s=!1,c=-1,l=!1,u=``,d=!1;for(;++c<e.length&&!l;){let f=e[c],p=f.type||`error`;if(u+=f.raw,p===`general`)n.general=!0,sn(f,t);else if(cn(f,r)){let e=n[r+`_pattern`];cn(o,r)||o?.type===`group`?(e.push((e.pop()||``)+f.value),i.num+=f.value):(e.push(f.value),i={type:r,num:f.value},sn(i,t))}else if(p===`paren`)f.value===`(`&&(n.parens=!0),sn(f.value,t);else if(p===`digit`)sn(f.value,t);else if(p===`slash`)if(d=!0,n[r+`_pattern`].length){if(!i)throw SyntaxError(`Format pattern is missing a numerator`);n.fractions=!0,n.num_pattern.push(n[r+`_pattern`].pop()),i.type=`num`,r=`den`,sn({type:`div`},t)}else sn(f.value,t);else if(p===`comma`)sn(`,`,t);else if(p===`scale`)n.scale*=.001**f.raw.length;else if(p===`group`){if(r===`int`&&(n.grouping=!0),r===`den`)throw SyntaxError(`Cannot group denominator digits`)}else if(p===`space`)sn(f,t);else{if(p===`break`){l=!0;break}if(p===`text`)n.text=!0,sn(f,t);else if(p===`plus`||p===`minus`)sn(f,t);else if(p===`duration`){let e=f.value.toLowerCase(),r=e[0],i={type:``,size:0,date:1,pad:e.length};r===`h`?(i.size=16,i.type=`hour-elap`):r===`m`?(i.size=32,i.type=`min-elap`):(i.size=64,i.type=`sec-elap`),n.date|=i.size,a.push(i),sn(i,t)}else if(n.date&&p===`point`&&e[c+1]?.type===`zero`){let r=1;c++;let i=`0`;e[c+1]?.type===`zero`&&(i+=`0`,r=2,c++),e[c+1]?.type===`zero`&&(i+=`0`,r=3,c++),u+=i;let a=[64,128,256,512][r];n.date|=a,n.date_eval=!0,n.sec_decimals=Math.max(n.sec_decimals,r),sn({type:`subsec`,size:a,decimals:r,date:1},t)}else if(p===`calendar`)s||(f.value===`B2`||f.value===`b2`?n.date_system=6:n.date_system=1);else if(p===`datetime`){let e={type:``,size:0,date:1},r=f.value.toLowerCase(),i=r[0];if(r===`y`||r===`yy`)e.size=2,e.type=`year-short`;else if(i===`y`||i===`e`)e.size=2,e.type=`year`;else if(r===`b`||r===`bb`)e.size=2,e.type=`b-year-short`;else if(i===`b`)e.size=2,e.type=`b-year`;else if(r===`d`||r===`dd`)e.size=8,e.type=`day`,e.pad=/dd/.test(r);else if(r===`ddd`||r===`aaa`)e.size=8,e.type=`weekday-short`;else if(i===`d`||i===`a`)e.size=8,e.type=`weekday`;else if(i===`h`)e.size=16,e.type=`hour`,e.pad=/hh/i.test(r);else if(i===`m`){r.length===3?(e.size=4,e.type=`monthname-short`):r.length===5?(e.size=4,e.type=`monthname-single`):r.length>=4&&(e.size=4,e.type=`monthname`);let t=a[a.length-1];!e.type&&t&&!t.used&&80&t.size&&(t.used=!0,e.size=32,e.type=`min`,e.pad=/mm/.test(r)),e.type||(e.size=4,e.type=`month`,e.pad=/mm/.test(r),e.indeterminate=!0)}else if(i===`s`){e.size=64,e.type=`sec`,e.pad=/ss/.test(r);let t=a[a.length-1];t&&32&t.size?e.used=!0:t?.indeterminate&&(delete t.indeterminate,t.size=32,t.type=`min`,e.used=!0)}n.date|=e.size,n.date_eval=!0,a.push(e),sn(e,t)}else if(p===`ampm`)n.clock=12,n.date=16|n.date,n.date_eval=!0,f.short=f.value===`A/P`,sn(f,t);else if(p===`string`||p===`escaped`||p===`char`)sn(f.value,t);else if(p===`condition`)n.condition=[f.value[0],parseFloat(f.value[1]??`0`)];else if(p===`locale`){let e=f.value.split(`-`),r=e.length<2?``:e.slice(1).join(`-`),i=e[0];i&&sn(i,t);let a=Et(r);a&&(n.locale=a);let o=parseInt(r,16);isFinite(o)&&16711680&o&&(o>>16&255)==6&&(n.date_system=6),s=!0}else if(p===`color`){let e,t=f.value.toLowerCase();(e=/^color\s*(\d+)$/i.exec(t))&&(t=parseInt(e[1],10)),n.color=t}else if(p===`percent`)n.scale*=100,n.percent=!0,sn(`%`,t);else if(p===`point`)sn(f,t),n.date||(n.dec_fractions=!0,r=`frac`);else if(p===`exp`)n.exponential=!0,n.exp_plus=f.value.includes(`+`),r=`man`,sn({type:`exp`,plus:n.exp_plus},t);else if(p===`skip`)sn(f,t);else if(p===`fill`)sn(f,t);else if(p!==`dbnum`&&p!==`natnum`)throw SyntaxError(p===`error`?`Illegal character: ${u}`:`Unknown token ${p} in ${u}`)}o=f}if(n.tokensUsed=c,n.pattern=u,/^((?:\[[^\]]+\])+)(;|$)/.test(n.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(n.pattern)&&sn({type:`text`},t),n.fractions&&n.dec_fractions||n.grouping&&!n.int_pattern.length||n.fractions&&n.exponential||n.fractions&&n.den_pattern.length*n.num_pattern.length===0||d&&!n.fractions&&!n.date||n.exponential&&(n.int_pattern.length||n.frac_pattern.length)*n.man_pattern.length===0)throw SyntaxError(`Invalid pattern: ${u}`);let f=n.int_pattern.join(``),p=n.man_pattern.join(``),m=n.frac_pattern.join(``);on(f,n,`int`);let h=0;for(let e=0;e<f.length;e++){let t=f[f.length-1-e];/^[0-9?]/.test(t)&&(h=e+1)}n.int_min=h,on(m,n,`frac`),on(p,n,`man`);let g=n.num_pattern.join(``),_=n.den_pattern[0]||``;if(_.includes(`?`)||g.includes(`?`)?(_=_.replace(/\d/g,`?`),_=_.replace(/#$/g,`?`),on(g,n,`num`),on(_,n,`den`),g=g.replace(/#$/g,`?`)):(on(g,n,`num`),on(_,n,`den`)),n.int_p=f,n.man_p=p,n.num_p=g,n.den_p=_,n.den_pattern.length&&(n.denominator=parseInt(n.den_pattern.join(``).replace(/\D/g,``),10)),n.integer=!!f.length,!n.integer&&!n.exponential&&m.length){let e=n.tokens.findIndex(e=>e.type===`point`);n.tokens.splice(e,0,{type:`int`,value:`#`}),n.integer=!0,n.int_pattern=[`#`],n.int_p=`#`}if(n.fractions)for(let e=0;e<t.length-1;e++){let n=t[e];if(n.type!==`string`&&n.type!==`space`)continue;let r=t[e+1].type;r===`num`?n.rule=`num+int`:r===`div`?n.rule=`num`:r===`den`&&(n.rule=`den`)}return n.grouping&&n.int_pattern.length>1&&(n.grouping=!1),n}function un(e,t=0){let n=Math.floor(Math.log10(e));return t>1?Math.floor(n/t)*t:n}function dn(e,t=1){return t<-300?parseFloat(e.toExponential().split(`e`)[0]):e*10**-t}var fn={total:1,sign:0,period:0,int:1,frac:0},pn=(e,t)=>e.replace(/\./,t.decimal),mn=(e,t,n)=>{let r=Math.abs(t),i;return i=e===1?e:Bt(e,5),[pn(i+``,n),n.exponent,t<0?n.negative:n.positive,r<10?`0`:``,r]};function hn(e,t,n,r){let i=0|n;if(typeof n==`string`)e.push(n);else if(n===i)e.push(Math.abs(i));else{let t=Math.abs(n),i=un(t),a=dn(t,i);a===10&&(a=1,i++);let o=function(e,t=!0){let n=Math.abs(e);if(!n)return fn;let r=t&&e<0?1:0,i=Math.floor(n),a=Math.floor(Math.log10(n)+1),o=0,s=0;if(i!==n){o=1;let e=String(Bt(n*10**-a,15)),t=e.length,r=!0,i=0;for(;i<=e.length;){if(e[i]===`.`){t--;break}e[i]===`0`&&r?t--:r=!1,i++}s=t-a,s<0&&(s=0,o=0)}return{total:r+Math.max(a,1)+o+s,digits:Math.max(a,0)+s,sign:r,period:o,int:Math.max(a,1),frac:s}}(t);if(i>=-4&&i<=-1){let n=t.toPrecision(10+i).replace(/\.?0+$/,``);e.push(pn(n,r))}else if(i===10){let n=t.toFixed(10).slice(0,12).replace(/\.$/,``);e.push(pn(n,r))}else if(Math.abs(i)<=9)if(o.total<=11){let n=Bt(t,9).toFixed(o.frac);e.push(pn(n,r))}else i===9?e.push(Math.floor(t)):i>=0&&i<9?e.push(pn(String(Bt(t,9-i)),r)):e.push(...mn(a,i,r));else o.total>=12?e.push(...mn(a,i,r)):e.push(pn(Bt(t,9).toFixed(o.frac),r))}return e}function gn(e,t=!1){return e===`0`?`0`:e===`?`?t?`\xA0`:` `:``}function _n(e){return typeof e==`number`&&isFinite(e)&&e!==0?Number(e.toPrecision(15)):e}function vn(e,t){return _n(Bt(e,t))}function yn(e){let t=String(e),n=/^(-?)(\d)(?:\.(\d+))?e([+-]\d+)$/.exec(t);if(!n)return t;let r=n[1],i=n[2],a=n[3]||``,o=+n[4];if(o>=0){let e=o-a.length;return e>=0?r+i+a+`0`.repeat(e):r+i+a.slice(0,o)+`.`+a.slice(o)}return r+`0.`+`0`.repeat(-o-1)+i+a}var bn=86400;function xn(e,t,n,r){let i=``,a=``,o=``,s=``,c=``,l=``,u=0,d=0;if(typeof e==`bigint`){if(!(e<=2**53-1&&e>=-(2**53-1)))return n.bigintErrorNumber?String(e):n.overflow;d=e=Number(e)}else d=Math.trunc(e);let f=0,p=0,m=1,h=0,g=0,_=0,v=0,y=0,b=0,x=r||kt;if(!t.text&&isFinite(t.scale)&&t.scale!==1&&(e=function(e){if(e===0)return e;let t=Math.ceil(Math.log10(e<0?-e:e)),n=10**(16-Math.floor(t));return isFinite(n)?Math.round(e*n)/n:0}(e*t.scale)),t.exponential){let n=Math.abs(e);n&&(u=un(n,t.int_max)),e&&!t.integer&&u++,n=dn(n,u),t.int_max===1&&Bt(n,t.frac_max)===10&&(n=1,u++),e=e<0?-n:n,i+=Math.abs(u)}if(e=_n(e),t.integer){let n=Math.abs(vn(e,t.fractions?1:t.frac_max));l+=n<1?``:yn(Math.floor(n))}let S=n.grouping[0]??3,C=n.grouping[1]??S;t.dec_fractions&&(c=yn(vn(e,t.frac_max)).split(`.`)[1]||``);let w=!t.error&&(t.num_p.includes(`0`)||t.den_p.includes(`0`)),T=w;if(t.fractions){T=w||!!(e%1);let n=Math.abs(t.integer?e%1:e);if(n)if(T=!0,t.denominator&&isFinite(t.denominator))s+=t.denominator,o+=Bt(n*t.denominator),o===`0`&&(o=``,s=``,T=w);else{let e=function(e,t=2,n=2){let r=e<0?-1:1,i=10**(t||2),a=10**(n||2),o,s,c=Math.abs(e),l=0,u=0,d=0,f=1;if((e=c)%1==0)s=[e*r,1];else if(e<1e-19)s=[r,0x8ac7230489e80000];else if(e>0x8ac7230489e80000)s=[0x8ac7230489e80000*r,1];else{do if(c=1/(c-Math.floor(c)),o=f,f=f*Math.floor(c)+l,l=o,u=d,d=Math.floor(e*f+.5),d>=i||f>=a)return[r*u,l];while(Math.abs(e-d/f)>=1e-13&&c!==Math.floor(c));s=[r*d,f]}return s}(n,1/0,t.den_max);o+=e[0],s+=e[1],t.integer&&o===`0`&&(o=``,s=``,T=w)}else e||t.integer||(T=!0,o=`0`,s=`1`);!t.integer||T||Math.trunc(e)||(l=`0`)}if(t.date){d=Math.trunc(e);let r=bn*(e-d);if(f=Math.floor(r),b=r-f,Math.abs(b)<1e-6?b=0:b>.9999&&(b=0,f+=1,f===bn&&(f=0,d+=1)),b){let e=512&t.date||256&t.date||128&t.date;(e===512&&b>.9995||e===256&&b>.995||e===128&&b>.95||!e&&b>=.5)&&(f++,b=0)}if(d||t.date_system){let r=Ut(e,t.date_system,n.leap1900);p=r[0],m=r[1],h=r[2]}if(f){let e=f<0?bn+f:f;y=Math.floor(e)%60,v=Math.floor(e/60)%60,_=Math.floor(e/60/60)%60}if(g=(6+d)%7,t.date_eval&&(E=e,D=d+f/bn,n.dateSpanLarge?E<-694324||D>=35830291:E<0||D>=2958466)){if(n.dateErrorThrows)throw Error(`Date out of bounds`);return n.dateErrorNumber?hn(e<0?[x.negative]:[],0,e,x).join(``):n.overflow}}var E,D;let O=gn(`?`,n.nbsp),k=e=>n.digitChar?n.digitChar+e:O,A=e=>n.digitChar&&e===`?`?n.digitChar+`0`:gn(e,n.nbsp);u<0?a=`-`:t.exp_plus&&(a=`+`);let j=[],M=(e,t,n,r)=>{let i=!r&&e.length>t.length?n.length+e.length-t.length:n.length;e.length<t.length&&(r+=e.length-t.length);for(let t=0;t<i;t++)j.push(e[t+r]||A(n[t]));return i},N=!1,P=-1;for(let e=0,n=t.tokens.length;e<n;e++){let n=t.tokens[e];if(n.date&&/^(?:year|b-year|month|weekday|day)/.test(n.type||``)){P=e;break}}let F={int:0,frac:0,man:0,num:0,den:0};for(let u=0,w=t.tokens.length;u<w;u++){let w=t.tokens[u],E=w.type,D=w.num?w.num.length:0;if(E===`string`)w.rule?w.rule===`num`?T?j.push(w.value.replace(/ /g,O)):(t.num_min>0||t.den_min>0)&&j.push(w.value.replace(/./g,e=>k(e))):w.rule===`num+int`?T&&l?j.push(w.value.replace(/ /g,O)):t.den_min>0&&(l||t.num_min)&&j.push(w.value.replace(/./g,e=>k(e))):w.rule===`den`&&(T?j.push(w.value.replace(/ /g,O)):(t.den_min>0||t.den_min>0)&&j.push(w.value.replace(/./g,e=>k(e)))):j.push(w.value.replace(/ /g,O));else if(E===`space`)w.rule===`num+int`?(T||t.num_min||t.den_min)&&(l||t.num_min)&&j.push(O):j.push(O);else if(E===`error`)j.push(n.invalid);else if(E===`point`)j.push(t.date?w.value:x.decimal);else if(E===`general`)hn(j,0,e,x);else if(E===`exp`)j.push(x.exponent);else if(E===`minus`)w.volatile&&t.date||w.volatile&&(e>=0||typeof e!=`number`)||(w.volatile&&!t.fractions&&(t.integer||t.dec_fractions)?(e<0&&l&&l!==`0`||c)&&j.push(x.negative):j.push(x.negative));else if(E===`plus`)j.push(x.positive);else if(E===`text`)j.push(e);else if(E===`fill`)n.fillChar&&j.push(n.fillChar,w.value);else if(E===`skip`)n.skipChar?j.push(n.skipChar,w.value):j.push(n.nbsp?`\xA0`:` `);else if(E===`div`)T?j.push(`/`):t.num_min>0||t.den_min>0?j.push(k(`/`)):j.push(gn(`#`,n.nbsp));else if(E===`int`)if(t.int_pattern.length===1){let e=t.int_p,n=``;for(let r=Math.max(t.int_min,l.length);r>0;r--){let i=l.charAt(l.length-r),a=i?``:e.charAt(e.length-r)||e[0],o=``;if(t.grouping){let e=r-1-S;e>=0&&!(e%C)&&(o=i||a===`0`?x.group:k(x.group))}n+=(i||A(a))+o}j.push(n)}else F.int+=M(l,t.int_p,w.num,F.int);else if(E===`frac`){let e=F.frac;for(let t=0;t<D;t++)j.push(c[t+e]||A(w.num[t]));F.frac+=D}else if(E===`man`)F[E]||F.man||j.push(a),F.man+=M(i,t.man_p,w.num,F.man);else if(E===`num`)F.num+=M(o,t.num_p,w.num,F.num);else if(E===`den`){let e=F.den;for(let t=0;t<D;t++){let n=s[t+e];if(!n){let e=w.num[t];`123456789`.includes(e)||N&&e===`0`?(N=!0,n=k(e)):n=N||t!==D-1||e!==`0`||s?A(e):`1`}j.push(n)}F.den+=D}else if(E===`year`)p<0&&j.push(x.negative),j.push(String(Math.abs(p)).padStart(4,`0`));else if(E===`year-short`){let e=p%100;j.push(e<10?`0`:``,e)}else if(E===`month`)j.push(w.pad&&m<10?`0`:``,m);else if(E===`monthname-single`)t.date_system===6?j.push(x.mmmm6[m-1].charAt(0)):j.push(x.mmmm[m-1].charAt(0));else if(E===`monthname-short`)t.date_system===6?j.push(x.mmm6[m-1]):j.push(x.mmm[m-1]);else if(E===`monthname`)t.date_system===6?j.push(x.mmmm6[m-1]):j.push(x.mmmm[m-1]);else if(w.type===`weekday-short`)j.push(x.ddd[g]);else if(E===`weekday`)j.push(x.dddd[g]);else if(E===`day`)j.push(w.pad&&h<10?`0`:``,h);else if(E===`hour`){let e=_%t.clock||(t.clock<24?t.clock:0);j.push(w.pad&&e<10?`0`:``,e)}else if(E===`min`)j.push(w.pad&&v<10?`0`:``,v);else if(E===`sec`)j.push(w.pad&&y<10?`0`:``,y);else if(E===`subsec`){j.push(x.decimal);let e=b.toFixed(t.sec_decimals);j.push(e.slice(2,2+w.decimals))}else if(E===`ampm`){let e=_<12?0:1;w.short&&!r?j.push(`AP`[e]):j.push(x.ampm[e])}else if(E===`hour-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?12:24*d+Math.floor(Math.abs(f)/3600);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`min-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?720:1440*d+Math.floor(Math.abs(f)/60);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`sec-elap`){e<0&&j.push(x.negative);let t=P!==-1&&u>P?43200:d*bn+Math.abs(f);j.push(String(Math.abs(t)).padStart(w.pad,`0`))}else if(E===`b-year`)j.push(p+543);else if(E===`b-year-short`){let e=(p+543)%100;j.push(e<10?`0`:``,e)}}return j.join(``)}var Sn=ln([{type:qe,value:`@`,raw:`@`}]);function Cn(e,t){for(let n=0;n<3;n++){let r=t[n];if(r){let t;if(r.condition){let n=r.condition[0],i=r.condition[1];n===`=`?t=e===i:n===`>`?t=e>i:n===`<`?t=e<i:n===`>=`?t=e>=i:n===`<=`?t=e<=i:n===`<>`&&(t=e!==i)}else t=!0;if(t)return r}}}function wn(e){return!!(e[0]?.percent||e[1]?.percent||e[2]?.percent||e[3]?.percent)}function Tn(e){return!!(e[0]?.date||e[1]?.date||e[2]?.date||e[3]?.date)}function En(e){let[t,n,r,i]=e;return!(t&&!t.generated||n&&!n.generated||r&&!r.generated||!i?.text||i.generated)}var Dn={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},On=[[`DMY`,1],[`DM`,2],[`MY`,3],[`MDY`,4],[`MD`,5],[`hmsa`,6],[`hma`,7],[`hms`,8],[`hm`,9]],kn=[[Re,/^General/i,0],[ze,/^#/,0],[Be,/^0/,0],[Ve,/^\?/,0],[He,/^\//,0],[Ke,/^;/,0],[qe,/^@/,0],[Je,/^\+/,0],[Ye,/^-/,0],[Xe,/^\./,0],[Ze,/^ /,0],[Qe,/^%/,0],[$e,/^[1-9]/,0],[et,/^(?:B[12])/i,0],[tt,/^B$/,0],[nt,/^(?:[hH]+|[mM]+|[sS]+|[yY]+|[bB]+|[dD]+|[gG]+|[aA]{3,}|e+)/,0],[rt,/^(?:\[(h+|m+|s+)\])/i,1],[it,/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+(?:[eE][+-]?\d+)?)?\]/,[1,2]],[at,/^\[(DBNum[0-4]?\d)\]/i,1],[ot,/^\[(NatNum[0-4]?\d)\]/i,1],[st,/^\[\$([^\]]+)\]/,1],[ct,/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*\d+)\]/i,1],[lt,/^\[([^\]]+)\]/,1],[ut,/^(?:AM\/PM|am\/pm|A\/P)/,0],[dt,/^\\(.)/,1],[ft,/^"([^"]*?)"/,1],[pt,/^_(\\.|.)/,1],[`exp`,/^[Ee]([+-])/,1],[mt,/^\*(\\.|.)/,1],[ht,/^[()]/,0],[tt,/^[EÈÉÊËèéêëĒēĔĕĖėĘęĚěȄȅȆȇȨȩNnÑñŃńŅņŇňǸǹ["*/\\_]/,0],[gt,/^./,0]],An=e=>{let t=(e||`\0`).charCodeAt(0);return t===63||t===35||t>=48&&t<=57};function jn(e){let t=0,n=[],r=[];for(;t<e.length;){let i=e.slice(t),a=0,o=/^(,+)(.)?/.exec(i);if(o){let i=o[1];a=i.length;let s=e[t-1]||``,c=!1,l=!1;An(s)?(c=!0,l=!0):s===`.`&&(l=!0);let u=o[2]||``;if(!c||u&&u!==`;`||(c=!1),l&&An(u)&&(l=!1),c&&!l)n.push({type:Ue,value:`,`,raw:i});else if(!c&&l)n.push({type:We,value:`,`,raw:i});else if(c&&l){let e={type:We,value:`,`,raw:i};n.push(e),r.push(e)}else n.push({type:Ge,value:`,`,raw:i})}else{let e;for(let[t,r,o]of kn){let s=r.exec(i);if(s){e={type:t,value:Array.isArray(o)?o.map(e=>s[e]):s[o||0],raw:s[0]},n.push(e),a=s[0].length;break}}r.length&&e.raw===`;`&&(r.length=0),r.length&&e.raw===`.`&&(r.length=0),r.length&&An(e.raw)&&(r.forEach(e=>e.type=Ue),r.length=0)}if(!a){let e=i[0];a=1,n.push({type:gt,value:e,raw:e})}t+=a}return n}var Mn=e=>{let[t,n]=e.condition??[];n<0&&(t===`<`||t===`<=`||t===`=`)||n===0&&t===`<`||e.tokens.unshift({type:`minus`,volatile:!0})},Nn=(e,t=null)=>{let n={};for(let t in e)Array.isArray(e[t])?n[t]=[...e[t]]:n[t]=e[t];return t&&n.tokens.unshift(t),n.generated=!0,n},Pn=Object.create({});function Fn(e,t=!1){e||=`General`;let n=Pn[e];if(!n)try{n=function(e){let t=[],n,r=!1,i=null,a=0,o=!1,s=0,c=0,l=jn(e);do{if(o=ln(l),(o.date||o.general)&&(o.int_pattern.length||o.frac_pattern.length||o.scale!==1||o.text))throw Error(`Illegal format`);if(o.condition&&(c++,r=!0),o.text){if(i)throw Error(`Unexpected partition`);i=o}o.locale&&(n=Et(o.locale)),t.push(o),a=+(l[o.tokensUsed]?.type===`break`),l=l.slice(o.tokensUsed+a),s++}while(a&&s<4&&c<3);if(a)throw Error(`Unexpected partition`);if(c>2)throw Error(`Unexpected condition`);let u=t[3];if(u&&(u.int_pattern.length||u.frac_pattern.length||u.date))throw Error(`Unexpected partition`);if(r){t[0].condition||(t[0].condition=[`>`,0]);let e=t.length;if(e===1&&(t[1]=ln(jn(`General`)),t[1].generated=!0),e<3){let e=t[0],n=t[1];if(Mn(e),n.condition)Mn(n);else{let t=e.condition;(t[0]===`=`||t[1]>=0&&(t[0]===`>`||t[0]===`>=`))&&n.tokens.unshift({type:`minus`,volatile:!0})}}else t.forEach(Mn)}else{if(t.length<4&&i)for(let e=0,n=t.length;e<n;e++)t[e]===i&&t.splice(e,1);if(t.length<1&&i&&(t[0]=ln(jn(`General`)),t[0].generated=!0),t.length<2&&t.push(Nn(t[0],{type:`minus`,volatile:!0})),t.length<3&&t.push(Nn(t[0])),t.length<4)if(i)t.push(i);else{let e=ln(jn(`@`));e.generated=!0,t.push(e)}t[0].condition=[`>`,0],t[1].condition=[`<`,0],t[2].condition=null}return{pattern:e,partitions:t,locale:n}}(e),Pn[e]=n}catch(r){if(t)throw r;let i={tokens:[{type:`error`}],error:r.message};n={pattern:e,partitions:[i,i,i,i],error:r.message,locale:null}}return n}function In(e,t,n={}){let r=Object.assign({},zt,n),i=Fn(e,r.throws);return function(e,t,n){let r=t.partitions,i=Dt(t.locale||n.locale),a=r[3]?r[3]:Sn;if(typeof e==`boolean`&&(e=(i||kt).bool[+!e]),e==null)return``;let o=typeof e==`bigint`;if(typeof e!=`number`&&!o)return xn(e,a,n,i);if(!o&&!isFinite(e)){let t=i||kt;return isNaN(e)?t.nan:(e<0?t.negative:``)+t.infinity}let s=Cn(e,r);return s?xn(e,s,n,i):n.overflow}(Kt(t,r)??t,i,r)}function Ln(e,t,n){let r=Object.assign({},zt,n),i=Fn(e,r.throws);return function(e,t,n){let r=t.partitions,i=r[3],a=null;return typeof e!=`number`&&typeof e!=`bigint`||!isFinite(e)||(i=Cn(e,r)),i?.color&&(a=i.color),a&&typeof a==`number`&&n.indexColors&&(a=_t[a-1]||`#000`),a}(Kt(t,r)??t,i,r)}function Rn(e,t={}){let n=Fn(e,!1);return n.info||=function(e,t=null){let[n,r]=e,i=n.frac_max,a={type:`general`,isDate:Tn(e),isText:En(e),isPercent:wn(e),maxDecimals:n.general?9:i,scale:n.scale??1,color:0,parentheses:0,grouped:+!!n.grouping},o=!a.isDate&&!a.isText&&!n.error&&n.tokens.some(e=>e.type===`string`&&(t?e.value===t:yt.test(e.value))),s=`G`,c=i>=0?Math.min(15,i):``,l=``,u=``;if(r?.color&&(u=`-`,a.color=1),n.parens&&(l=`()`,a.parentheses=1),o)s=`C`,a.type=`currency`;else if(n.error)a.type=`error`,a.maxDecimals=0;else if(a.isDate){let e=0,t=0,r=``;n.tokens.forEach(n=>{let i=n.type;/^(b-)?year/.test(i)?(r+=`Y`,t++):i.startsWith(`month`)?(r+=`M`,t++):/^(week)?day/.test(i)?(r+=`D`,t++):i!==`hour`&&i!==`min`&&i!==`sec`&&i!==`ampm`||(r+=i[0],e++)}),a.type=`date`,t&&e?a.type=`datetime`:!t&&e&&(a.type=`time`);let i=On.find(e=>r.startsWith(e[0]));s=i?`D`:`G`,c=i?i[1]:``}else a.isText?(s=`G`,a.type=`text`,c=``,a.maxDecimals=0):n.general?(s=`G`,a.type=`general`,c=``):n.fractions?(s=`G`,a.type=`fraction`,c=``):n.exponential?(s=`S`,a.type=`scientific`):a.isPercent?(s=`P`,a.type=`percent`):n.grouping?(s=`,`,a.type=`grouped`):(n.int_max||i)&&(s=`F`,a.type=`number`);return a.code=s+c+u+l,a.level=Dn[a.type],Object.freeze(a)}(n.partitions,t?.currency),n.info}Object.freeze({AMPM:ut,BREAK:Ke,CALENDAR:et,CHAR:gt,COLOR:ct,COMMA:Ge,CONDITION:it,DATETIME:nt,DBNUM:at,DIGIT:$e,DURATION:rt,ERROR:tt,ESCAPED:dt,EXP:`exp`,FILL:mt,GENERAL:Re,GROUP:Ue,HASH:ze,LOCALE:st,MINUS:Ye,MODIFIER:lt,NATNUM:ot,PAREN:ht,PERCENT:Qe,PLUS:Je,POINT:Xe,QMARK:Ve,SCALE:We,SKIP:pt,SLASH:He,SPACE:Ze,STRING:ft,TEXT:qe,ZERO:Be});var zn=Object.freeze({0:`General`,1:`0`,2:`0.00`,3:`#,##0`,4:`#,##0.00`,5:`$#,##0_);($#,##0)`,6:`$#,##0_);[Red]($#,##0)`,7:`$#,##0.00_);($#,##0.00)`,8:`$#,##0.00_);[Red]($#,##0.00)`,9:`0%`,10:`0.00%`,11:`0.00E+00`,12:`# ?/?`,13:`# ??/??`,14:`m/d/yy`,15:`d-mmm-yy`,16:`d-mmm`,17:`mmm-yy`,18:`h:mm AM/PM`,19:`h:mm:ss AM/PM`,20:`h:mm`,21:`h:mm:ss`,22:`m/d/yy h:mm`,23:`General`,24:`General`,25:`General`,26:`General`,27:`m/d/yyyy`,28:`m/d/yyyy`,29:`m/d/yyyy`,30:`m/d/yyyy`,31:`m/d/yyyy`,32:`h:mm:ss`,33:`h:mm:ss`,34:`h:mm:ss`,35:`h:mm:ss`,36:`m/d/yyyy`,37:`#,##0_);(#,##0)`,38:`#,##0_);[Red](#,##0)`,39:`#,##0.00_);(#,##0.00)`,40:`#,##0.00_);[Red](#,##0.00)`,41:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`,42:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`,43:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,44:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`,45:`mm:ss`,46:`[h]:mm:ss`,47:`mmss.0`,48:`##0.0E+0`,49:`@`,50:`m/d/yyyy`,51:`m/d/yyyy`,52:`m/d/yyyy`,53:`m/d/yyyy`,54:`m/d/yyyy`,55:`m/d/yyyy`,56:`m/d/yyyy`,57:`m/d/yyyy`,58:`m/d/yyyy`,59:`00000`,60:`0.00`,61:`#,##0`,62:`#,##0.00`,63:`$#,##0_);($#,##0)`,64:`$#,##0_);[Red]($#,##0)`,65:`$#,##0.00_);($#,##0.00)`,66:`$#,##0.00_);[Red]($#,##0.00)`,67:`0%`,68:`0.00%`,69:`# ?/?`,70:`# ??/??`,71:`m/d/yyyy`,72:`m/d/yyyy`,73:`d-mmm-yy`,74:`d-mmm`,75:`mmm-yy`,76:`h:mm`,77:`h:mm:ss`,78:`m/d/yyyy h:mm`,79:`mm:ss`,80:`[h]:mm:ss`,81:`mm:ss.0`});function Bn(e){return zn[e]}function Vn(e){return typeof e==`number`?zn[e]??`General`:e}var Hn=new Map;for(let e in zn){let t=Number(e),n=zn[t];Hn.has(n)||Hn.set(n,t)}var Un={AD:`EUR`,AT:`EUR`,BE:`EUR`,CY:`EUR`,DE:`EUR`,EE:`EUR`,ES:`EUR`,FI:`EUR`,FR:`EUR`,GR:`EUR`,HR:`EUR`,IE:`EUR`,IT:`EUR`,LT:`EUR`,LU:`EUR`,LV:`EUR`,MC:`EUR`,ME:`EUR`,MT:`EUR`,NL:`EUR`,PT:`EUR`,SI:`EUR`,SK:`EUR`,SM:`EUR`,VA:`EUR`,XK:`EUR`,AL:`ALL`,BA:`BAM`,BG:`BGN`,BY:`BYN`,CH:`CHF`,CZ:`CZK`,DK:`DKK`,FO:`DKK`,GB:`GBP`,GE:`GEL`,GG:`GBP`,GI:`GIP`,IM:`GBP`,IS:`ISK`,JE:`GBP`,LI:`CHF`,MD:`MDL`,MK:`MKD`,NO:`NOK`,PL:`PLN`,RO:`RON`,RS:`RSD`,RU:`RUB`,SE:`SEK`,SJ:`NOK`,TR:`TRY`,UA:`UAH`,AG:`XCD`,AI:`XCD`,AR:`ARS`,AW:`AWG`,BB:`BBD`,BL:`EUR`,BM:`BMD`,BO:`BOB`,BQ:`USD`,BR:`BRL`,BS:`BSD`,BZ:`BZD`,CA:`CAD`,CL:`CLP`,CO:`COP`,CR:`CRC`,CU:`CUP`,CW:`XCG`,DM:`XCD`,DO:`DOP`,EC:`USD`,FK:`FKP`,GD:`XCD`,GF:`EUR`,GL:`DKK`,GP:`EUR`,GT:`GTQ`,GY:`GYD`,HN:`HNL`,HT:`HTG`,JM:`JMD`,KN:`XCD`,KY:`KYD`,LC:`XCD`,MF:`EUR`,MQ:`EUR`,MS:`XCD`,MX:`MXN`,NI:`NIO`,PA:`PAB`,PE:`PEN`,PM:`EUR`,PR:`USD`,PY:`PYG`,SR:`SRD`,SV:`USD`,SX:`XCG`,TC:`USD`,TT:`TTD`,US:`USD`,UY:`UYU`,VC:`XCD`,VE:`VES`,VG:`USD`,VI:`USD`,AE:`AED`,AF:`AFN`,AM:`AMD`,AZ:`AZN`,BD:`BDT`,BH:`BHD`,BN:`BND`,BT:`BTN`,CC:`AUD`,CN:`CNY`,CX:`AUD`,HK:`HKD`,ID:`IDR`,IL:`ILS`,IN:`INR`,IQ:`IQD`,IR:`IRR`,JO:`JOD`,JP:`JPY`,KG:`KGS`,KH:`KHR`,KP:`KPW`,KR:`KRW`,KW:`KWD`,KZ:`KZT`,LA:`LAK`,LB:`LBP`,LK:`LKR`,MM:`MMK`,MN:`MNT`,MO:`MOP`,MV:`MVR`,MY:`MYR`,NP:`NPR`,OM:`OMR`,PH:`PHP`,PK:`PKR`,PS:`ILS`,QA:`QAR`,SA:`SAR`,SG:`SGD`,SY:`SYP`,TH:`THB`,TJ:`TJS`,TL:`USD`,TM:`TMT`,TW:`TWD`,UZ:`UZS`,VN:`VND`,YE:`YER`,AO:`AOA`,BF:`XOF`,BI:`BIF`,BJ:`XOF`,BW:`BWP`,CD:`CDF`,CF:`XAF`,CG:`XAF`,CI:`XOF`,CM:`XAF`,CV:`CVE`,DJ:`DJF`,DZ:`DZD`,EG:`EGP`,EH:`MAD`,ER:`ERN`,ET:`ETB`,GA:`XAF`,GH:`GHS`,GM:`GMD`,GN:`GNF`,GQ:`XAF`,GW:`XOF`,KE:`KES`,KM:`KMF`,LR:`LRD`,LS:`LSL`,LY:`LYD`,MA:`MAD`,MG:`MGA`,ML:`XOF`,MR:`MRU`,MU:`MUR`,MW:`MWK`,MZ:`MZN`,NA:`NAD`,NE:`XOF`,NG:`NGN`,RE:`EUR`,RW:`RWF`,SC:`SCR`,SD:`SDG`,SH:`SHP`,SL:`SLE`,SN:`XOF`,SO:`SOS`,SS:`SSP`,ST:`STN`,SZ:`SZL`,TD:`XAF`,TG:`XOF`,TN:`TND`,TZ:`TZS`,UG:`UGX`,YT:`EUR`,ZA:`ZAR`,ZM:`ZMW`,ZW:`ZWG`,AS:`USD`,AU:`AUD`,CK:`NZD`,FJ:`FJD`,FM:`USD`,GU:`USD`,KI:`AUD`,MH:`USD`,MP:`USD`,NC:`XPF`,NF:`AUD`,NR:`AUD`,NU:`NZD`,NZ:`NZD`,PF:`XPF`,PG:`PGK`,PW:`USD`,SB:`SBD`,TK:`NZD`,TO:`TOP`,TV:`AUD`,VU:`VUV`,WF:`XPF`,WS:`WST`},Wn=new Set([`ar`,`he`,`fa`,`ur`,`ps`,`sd`,`ug`,`dv`,`ku`]),Gn={US:{firstDay:0,weekend:[6,0]},CA:{firstDay:0,weekend:[6,0]},GB:{firstDay:1,weekend:[6,0]},DE:{firstDay:1,weekend:[6,0]},FR:{firstDay:1,weekend:[6,0]},ES:{firstDay:1,weekend:[6,0]},IT:{firstDay:1,weekend:[6,0]},BR:{firstDay:0,weekend:[6,0]},MX:{firstDay:0,weekend:[6,0]},JP:{firstDay:0,weekend:[6,0]},CN:{firstDay:1,weekend:[6,0]},IN:{firstDay:0,weekend:[6,0]},AE:{firstDay:6,weekend:[5,6]},SA:{firstDay:0,weekend:[5,6]}},Kn=new Set([`hi-IN`,`en-IN`,`bn-IN`,`gu-IN`,`mr-IN`,`ta-IN`,`te-IN`,`kn-IN`,`ml-IN`,`pa-IN`]);function qn(e,t){let n=new Intl.DateTimeFormat(e,t),r=new Date(Date.UTC(2001,10,21,13,5,9)),i=n.formatToParts(r),a=n.resolvedOptions(),o=typeof a.hour12==`boolean`?a.hour12:a.hourCycle?/h1[12]/.test(a.hourCycle):i.some(e=>e.type===`dayPeriod`),s=(e,t)=>{switch(e){case`year`:return t.length>=4?`yyyy`:`yy`;case`month`:return/^\d+$/.test(t)?t.length===2?`MM`:`M`:t.length<=3?`MMM`:`MMMM`;case`day`:return t.length===2?`dd`:`d`;case`weekday`:return t.length<=3?`EEE`:`EEEE`;case`hour`:{let e=t.length===2;return o?e?`hh`:`h`:e?`HH`:`H`}case`minute`:return t.length===2?`mm`:`m`;case`second`:return t.length===2?`ss`:`s`;case`dayPeriod`:return`a`;case`era`:return t.length<=3?`G`:`GGGG`;case`timeZoneName`:return t.length>3?`zzzz`:`z`;default:return``}},c=``;for(let e of i)c+=e.type===`literal`?e.value:s(e.type,e.value);return c}function Jn(e,t){let n=new Intl.DateTimeFormat(e,{month:t});return Array.from({length:12},(e,t)=>n.format(new Date(2020,t,1)))}function Yn(e,t){let n=new Intl.DateTimeFormat(e,{weekday:t});return Array.from({length:7},(e,t)=>n.format(new Date(2020,7,2+t)))}function Xn(e,t){let n=new Intl.NumberFormat(e).resolvedOptions().numberingSystem||`latn`,{decimal:r,group:i,minusSign:a,percentSign:o}=function(e){let t=new Intl.NumberFormat(e,{useGrouping:!0,maximumFractionDigits:1}).formatToParts(12345.6);return{decimal:t.find(e=>e.type===`decimal`)?.value??`.`,group:t.find(e=>e.type===`group`)?.value??`,`,minusSign:new Intl.NumberFormat(e).formatToParts(-1).find(e=>e.type===`minusSign`)?.value??`-`,percentSign:new Intl.NumberFormat(e,{style:`percent`,maximumFractionDigits:0}).formatToParts(50).find(e=>e.type===`percentSign`)?.value??`%`}}(e),s=Kn.has(e)?[3,2]:i===``?[]:function(e,t){let n=new Intl.NumberFormat(e,{useGrouping:!0}).format(1234567890123),r=[];for(let e=0;e<n.length;e++)n[e]===t&&r.push(e);if(r.length===0)return[];let i=r.map(e=>n.length-1-e).sort((e,t)=>e-t),a=[];for(let e=0;e<i.length;e++){let t=e===0?-1:i[e-1];a.push(i[e]-t-1)}if(a.every(e=>e===a[0]))return[a[0]];let o=a[a.length-1];return[a[a.length-2],o]}(e,i),{code:c,symbol:l,position:u,spacing:d}=function(e){let t;try{t=new Intl.Locale(e).maximize().region??``}catch{t=``}let n=Un[t]??`USD`,r=new Intl.NumberFormat(e,{style:`currency`,currency:n}).formatToParts(12),i=r.map(e=>e.type),a=i.indexOf(`currency`),o=[i.indexOf(`integer`),i.indexOf(`nan`)].filter(e=>e!==-1),s=o.length>0?Math.min(...o):-1,c=a!==-1&&s!==-1&&a<s,l=r.some(e=>e.type===`literal`&&/\s/.test(e.value))?`space`:`tight`;return{code:n,symbol:r[a]?.value??n,position:c?`before`:`after`,spacing:l}}(e),f=qn(e,{dateStyle:`short`}),p=qn(e,{dateStyle:`medium`}),m=qn(e,{dateStyle:`long`}),h=qn(e,{timeStyle:`short`}),g=qn(e,{timeStyle:`medium`}),{firstDay:_,weekend:v}=function(e){try{let t=new Intl.Locale(e);if(t.weekInfo)return{firstDay:t.weekInfo.firstDay,weekend:[t.weekInfo.weekend[0],t.weekInfo.weekend[t.weekInfo.weekend.length-1]]}}catch{}return Gn[function(e){let t=e.split(/[-_]/);return t.length>=2?t[1].toUpperCase():``}(e)]??{firstDay:1,weekend:[6,0]}}(e),{am:y,pm:b}=function(e){return{am:new Intl.DateTimeFormat(e,{hour:`numeric`,hour12:!0}).formatToParts(new Date(Date.UTC(2e3,0,1,9))).find(e=>e.type===`dayPeriod`)?.value,pm:new Intl.DateTimeFormat(e,{hour:`numeric`,hour12:!0}).formatToParts(new Date(Date.UTC(2e3,0,1,18))).find(e=>e.type===`dayPeriod`)?.value}}(e),x=Jn(e,`long`),S=Jn(e,`short`),C=Yn(e,`long`),w=Yn(e,`short`),T=function(e){return!!new Intl.DateTimeFormat(e,{hour:`numeric`}).resolvedOptions().hour12}(e),{list:E,csv:D}=function(e){let t=e===`,`?`;`:`,`;return{list:t,csv:t}}(r),O=function(e){let t=function(e){return e.split(/[-_]/)[0]}(e);return Wn.has(t)}(e),k={tag:e,numberingSystem:n,decimal:r,group:i,grouping:s,minusSign:a,percentSign:o,permilleSign:`‰`,currencyCode:c,currencySymbol:l,currencyDisplay:`symbol`,currencyPosition:u,currencySpacing:d,date:{calendar:new Intl.DateTimeFormat(e).resolvedOptions().calendar||`gregory`,short:f,medium:p,long:m,timeShort:h,timeLong:g,am:y,pm:b,firstDay:_,weekend:v,monthsWide:x,monthsAbbr:S,weekdaysWide:C,weekdaysAbbr:w,hour12:T},listSeparator:E,csvDelimiter:D,rtl:O,collator:{sensitivity:`accent`,numeric:!1}};return t?function(e,t){let{date:n,...r}=t;return{...e,...r,tag:e.tag,date:n?{...e.date,...n}:e.date}}(k,t):k}function Zn(e){return typeof e!=`object`||!e?JSON.stringify(e)??`null`:Array.isArray(e)?`[`+e.map(Zn).join(`,`)+`]`:`{`+Object.keys(e).sort().map(t=>JSON.stringify(t)+`:`+Zn(e[t])).join(`,`)+`}`}var Qn=new Map;function $n(e,t){let n=t?e+`\0`+Zn(t):e,r=Qn.get(n);return r||(r=Xn(e,t),Qn.set(n,r)),r}var er=1462;function tr(e){let t=(6+Math.floor(e))%7;return t===0?7:t}function nr(e,t,n){let r=function(e,t,n){let r=Math.floor((14-t)/12),i=e+4800-r,a=t+12*r-3;return n+Math.floor((153*a+2)/5)+365*i+Math.floor(i/4)-Math.floor(i/100)+Math.floor(i/400)-32045}(e,t,1)-2415019;return(r<=60?r-1:r)+n-1}function rr(e,t,n,r=0,i=0,a=0,o=0){let s=3600*r+60*i+a+o/1e3,c=Math.floor(s/86400);return nr(e,t,n)+c+(s-86400*c)/86400}function ir(e){let t=86400*(e-Math.floor(e)),n=t-Math.floor(t);return(n>.9999||n<1e-6)&&(n=0),Math.round(1e3*n)}function ar(e,t=!1){return e instanceof Date||Object.prototype.toString.call(e)===`[object Date]`?!isNaN(e.getTime()):!t&&typeof e==`number`&&!(e<0||e>2958465)}function or(e,t,n){return n===`m`||n===`month`||n===`months`?(r=e,12*((i=t).getUTCFullYear()-r.getUTCFullYear())+(i.getUTCMonth()-r.getUTCMonth())+(i.getUTCDate()-r.getUTCDate()<0?-1:0)):n===`y`||n===`year`||n===`years`?function(e,t){return Math.abs(t.getFullYear()-e.getFullYear())}(e,t):n===`d`||n===`day`||n===`days`?function(e,t){return Math.floor((Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())-Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))/864e5)}(e,t):void console.warn(`invalid unit`+n);var r,i}var sr=`d`,cr=`m`,lr=`y`;function ur(e,t,n){if(n===`m`||n===`month`||n===`months`){let n=new Date(e.getTime());return new Date(n.setMonth(n.getMonth()+t))}if(n===`y`||n===`year`||n===`years`){let n=new Date(e.getTime());return n.setFullYear(n.getFullYear()+t),n}if(n===`d`||n===`day`||n===`days`){let n=new Date(e.getTime());return n.setDate(n.getDate()+t),n}if(n===`hour`||n===`hours`||n===`h`){let n=new Date(e.getTime());return n.setHours(n.getHours()+t),n}return console.warn(`invalid unit`+n),null}function dr(e,t=!1,n){if(typeof e!=`number`||isNaN(e)||e<0)return null;let r=t?e+er:e;if(r>2958465)return null;let[i,a,o,s,c,l]=qt(r,{leap1900:!0}),u=ir(r),d=tr(r),f=!0===n?fr:n||void 0;return f?(f.year=i,f.month=a,f.day=o,f.hour=s,f.minute=c,f.second=l,f.millis=u,f.dow=d,f.serial=e,f):{year:i,month:a,day:o,hour:s,minute:c,second:l,millis:u,dow:d,serial:e}}var fr={year:0,month:0,day:0,hour:0,minute:0,second:0,millis:0,dow:0,serial:0};function pr(e,t=!1){if(!e)return null;let n=rr(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millis);return t?n-er:n}function mr(e,t=!1){if(typeof e!=`number`||isNaN(e)||e<0)return null;let n=t?e+er:e;if(n>2958465)return null;let[r,i,a,o,s,c]=qt(n,{leap1900:!0});return new Date(r,i-1,a,o,s,c,ir(n))}function hr(e,t=!1){if(isNaN(e))return null;let n=rr(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());return t?n-er:n}var gr=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),_r=e=>e.map(gr).join(`|`),vr=/MMMM|MMM|MM|M|dd|d|yyyy|yyy|EEEE|EEE|[^MdyE]+/g,yr=``;function br(e,t,n){let r=t.regex.exec(e);if(!r)return null;let i={};for(let e=0;e<t.fields.length;e++){let a=r[e+1];switch(t.fields[e]){case`monthName`:{let e=n.get(a.toLowerCase());if(!e)return null;i.month=e;break}case`monthNum`:{let e=parseInt(a,10);if(e<1||e>12)return null;i.month=e;break}case`day`:{let e=parseInt(a,10);if(e<1||e>31)return null;i.day=e;break}case`year`:i.year=parseInt(a,10)}}return i.month===void 0?null:i}var xr=new Map;function Sr(e){let t=xr.get(e);if(t)return t;let{date:n}=$n(e),r=new Map,i=[];for(let e=0;e<12;e++){let t=n.monthsWide[e],a=[n.monthsAbbr[e],t];for(let e=3;e<t.length;e++)a.push(t.slice(0,e));for(let t of a){let n=t.toLowerCase();r.has(n)||(r.set(n,e+1),i.push(t))}}i.sort((e,t)=>t.length-e.length);let a={mmm:i,mmmm:i,ddd:n.weekdaysAbbr,dddd:n.weekdaysWide},o=function(e){let t=e,n=[];for(let e=0;e<t.length;e++){let r=t[e][0],i=!r.startsWith(`~`);i||(r=r.slice(1));let a=/yyy(?!y)/.test(r),o=r.indexOf(`yyyy`)>-1,s=r.indexOf(`.`)>-1,c=r.indexOf(`-`)>-1;n.push({parseFormat:r,numberFormat:t[e][1],todaysYear:!a&&!o,windowYear:!o,excelOnly:i,containsDot:s,containsDash:c}),a&&n.push({parseFormat:r.replace(/yyy/g,`yyyy`),numberFormat:t[e][1],todaysYear:!1,windowYear:!1,excelOnly:i,containsDot:s,containsDash:c})}return n}([(s=function(e){let t=[];for(let n of e){let e=n===`d`||n===`D`?`d`:n===`M`||n===`L`?`M`:n===`y`||n===`Y`?`y`:null;e&&!t.includes(e)&&t.push(e)}let n=t.indexOf(`d`),r=t.indexOf(`M`);return{dayFirst:n!==-1&&r!==-1&&n<r,yearFirst:t[0]===`y`}}(n.short)).dayFirst?[`d-MM`,`d-mmm`]:[`MM-d`,`d-mmm`],[`MM-yyy`,`mmm-yy`],[`M-yyy`,`mmm-yy`],s.dayFirst?[`d-M-yyy`,`Short Date`]:[`M-d-yyy`,`Short Date`],[`yyyy-M-d`,`Short Date`],[`d.MMM`,`d-mmm`],[`d.MMMM`,`d-mmm`],[`d.MMM.yyy`,`d-mmm-yy`],[`d.MMMM.yyy`,`d-mmm-yy`],[`MMM.d`,`d-mmm`],[`MMMM.d`,`d-mmm`],[`MMM.yyy`,`mmm-yy`],[`MMMM.yyy`,`mmm-yy`],[`MMM dd, yyy`,`d-mmm-yy`],[`MMMM dd, yyy`,`d-mmm-yy`],[`~EEE, MMMM dd, yyy`,`[$-x-sysdate]ddd, mmmm dd, yyyy`],[`~EEEE, MMMM dd, yyy`,`[$-x-sysdate]dddd, mmmm dd, yyyy`]]);var s;let c=o.map(e=>function(e,t){let n=[],r=`^`;for(let i of e.match(vr)??[])switch(i){case`MMMM`:n.push(`monthName`),r+=`(${_r(t.mmmm)})`;break;case`MMM`:n.push(`monthName`),r+=`(${_r(t.mmm)})`;break;case`MM`:case`M`:n.push(`monthNum`),r+=`(\\d{1,2})`;break;case`dd`:case`d`:n.push(`day`),r+=`(\\d{1,2})`;break;case`yyyy`:n.push(`year`),r+=`(\\d{3,4})`;break;case`yyy`:n.push(`year`),r+=`(\\d{1,2})`;break;case`EEEE`:n.push(`weekday`),r+=`(${_r(t.dddd)})`;break;case`EEE`:n.push(`weekday`),r+=`(${_r(t.ddd)})`;break;default:r+=gr(i.replaceAll(`.`,yr))}return{regex:RegExp(r+`$`,`i`),fields:n}}(e.parseFormat,a)),l=function(e){let t=e.match(/[^a-zA-Z]/);return t?t[0]:`/`}(n.short),u=l===`/`||l===`-`?``:gr(l),d=RegExp(`[/${u}]`,`g`),f=RegExp(`[-/ ${u}]`,`g`);return t={formats:o,compiled:c,monthByName:r,weekdaysAbbr:n.weekdaysAbbr,weekdaysWide:n.weekdaysWide,numericSep:d,wildcardSep:f},xr.set(e,t),t}var Cr={year:0,month:1,day:0,hour:0,minute:0,second:0,millis:0};function wr(e,t){let n={...Cr,...t},r=e.isDate1904();return n.year=r?1904:1900,r&&t.day===void 0&&(n.day=1),n.serial=pr(n,r),n.dow=tr(r?n.serial+er:n.serial),n}var Tr=RegExp(`([0-9]{1,2})\\s*(P[M]?|A[M]?)\\s*$`,`i`),Er=RegExp(`([0-9]+)\\s*\\:$`,`i`),Dr=RegExp(`(\\s*[0-9]{1,2})\\s+(P[M]?|A[M]?)\\s*$`,`i`),Or=new Map;function kr(e,t,n=!1,r=!1){if(!t||t.trim().length<2||t.indexOf(`:`)===-1&&t.match(Dr)===null)return null;let{mid:i,last:a,lastMeridiem:o,split:s}=function(e){let t=Or.get(e);if(t)return t;let n=gr(e);return t={mid:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]+)?\\s*\\:`,`i`),last:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]*)?\\s*$`,`i`),lastMeridiem:RegExp(`(\\s*[0-9]{1,4})\\s*(${n}\\s*[0-9]*)?\\s+(P[M]?|A[M]?)\\s*$`,`i`),split:RegExp(`^(\\s*[0-9]{1,4}\\s*(?:${n}\\s*[0-9]*)?(?:\\s+[AP]M?)?)\\s+(\\S.*)$`,`i`)},Or.set(e,t),t}(e.getLocaleProfile().decimal),c=null,l=null,u=null,d=!1,f=!1,p=`h:mm AM/PM`,m=[],h=t,g=null;do{let e=h.indexOf(`:`);e===-1?(m.push(h),h=null):(m.push(h.substring(0,e+1)),h=h.substring(e+1,h.length))}while(m.length<3&&h&&h.length>0);if((h?.length??0)>0)return null;let _=(e,t,n,r=!1)=>{let i=e.match(t);if(!i||r&&(i.index!==0||i[0].length!==e.length))return null;g===null&&(g=e.substring(0,i.index));let a=parseInt(i[1]);if(i[2]&&u===null){if(n){let e=parseFloat(i[2].substring(1,i[2].length));isNaN(e)||(l=e)}let e=parseFloat(`.`+i[2].substring(1,i[2].length).trim());isNaN(e)||(c=e),u=n}return a},v=(e,t,n=!1)=>{let r=e.match(t);if(!r||r.length!==3||n&&(r.index!==0||r[0].length!==e.length))return null;g===null&&(g=e.substring(0,r.index)),d=!0;let i=parseInt(r[1]);return f=r[2].charAt(0)===`p`||r[2].charAt(0)===`P`,i};m[m.length-1].trim().length===0&&m.pop();let y=[];if(m.length>0){let e=_(m[0],Er,!1);if(e===null&&(e=v(m[0],Tr)),e===null)return null;y.push(e)}if(m.length>2){let e=_(m[1],i,!0,!0);if(e===null&&(e=v(m[0],Dr)),e===null)return null;y.push(e)}let b=``;if(m.length>1){let e=m[m.length-1],t=e=>{let t=_(e,i,!1,!0);return t===null&&(t=_(e,a,!1,!0)),t===null&&(t=v(e,Dr,!0)),t===null&&(t=(e=>{let t=e.match(o);if(!t||t.index!==0||t[0].length!==e.length)return null;if(g===null&&(g=``),d=!0,f=t[3].charAt(0)===`p`||t[3].charAt(0)===`P`,t[2]&&u===null){let e=parseFloat(`.`+t[2].substring(1).trim());isNaN(e)||(c=e),u=!1}return parseInt(t[1])})(e)),t},n=t(e);if(n===null&&r){let r=e.match(s);r&&(n=t(r[1]),n!==null&&(b=r[2]))}if(n===null)return null;y.push(n)}if((g??``).length>0&&!n)return null;if(!0===u&&(y.length===2&&y.splice(1,0,0),y[2]=l||0),y.length===2&&c!==null&&!0!==u&&y.unshift(0),d){if(y[0]>12||y[1]>=60||y[2]>=60)return null;y[0]===12?y[0]=f?12:0:f&&(y[0]+=12),c!==null&&(p=`mm:ss.0`)}else p=m.length>2?`h:mm:ss`:`h:mm`,y[0]>23&&(p=`[h]:mm:ss`),c!==null&&(p=`mm:ss.0`),y[1]>=60&&(p=`General`),y[2]>=60&&(p=`General`);return p!==`General`&&(y.length===1&&y.push(0),y.length===2&&(c===null?y.push(0):y.unshift(0))),{numberFormat:p,parsed:wr(e,{hour:y[0]??0,minute:y[1]??0,second:y[2]??0,millis:1e3*(c??0)}),leadingText:g,trailingText:b}}var Ar=(e,t,n=null,r=!1,i=!1)=>{let a=new Date(n??Date.now()).getFullYear(),{formats:o,compiled:s,monthByName:c,weekdaysAbbr:l,weekdaysWide:u,numericSep:d,wildcardSep:f}=Sr(e.getLocale()),p=t.replaceAll(/^ +| +$/g,``).replaceAll(/ +/g,` `);p=p.replaceAll(/ *([-/]) */g,`$1`);let m=p.replaceAll(f,yr),h=p.replaceAll(d,`-`),g=e.isDate1904();for(let e=0;e<o.length;e++){if(!o[e].excelOnly&&!i)continue;let t=p;o[e].containsDot?t=m:o[e].containsDash&&(t=h);let n=br(t,s[e],c);if(!n)continue;let r=n.year??a;o[e].windowYear&&n.year!==void 0&&(r=r<=29?2e3+r:1900+r),o[e].todaysYear&&(r=a);let d=n.day??1,f=r===1900&&n.month===2&&d===29,_=new Date(0);if(_.setFullYear(r,n.month-1,d),_.setHours(0,0,0,0),!f&&(_.getMonth()!==n.month-1||_.getDate()!==d))continue;let v=f?nr(1900,2,29)-(g?er:0):hr(_,g),y=+!g;if(o[e].windowYear||v>=y){if(o[e].parseFormat.indexOf(`EEE`)>-1){let e=_.getDay(),n=t.toLowerCase();if(!n.includes(l[e].toLowerCase())&&!n.includes(u[e].toLowerCase()))return null}return{asSerialDate:v,asJSDate:_,numberFormat:o[e].numberFormat}}}if(!r){let r=t.replace(jr,`$1 $2`).replace(Mr,`$1 $2`);if(r!==t)return Ar(e,r,n,!0,i)}return null},jr=/(\d)(\p{L})/gu,Mr=/(\p{L})(\d)/gu;function Nr(e){if(!e&&e!==0)return!1;let t=(e=Vn(e)).replaceAll(/\[([^)]+)\]/g,``).toLowerCase();return t=t.replaceAll(/".*"/g,``),t=t.replaceAll(/\\./g,``),t=t.replace(/[_*]./g,``),!!t.includes(`datetime`)||!t.includes(`time`)&&!!(t.includes(`d`)||t.includes(`m`)&&!t.includes(`h`)&&!t.includes(`s`)||t.includes(`y`)||t===`short date`||t===`medium date`||t===`long date`)}function Pr(e){if(!e&&e!==0)return!1;let t=(e=Vn(e)).replaceAll(/\[([^)]+)\]/g,``).toLowerCase();return t=t.replaceAll(/".*"/g,``),t=t.replaceAll(/\\./g,``),t=t.replace(/[_*]./g,``),!!t.includes(`datetime`)||!t.includes(`date`)&&!(!t.includes(`h`)&&!t.includes(`s`)&&t!==`short time`&&t!==`medium time`&&t!==`long time`)}function Fr(e,t,n=!1){let r=t,i=kr(e,t,!0,!0);if(i){let e=i.leadingText.trim(),t=i.trailingText.trim();if(e.length>0&&t.length>0)return null;r=e.length>0?e:t}let a=null;if(r.trim().length>0&&(a=Ar(e,r),!a&&n)||(!a&&i&&(i.leadingText.trim().length>0||i.trailingText.trim().length>0)&&(i=null),!a&&!i))return null;let o=0;return a&&(o+=a.asSerialDate),i&&(o+=i.parsed.serial),o}var Ir=null,Lr=()=>Ir||=Intl.DateTimeFormat().resolvedOptions().locale??`en-US`,Rr=null,zr=()=>{let e=n.DefaultLanguagePackService.getActive();if(!e)return null;let t=Rr;if(t!==null&&t.active===e)return t.locale;let r;try{let t=new Intl.Locale(e).maximize();r=t.region?`${t.language}-${t.region}`:t.baseName}catch{r=null}return Rr={active:e,locale:r},r},Br=class{constructor(e=`SheetXL Runtime`,t,n){this._description=e,this._options={isDate1904:()=>!1,...t},this._license=n}getDescription(){return this._description}getLocale(){return this._options.getLocale?.()??Lr()}getNow(){return this._options.getNow?.()??hr(new Date,this.isDate1904())}getLocaleProfile(){return $n(this.getLocale(),this._options.getLocaleOverrides?.())}isDate1904(){return this._options.isDate1904()??!1}isR1C1(){return this._options.isR1C1?.()??!1}getLocation(){return Ce()}getVersion(){try{let e=`0.7.28-beta.4`;if(e.indexOf(`.env.`)===-1)return`${e}`}catch{return`local`}return`local`}getOS(){return Te()}getUser(){return this._license?.getLicensee?.()??null}};function Vr(e,t){if(t===null)return null;let r=n.CommonUtils.isObject(t);return e!=null&&r?n.CommonUtils.mergeContentful(e,t):r?n.CommonUtils.cloneObject(t):t}function Hr(e,t,n){return e==null||typeof e==`object`&&Object.keys(e).length===0}function Ur(e,t,n,r){if(e===t)return e??null}function Wr(e){return e==null}function Gr(e,t,r=1,i){if(r===0)return{preceding:e?[...e]:[],modified:[],trailing:[]};let a=function(e,t,r=1){let i=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),a=e.slice(0,i),o=[],s=[];if(!e[i])return{preceding:a,modified:o,trailing:s};for(let n=i;n<e.length;n++)t+r<e[n].min?s.push({...e[n],min:e[n].min-r,max:e[n].max-r}):t>=e[n].min?Math.max(t,e[n].max+1-r)>e[n].min&&o.push({...e[n],max:Math.max(t-1,e[n].max-r)}):t<e[n].min&&t+r<=e[n].max&&o.push({...e[n],min:Math.max(t,e[n].min-r),max:e[n].max-r});return{preceding:a,modified:o,trailing:s}}(e,t,r),o=a.preceding,s=a.trailing,c=[];return o.length>0&&c.push(o.pop()),c=c.concat(a.modified),s.length>0&&c.push(s.shift()),{preceding:o,modified:Jr(c,{onMerge:i?.onMerge??Ur}).modified,trailing:s}}function Kr(e,t,r){if(!e)throw Error(`runs can not be null`);if(!t)return{preceding:[],modified:e?[...e]:[],trailing:[]};let i=function(e,t,r,i,a=!1){if(!t)return{preceding:[],modified:e?[...e]:[],trailing:[]};let o,s=n.CommonUtils.findEqualOrGreater(e,t.min,e=>e.max),c=e.slice(0,s),l=e.slice(s),u=[],d={...t},f=l[0]||{min:t.min,max:t.max,value:void 0};for(o=a?(e,t,n)=>{let r=(i||Vr)(t,n,e);r===void 0?delete e.value:e.value=r,u.push(e)}:(e,t,n)=>{let r=(i||Vr)(t??null,n,e);r===void 0?delete e.value:e.value=r,u.push(e)};l.length>=0&&d.max-d.min>=0;){if(d.min<f.min)o({min:d.min,max:Math.min(d.max,f.min-1)},void 0,d.value),d={min:f.min,max:d.max,value:d.value},f={min:d.min,max:f.max,value:f.value};else if(d.min>f.min){let e=f.value!==void 0&&r?r(f,d.min):[f.value,f.value];u.push({min:f.min,max:Math.min(d.min,f.max)-1,value:e[0]}),d={min:Math.min(d.min,f.max),max:d.max,value:d.value},f={min:d.min,max:f.max,value:e[1]}}else{let e=f.value!==void 0&&r?r(f,d.min):[f.value,f.value];o({min:f.min,max:Math.min(d.max,f.max)},e[0],d.value),d={min:Math.min(d.max,f.max)+1,max:d.max,value:d.value},f={min:Math.min(d.max,f.max)+1,max:f.max,value:e[1]}}f.min<=f.max?l[0]=f:(l=l.slice(1),f=l[0]||{min:f.min,max:d.max})}return{preceding:c,modified:u,trailing:l}}(e,t,r?.onSplit,r?.onUpdate,r?.inPlace),a=[];i.preceding.length>0&&a.push(i.preceding.pop()),a=a.concat(i.modified),i.trailing.length>0&&a.push(i.trailing.shift());let o=function(e,t){if(!e||e.length===0)return{preceding:[],modified:e?[...e]:[],trailing:[]};let n=Math.min(e.length-1,t?.startOffset??0),r=Math.min(e.length,t?.endOffset??e.length),i=t?.cull??Wr,a=e.slice(0,n),o=e.slice(r),s=[];for(let t=n;t<r;t++)!0!==i(e[t].value,e[t].min,e[t].max)&&s.push(e[t]);return{preceding:a,modified:s,trailing:o}}(Jr(a,{onMerge:r?.onMerge??Ur}).modified,{cull:r?.isCull||Hr});return{preceding:i.preceding,modified:o.modified,trailing:i.trailing}}function qr(e){return[...e.preceding,...e.modified,...e.trailing]}function Jr(e,t){if(!e||e.length===0)return{preceding:[],modified:e?[...e]:[],trailing:[]};let n=Math.min(e.length-1,t?.startOffset??0),r=Math.min(e.length,t?.endOffset??e.length),i=t?.onMerge??Ur,a=e.slice(0,n),o=e.slice(r),s=[],c={...e[n]},l=e[n]?.max||0;for(let t=n+1;t<=r;t++){let n=e[t],r=!1;if(n&&n.min<=e[t-1].max+1)if(c.value===void 0&&n.value===void 0)r=!0;else{let e=i(c.value,n.value,c.max-c.min+1,n.max-n.min+1);e!==void 0&&(r=!0,c.value=e)}r?c.max=Math.max(l,n.max):(s.push(c),c={...e[t]},n&&(c.max=Math.max(l,n.max))),c&&(l=c.max)}return{preceding:a,modified:s,trailing:o}}function Yr(e){return e&&e.sort((e,t)=>{let n=e.min-t.min;return n===0&&(n=e.max-t.max),n})}function Xr(e,t=!1){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let r=t?e:e.sort(),i=[],a=null;for(let e=0;e<r.length;e++){let t=r[e];a?a.max===t-1?a.max=t:(i.push(a),a={min:t,max:t}):a={min:t,max:t}}return a&&i.push(a),i}function Zr(e,t){return e?t?e||t?e.min>t.max||e.max<t.min?null:{min:Math.max(e.min,t.min),max:Math.min(e.max,t.max)}:null:{...e}:{...t}}function Qr(e){let t=e.length===0;return{runs:e,run:{min:t?-(2**53-1):2**53-1,max:t?2**53-1:-(2**53-1),value:null},index:2**53-1}}function $r(e,t){let r=t.run,i=r.min,a=r.max;if(e>=i&&e<=a)return r.value;let o=t.index,s=t.runs;if(o<s.length-1&&e>a){o++;let n=s[o],i=n.min,a=n.max;if(e>=i&&e<=a)return t.index=o,r.min=i,r.max=a,r.value=n.value,r.value}if(o!==2**53-1&&o>0&&e<i){o--;let n=s[o],i=n.min,a=n.max;if(e>=i&&e<=a)return t.index=o,r.min=i,r.max=a,r.value=n.value,r.value}if(o=n.CommonUtils.findEqualOrGreater(s,e,e=>e.max),o===s.length)return o=s.length,t.index=o,r.min=s[o-1].max+1,r.max=2**53-1,r.value=null,null;let c=s[o],l=c.min,u=c.max;if(e>=l&&e<=u){t.index=o,r.min=l,r.max=u;let e=c.value;return r.value=e,e}return o--,t.index=o,r.min=o>=0?s[o].max+1:-(2**53-1),r.max=l-1,r.value=null,null}function ei(e,t,r,i){if(e.length===0){if(r!=null||i!=null){let e=t({min:r??i,max:i??r});if(e&&e.break)return e}return}let a=r??e[0].min,o=i??e[e.length-1].max,s=a-1,c=n.CommonUtils.findEqualOrGreater(e,a,e=>e.max),l=e[c];for(;l&&l.min<=o;){if(s<l.min-1){let e=t({min:Math.max(s+1,a),max:Math.min(l.min-1,o)});if(e&&e.break)return e}let n=t({...l,min:Math.max(l.min,a),max:Math.min(l.max,o)});if(n&&n.break)return n;s=l.max,l=e[++c]}if(s<o){let e=t({min:Math.min(s+1,o),max:o});if(e&&e.break)return e}}function ti(e,t,r){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let i=e.length,a=Array(i),o=r?t.rowStart:t.colStart,s=r?t.rowEnd:t.colEnd;for(let t=0;t<i;t++){let n=e[t],i={colStart:r?n.min:o,rowStart:r?o:n.min,colEnd:r?n.max:s,rowEnd:r?s:n.max};n.value!==void 0&&(i.value=n.value),a[t]=i}return a}function ni(e,t=!1){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let r=[],i=null,a=e.slice().sort((e,t)=>e.min-t.min),o=a.length;for(let e=0;e<o;e++){let n=a[e];i&&n.min<=i.max+1?t?i.max=Math.max(i.max,n.max):(i={min:i.max+1,max:n.max},r.push(i)):(i={min:n.min,max:n.max},r.push(i))}return r}function ri(e,t,n,r){let i;for(r&&(t=t.bind(r));!(i=e.next()).done;)try{t(i.value[1],i.value[0],n)}catch(t){if(typeof e.throw!=`function`)throw t;e.throw(t)}typeof e.return==`function`&&e.return()}function ii(e){let t=e.next.bind(e),n={next:e=>{let n=t(e);return n.done?si:{done:n.done,value:n.value[1]}},[Symbol.iterator]:()=>n,...e.return&&{return:e.return.bind(e)},...e.throw&&{throw:e.throw.bind(e)}};return n}function ai(e){if(!e||e.length===0)return null;let t=2**53-1,r=-1,i=null;return(a,o=!1)=>{if(a===t)return a;!1!==o&&(t=2**53-1),a!==t+(o?-1:1)&&(r=function(e,t,r=!0){if(!e||e.length===0)return null;let i,a=-1;return r?(a=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),i=e[a]):(a=n.CommonUtils.findEqualOrLesser(e,t,e=>e.min),i=e[a]),i?(r?t>i.max&&(a+=1,i=e[a]):t<i.min&&(--a,i=e[a]),i?a:-1):-1}(e,a,!o),i=e[r]);let s=a;if(o)for(;i&&s<=i.max;)s=i.min-1,i=e[--r];else for(;i&&s>=i.min;)s=i.max+1,i=e[++r];return t=s,s}}var oi,si=Object.freeze({done:!0,value:void 0}),ci=Object.freeze({next:()=>si,[Symbol.iterator]:()=>ci});Object.seal({done:!1,value:void 0}),function(e){e.isList=function(e){return!!e&&!!e.isIList},e.isListLike=function(e){return!!e&&typeof e.length==`number`&&typeof e.at==`function`},e.fromArray=function(e,n,r,i){return new t(e,n,r,i)};class t{constructor(e,t,r,i){this.g=t,this.s=r;let a=e??i;if(r&&e&&!i){i=Array(e.length);for(let t=0;t<e.length;t++){let n=e[t];i[t]=r(n,t)}a=i}this.a=a??n.CommonUtils.EmptyArray,t&&(this.at=e=>{e<0&&(e=a.length+e);let n=a[e];if(n!==void 0)return t(n,e)})}at(e){let t=this.a;return e<0&&(e=t.length+e),t[e]}fromArray(e){return new t(e,this.g,this.s)}get length(){return this.a.length}get isIList(){return!0}}e.ArrayList=t}(oi||={});var li=class e{constructor(e){if(this._single=null,this._runs=null,this._length=0,this._runCache=null,e&&e.length>0){let t=oi.isList(e)&&!Array.isArray(e)?e:new oi.ArrayList(e);this._single=t,this._length=e.length}}at(e){let t=this._single;if(t)return t.at(e);let r=this._runCache;if(r&&r.min<=e&&r.max>=e){let t=r.value;return t.list.at(e-r.min+t.start)}let i=this._runs,a=i[n.CommonUtils.findEqualOrGreater(i,e,e=>e.max)];if(!a)return;let o=a.value;return this._runCache=a,o.list.at(e-a.min+o.start)}toArray(e=2**53-1){let t=[],n=this.entries(pi),r=n.next();for(;!r.done&&t.length<e;)t.push(r.value[1]),r=n.next();return t}entries(e){let t=this.length;if(t===0)return ci;let r,i,a,o=!0,s=0,c=t-1;if(e){o=!e.reverse;let t=e.bounds;t&&(s=Math.max(t.min??s,s),c=Math.min(t.max??c,c)),r=e.reuseResult??null,i=e.processSkip}let l=o?1:-1,u=(o?s:c)-l,d=this._single;if(d)a=e=>{if(!(e<s||e>c))return d.at(e)};else{let e=this._runs,t=o?0:e.length-1,r=e[t],i=(n,i)=>{let a=n===t?r:e[n];if(a&&i>=a.min&&i<=a.max)return t=n,r=a,a};a=r=>{if(r<s||r>c)return;let a=i(t,r);if(a||=i(t+l,r),!a){let t=n.CommonUtils.findEqualOrGreater(e,r,e=>e.max);a=i(t,r)}if(!a)return;let o=a.value;return o.list.at(r-a.min+o.start)}}let f={next:e=>{let n,d=u+l;return e!==void 0&&(e<0&&(e=t+e),d=e),d<s||d>c||i&&(d=i(d,!o),d<s||d>c)?si:(n=a(d),u=d,r?(r.done=!1,r.value[0]=d,r.value[1]=n,r):{done:!1,value:[u,n]})},[Symbol.iterator]:()=>f};return f}slice(t,n){let r=this._runs??ui(this._single);if(!r)return di;let i=this.length;if(t=Math.min(Math.max(0,t),i),(n=Math.min(Math.max(0,n??i),i))-t<=0)return di;if(t<=0&&n>=i)return this;let a=t,o=n-1,s=[],c=0;for(let e=0;e<r.length;e++){let t=r[e],n=t.max;if(a===0&&n<=o){s.push(t);continue}let i=t.min;if(i>o){e=r.length;continue}if(n<a){c=n+1;continue}let l=Math.max(0,a-i),u=Math.max(0,n-o),d=u+l,f=t.value;s.push({min:i-c,max:n-d-c,value:{start:f.start+l,end:f.end-u,list:f.list}}),c+=d}let l=new e;return l._runs=s,l._length=o-a+1,l}concat(t){if(!t)return this;if(!oi.isListLike(t))throw Error(`Value must be IListLike`);let n=this._length;if(n===0)return t.isIReadableList?t:t.length===0?di:new e(t);let r=t,i=t.length;if(i===0)return this;let a=this._runs??ui(this._single),o=a.slice(0,a.length-1),s=a[a.length-1],c=s?s.min:0,l=s?s.max:0,u=s?s.value:null,d=u?u.list:null,f=u?u.end-u.start:0,p=e=>{let t=e.start,n=e.end,r=n-t;if(r+f<mi&&d&&d.fromArray){let r=e.list,i=[],a=u.start,o=u.end;for(let e=a;e<=o;e++)i.push(d.at(e));for(let e=t;e<=n;e++)i.push(r.at(e));let p=d.fromArray(i);if(p)return r=p,f=r.length-1,u={start:0,end:f,list:r},s={min:c,max:c+f,value:u},l=c+f,void(d=r)}o.push(s);let i=l+1,a=i+r;s={min:i,max:a,value:e},c=i,l=a,u=s?s.value:null,d=u?u.list:null,f=u?u.end-u.start:0};if(t instanceof e){let e=t._single;if(e)p({start:0,end:e.length-1,list:e});else{let e=t._runs;for(let t=0;t<e.length;t++)p(e[t].value)}}else p({start:0,end:i-1,list:r});o.push(s);let m=new e,h=n+i;return o.length===1&&o[0].min===0&&o[0].max===h-1?m._single=o[0].value.list:m._runs=o,m._length=h,m}get length(){return this._length}[Symbol.iterator](){return ii(this.entries())}get isIReadableList(){return!0}get isIList(){return!0}get[Symbol.toStringTag](){return`[ImmutableList]`}toString(){let e=this.length;if(e===0)return``;let t=``;for(let n=0;n<e;n++){n>0&&(t+=`,`);let e=this.at(n);t+=e==null?``:String(e)}return t}},ui=e=>[{min:0,max:e.length-1,value:{start:0,end:e.length-1,list:e}}],di=new li,fi=Object.seal({done:!1,value:[-1,null]}),pi=Object.freeze({reverse:!1,bounds:{min:0,max:2**53-1},skipRuns:null,reuseResult:fi}),mi=4,hi=class e{constructor(t,n,r){this._root=Ci,this._size=0,this._maxNodeSize=r>=4?Math.min(r,256):32,this._compare=n||e.defaultComparator,t&&this.setPairs(t)}get size(){return this._size}get length(){return this._size}isEmpty(){return this._size===0}clear(){this._root=Ci,this._size=0}forEach(e,t){return t!==void 0&&(e=e.bind(t)),this.forEachPair((t,n)=>e(n,t,this))}forEachPair(e,t){let n=this.minKey(),r=this.maxKey();return this.forRange(n,r,!0,e,t)}get(e,t){return this._root.get(e,t,this)}set(e,t,n){this._root.isShared&&(this._root=this._root.clone());let r=this._root.set(e,t,n,this);return!0===r||!1===r?r:(this._root=new bi([this._root,r]),!0)}has(e){return this.forRange(e,e,!0,void 0)!==0}delete(t){return this.editRange(t,t,!0,e.DeleteRange)!==0}filter(t,n){let r=this.greedyClone(),i;return r.editAll((n,r,a)=>{if(!t(n,r,a))return i=e.DeleteValue}),!i&&n?this:r}mapValues(e){let t={},n=this.greedyClone();return n.editAll((n,r,i)=>(t.value=e(r,n,i),t)),n}reduce(e,t){let n,r=0,i=t,a=this.entries(this.minKey());for(;!(n=a.next()).done;)i=e(i,n.value,r++);return i}entries(e,t){let n=this.findPath(e);if(n===void 0)return gi();let{nodeQueue:r,nodeIndex:i,leaf:a}=n,o=t===void 0?0:1,s=e===void 0?-1:a.indexOf(e,0,this._compare)-1;return gi(()=>{e:for(;;)switch(o){case 0:if(++s<a.keys.length)return{done:!1,value:[a.keys[s],a.values[s]]};o=2;continue;case 1:if(++s<a.keys.length){let e=a.keys[s],n=a.values[s];return t?(t.done=!1,t.value[0]=e,t.value[1]=n,t):{done:!1,value:[e,n]}}o=2;case 2:for(var e=-1;;){if(++e>=r.length){o=3;continue e}if(++i[e]<r[e].length)break}for(;e>0;e--)r[e-1]=r[e][i[e]].children,i[e-1]=0;a=r[0][i[0]],s=-1,o=t===void 0?0:1;continue;case 3:return Si}})}entriesReversed(e,t,n){if(e===void 0&&(n=void 0,(e=this.maxKey())===void 0))return gi();let{nodeQueue:r,nodeIndex:i,leaf:a}=this.findPath(e)||this.findPath(this.maxKey());Ti(!r[0]||a===r[0][i[0]],`wat!`);let o=a.indexOf(e,0,this._compare);!n&&o<a.keys.length&&this._compare(a.keys[o],e)<=0&&o++;let s=t===void 0?0:1;return gi(()=>{e:for(;;)switch(s){case 0:if(--o>=0)return{done:!1,value:[a.keys[o],a.values[o]]};s=2;continue;case 1:if(--o>=0){let e=a.keys[o],n=a.values[o];return t?(t.done=!1,t.value[0]=e,t.value[1]=n,t):{done:!1,value:[e,n]}}s=2;case 2:for(var e=-1;;){if(++e>=r.length){s=3;continue e}if(--i[e]>=0)break}for(;e>0;e--)r[e-1]=r[e][i[e]].children,i[e-1]=r[e-1].length-1;a=r[0][i[0]],o=a.keys.length,s=t===void 0?0:1;continue;case 3:return Si}})}findPath(e){let t,n,r=this._root;if(r.isLeaf)t=wi,n=wi;else{t=[],n=[];for(let i=0;!r.isLeaf;i++){if(t[i]=r.children,n[i]=e===void 0?0:r.indexOf(e,0,this._compare),n[i]>=t[i].length)return;r=t[i][n[i]]}t.reverse(),n.reverse()}return{nodeQueue:t,nodeIndex:n,leaf:r}}diffAgainst(t,n,r,i){if(t._compare!==this._compare)throw Error(`SortedMap: Comparators are not the same.`);if(this.isEmpty()||t.isEmpty())return this.isEmpty()&&t.isEmpty()?void 0:this.isEmpty()?r===void 0?void 0:e.stepToEnd(e.makeDiffCursor(t),r):n===void 0?void 0:e.stepToEnd(e.makeDiffCursor(this),n);let{_compare:a}=this,o=e.makeDiffCursor(this),s=e.makeDiffCursor(t),c=!0,l=!0,u=e.compare(o,s,a);for(;c&&l;){let t=e.compare(o,s,a),{leaf:d,internalSpine:f,levelIndices:p}=o,{leaf:m,internalSpine:h,levelIndices:g}=s;if(d||m){if(u!==0){if(t===0){if(d&&m&&i){let e=d.values[p[p.length-1]],t=m.values[g[g.length-1]];if(!Object.is(e,t)){let n=i(o.currentKey,e,t);if(n&&n.break)return n.break}}}else if(t>0){if(m&&r){let e=m.values[g[g.length-1]],t=r(s.currentKey,e);if(t&&t.break)return t.break}}else if(n&&d&&u!==0){let e=d.values[p[p.length-1]],t=n(o.currentKey,e);if(t&&t.break)return t.break}}}else if(!d&&!m&&t===0){let t=f.length-1,n=h.length-1,r=f[t][p[t]];if(h[n][g[n]]===r){u=0,c=e.step(o,!0),l=e.step(s,!0);continue}}u=t,t<0?c=e.step(o):l=e.step(s)}return c&&n?e.finishCursorWalk(o,s,a,n):l&&r?e.finishCursorWalk(s,o,a,r):void 0}static finishCursorWalk(t,n,r,i){let a=e.compare(t,n,r);if(a===0){if(!e.step(t))return}else a<0&&Ti(!1,`cursor walk terminated early`);return e.stepToEnd(t,i)}static stepToEnd(t,n){let r=!0;for(;r;){let{leaf:i,levelIndices:a,currentKey:o}=t;if(i){let e=n(o,i.values[a[a.length-1]]);if(e&&e.break)return e.break}r=e.step(t)}}static makeDiffCursor(e){let t=e._root;return{height:e.getHeight(),internalSpine:[[t]],levelIndices:[0],leaf:void 0,currentKey:t.maxKey()}}static step(e,t){let{internalSpine:n,levelIndices:r,leaf:i}=e;if(!0===t||i){let a=r.length;if(!0===t||r[a-1]===0){let t=n.length;if(t===0)return!1;let i=t-1,o=i;for(;o>=0;){if(r[o]>0)return o<a-1&&(e.leaf=void 0,r.pop()),o<i&&(e.internalSpine=n.slice(0,o+1)),e.currentKey=n[o][--r[o]].maxKey(),!0;o--}return!1}{let t=--r[a-1];return e.currentKey=i.keys[t],!0}}{let t=n.length,i=t-1,a=n[i][r[i]];if(a.isLeaf){e.leaf=a;let n=r[t]=a.values.length-1;e.currentKey=a.keys[n]}else{let i=a.children;n[t]=i;let o=i.length-1;r[t]=o,e.currentKey=i[o].maxKey()}return!0}}static compare(e,t,n){let{height:r,currentKey:i,levelIndices:a}=e,{height:o,currentKey:s,levelIndices:c}=t,l=n(s,i);if(l!==0)return l;let u=r<o?r:o;return a.length-(r-u)-(c.length-(o-u))}keys(e,t){let n=this.entries(e,t);return gi(()=>{let e=n.next();return e.value&&=e.value[0],e})}values(e,t){let n=this.entries(e,t);return gi(()=>{let e=n.next();return e.value&&=e.value[1],e})}getMaxNodeSize(){return this._maxNodeSize}minKey(){return this._root.minKey()}maxKey(){return this._root.maxKey()}clone(){this._root.isShared=!0;let t=new e(void 0,this._compare,this._maxNodeSize);return t._root=this._root,t._size=this._size,t}greedyClone(t){let n=new e(void 0,this._compare,this._maxNodeSize);return n._root=this._root.greedyClone(t),n._size=this._size,n}toArray(e=2147483647){let t=this.minKey(),n=this.maxKey();return t===void 0?[]:this.getRange(t,n,!0,e)}keysArray(){let e=[];return this._root.forRange(this.minKey(),this.maxKey(),!0,!1,this,0,(t,n)=>{e.push(t)}),e}valuesArray(){let e=[];return this._root.forRange(this.minKey(),this.maxKey(),!0,!1,this,0,(t,n)=>{e.push(n)}),e}toString(){return this.toArray().toString()}setIfNotPresent(e,t){return this.set(e,t,!1)}nextHigherPair(e,t){return e===void 0?this._root.minPair(t):this._root.getPairOrNextHigher(e,this._compare,!1,t)}nextHigherKey(e,t){let n=this.nextHigherPair(e,t);return n&&n[0]}nextLowerPair(e,t){return e===void 0?this._root.maxPair(t):this._root.getPairOrNextLower(e,this._compare,!1,t)}nextLowerKey(e,t){let n=this.nextLowerPair(e,t);return n&&n[0]}getPairOrNextLower(e,t){return this._root.getPairOrNextLower(e,this._compare,!0,t)}getPairOrNextHigher(e,t){return this._root.getPairOrNextHigher(e,this._compare,!0,t)}changeIfPresent(e,t){return this.editRange(e,e,!0,(e,n)=>({value:t}))!==0}getRange(t,n,r,i=67108863){let a=[];return this._root.forRange(t,n,r,!1,this,0,(t,n)=>(a.push([t,n]),a.length>i?e.Break:void 0)),a}setPairs(e,t){let n=0;for(let r=0;r<e.length;r++)this.set(e[r][0],e[r][1],t)&&n++;return n}forRange(e,t,n,r,i){let a=this._root.forRange(e,t,n,!1,this,i||0,r);return typeof a==`number`?a:a.break}editRange(e,t,n,r,i){let a=this._root;a.isShared&&(this._root=a=a.clone());try{let o=a.forRange(e,t,n,!0,this,i||0,r);return typeof o==`number`?o:o.break}finally{let e;for(;a.keys.length<=1&&!a.isLeaf;)e||=a.isShared,this._root=a=a.keys.length===0?Ci:a.children[0];e&&(a.isShared=!0)}}editAll(e,t){return this.editRange(this.minKey(),this.maxKey(),!0,e,t)}deleteRange(t,n,r){return this.editRange(t,n,r,e.DeleteRange)}deleteKeys(e){let t=0;for(let n=0;n<e.length;n++)this.delete(e[n])&&t++;return t}getHeight(){let e=this._root,t=-1;for(;e;)t++,e=e.isLeaf?void 0:e.children[0];return t}freeze(){let e=this;e.clear=e.set=e.editRange=function(){throw Error(`SortedMap: Attempted to modify when frozen.`)}}unfreeze(){delete this.clear,delete this.set,delete this.editRange}isFrozen(){return this.hasOwnProperty(`editRange`)}checkValid(){let e=this._root.checkValid(0,this,0);Ti(e===this.size,`size mismatch: counted `,e,`but stored`,this.size)}};function gi(e=()=>Si){let t={next:e};return Symbol&&Symbol.iterator&&(t[Symbol.iterator]=function(){return this}),t}Symbol&&Symbol.iterator&&(hi.prototype[Symbol.iterator]=hi.prototype.entries),hi.prototype.where=hi.prototype.filter,hi.prototype.setRange=hi.prototype.setPairs,hi.prototype.add=hi.prototype.set;var _i,vi,yi=class e{constructor(e,t=[],n){this.keys=t,this.values=n||xi,this.isShared=void 0,this.isLeaf=e}maxKey(){return this.keys[this.keys.length-1]}indexOf(e,t,n){let r=this.keys,i=0,a=r.length,o=a>>1;for(;i<a;){let t=n(r[o],e);if(t<0)i=o+1;else{if(!(t>0)){if(t===0)return o;if(e==e)return r.length;throw Error(`SortedMap: NaN was used as a key.`)}a=o}o=i+a>>1}return o^t}minKey(){return this.keys[0]}minPair(e){if(this.keys.length!==0)return(e??=[null,null])[0]=this.keys[0],e[1]=this.values[0],e}maxPair(e){if(this.keys.length===0)return;let t=this.keys.length-1;return(e??=[null,null])[0]=this.keys[t],e[1]=this.values[t],e}clone(){let t=this.values,n=t===xi?t:t.slice(0),r=this.keys.slice(0);return new e(!0,r,n)}greedyClone(e){return this.isShared&&!e?this:this.clone()}get(e,t,n){let r=this.indexOf(e,-1,n._compare);return r<0?t:this.values[r]}getPairOrNextLower(e,t,n,r){let i=this.indexOf(e,-1,t),a=i<0?~i-1:n?i:i-1;if(a>=0){let e=this.keys[a],t=this.values[a];return r?(r[0]=e,r[1]=t,r):[e,t]}}getPairOrNextHigher(e,t,n,r){let i=this.indexOf(e,-1,t),a=i<0?~i:n?i:i+1,o=this.keys;if(a<o.length){let e=o[a],t=this.values[a];return r?(r[0]=e,r[1]=t,r):[e,t]}}checkValid(e,t,n){let r=this.keys.length,i=this.values.length;return Ti(this.values===xi?r<=i:r===i,`keys/values length mismatch: depth`,e,`with lengths`,r,i,`and baseIndex`,n),Ti(e===0||r>0,`empty leaf at depth`,e,`and baseIndex`,n),r}set(e,t,n,r){let i=this.indexOf(e,-1,r._compare);if(i<0){if(i=~i,r._size++,this.keys.length<r._maxNodeSize)return this.insertInLeaf(i,e,t,n,r);{let a=this.splitOffRightSide(),o=this;return i>this.keys.length&&(i-=this.keys.length,o=a),o.insertInLeaf(i,e,t,n,r),a}}if(!1!==n){t!==void 0&&this.reifyValues(),this.keys[i]=e;let r=t;if(typeof n==`function`){let a=n(this.values[i],e,t);a!==void 0&&(r=a)}this.values[i]=r}return!1}reifyValues(){return this.values===xi?this.values=this.values.slice(0,this.keys.length):this.values}insertInLeaf(e,t,n,r,i){if(this.keys.splice(e,0,t),this.values===xi){for(;xi.length<i._maxNodeSize;)xi.push(void 0);if(n===void 0)return!0;this.values=xi.slice(0,this.keys.length-1)}let a=n;if(typeof r==`function`){let e=r(void 0,t,n);e!==void 0&&(a=e)}return this.values.splice(e,0,a),!0}takeFromRight(e){let t=this.values;e.values===xi?t!==xi&&t.push(void 0):(t=this.reifyValues(),t.push(e.values.shift())),this.keys.push(e.keys.shift())}takeFromLeft(e){let t=this.values;e.values===xi?t!==xi&&t.unshift(void 0):(t=this.reifyValues(),t.unshift(e.values.pop())),this.keys.unshift(e.keys.pop())}splitOffRightSide(){let t=this.keys.length>>1,n=this.keys.splice(t),r=this.values===xi?xi:this.values.splice(t);return new e(!0,n,r)}forRange(e,t,n,r,i,a,o){let s=i._compare,c,l;if(t===e){if(!n||(l=(c=this.indexOf(e,-1,s))+1,c<0))return a}else c=this.indexOf(e,0,s),l=this.indexOf(t,-1,s),l<0?l=~l:!0===n&&l++;let u=this.keys,d=this.values;if(o!==void 0)for(let e=c;e<l;e++){let t=u[e],n=o(t,d[e],a++);if(n!==void 0){if(n.break!==void 0)return n;if(!0===r){if(t!==u[e]&&i._compare(t,u[e])!==0||!0===this.isShared)throw Error(`SortedMap: illegally changed or cloned in editRange.`);n.delete?(this.keys.splice(e,1),this.values!==xi&&this.values.splice(e,1),i._size--,e--,l--):n.hasOwnProperty(`value`)&&(d[e]=n.value)}}}else a+=l-c;return a}mergeSibling(e,t){if(this.keys.push.apply(this.keys,e.keys),this.values===xi){if(e.values===xi)return;this.values=this.values.slice(0,this.keys.length)}this.values.push.apply(this.values,e.reifyValues())}},bi=class e extends yi{constructor(e,t){if(!t){t=[];let n=e.length;for(let r=0;r<n;r++)t[r]=e[r].maxKey()}super(!1,t),this.children=e}clone(){let t=this.children.slice(0),n=t.length;for(let e=0;e<n;e++)t[e].isShared=!0;return new e(t,this.keys.slice(0))}greedyClone(t){if(this.isShared&&!t)return this;let n=new e(this.children.slice(0),this.keys.slice(0)),r=n.children,i=r.length;for(let e=0;e<i;e++)r[e]=r[e].greedyClone(t);return n}minKey(){return this.children[0].minKey()}minPair(e){return this.children[0].minPair(e)}maxPair(e){return this.children[this.children.length-1].maxPair(e)}get(e,t,n){let r=this.indexOf(e,0,n._compare),i=this.children;return r<i.length?i[r].get(e,t,n):void 0}getPairOrNextLower(e,t,n,r){let i=this.indexOf(e,0,t),a=this.children;if(i>=a.length)return this.maxPair(r);let o=a[i].getPairOrNextLower(e,t,n,r);return o===void 0&&i>0?a[i-1].maxPair(r):o}getPairOrNextHigher(e,t,n,r){let i=this.indexOf(e,0,t),a=this.children,o=a.length;if(i>=o)return;let s=a[i].getPairOrNextHigher(e,t,n,r);return s===void 0&&i<o-1?a[i+1].minPair(r):s}checkValid(e,t,n){let r=this.keys.length,i=this.children.length;Ti(r===i,`keys/children length mismatch: depth`,e,`lengths`,r,i,`baseIndex`,n),Ti(r>1||e>0,`internal node has length`,r,`at depth`,e,`baseIndex`,n);let a=0,o=this.children,s=this.keys,c=0;for(let r=0;r<i;r++)a+=o[r].checkValid(e+1,t,n+a),c+=o[r].keys.length,Ti(a>=c,`wtf`,n),Ti(r===0||o[r-1].constructor===o[r].constructor,`type mismatch, baseIndex:`,n),o[r].maxKey()!==s[r]&&Ti(!1,`keys[`,r,`] =`,s[r],`is wrong, should be `,o[r].maxKey(),`at depth`,e,`baseIndex`,n),r===0||t._compare(s[r-1],s[r])<0||Ti(!1,`sort violation at depth`,e,`index`,r,`keys`,s[r-1],s[r]);let l=c===0;return(l||c>t.getMaxNodeSize()*i)&&Ti(!1,l?`too few`:`too many`,`children (`,c,a,`) at depth`,e,`maxNodeSize:`,t.getMaxNodeSize(),`children.length:`,i,`baseIndex:`,n),a}set(e,t,n,r){let i=this.children,a=r._maxNodeSize,o=r._compare,s=Math.min(this.indexOf(e,0,o),i.length-1),c=i[s];if(c.isShared&&(i[s]=c=c.clone()),c.keys.length>=a){let t;s>0&&(t=i[s-1]).keys.length<a&&o(c.keys[0],e)<0?(t.isShared&&(i[s-1]=t=t.clone()),t.takeFromRight(c),this.keys[s-1]=t.maxKey()):(t=i[s+1])!==void 0&&t.keys.length<a&&o(c.maxKey(),e)<0&&(t.isShared&&(i[s+1]=t=t.clone()),t.takeFromLeft(c),this.keys[s]=i[s].maxKey())}let l=c.set(e,t,n,r);if(!1===l)return!1;if(this.keys[s]=c.maxKey(),!0===l)return!0;if(this.keys.length<a)return this.insert(s+1,l),!0;{let e=this.splitOffRightSide(),t=this;return o(l.maxKey(),this.maxKey())>0&&(t=e,s-=this.keys.length),t.insert(s+1,l),e}}insert(e,t){this.children.splice(e,0,t),this.keys.splice(e,0,t.maxKey())}splitOffRightSide(){let t=this.children.length>>1;return new e(this.children.splice(t),this.keys.splice(t))}takeFromRight(e){this.keys.push(e.keys.shift()),this.children.push(e.children.shift())}takeFromLeft(e){this.keys.unshift(e.keys.pop()),this.children.unshift(e.children.pop())}forRange(e,t,n,r,i,a,o){let s=i._compare,c=this.keys,l=this.children,u=this.indexOf(e,0,s),d=u,f=Math.min(t===e?u:this.indexOf(t,0,s),c.length-1);if(r){if(d<=f)try{for(;d<=f;d++){l[d].isShared&&(l[d]=l[d].clone());let s=l[d].forRange(e,t,n,r,i,a,o);if(c[d]=l[d].maxKey(),typeof s!=`number`)return s;a=s}}finally{let e=i._maxNodeSize>>1;for(u>0&&u--,d=f;d>=u;d--)l[d].keys.length<=e&&(l[d].keys.length===0?(c.splice(d,1),l.splice(d,1)):this.tryMerge(d,i._maxNodeSize));l.length!==0&&l[0].keys.length===0&&Ti(!1,`emptiness bug`)}}else for(;d<=f;d++){let s=l[d].forRange(e,t,n,r,i,a,o);if(typeof s!=`number`)return s;a=s}return a}tryMerge(e,t){let n=this.children,r=n.length;return e>=0&&e+1<r&&n[e].keys.length+n[e+1].keys.length<=t&&(n[e].isShared&&(n[e]=n[e].clone()),n[e].mergeSibling(n[e+1],t),n.splice(e+1,1),this.keys.splice(e+1,1),this.keys[e]=n[e].maxKey(),!0)}mergeSibling(e,t){let n=this.keys.length;this.keys.push.apply(this.keys,e.keys);let r=e.children;if(this.children.push.apply(this.children,r),e.isShared&&!this.isShared)for(let e=0;e<r.length;e++)r[e].isShared=!0;this.tryMerge(n-1,t)}},xi=[],Si=Object.freeze({done:!0,value:void 0}),Ci=function(){let e=new yi(!0);return e.isShared=!0,e}(),wi=[],Ti=(e,...t)=>{if(!e)throw t.unshift(`SortedMap:`),Error(t.join(` `))};(function(e){let t=e.DeleteValue=Object.freeze({delete:!0});e.Break=Object.freeze({break:!0}),e.DeleteRange=()=>t,e.EmptySortedMap=(()=>{let e=new hi;return e.freeze(),e})(),e.defaultComparator=function(e,t){if(Number.isFinite(e)&&Number.isFinite(t))return e-t;let n=typeof e,r=typeof t;if(n!==r)return n<r?-1:1;if(n===`object`){if(e===null)return t===null?0:-1;if(t===null)return 1;if(n=typeof(e=e.valueOf()),r=typeof(t=t.valueOf()),n!==r)return n<r?-1:1}return e<t?-1:e>t?1:e===t?0:Number.isNaN(e)?Number.isNaN(t)?0:-1:Number.isNaN(t)?1:Array.isArray(e)?0:NaN},e.simpleComparator=function(e,t){return e>t?1:e<t?-1:0}})(hi||={}),function(e){let t=(e,t)=>{let r=e!==n.RangeAxis.Row;return t?(e,t)=>{if(e===t)return 0;let n=e[0],i=e[1],a=t[1];if(i===a)return n?-1:1;let o=t[0],s=0,c=0;if(r?(s=n?i.colEnd:i.colStart,c=o?a.colEnd:a.colStart):(s=n?i.rowEnd:i.rowStart,c=o?a.rowEnd:a.rowStart),s===c&&n!==o)return n?-1:1;if(s!==c)return c-s;let l=0,u=0;if(r?(l=n?i.colStart:i.colEnd,u=o?a.colStart:a.colEnd):(l=n?i.rowStart:i.rowEnd,u=o?a.rowStart:a.rowEnd),l===u&&n!==o)return n?-1:1;if(l!==u)return u-l;let d=e[2]??0;return(t[2]??0)-d}:(e,t)=>{if(e===t)return 0;let n=e[0],i=e[1],a=t[1];if(i===a)return n?-1:1;let o=t[0],s=0,c=0;if(r?(s=n?i.colStart:i.colEnd,c=o?a.colStart:a.colEnd):(s=n?i.rowStart:i.rowEnd,c=o?a.rowStart:a.rowEnd),s===c&&n!==o)return n?-1:1;if(s!==c)return s-c;let l=0,u=0;return r?(l=n?i.colEnd:i.colStart,u=o?a.colEnd:a.colStart):(l=n?i.rowEnd:i.rowStart,u=o?a.rowEnd:a.rowStart),l===u&&n!==o?n?-1:1:l===u?(e[2]??0)-(t[2]??0):l-u}};class r{constructor(e,r){if(this._isColumn=!0,this._isByCell=!1,this._isReverse=!1,this._cursor=null,this._reuse=null,this._localReuse={done:!1,value:[null,null]},this._eventsMajor=null,this._eventMajorIndex=0,this._majorStart=0,this._majorEnd=0,this._eventMinorPeek=null,this._minorStart=0,this._minorEnd=0,!e||e.length===0)return;let i=n.RangeAxis.Column,a=!1,o=!0,s=!1;r&&(i=r.axis??n.RangeAxis.Column,this._isColumn=o=i!==n.RangeAxis.Row,this._isReverse=a=r.reverse??!1,this._isByCell=s=r.byCell??!1);let c=e.length,l=Array(2*c);for(let t=0;t<c;t++){let n=e[t],r=[null,null];l[2*t]=[!0,n,t,r],l[2*t+1]=[!1,n,t,r]}l.sort(t(i,a)),this._eventsMajor=l;let u=l[0][1];this._majorStart=a?2**53-1:-(2**53-1),this._majorEnd=o?a?u.colEnd+1:u.colStart-1:a?u.rowEnd+1:u.rowStart-1,this._eventsMinor=new hi(void 0,t(o?n.RangeAxis.Row:n.RangeAxis.Column,a));let d=Array(16);if(d.length=0,this._cursor={cell:null,range:{colStart:u.colStart,rowStart:u.rowStart,colEnd:u.colEnd,rowEnd:u.rowEnd},overlaps:d},s&&(this._cursor.cell={colIndex:a?-(2**53-1):2**53-1,rowIndex:a?-(2**53-1):2**53-1}),r?.reuseIterator)throw Error(`Not implemented yet`)}next(e){let t=this._isColumn,r=this._isReverse;if(e){if(!this._isByCell)throw Error(`nextCell is only supported when byCell is true`);let i=n.CoordUtils.createCellComparator(t?n.RangeAxis.Column:n.RangeAxis.Row,r),a;do{let n=this._cursor,o=n.cell,s=o.colIndex===2**53-1||o.rowIndex===2**53-1;if(!s&&i(o,e)>=0)throw Error(`nextCell must be after the current iteration cell`);if(a=this.next(),a.done)return a;let c=a.value.cell;if(i(c,e)>=0)return a;let l=n.range;if(t){let t=e.colIndex===o.colIndex;o.rowIndex=r?t?Math.max(e.rowIndex,l.rowStart):l.rowStart:t?Math.min(e.rowIndex,l.rowEnd):l.rowEnd}else{let t=e.rowIndex===o.rowIndex;o.colIndex=r?t?Math.max(e.colIndex,l.colStart):l.colStart:t?Math.min(e.colIndex,l.colEnd):l.colEnd}if(!s&&i(o,e)>=0)return c.rowIndex=o.rowIndex,c.colIndex=o.colIndex,a}while(!a.done);return a}let i=this._cursor;if(!i)return si;let a=this._reuse,o=i.cell,s=i.range;if(a){a.done=!1;let e=a.value,t=e.cell;o?(t.colIndex=o.colIndex,t.rowIndex=o.rowIndex):t&&(t.colIndex=-1,t.rowIndex=-1);let n=e.range;n.colStart=s.colStart,n.rowStart=s.rowStart,n.colEnd=s.colEnd,n.rowEnd=s.rowEnd,e.overlaps=[...i.overlaps],this._cursor.overlaps=e.overlaps}else{let e={cell:null,range:{colStart:s.colStart,rowStart:s.rowStart,colEnd:s.colEnd,rowEnd:s.rowEnd},overlaps:[...i.overlaps]};o&&(e.cell={colIndex:o.colIndex,rowIndex:o.rowIndex}),this._cursor=e,a={done:!1,value:e}}let c=a.value,l=c.range,u=c.cell,d=this._isByCell,f=r?-1:1,p=!1;if(d){let e=u.rowIndex,n=u.colIndex,i=t?e:n,o=t?r?l.rowStart:l.rowEnd:r?l.colStart:l.colEnd;if((r?i>=o:i<=o)&&(t?u.rowIndex=e+f:u.colIndex=n+f,r?i>o:i<o))return a;let s=t?u.colIndex:u.rowIndex,c=t?r?l.colStart:l.colEnd:r?l.rowStart:l.rowEnd;(r?s>c:s<c)&&(p=!0)}let m=c.overlaps,h=this._majorStart,g=this._majorEnd,_=this._eventsMinor,v=this._minorStart,y=this._minorEnd,b=this._eventsMinorIterator,x=this._eventMinorPeek,S=x;for(;S&&!S.done;){let e=S.value[0];if(e[0])S=null;else{if(x=b.next(),x.done)m.length=0;else{let n=e[1],i=m.length;if(i>1){let e=m.indexOf(n);e!==-1&&(m[e]=m[i-1])}if(m.length=i-1,i=m.length,i>0){let e=x.value[0],n=e[1],i=t?r?n.colStart:n.colEnd:r?n.rowStart:n.rowEnd;if(r?h>=i:h<=i){let i=!1;if(e[0]){let e=t?r?n.rowEnd:n.rowStart:r?n.colEnd:n.colStart;(r?e<y+f:e>y+f)&&(v=y+f,y=e-f,i=!0)}else{let e=t?r?n.rowStart:n.rowEnd:r?n.colStart:n.colEnd;(r?e<y:e>y)&&(v=y+f,y=e,i=!0)}if(i)return t?(l.rowStart=r?y:v,l.rowEnd=r?v:y):(l.colStart=r?y:v,l.colEnd=r?v:y),this._minorStart=v,this._minorEnd=y,this._eventMinorPeek=x,a}}}x.done&&(x=null),S=x}}if(!x)if(p){b=_.entries(void 0,this._localReuse),x=b.next(),this._eventsMinorIterator=b;let e=x.value[0][1],n=t?r?e.rowEnd:e.rowStart:r?e.colEnd:e.colStart;t?(u.colIndex+=f,u.rowIndex=n):(u.colIndex=n,u.rowIndex+=f)}else{let e=this._eventMajorIndex,n=this._eventsMajor,i=n.length;if(e>=i)return this._cursor=null,si;let a=n[e],o=a[0],s=!1;for(;!o&&!s&&a;){let i=a[1],c=t?r?i.colStart:i.colEnd:r?i.rowStart:i.rowEnd;if(r?c<g:c>g){s=!0;continue}let l=a[3];_.delete(l[0]),_.delete(l[1]),e++,a=n[e],a&&(o=a[0])}let c=_.size>0?g+f:-1;for(s=!1;o&&!s&&a;){let i=a[1];if(c!==-1&&(t?r?i.colEnd:i.colStart:r?i.rowEnd:i.rowStart)!==c){s=!0;continue}let l=a[2],u=[!0,i,l],d=[!1,i,l],f=a[3];if(f[0]=u,f[1]=d,_.set(u,0),_.set(d,0),c===-1&&(c=t?r?i.colEnd:i.colStart:r?i.rowEnd:i.rowStart),e++,a=n[e],!a||(o=a[0],!o))continue;let p=a[1];(t?r?p.colEnd:p.colStart:r?p.rowEnd:p.rowStart)!==c&&(s=!0)}if(c!==-1&&(h=c),d&&(t?u.colIndex=h:u.rowIndex=h),this._eventMajorIndex=e,e>=i)return this._eventsMinorIterator=b,this._cursor=null,si;if(a){let e=a[0],n=a[1],i=t?r?n.colEnd:n.colStart:r?n.rowEnd:n.rowStart,o=t?r?n.colStart:n.colEnd:r?n.rowStart:n.rowEnd;g=e?i-f:o}m.length=0,b=_.entries(void 0,this._localReuse),x=b.next(),this._eventsMinorIterator=b}let C=x;do{let e=C.value;C=null;let n=e[0],i=n[1];if(!n[0])continue;let a=t?r?i.rowEnd:i.rowStart:r?i.colEnd:i.colStart;v!==a&&(v=a),x=b.next();let o=x.value[0],s=o[0],c=o[1],l=t?r?c.rowEnd:c.rowStart:r?c.colEnd:c.colStart;if(s&&l===v)C=x;else{let e=t?r?i.rowStart:i.rowEnd:r?i.colStart:i.colEnd,n=t?r?c.rowStart:c.rowEnd:r?c.colStart:c.colEnd;y=(r?Math.max:Math.min)(e,s?l-f:n),d&&(t?u.rowIndex=v:u.colIndex=v)}m[m.length]=Object.freeze(i)}while(C);return t?(l.colStart=r?g:h,l.colEnd=r?h:g,l.rowStart=r?y:v,l.rowEnd=r?v:y):(l.rowStart=r?g:h,l.rowEnd=r?h:g,l.colStart=r?y:v,l.colEnd=r?v:y),this._eventMinorPeek=x,this._minorStart=v,this._minorEnd=y,this._majorStart=h,this._majorEnd=g,a}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}}e.IteratorInstance=r}(_i||={}),function(e){e.Builder=class{constructor(e,t=0,n=0){this._tuples=[],this._minors=null,this._values=null,this._minorMin=2**53-1,this._minorMax=0,this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._offsetMajor=0,this._offsetMinor=0,this._createList=e,this._offsetMajor=t,this._offsetMinor=n}pushMultipleAt(e,t,n){if(n&&n.isIList)return this.pushAt(e,t,n);Array.isArray(n)||(n=[n]),this.pushAt(e,t,n[0]);let r=n.length,i=this._values;for(let e=1;e<r;e++)i.push(n[e]);return this._minorIndex=this._minorIndex+i.length-1,this}pushAt(e,n,r){let i=this._majorIndex,a=this._minorIndex;if(e+=this._offsetMajor,n+=this._offsetMinor,e<i||e===i&&n<=a)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);let o=this._minors;if(e!==i){if(o){this._minorMin=Math.min(this._minorMin,o[0][0]);let e=o[o.length-1];this._minorMax=Math.max(this._minorMax,e[0]+e[1].length-1)}this._minors=o=[],this._tuples.push([e,o]),this._majorIndex=e}if(r&&r.isIList){n===a+1&&i!==e&&this._values;let t=r;o.push([n,t]),n=n+t.length-1,this._values=null}else{let t,s=this._values;s&&n===a+1&&i===e?t=s:(this._values=t=[],o.push([n,t])),t.push(r)}return this._minorIndex=n,this}build(){let e=this._tuples;if(e.length===0)return null;let t=this._minors;this._minorMin=Math.min(this._minorMin,t[0][0]);let n=t[t.length-1];this._minorMax=Math.max(this._minorMax,n[0]+n[1].length-1);let r=this._createList;if(r){let e=t.length;for(let n=0;n<e;n++)t[n][1]=r(t[n][1])}return{tuples:e,bounds:{majorStart:e[0][0],minorStart:this._minorMin,majorEnd:e[e.length-1][0],minorEnd:this._minorMax}}}},e.TransposedBuilder=class{constructor(e,t=0,n=0){this._current=null,this._first=null,this._majorMin=2**53-1,this._majorMax=0,this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._offsetMajor=0,this._offsetMinor=0,this._createList=e,this._offsetMajor=t,this._offsetMinor=n,this._minors=new hi}pushMultipleAt(e,t,n){Array.isArray(n)||(n=[n]);let r=n.length;for(let i=0;i<r;i++){let r=t+i;this.pushAt(e,r,n[i])}return this}pushAt(e,n,r){let i,a,o=this._majorIndex,s=this._minorIndex;if(e+=this._offsetMajor,n+=this._offsetMinor,a=this._current,e!==o){if(this._majorIndex=e,e<o)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);s=-(2**53-1)}else if(a=this._current,n<=s)throw new t(`major: ${e}, minor: ${n}, prevMajor: ${this._majorIndex}, prevMinor: ${this._minorIndex}`);if(a&&a.minor===n&&(i=a.span),i)a.minor>=n&&a.next&&(this._current=a.next);else{let t=this._minors,r=a?a.next??a.prev:null;if(r){let e,o=r.minor;r&&r.minor===n?(a=r,i=a.span):e=o>n?t.getPairOrNextHigher(n,Ei):t.getPairOrNextLower(n,Ei),e&&(a=e[1],e[0]===n&&(i=a.span))}if(!i){this._majorMin=Math.min(this._majorMin,e),i=[n,[[e,[]]]];let r={minor:n,span:i,prev:null,next:null};a&&(a.minor<n?(r.prev=a,r.next=a.next,a.next&&(a.next.prev=r),a.next=r):(r.prev=a.prev,r.next=a,a.prev&&(a.prev.next=r),a.prev=r)),t.set(n,r),this._current=r;let o=this._first;(!o||n<o.minor)&&(this._first=r),r.next&&(this._current=r.next)}}let c=i[1],l=c[c.length-1],u=l[0],d=l[1];return u+d.length!==e&&(d=[],u=e,c.push([u,d])),d.push(r),this._majorMax=Math.max(this._majorMax,e),this._minorIndex=n,this}build(){let e=[],t=this._createList,n=this._minors.entries(void 0,Di),r=n.next();for(;!r.done;){let i=r.value[1].span;if(t){let e=i[1],n=e.length;for(let r=0;r<n;r++)e[r][1]=t(e[r][1])}e.push(i),r=n.next()}return e.length===0?null:{tuples:e,bounds:{majorStart:e[0][0],minorStart:this._majorMin,majorEnd:e[e.length-1][0],minorEnd:this._majorMax}}}};class t extends n.ChainedError{constructor(e=`Out of order`,t=null){super(e,t),this.name=`OutOfOrderError`}}e.OutOfOrderError=t}(vi||={});var Ei=[-1,null],Di={done:!1,value:[-1,null]};function Oi(e,t=n.Direction.Right,r=null){if(!e)return e;if(e.length===0)return[];let i=t===n.Direction.Right,a=t===n.Direction.Left,o=t===n.Direction.Up,s=t===n.Direction.Down;return e.sort((e,t)=>{if(!e&&!t)return 0;if(e&&!t)return-1;if(t&&!e)return 1;let n=r?.(e,t)??0;return n===0?i?e.rowStart===t.rowStart?e.colStart-t.colStart:e.rowStart-t.rowStart:s?e.colStart===t.colStart?e.rowStart-t.rowStart:e.colStart-t.colStart:a?e.rowStart===t.rowStart?t.colStart-e.colStart:t.rowStart-e.rowStart:o?e.colStart===t.colStart?t.rowStart-e.rowStart:t.colStart-e.colStart:0:n})}function ki(e,t){let n=t.min,r=e.min;if(t.max===2**53-1){let i=n,a=e.max;return r<=i&&i<=a?0:a<i?-1:r>i?1:(console.warn(`coords are not inserted correctly`,e,t),0)}return r-n}var Ai=class e{constructor(e){this._dataCoords=null,this._count=0,this._length=0,this._maxCoords=null,this._options=e,e?.maxCoords&&(this._maxCoords=Object.freeze({...e.maxCoords})),this._runs=new hi(void 0,ki,e?.nodeSize),this._reuseRunsIterator={done:!1,value:[null,null]},this._reuseRunsEntry=[null,null]}_validateBounds(e=-(2**53-1),t=2**53-1){let r=this._maxCoords,i=r?.min??-(2**53-1),a=r?.max??2**53-1;if(e<i||t>a)throw new n.OutOfBoundsError}entries(e){let t,r,i=-(2**53-1),a=2**53-1,o=!0;e&&(e?.bounds&&(i=e.bounds?.min??-(2**53-1),a=e.bounds?.max??2**53-1,this._validateBounds(i,a)),o=!e.reverse,t=ji(e.reuseResult),r=e.processSkip);let s=this._dataCoords;if(!s)return ci;i=Math.max(s.min,i),a=Math.min(s.max,a);let c=null,l=null,u=2**53-1,d=-(2**53-1);if(r){let e=r;r=(t,n)=>e(t+u,n)-u}let f=e=>{let t;e!==-(2**53-1)&&e!==2**53-1&&(Bi.min=e,t=Bi),c=o?this._runs.entries(t,this._reuseRunsIterator):this._runs.entriesReversed(t,this._reuseRunsIterator),u=2**53-1,d=-(2**53-1),l=null},p=e=>{if(e!==void 0){if(e<u||e>d)return void(l=void 0);e-=u}if(!l)return;let n=l.next(e);if(!l)return;let r=n.value,i=r?.[1];if(!n.done)return Mi(r[0]+u,i,t);l=void 0},m=e=>{let n;return n=p(e),n||(n=(e=>{let n;do{if(e!==void 0&&f(e),!c)return;if(n=c.next(),n.done)return void(c=void 0);let s=n.value,m=s[0],h=s[1],g=m.min,_=m.max,v=Math.max(g,i)-g,y=Math.max(v,Math.min(_,a))-g;Ri.bounds.min=v,Ri.bounds.max=y,Ri.reverse=!o,Ri.processSkip=r,Ri.reuseResult=t,u=g,d=_,l=h.entries(Ri);let b=p(e);if(b)return b;e=void 0}while(!n.done);c=void 0})(e),n||si)};return f(o?i:a),{next(e){if(e!==void 0&&(e<0||e>a))throw new n.OutOfBoundsError;return m(e)},return:e=>null,throw:e=>null}}runs(e){let t,r=-(2**53-1),i=2**53-1,a=!0,o=!1;e&&(e.bounds&&(r=e.bounds?.min??-(2**53-1),i=e.bounds?.max??2**53-1,this._validateBounds(r,i),e.overflowRun&&(o=!0)),a=!e.reverse,t=Ni(e.reuseResult));let s=this._dataCoords;if(!s)return ci;r=Math.max(s.min,r),i=Math.min(s.max,i);let c=null,l=e=>{let t;e!==-(2**53-1)&&e!==2**53-1&&(Bi.min=e,t=Bi),c=a?this._runs.entries(t,this._reuseRunsIterator):this._runs.entriesReversed(t,this._reuseRunsIterator)};return l(a?r:i),{next(e){if(e!==void 0){if(e<r||e>i)throw new n.OutOfBoundsError;l(e)}if(!c)return si;let s=c.next();if(s.done)return c=void 0,si;let u=s.value,d=u[0],f=d,p=f.min,m=f.max;if(a&&p>i||!a&&m<r)return si;let h=u[1];return o||(m>i&&(h=h.slice(0,h.length-(m-i)),f={...f},f.max=i),p<r&&(h=h.slice(r-p),f===d&&(f={...f}),f.min=r)),Pi(f,h,t)},return:e=>null,throw:e=>null}}slice(t,n){let r=this._runs;if(this._count===0)return this.clone();let i=r.minKey().min,a=r.maxKey().max;if(n===void 0&&(n=a+1),t<=i&&n-1>=a)return this.clone();let o=Math.max(i,t),s=Math.min(a,n-1),c=s-o,l=[],u=0;Ui.bounds.min=o,Ui.bounds.max=s;let d=this.runs(Ui),f=d.next();for(;!f.done;){let e=f.value,t=e[0],n=e[1];t={min:t.min-o,max:t.max-o},t.min<0&&(n=n.slice(-t.min),t.min=0),t.max>=c&&(n=n.slice(0,n.length-(t.max-c)),t.max=c),u+=n.length,l.push([t,n]),f=d.next()}let p=new e(this._options);return p._runs.setPairs(l),p._updateCount(u),p}concat(e){let t=this.clone();if(!e||e.length===0)return t;let n=this._runs;if(this._count===0){let n=[],r=0;if(e.isISparseList){let t=e.runs(),i=t.next();for(;!i.done;){let e=i.value;n.push([{min:e[0].min,max:e[0].max},e[1]]),r+=e[1].length,i=t.next()}}else n.push([{min:0,max:e.length-1},e]),r+=e.length;return t._runs.setPairs(n),t._updateCount(r),t}let r=n.nextLowerPair(void 0,this._reuseRunsEntry),i=r[0],a=r[1],o=i.max+1,s=!1,c=0,l=[];if(e.isISparseList){let t=e.runs(),n=t.next();for(;!n.done;){let e=n.value,r=e[0],u={min:r.min+o,max:r.max+o},d=e[1];if(r.min===0){s=!0,c-=a.length,d=a.concat(d);let e=i.min;u.min=e,u.max=d.length-1+e}c+=d.length,l.push([u,d]),n=t.next()}}else{let t=e.length,n={min:i.min,max:t-1+o};e=a.concat(e),s=!0,c+=t,l.push([n,e])}return s&&t._runs.delete(i),t._runs.setPairs(l),t._updateCount(c),t}toArray(e=2**53-1,t=!0){if(this.length===0)return n.CommonUtils.EmptyArray;let r=t?0:-(2**53-1),i=Math.min(this._runs.maxKey().max,e);return zi.bounds.min=-(2**53-1),zi.bounds.max=i,Fi(this.entries(zi),t,i,r)}get isIReadableList(){return!0}get length(){return this._length}getCoords(){return this._dataCoords}clear(){this._runs.clear(),this._dataCoords=null,this._lastRunsRead=void 0,this._lastListRead=void 0,this._count=0,this._length=0}get isISparseList(){return!0}get isIList(){return!0}_updateCount(e){if(this._count+=e,this._lastRunsRead=void 0,this._lastListRead=void 0,this._count>0){let e=this._runs,t=Object.freeze({min:e.minKey().min,max:e.maxKey().max});this._dataCoords=t,this._length=t.max+1}else this._dataCoords=null,this._length=0}_update(e,t,n=null,r=void 0){let i=e,a=i+t-1,o=0,s=a,c=a,l=null,u=null;Bi.min=i,Vi.min=a,(n||r)&&(--Bi.min,Vi.min+=1);let d=this._runs,f=!1;if(d.editRange(Bi,Vi,!0,(e,t,n)=>{let r=e.min,d=e.max;return r<i&&d+1>=i&&(s=r,l=t),r-1<=a&&d>a&&(c=r,u=t),o-=d-r+1,f=!0,hi.DeleteValue}),n||r===void 0||(n=new li([r])),n){let e=n;f=!0;let t=i;l&&(l=l.slice(0,i-s),e=l.concat(e),t=s),u&&(u=u.slice(a+1-c),e=e.concat(u)),o+=e.length,d.set({min:t,max:t+e.length-1},e)}else l&&(l=l.slice(0,i-s),o+=l.length,d.set({min:s,max:s+l.length-1},l)),u&&(u=u.slice(a+1-c),o+=u.length,d.set({min:a+1,max:a+u.length},u));return this._updateCount(o),f}setAt(e,t){if(e===void 0)throw new n.NullNotAllowedError;return this._validateBounds(e,e),this._update(e,1,null,t)}setRunAt(e,t){if(!t||t.length===0)return!1;if(e===void 0||!t.length)throw new n.NullNotAllowedError;let r=t.length;return this._validateBounds(e,e+r-1),this._update(e,r,t)}delete(e,t){if(t===void 0){let n=this.getCoords();if(!n)return!1;t=Math.max(n.max-e+1,0)}return!(t<=0)&&(this._validateBounds(e,e),this._update(e,t,null))}shift(e,t){if(t===0)return!1;let n=e,r=e;t<0&&(r=e-t-1),this._validateBounds(n,r);let i=this._runs;if(this._count===0)return!1;let a=i.maxKey();if(t<0&&r>=a.max&&n<=i.minKey().min)return this._runs.clear(),this._dataCoords=null,this._count=0,this._length=0,!0;let o=0,s=n,c=r,l=null,u=null;Bi.min=s,Vi.min=a.min,t<0&&(--Bi.min,Vi.min+=1);let d=!1,f=[];if(i.editRange(Bi,Vi,!0,(e,i,a)=>{let p=e.min,m=e.max;return p<n&&m+1>=n&&(s=p,l=i),(p<n||t<0)&&p-1<=r&&e.max>r&&(c=p,u=i),t>0&&p>=n||t<0&&p-1>r?f.push([{min:p+t,max:m+t},i]):o-=m-p+1,d=!0,hi.DeleteValue}),t>0){let r=l||u;r&&(l=r.slice(0,n-s),c=e+t,u=r.slice(n-s))}else l&&=l.slice(0,n-s),u&&(u=u.slice(r+1-c),c=e),l&&u&&s+l.length===c&&(l=l.concat(u),u=null);return l&&l.length>0&&(o+=l.length,i.set({min:s,max:s+l.length-1},l)),u&&(o+=u.length,i.set({min:c,max:c+u.length-1},u)),f.length>0&&i.setPairs(f),this._updateCount(o),d}at(e){Bi.min=e;let t=this._lastRunsRead;if(t){let n=t.min;if(n<=e&&t.max>=e)return this._lastListRead.at(e-n)}let n,r,i=this._runs.getPairOrNextHigher(Bi,Hi);if(i&&(n=i[0],r=i[1]),this._lastRunsRead=n,this._lastListRead=r,!(!n||e<n.min||e>n.max))return r.at(e-n.min)}[Symbol.iterator](){return ii(this.entries())}clone(){let t=new e(this._options);return t._runs=this._runs.clone(),t._count=this._count,t._dataCoords=this._dataCoords,t._length=this._length,t}getMaxCoords(){return this._maxCoords||null}getCount(){return this._count}getRunsCount(){return this._runs.size}get[Symbol.toStringTag](){return`[SparseList]`}};Ai||={};var ji=e=>typeof e==`boolean`?!0===e?Li:void 0:(e&&!e.value&&(e.value=[-1,null]),e),Mi=(e,t,n)=>{let r=n??{done:!1,value:[-1,null]},i=r.value;return i[0]=e,i[1]=t,r},Ni=e=>typeof e==`boolean`?!0===e?Ii:void 0:(e&&!e.value&&(e.value=[null,null]),e),Pi=(e,t,n)=>{let r=n??{done:!1,value:[null,null]},i=r.value;return i[0]=e,i[1]=t,r},Fi=(e,t=!1,n=-(2**53-1),r=2**53-1)=>{let i=[],a=e.next(),o=Math.max(r,0)-1;for(;!a.done;){if(t){let e=a.value[0];for(let t=o;t<e-1;t++)i.push(void 0);o=e}i.push(a.value[1]),a=e.next()}if(t)for(let e=o;e<n;e++)i.push(void 0);return i},Ii=Object.seal({done:!1,value:[{min:-(2**53-1),max:2**53-1},null]}),Li=Object.seal({done:!1,value:[-1,null]}),Ri={reverse:!1,bounds:{min:-(2**53-1),max:2**53-1},processSkip:null,reuseResult:Li},zi=Object.freeze({reverse:!1,bounds:{min:-(2**53-1),max:2**53-1},processSkip:null,reuseResult:Li}),Bi={min:0,max:2**53-1},Vi={min:0,max:2**53-1},Hi=[null,null],Ui={bounds:{min:0,max:0},overflowRun:!0},Wi=class{constructor(e,t){this._l=0,e&&t>0&&(this._u=e,this._l=t)}at(e){if(e>=this._l||e<0||!this._u)return;let t=e%this._u.length;return this._u.at(t)}toArray(e){let t=[],n=this._u,r=n.length,i=Math.min(e??this._l,this._l);for(let e=0;e<i;e++){let i=e%r;t.push(n.at(i))}return t}get length(){return this._l}get[Symbol.toStringTag](){return`[RepeatingList]`}get isIList(){return!0}},Gi=class{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(e){return this.isEmpty()?e??n.CommonUtils.EmptyArray:this._all(this._data,e??[])}search(e,t){if(this.isEmpty()||!da(e,this._data.range))return t??n.CommonUtils.EmptyArray;let r=t??[],i=_a,a=this._data;for(;a;){let t=a.children;if(t!==null){let n=t.length;for(let i=0;i<n;i++){let n=t[i];da(e,n.range)&&(n.children===null?r.push(n.range):ua(e,n.range)?this._all(n,r):ga[_a++]=n)}}a=_a>i?ga[--_a]:void 0}return _a=i,r}collides(e){if(this.isEmpty()||!da(e,this._data.range))return!1;let t=_a,n=this._data;for(;n;){let r=n.children;if(r!==null){let n=r.length;for(let i=0;i<n;i++){let n=r[i],a=n.range;if(da(e,a)){if(n.children===null||ua(e,a))return _a=t,!0;ga[_a++]=n}}}n=_a>t?ga[--_a]:void 0}return _a=t,!1}isEmpty(){let e=this._data.children;return e!==null&&e.length===0}getBoundingRange(){let e=this._data,t=e.children;if(t!==null&&t.length===0)return null;let n=e.range;return{colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd}}load(e){if(!e||!e.length)return this;let t=e.length;if(t<this._minEntries){for(let n=0;n<t;n++)this.insert(e[n]);return this}let n=this._build(e.slice(),0,e.length-1,0);if(this.isEmpty())this._data=n;else if(this._data.height===n.height)this._splitRoot(this._data,n);else{if(this._data.height<n.height){let e=this._data;this._data=n,n=e}this._insert(n,this._data.height-n.height-1)}return this}removeAll(e,t){let n=e?e.length:0;if(n===0||this.isEmpty())return this;let r=xa;r.colStart=Yi,r.rowStart=Yi,r.colEnd=Xi,r.rowEnd=Xi;for(let t=0;t<n;t++)ta(r,e[t]);let i;if(t)i=r=>{for(let i=0;i<n;i++)if(t(r,e[i]))return!0;return!1};else{let t=new Set(e);i=e=>t.has(e)}return qi(this._data,i,r)&&this.clear(),this}clear(){return this._data=Qi([]),this}insert(e){return e&&this._insert(Ji(e),this._data.height-1),this}remove(e,t){if(!e)return this;let n=e,r=ya,i=ba,a=0,o=this._data,s=0,c=null,l=!1;for(;o||a>0;){if(!o){let e=--a;o=r[e],r[e]=ha,c=a>0?r[a-1]:null,s=i[a],l=!0}if(o.height===1){let n=Ki(e,o.children,t);if(n!==-1){o.children.splice(n,1),r[a++]=o;for(let e=a-1;e>=0;e--)if(r[e].children.length===0)if(e>0){let t=r[e-1].children;t.splice(t.indexOf(r[e]),1)}else this.clear();else $i(r[e]);return this}}!l&&o.height>1&&ua(o.range,n)?(r[a]=o,i[a]=s,a++,s=0,c=o,o=o.children[0]):c?(s++,o=c.children[s]??null,l=!1):o=null}return this}_all(e,t){let n=_a,r=e;for(;r;){if(r.children===null)t.push(r.range);else{let e=r.children,t=e.length;for(let n=0;n<t;n++)ga[_a++]=e[n]}r=_a>n?ga[--_a]:void 0}return _a=n,t}_build(e,t,n,r){let i=n-t+1,a=this._maxEntries;if(i<=a){let n=i,r=[];for(let i=0;i<n;i++)r.push(Ji(e[t+i]));let a=Qi(r);return a.height=1,$i(a),a}r||(r=Math.ceil(Math.log(i)/Math.log(a)),a=Math.ceil(i/a**(r-1)));let o=Qi([]);o.height=r;let s=Math.ceil(i/a),c=s*Math.ceil(Math.sqrt(a));fa(e,t,n,c,ia);for(let i=t;i<=n;i+=c){let t=Math.min(i+c-1,n);fa(e,i,t,s,aa);for(let n=i;n<=t;n+=s)o.children.push(this._build(e,n,Math.min(n+s-1,t),r-1))}return $i(o),o}_chooseSubtree(e,t,n,r){let i=0;for(;r[i++]=t,t.children!==null&&i-1!==n;){let n,r=1/0,i=1/0,a=t.children,o=a.length;for(let t=0;t<o;t++){let o=a[t],s=o.range,c=oa(s),l=ca(e,s)-c;l<i?(i=l,r=c<r?c:r,n=o):l===i&&c<r&&(r=c,n=o)}t=n??a[0]}return t}_insert(e,t){let n=va;n.length=0;let r=e.range,i=this._chooseSubtree(r,this._data,t,n);i.children.push(e),ta(i.range,r);let a=t,o=this._maxEntries;for(;a>=0&&n[a].children.length>o;)this._split(n,a),a--;for(let e=a;e>=0;e--)ta(n[e].range,r)}_split(e,t){let n=e[t],r=n.children,i=r.length,a=this._minEntries;this._chooseSplitAxis(n,a,i);let o=this._chooseSplitIndex(n,a,i),s=Qi(r.splice(o,i-o));s.height=n.height,$i(n),$i(s),t?e[t-1].children.push(s):this._splitRoot(n,s)}_splitRoot(e,t){this._data=Qi([e,t]),this._data.height=e.height+1,$i(this._data)}_chooseSplitIndex(e,t,n){let r=-1,i=1/0,a=1/0;for(let o=t;o<=n-t;o++){let t=ea(e,0,o,Sa),s=ea(e,o,n,Ca),c=la(t,s),l=oa(t)+oa(s);c<i?(i=c,r=o,a=l<a?l:a):c===i&&l<a&&(a=l,r=o)}return r||n-t}_chooseSplitAxis(e,t,n){this._allDistMargin(e,t,n,na)>=this._allDistMargin(e,t,n,ra)||e.children.sort(na)}_allDistMargin(e,t,n,r){let i=e.children;i.sort(r);let a=ea(e,0,t,Sa),o=ea(e,n-t,n,Ca),s=sa(a)+sa(o);for(let e=t;e<n-t;e++)ta(a,i[e].range),s+=sa(a);for(let e=n-t-1;e>=t;e--)ta(o,i[e].range),s+=sa(o);return s}};function Ki(e,t,n){let r=t.length;for(let i=0;i<r;i++){let r=t[i].range;if(n?n(e,r):e===r)return i}return-1}function qi(e,t,n){if(e.height===1){let n=e.children,r=n.length;for(let e=n.length-1;e>=0;e--)t(n[e].range)&&n.splice(e,1);return n.length!==r&&n.length>0&&$i(e),n.length===0}let r=e.children,i=!1;for(let e=r.length-1;e>=0;e--){let a=r[e];da(a.range,n)&&qi(a,t,n)&&(r.splice(e,1),i=!0)}return i&&r.length>0&&$i(e),r.length===0}function Ji(e){return{range:e,children:null,height:0}}var Yi=1073741823,Xi=-1073741824;function Zi(){return{colStart:Yi,rowStart:Yi,colEnd:Xi,rowEnd:Xi,value:null}}function Qi(e){return{range:Zi(),children:e,height:1}}function $i(e){let t=e.range;t.colStart=Yi,t.rowStart=Yi,t.colEnd=Xi,t.rowEnd=Xi;let n=e.children;if(n){let e=n.length;for(let r=0;r<e;r++)ta(t,n[r].range)}}function ea(e,t,n,r){let i=r??Zi();i.colStart=Yi,i.rowStart=Yi,i.colEnd=Xi,i.rowEnd=Xi;let a=e.children;for(let e=t;e<n;e++)ta(i,a[e].range);return i}function ta(e,t){let n=e.colStart,r=e.colEnd,i=e.rowStart,a=e.rowEnd;return e.colStart=n<t.colStart?n:t.colStart,e.rowStart=i<t.rowStart?i:t.rowStart,e.colEnd=r>t.colEnd?r:t.colEnd,e.rowEnd=a>t.rowEnd?a:t.rowEnd,e}function na(e,t){return e.range.colStart-t.range.colStart}function ra(e,t){return e.range.rowStart-t.range.rowStart}function ia(e,t){return e.colStart-t.colStart}function aa(e,t){return e.rowStart-t.rowStart}function oa(e){return(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1)}function sa(e){return e.colEnd-e.colStart+1+(e.rowEnd-e.rowStart+1)}function ca(e,t){let n=e.colStart,r=e.colEnd,i=e.rowStart,a=e.rowEnd;return((t.colEnd>r?t.colEnd:r)-(t.colStart<n?t.colStart:n)+1)*((t.rowEnd>a?t.rowEnd:a)-(t.rowStart<i?t.rowStart:i)+1)}function la(e,t){let n=e.colStart,r=e.colEnd,i=n>t.colStart?n:t.colStart,a=(r<t.colEnd?r:t.colEnd)-i+1;if(a<=0)return 0;let o=e.rowStart,s=e.rowEnd,c=o>t.rowStart?o:t.rowStart,l=(s<t.rowEnd?s:t.rowEnd)-c+1;return l<=0?0:a*l}function ua(e,t){return e.colStart<=t.colStart&&e.rowStart<=t.rowStart&&t.colEnd<=e.colEnd&&t.rowEnd<=e.rowEnd}function da(e,t){return t.colStart<=e.colEnd&&t.rowStart<=e.rowEnd&&t.colEnd>=e.colStart&&t.rowEnd>=e.rowStart}function fa(e,t,n,r,i){let a=0;for(wa[a++]=t,wa[a++]=n;a>0;){if((n=wa[--a])-(t=wa[--a])<=r)continue;let o=t+Math.ceil((n-t)/r/2)*r;pa(e,o,t,n,i),wa[a++]=t,wa[a++]=o,wa[a++]=o,wa[a++]=n}}function pa(e,t,n,r,i){let a=n,o=r,s=i;for(;o>a;){if(o-a>600){let n=o-a+1,r=t-a+1,i=Math.log(n),c=.5*Math.exp(2*i/3),l=.5*Math.sqrt(i*c*(n-c)/n)*(r-n/2<0?-1:1),u=Math.floor(t-r*c/n+l),d=u>a?u:a,f=Math.floor(t+(n-r)*c/n+l);pa(e,t,d,f<o?f:o,s)}let n=e[t],r=a,i=o;for(ma(e,a,t),s(e[o],n)>0&&ma(e,a,o);r<i;){for(ma(e,r,i),r++,i--;s(e[r],n)<0;)r++;for(;s(e[i],n)>0;)i--}s(e[a],n)===0?ma(e,a,i):(i++,ma(e,i,o)),i<=t&&(a=i+1),t<=i&&(o=i-1)}}function ma(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}var ha={range:Zi(),children:null,height:0},ga=[];for(let e=0;e<128;e++)ga.push(ha);var _a=0,va=[];for(let e=0;e<4;e++)va.push(ha);var ya=[],ba=[];for(let e=0;e<8;e++)ya.push(ha),ba.push(0);var xa=Zi(),Sa=Zi(),Ca=Zi(),wa=[];for(let e=0;e<64;e++)wa.push(0);var Ta=class e{constructor(e){this._shared=null,this._cloneKey=null,this._lastMiss={colStart:2**53-1,rowStart:0,colEnd:0,rowEnd:0},this._lastSingle={colStart:2**53-1,rowStart:0,colEnd:0,rowEnd:0},this._lastSingleResult=null,this._options=e,this._rTree=new Ea(e?.maxNodeEntries??16)}visitRanges(e,t,n=null){let r,i=this.search(e);n&&(i=Oi(i,n));let a=[],o=null,s=i.length;for(let e=0;!o&&e<s;e++){let n=i[e],s=t?.(n);s&&(!0===s.delete?a.push(n):s.update!==void 0&&(a.push(n),r||=[],r.push(s.update)),s&&!0===s.break&&(o=s))}return a.length>0&&this._getWritableTree().removeAll(a),r&&this.load(r),this._onModified(),o}getBoundingRange(){return this._getReadTree().getBoundingRange()}size(){return this._getReadTree().all().length}isEmpty(){return this._getReadTree().isEmpty()}search(e,t=!1,r=!1,i){let a=this._getReadTree();if(a.isEmpty())return n.CommonUtils.EmptyArray;let o=!t&&!r&&!i;if(o){let t=this._lastMiss;if(t.colStart!==2**53-1&&n.CoordUtils.isRangeWithinRange(e,t))return n.CommonUtils.EmptyArray;let r=this._lastSingle;if(r.colStart!==2**53-1&&r.colStart===e.colStart&&r.colEnd===e.colEnd&&r.rowStart===e.rowStart&&r.rowEnd===e.rowEnd)return this._lastSingleResult;if(r.colStart!==2**53-1&&this._lastSingleResult?.length===1&&n.CoordUtils.isRangeWithinRange(e,r)){let r=this._lastSingleResult[0];return r.colStart<=e.colEnd&&r.colEnd>=e.colStart&&r.rowStart<=e.rowEnd&&r.rowEnd>=e.rowStart?this._lastSingleResult:(t.colStart=e.colStart,t.rowStart=e.rowStart,t.colEnd=e.colEnd,t.rowEnd=e.rowEnd,n.CommonUtils.EmptyArray)}}let s=a.searchRange(e,t,i);return o&&(s.length===0?(this._lastMiss.colStart=e.colStart,this._lastMiss.rowStart=e.rowStart,this._lastMiss.colEnd=e.colEnd,this._lastMiss.rowEnd=e.rowEnd,this._lastSingle.colStart=2**53-1,this._lastSingleResult=null):(this._lastMiss.colStart=2**53-1,this._lastSingle.colStart=e.colStart,this._lastSingle.rowStart=e.rowStart,this._lastSingle.colEnd=e.colEnd,this._lastSingle.rowEnd=e.rowEnd,this._lastSingleResult=s)),r&&s.sort(n.CoordUtils.columnFirstRangeComparator),s}has(e){return this._getReadTree().collides(e)}all(e){return this._getReadTree().all(e)}shift(e){let t=e.range,r=e.direction,i=e.cloneIfUpdate??!1,a=e.coordValidator??null,o=e.onShift??null,s=r===n.Direction.Left||r===n.Direction.Right,c=s?n.RangeAxis.Column:n.RangeAxis.Row,l=r===n.Direction.Up||r===n.Direction.Left?-1:1,u=(s?t.colEnd-t.colStart+1:t.rowEnd-t.rowStart+1)*l,d=[],f=[],p=null,m=this.getBoundingRange();if(!m)return this;let h=r===n.Direction.Up||r===n.Direction.Left?n.Direction.Right:n.Direction.Left,g=new Map,_=new Map,v=this._options?.updateEntryOptions,y=v?.isMergeOnShift??!1,b=v?.isSplitOnExpand??!1,x=v?.isTrailingEdge??!1,S=r===n.Direction.Left||r===n.Direction.Up,C=v?.getSplit??Ia,w=v?.getShifted,T=v?.onShifted,E=v?.onRemoved,D=v?.onMerged,O=v?.onUpdated,k=T?[]:null,A=E?[]:null,j=O?[]:null,M;this.visitRanges({colStart:t.colStart-+!!s,rowStart:t.rowStart-+!s,colEnd:s?m.colEnd:t.colEnd,rowEnd:s?t.rowEnd:m.rowEnd},e=>{if((s?e.colEnd<t.colStart:e.rowEnd<t.rowStart)&&!x)return;let i=function(e,t,r=n.AxisSelection.Both){let i=n=>n?e.rowStart>t.rowStart&&e.rowStart<=t.rowEnd||e.rowEnd<t.rowEnd&&e.rowEnd>=t.rowStart:e.colStart>t.colStart&&e.colStart<=t.colEnd||e.colEnd<t.colEnd&&e.colEnd>=t.colStart,a=r===n.AxisSelection.Column,o=r===n.AxisSelection.Row;return r===n.AxisSelection.Both&&(a=o=!0),!(!a||!i(!0))||!(!o||!i(!1))}(t,e,s?n.AxisSelection.Column:n.AxisSelection.Row),l=e.group;if(S&&!l&&t.colStart<=e.colStart&&t.rowStart<=e.rowStart&&t.colEnd>=e.colEnd&&t.rowEnd>=e.rowEnd){let r=Ra(e,null,{after:null,before:e,intersect:t,isSplit:i,axis:c,amount:u},w,C,o,!1);if(r===void 0)return;if(r===null)return p=n.CoordUtils.unionRanges(p,e),A&&A.push(e),void d.push(e)}let m={...e};r===n.Direction.Right?(t.colStart<=m.colStart&&(m.colStart+=u),m.colEnd+=u):r===n.Direction.Left?t.colStart<m.colStart?(m.colStart=Math.max(m.colStart+u,t.colStart),m.colEnd=Math.max(m.colEnd+u,m.colStart-1)):m.colEnd+=Math.max(u,t.colStart-m.colEnd-1):r===n.Direction.Down?(t.rowStart<=m.rowStart&&(m.rowStart+=u),m.rowEnd+=u):r===n.Direction.Up&&(t.rowStart<m.rowStart?(m.rowStart=Math.max(m.rowStart+u,t.rowStart),m.rowEnd=Math.max(m.rowEnd+u,t.rowStart-1)):m.rowEnd+=Math.max(u,t.rowStart-m.rowEnd-1)),(m.colEnd<m.colStart||m.rowEnd<m.rowStart)&&(m=null);let h=Ra(e,m,{after:m,before:e,intersect:t,isSplit:i,axis:c,amount:u},w,C,o,b&&u>0);if(h===void 0)return;let v=h===null?[m]:h,y=v.length;if(v[0]!==e||y!==1){if(a)for(let e=0;e<y;e++){let t=v[e];t&&a(t)}let t;l?(g.set(l.uuid,l),t=[],_.set(e.uuid,t)):d.push(e);for(let r=0;r<y;r++){let i=v[r];p=n.CoordUtils.unionRanges(p,i),l?t.push(i):(f.push(i),k&&k.push(i),j&&j.push(e))}}},h),M=i&&(d.length>0||f.length>0||_.size>0)?this.clone():this,M._updateNodes(f,d),e?.onUpdates&&e.onUpdates(f,d,M),_.size>0&&M._updateGroupedEntries(g,_);let N=n.CommonUtils.EmptyArray;if(y&&m&&p){let e=!0;if(u>0&&(e=s?t.rowStart>m.rowStart||t.rowEnd<m.rowEnd:t.colStart>m.colStart||t.colEnd<m.colEnd),e){let e=Da(p,n.CoordUtils.unionRanges(m,p),+!s,+!!s);D&&(N=M._mergeNodes(e,!1))}}return O&&j.length>0&&O(j),T&&k.length>0&&T(k),D&&N.length>0&&D(N),E&&A.length>0&&E(A),this._onModified(),M}insertNonOverlapping(e,t){let r=t?.onIntersect??((e,t)=>({...e,value:t.value})),i=this.search(e),a=new Map,o=new Map,s=this._options?.updateEntryOptions,c=s?.onUpdated,l=s?.onRemoved,u=s?.onMerged,d=s?.getSplit,f=s?.getIntersect,p=s?.getUpdate,m=null,h=null,g=null,_=Na(i,e,{getSplit:(e,t,n,r)=>{let i;return d?(i=d(e,t,n,r),i):(i=Ia(e,t,n,r),i)},getIntersect:(e,t)=>{f&&(t=f(e,t));let n=r(e,t);return n===void 0||n!==null&&n.value!==null||e.value?.onRemove?.(e),n},getUpdate:e=>{let t=e?.group;if(t){a.set(t.uuid,t);let n=o.get(e.lastId??e.uuid);n||(n=[],o.set(e.lastId??e.uuid,n)),n.push(e.value===null?null:e)}let n=e;if(p&&(n=p(e)),n&&n.value!==null)c&&(m||=[],m.push(n));else if(l&&!g){g=[];let t=n&&n.value===null?n:{...e,value:null};g.push(t)}return n}}),v=this.getBoundingRange();if(a.size>0){let e=[],t=_.length;for(let n=0;n<t;n++){let t=_[n];t.group||e.push(t)}_=e}if(this._updateNodes(_,i,t?.onUpdates),a.size>0&&this._updateGroupedEntries(a,o),v&&!s?.noMerge&&!t?.noMerge){let r=Da(e,n.CoordUtils.unionRanges(v,e)),i=this.search(r);if(i.length>1){let e=s?.getMerged??La,r=i;r=Pa(r,n.RangeAxis.Column,1,e),r=Pa(r,n.RangeAxis.Row,1,e),i.length!==r.length&&(u&&r.length>0&&(h=r),this._updateNodes(r,i,t?.onUpdates))}}return m&&c(m),h&&u(h),g&&l(g),this._onModified(),this}insertGroup(e,t){t??=n.CommonUtils.uuidV4();let r=[],i=e.length;for(let a=0;a<i;a++){let i={...e[a],group:{entries:r,uuid:t,offset:a},uuid:n.CommonUtils.uuidV4()};r.push(i),e[a]=i}return this.load(e),this._options?.updateEntryOptions?.onGroupUpdate?.(e,t),this._onModified(),this}createCopiedEntries(e,t,r,i,a){return function(e,t,r,i,a,o,s){let c=r.colEnd-r.colStart+1,l=r.rowEnd-r.rowStart+1,u=r.colStart-t.colStart,d=r.rowStart-t.rowStart,f=i?.transpose??!1,p=1,m=1;f?(p=t.rowEnd-t.rowStart+1,m=t.colEnd-t.colStart+1):(p=t.colEnd-t.colStart+1,m=t.rowEnd-t.rowStart+1);let h=Math.ceil(c/p),g=Math.ceil(l/m),_=r.scope,v=a??[],y=o??n.CommonUtils.EmptyArray,b=r.colEnd,x=r.rowEnd;return e.visitRanges(t,e=>{let a=e.value;if(!a.copyTo)return;let o=e;if(!n.CoordUtils.isRangeWithinRange(o,t)){let e=ja(o,t,s);o=e[e.length-1]}a=o.value;let y=o.colEnd-o.colStart+1,S=o.rowEnd-o.rowStart+1,C=u+o.colStart,w=d+o.rowStart;if(f){C=o.rowStart-t.rowStart+r.colStart,w=o.colStart-t.colStart+r.rowStart;let e=y;y=S,S=e}let T=h,E=g,D=c<=T*y,O=l<=E*S;if(D||O){let e=a?.canTile?.({colStart:C,rowStart:w,colEnd:Math.min(C+(D?c:y)-1,b),rowEnd:Math.min(w+(O?l:S)-1,x)},i);!D||!0!==e&&e!==n.RangeAxis.Column||(y=c,T=1),!O||!0!==e&&e!==n.RangeAxis.Row||(S=l,E=1)}for(let e=0;e<T;e++){let t=C+e*p;for(let e=0;e<E;e++){let n=w+e*m,r=Math.min(t+y-1,b),o=Math.min(n+S-1,x),s={colStart:t,rowStart:n,colEnd:r,rowEnd:o,scope:_};if(t>r||n>o)continue;let c=a.copyTo(s,i);c&&v.push(c)}}},n.Direction.Right),{inserts:v,removes:y}}(this,e,t,r,i,a,this._options?.updateEntryOptions?.getSplit??Ia)}remove(e,t){return e&&(this._getWritableTree().remove(e,t??Aa),this._onModified()),this}removeAll(e,t){return e&&e.length>0&&this._getWritableTree().removeAll(e,t),this._onModified(),this}insert(e){return e&&this._getWritableTree().insert(e),this._onModified(),this}load(e){return e&&e.length>0&&this._getWritableTree(e),this._onModified(),this}clear(){return this.isEmpty()||this._getWritableTree().clear(),this._onModified(),this}delete(e){if(this.isEmpty())return this;if(!e)return this.clear();let t=this.search(e);return t.length===0||(this._getWritableTree().removeAll(t),this._onModified()),this}clone(e=null){if(e!==null&&this._cloneKey===e)return this;let t=this._shared;t||(t={rTree:this._rTree,refCount:1},this._shared=t),t.refCount++;let n=this._createClone(this._options);return n._shared=t,n._cloneKey=e,n}_updateGroupedEntries(e,t){let n=[],r=[],i=new Map,a=e.values(),o=a.next();for(;!o.done;){let e=o.value,s=e.entries,c=e.uuid,l=[];for(let e=0;e<s.length;e++){let i=s[e];n.push(i);let a=t.get(i.uuid);a===void 0&&(a=[{...i}]);for(let e=0;e<a.length;e++){let t=a[e];t!==null&&(t={...t,group:{offset:l.length,entries:l,uuid:c}},l.push(t),r.push(t))}}l.sort((e,t)=>e.group.offset-t.group.offset),i.set(c,l),o=a.next()}if(this._updateNodes(r,n),i){let e=this._options?.updateEntryOptions?.onGroupUpdate;if(e){let t=i.entries(),n=t.next();for(;!n.done;){let r=n.value[0];e(n.value[1],r),n=t.next()}}}}_copy(e,t){let n=e.rTree.all([]),r=new Ea(this._options?.maxNodeEntries);return t&&(n=n.concat(t)),n.length>0&&r.load(n),{refCount:1,rTree:r}}_updateNodes(e,t,n){if(!(e&&e.length!==0||t&&t.length!==0))return;let r=this._getWritableTree();if(t){let e=t.length;for(let n=0;n<e;n++){let e=t[n],i=e.value;i&&i.onRemove&&i.onRemove(e),r.remove(e)}}e.length>0&&r.load(e),n?.(e,t,this),this._options?.updateEntryOptions?.onUpdates?.(e,t,this)}_mergeNodes(e,t){let r=this.search(e,t),i=n.CommonUtils.EmptyArray;if(r.length>1){let e=this._options?.updateEntryOptions?.getMerged??La,t=r;t.length>1&&(t=Pa(t,n.RangeAxis.Column,1,e)),t.length>1&&(t=Pa(t,n.RangeAxis.Row,1,e)),r.length!==t.length&&(i=t,this._updateNodes(t,r))}return i}_getReadTree(){return this._shared?.rTree??this._rTree}_ensureWritable(e){let t=this._shared;if(!t)return;if(t.refCount--,t.refCount===0)return this._shared=null,void(e&&this._rTree.load(e));let n=this._copy(t,e);this._shared=null,this._rTree=n.rTree}_getWritableTree(e){return this._lastMiss.colStart=2**53-1,this._lastSingle.colStart=2**53-1,this._lastSingleResult=null,this._shared?(this._ensureWritable(e),this._rTree):(e&&this._rTree.load(e),this._rTree)}_onModified(){}_createClone(t){return new e(t)}},Ea=class extends Gi{isEmpty(){return super.isEmpty()}searchRange(e,t=!1,r){if(this.isEmpty())return n.CommonUtils.EmptyArray;let i=this.search(e,r);return t?i.filter(t=>t.colStart>=e.colStart&&t.rowStart>=e.rowStart&&t.colEnd<=e.colEnd&&t.rowEnd<=e.rowEnd):i}};function Da(e,t=e,n=1,r=1){return{...e,colStart:Math.max(e.colStart-n,t.colStart),rowStart:Math.max(e.rowStart-r,t.rowStart),colEnd:Math.min(e.colEnd+n,t.colEnd),rowEnd:Math.min(e.rowEnd+r,t.rowEnd)}}function Oa(e,t,n,r){return[{...t[0],value:e.value},{...t[0],value:e.value}]}function ka(e,t){return{...e}}function Aa(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd}function ja(e,t,r=null,i=!0){if(Aa(e,t))return[{...e}];let a=n.CoordUtils.intersectRanges(e,t,Va);if(!a)return null;let o=[],s=e.uuid,c=e;if(c.rowStart<a.rowStart){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:a.rowStart-1};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:c.colStart,rowStart:a.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.rowStart-e.rowStart;Ba[0]=e,Ba[1]=t;let u=r(c,Ba,n.RangeAxis.Row,l);u!==void 0&&(o.push(u[0]),c=u[1])}if(c.rowEnd>a.rowEnd){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:a.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:c.colStart,rowStart:a.rowEnd+1,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.rowStart-e.rowStart;Ba[0]=e,Ba[1]=t;let u=r(c,Ba,n.RangeAxis.Row,l);u!==void 0&&(o.push(u[1]),c=u[0])}if(c.colStart<a.colStart){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:a.colStart-1,rowEnd:c.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:a.colStart,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.colStart-e.colStart;Ba[0]=e,Ba[1]=t;let u=r(c,Ba,n.RangeAxis.Column,l);u!==void 0&&(o.push(u[0]),c=u[1])}if(c.colEnd>a.colEnd){let e={...c,colStart:c.colStart,rowStart:c.rowStart,colEnd:a.colEnd,rowEnd:c.rowEnd};s&&(i&&(e.lastId=s),e.uuid=n.CommonUtils.uuidV4());let t={...c,colStart:a.colEnd+1,rowStart:c.rowStart,colEnd:c.colEnd,rowEnd:c.rowEnd};s&&(i&&(t.lastId=s),t.uuid=n.CommonUtils.uuidV4());let l=t.colStart-e.colStart;Ba[0]=e,Ba[1]=t;let u=r(c,Ba,n.RangeAxis.Column,l);u!==void 0&&(o.push(u[1]),c=u[0])}return c===e&&(c={...e}),o.push(c),o}function Ma(e){return e.value===null?null:e}function Na(e,t,r){let i=r?.getIntersect??ka,a=r?.getUpdate??Ma;if(e.length===0){let e=t;if(i){let n=i({...t,value:null},t);e=n&&n.value!==null?{...n}:null}if(a){let t=a(e);t!==void 0&&(e=t)}return e?[e]:n.CommonUtils.EmptyArray}let o=r?.getSplit??Oa,s=(e,t,n=!0)=>{let r=t.search(e),i=r.length;for(let a=0;a<i;a++){let i=r[a];if(Aa(i,e))continue;t?.remove(i);let c=ja(i,e,o,n);for(let e=0;e<c.length;e++){let n=c[e];t.insert(n),s(n,t,!1)}}},c=new Ta;c.load(e),s(t,c);let l=new Ta;l.load([t]);let u=c.search(t);for(let e=0;e<u.length;e++)s(u[e],l);let d=(e,t,n)=>{let r=t.search(e);console.assert(r.length<=1,`intersecting incorrect ranges`);let a=r[0]??{...e,value:null};if(Aa(a,e)){let r=i(a,e);t.remove(a),n.insert(r)}else{t.remove(a);let r=ja(a,e,o),s=r.length;for(let a=0;a<s;a++){let o=r[a];if(Aa(o,e)){let t=i(o,e);n.insert(t)}else t.insert(o)}}},f=new Ta,p=l.all([]),m=p.length;for(let e=0;e<m;e++)d(p[e],c,f);let h=c.all([]);return((e,t)=>{let n=e.all([]),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(a){let e=a(r);e!==void 0&&(r=e)}r!==null&&r.value!==null&&t.push(r)}})(f,h),h}function Pa(e,t=n.RangeAxis.Column,r=2,i,a){let o=[...e];if(r<=0||e.length<=1)return o;let s=t===n.RangeAxis.Column,c=0,l=0;do{let e=o.sort(n.CoordUtils.createRangeComparator(s?n.RangeAxis.Row:n.RangeAxis.Column));o=[];let r=!1;o.push(e[0]);let u=e.length;for(let n=1;n<u;n++){let c=e[n],l=o[o.length-1],u=!1;if(u=s?l&&l.rowStart===c.rowStart&&l.rowEnd===c.rowEnd&&l.colEnd+1===c.colStart&&l.scope===c.scope:l&&l.colStart===c.colStart&&l.colEnd===c.colEnd&&l.rowEnd+1===c.rowStart&&l.scope===c.scope,u){let e={...l};if(e.colEnd=s?c.colEnd:l.colEnd,e.rowEnd=s?l.rowEnd:c.rowEnd,i){let n=a??[null,null];n[0]=l,n[1]=c,e=i(n,e,t)}if(e){o[o.length-1]=e,r=!0;continue}}o.push(c)}l=r?0:l+1,c++,s=!s}while(c<r&&l<2&&o.length>1);return o}function Fa(e,t=2,r=n.RangeAxis.Row,i,a,o){if(e.length<=1)return[...e];let s=function(e){let t=e[0]?.scope??null,n=!1;for(let r=1;r<e.length;r++)if((e[r]?.scope??null)!==t){n=!0;break}if(!n)return null;let r=new Map;for(let t=0;t<e.length;t++){let n=e[t],i=n?.scope??null,a=r.get(i);a?a.push(n):r.set(i,[n])}return Array.from(r.values())}(e);if(s){let e=[];for(let n=0;n<s.length;n++){let c=Fa(s[n],t,r,i,a,o);for(let t=0;t<c.length;t++)e.push(c[t])}return e}let c=e[0]?.scope??void 0,l=[],u=r===n.RangeAxis.Column,d=new _i.IteratorInstance(e,{axis:u?n.RangeAxis.Row:n.RangeAxis.Column}),f=d.next();for(;!f.done;){let e=f.value;f=d.next();let n=e.range;if(a&&e.overlaps.length>1&&a(n,e.overlaps),t>0){let e=l[l.length-1],t=!1;if(t=u?e&&e.rowStart===n.rowStart&&e.rowEnd===n.rowEnd&&e.colEnd+1===n.colStart:e&&e.colStart===n.colStart&&e.colEnd===n.colEnd&&e.rowEnd+1===n.rowStart,t){let t={...e,colEnd:u?n.colEnd:e.colEnd,rowEnd:u?e.rowEnd:n.rowEnd};if(i){let a=o??[null,null];a[0]=e,a[1]=n,t=i(a,t,r)}if(t){l[l.length-1]=t;continue}}}l.push(n)}if(t>1&&(l=Pa(l,u?n.RangeAxis.Row:n.RangeAxis.Column,t,i,o)),c!==void 0)for(let e=0;e<l.length;e++)l[e].scope===void 0&&(l[e]={...l[e],scope:c});return l}function Ia(e,t,n,r){let i=e.value;if(i?.getSplit){let e=i.getSplit(t,n,r);if(e===void 0)return;t[0].value=e[0],t[1].value=e[1]}return t}function La(e,t,r){let i=e[0].value,a=e[1].value;if(a){let o;if(i?.getMerged?o=i.getMerged(e[1].value,n.CoordUtils.sanitizeRange(t),r):i&&(o=i===a?a:void 0),o===void 0)return;t.value=o}return t}function Ra(e,t,r,i,a,o,s){let c=r.axis===n.RangeAxis.Column,l=r.intersect,u=(t,u)=>{let d=t.value,f=null,p=u.after;if(s){let r=null,i=0,o=0;if(c&&l.colStart>t.colStart?(r={...t,colEnd:l.colStart-1},o=u.amount):!c&&l.rowStart>t.rowStart&&(r={...t,rowEnd:l.rowStart-1},i=u.amount),r){let t=ja(e,r,a);if(t.length>1)for(let e=0;e<t.length;e++){let a=t[e];Aa(a,r)?(f??=[],f.push(a)):(p=a,d=a.value,u={...u,after:{...a,colStart:a.colStart+o,rowStart:a.rowStart+i,colEnd:a.colEnd+o,rowEnd:a.rowEnd+i,uuid:n.CommonUtils.uuidV4()},before:a,isSplit:!0})}}}if(i?p=i(u.before,u.after,u):d&&d.getShifted?p=d.getShifted(u):u.after&&(p={...u.after,value:t.value}),p!==void 0)return o&&(p!==u.after&&(u={...u,after:p}),o(u)),p=(t=>{if(!t){let t=e.value;return t.onRemove&&t.onRemove(r.before),null}return t})(p),p&&(f??=[],f.push(p)),f};if(r.isSplit){let n;n=c?{...e,rowStart:Math.max(l.rowStart,r.before.rowStart),rowEnd:Math.min(l.rowEnd,r.before.rowEnd)}:{...e,colStart:Math.max(l.colStart,r.before.colStart),colEnd:Math.min(l.colEnd,r.before.colEnd)};let i=ja(e,n,a),o=[];for(let e=0;e<i.length;e++){let a=i[e];if(Aa(a,n)){let e=null;t&&(e=c?{colStart:t.colStart,rowStart:n.rowStart,colEnd:t.colEnd,rowEnd:n.rowEnd,value:a.value}:{colStart:n.colStart,rowStart:t.rowStart,colEnd:n.colEnd,rowEnd:t.rowEnd,value:a.value});let i=u(a,{...r,before:a,after:e});if(i)for(let e=0;e<i.length;e++)o.push(i[e])}else o.push(a)}return o}return u(e,r)}function za(e,t){let r=e=>`${e.scope??``}!${e.rowStart},${e.colStart},${e.rowEnd},${e.colEnd}`,i=new Set,a=[],o=Fa(t(e),2,n.RangeAxis.Row);for(;o.length>0;){let e=[];for(let n of o){let o=r(n);i.has(o)||(i.add(o),a.push(n),e.push(...t(n)))}o=Fa(e,2,n.RangeAxis.Row)}return Fa(a,2,n.RangeAxis.Row)}var Ba=[null,null],Va={colStart:0,rowStart:0,colEnd:0,rowEnd:0};function Ha(e=-(2**53-1),t=-(2**53-1),r=2**53-1,i=2**53-1,a,o,s){if(o&&(e!==-(2**53-1)&&e<o.colStart||t!==-(2**53-1)&&t<o.rowStart||r!==2**53-1&&r>o.colEnd||i!==2**53-1&&i>o.rowEnd))throw new n.OutOfBoundsError;return s&&(e=Math.max(s.colStart,e),t=Math.max(s.rowStart,t),r=Math.min(s.colEnd,r),i=Math.min(s.rowEnd,i),r<e||i<t)?null:(Wa.majorStart=a?e:t,Wa.majorEnd=a?r:i,Wa.minorStart=a?t:e,Wa.minorEnd=a?i:r,Wa)}function Ua(e,t,n){let r=n??{colStart:0,rowStart:0,colEnd:0,rowEnd:0};return r.colStart=t?e.majorStart:e.minorStart,r.rowStart=t?e.minorStart:e.majorStart,r.colEnd=t?e.majorEnd:e.minorEnd,r.rowEnd=t?e.minorEnd:e.majorEnd,r}var Wa={majorStart:0,majorEnd:0,minorStart:0,minorEnd:0};function Ga(e,t){return e[0]-t[0]}var Ka=class{constructor(e,t){this._isColumn=!0,this._isReverse=!1,this._skipMajors=!1,this._majorMin=2**53-1,this._majorMax=-(2**53-1),this._minorMin=2**53-1,this._minorMax=-(2**53-1),this._majorIndex=-(2**53-1),this._minorIndex=-(2**53-1),this._delegateMajorIndex=-(2**53-1),this._delegateMinorIndex=-(2**53-1),this._delegate=e;let r=(t.axis??n.RangeAxis.Column)===n.RangeAxis.Column;this._isColumn=r,this._isReverse=t.reverse??!1,this._skipMajors=t.skipMajors??!1;let i=t.bounds,a=i.colStart,o=i.rowStart,s=i.colEnd,c=i.rowEnd;this._majorMin=r?a:o,this._majorMax=r?s:c,this._minorMin=r?o:a,this._minorMax=r?c:s,this._processMajorSkip=r?t.processColumnSkip:t.processRowSkip,this._processMinorSkip=r?t.processRowSkip:t.processColumnSkip;let l=e.next();this._delegateResult=l,this._initialize()}_initialize(){let e=this._isColumn,t=this._isReverse,n=t?-1:1,r=t?this._majorMax:this._majorMin,i=(t?this._minorMax:this._minorMin)-n,a=this._processMinorSkip;a&&(i=a(i,t));let o=this._processMajorSkip;o&&(r=o(r,t)),this._majorIndex=r,this._minorIndex=i;let s=this._delegateResult;if(s.done)this._delegateMajorIndex=this._majorMax,this._delegateMinorIndex=this._minorMax+n;else{let t=s.value[0];this._delegateMajorIndex=e?t.colIndex:t.rowIndex,this._delegateMinorIndex=e?t.rowIndex:t.colIndex}}next(e){e!==void 0&&(this._delegateResult=this._delegate.next(e),this._initialize());let t=this._isReverse,n=this._isColumn,r=this._majorMin,i=this._majorMax,a=this._majorIndex,o=this._minorIndex;if(a>i||a<r)return si;let s=this._delegateMajorIndex,c=this._delegateMinorIndex,l=this._delegateResult.done;if(a===s&&o===c){let e=this._delegate.next();if(this._delegateResult=e,l=e.done,l)s=t?r:i,s=t?this._minorMin:this._minorMax;else{let t=e.value[0];s=n?t.colIndex:t.rowIndex,c=n?t.rowIndex:t.colIndex}this._delegateMajorIndex=s,this._delegateMinorIndex=c}let u=t?-1:1;if(this._minorIndex=o+=u,a===s&&o===c&&!l)return this._delegateResult;let d=this._processMinorSkip;if(d&&(o=d(o,t)),o>this._minorMax||o<this._minorMin){a+=u;let e=this._processMajorSkip;e&&(a=e(a,t)),this._skipMajors&&(!t&&a<s||t&&a>s)&&(a=s),this._majorIndex=a,o=t?this._minorMax:this._minorMin}return this._minorIndex=o,a!==s||o!==c||l?a>i||a<r?si:{done:!1,value:[{colIndex:n?a:o,rowIndex:n?o:a},void 0]}:this._delegateResult}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},qa=class{constructor(e){this._isColumn=!0,this._majorSize=2**53-1,this._minorSize=2**53-1,this._majorMin=2**53-1,this._majorMax=-(2**53-1),this._minorMin=2**53-1,this._minorMax=-(2**53-1),this._majorIndex=2**53-1,this._minorIndex=2**53-1,this._minorOffset=0,this._minorRepeat=0,this._majorOffset=-1,this._majorRepeat=1,this._pattern=[];let t=e.delegate;this._delegate=t;let r=(e.axis??n.RangeAxis.Column)===n.RangeAxis.Column;this._isColumn=r;let i=e.dims,a=e.bounds,o=a.colStart,s=a.rowStart,c=a.colEnd,l=a.rowEnd;if(this._majorSize=1+(r?c-o:l-s),this._minorSize=1+(r?l-s:c-o),this._majorMin=r?o:s,this._minorMin=r?s:o,this._majorMax=(r?o+i.major:s+i.major)-1,this._minorMax=(r?s+i.minor:o+i.minor)-1,this._majorSize>this._majorMax+1||this._minorSize>this._minorMax+1)throw Error(`The dimensions must be larger than the bounds.`);let u=t.next();this._nextDelegateResult=u,this._initialize()}_initialize(){let e=this._isColumn,t=this._nextDelegateResult;if(t.done)this._nextResult=si;else{let n=t.value[0],r=e?n.colIndex:n.rowIndex,i=e?n.rowIndex:n.colIndex,a=[[i,t.value[1]]];this._minorSpan=a,this._majorIndex=r,this._minorIndex=i,this._pattern.push([r,a]),this._nextResult=t}}next(e){if(e!==void 0)throw new n.NotImplementedError;let t=this._nextResult,r=this._isColumn,i=this._majorIndex,a=this._nextDelegateResult;if(!a.done){let e=a.value[0];if((r?e.colIndex:e.rowIndex)===i&&(a=this._delegate.next(),this._nextDelegateResult=a,!a.done)){let e=a.value,n=e[0],o=r?n.colIndex:n.rowIndex,s=r?n.rowIndex:n.colIndex;if(o===i)return this._minorSpan.push([s,e[1]]),this._minorOffset=this._minorSpan.length-1,this._minorIndex=s,this._nextResult=a,t}}let o=this._minorMax,s=this._minorIndex;if(s<o){let e=this._minorOffset;e++;let n=this._minorSpan;e>=n.length&&(e=0,this._minorRepeat++);let a=n[e],c=this._minorMin;if(s=c+(a[0]-c+this._minorSize*this._minorRepeat),this._minorIndex=s,this._minorOffset=e,s<=o){let e=[{colIndex:r?i:s,rowIndex:r?s:i},a[1]];return this._nextResult={done:!1,value:e},t}}if(!a.done){let e=a.value,n=e[0],i=r?n.colIndex:n.rowIndex,o=r?n.rowIndex:n.colIndex,s=[[o,e[1]]];return this._pattern.push([i,s]),this._majorIndex=i,this._minorSpan=s,this._minorOffset=0,this._minorIndex=o,this._minorRepeat=0,this._nextResult=a,t}let c=this._majorMax;if(i<c){let e=this._majorOffset;e++;let n=this._pattern;e>=n.length&&(e=0,this._majorRepeat++);let a=n[e],o=a[1],l=o[0],u=this._majorMin;if(i=u+(a[0]-u+this._majorSize*this._majorRepeat),this._majorIndex=i,this._majorOffset=e,i<=c){this._minorSpan=o,this._minorOffset=0,s=l[0],this._minorIndex=s,this._minorRepeat=0;let e=[{colIndex:r?i:s,rowIndex:r?s:i},l[1]];return this._nextResult={done:!1,value:e},t}}return t.done||(this._nextResult=si),t}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},Ja=class{constructor(e,t,r){this._comparator=e?.comparator??n.CoordUtils.createCellComparator(e.axis??n.RangeAxis.Column,e.reverse??!1),this._iterator1=t,this._iterator2=r;let i=t.next();this._nextResult1=i;let a=r.next();this._nextResult2=a,e?.reuseResult&&(!0===e.reuseResult?this._reuseResult={done:!1,value:[void 0,void 0,void 0,void 0]}:this._reuseResult=e.reuseResult)}next(e){let t=this._nextResult1,n=this._nextResult2;if(t.done&&n.done)return t;if(t.done){let e=n;this._nextResult2=this._iterator2.next();let t=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};t.done=!1;let r=t.value,i=e.value;return r[2]=i[0],r[3]=i[1],r[0]=void 0,r[1]=void 0,t}if(n.done){let e=t;this._nextResult1=this._iterator1.next();let n=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};n.done=!1;let r=n.value,i=e.value;return r[0]=i[0],r[1]=i[1],r[2]=void 0,r[3]=void 0,n}let r=(0,this._comparator)(t.value[0],n.value[0]);if(r<0){let e=t;this._nextResult1=this._iterator1.next();let n=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};n.done=!1;let r=n.value,i=e.value;return r[0]=i[0],r[1]=i[1],r[2]=void 0,r[3]=void 0,n}if(r>0){let e=n;this._nextResult2=this._iterator2.next();let t=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};t.done=!1;let r=t.value,i=e.value;return r[2]=i[0],r[3]=i[1],r[0]=void 0,r[1]=void 0,t}this._nextResult1=this._iterator1.next(),this._nextResult2=this._iterator2.next();let i=this._reuseResult??{done:!1,value:[void 0,void 0,void 0,void 0]};i.done=!1;let a=i.value;return a[0]=t.value[0],a[1]=t.value[1],a[2]=n.value[0],a[3]=n.value[1],i}return(e){return null}throw(e){return null}[Symbol.iterator](){return this}},Ya=`Must be an array of arrays.`;function Xa(e,t,n){let r=t.majorStart,i=t.minorStart,a=t.majorEnd,o=[],s=t.minorEnd-i+1,c=typeof e==`function`;for(let t=r;t<=a;t++){let r;if(c)if(r=[],n){let n=i;for(let i=0;i<s;i++)r.push(e(n++,t))}else{let n=i;for(let i=0;i<s;i++)r.push(e(t,n++))}else s<=no?(r=Array(s),r.fill(e,0,s)):r=new Wi([e],s);let a=[[i,r]];o.push([t,a])}return{tuples:o,bounds:t}}function Za(e,t=!1,r=null,i=!1){let a=0,o=0,s=2**53-1,c=2**53-1;if(r&&(a=r.majorStart??0,o=r.minorStart??0,s=(r.majorEnd??2**53-1)-a+1,c=(r.minorEnd??2**53-1)-o+1),t){let e=a;a=o,o=e;let t=s;s=c,c=t}if(!Array.isArray(e))throw Error(Ya);if(e.length>s)throw new n.OutOfBoundsError;let l=t?new vi.TransposedBuilder:new vi.Builder;for(let t=0;t<e.length;t++){let r=e[t];if(r!=null&&r.length!==0){if(!Array.isArray(r))throw Error(Ya);if(r.length>c)throw new n.OutOfBoundsError;if(i){let e=-1;for(let n=0;n<r.length;n++)r[n]==null?e!==-1&&(l.pushMultipleAt(t+a,o+e,r.slice(e,n)),e=-1):e===-1&&(e=n);e!==-1&&l.pushMultipleAt(t+a,o+e,r.slice(e))}else l.pushMultipleAt(t+a,o,r)}}return l.build()}var Qa=(e,t,n)=>{if(e===t)return t},$a=(e,t,n)=>{if(e[0].value===e[1].value)return t},eo=[null,null];function to(e=!0,t=Qa){let r=[],i,a,o=-(2**53-1),s=-(2**53-1);return{append:(n,c,l)=>{let u=!0;if(l!==void 0){let n=a===void 0?l:t(a,l,e);n===void 0?u=!1:l=n}if(u&&c===s+1&&n===o)return e?i.rowEnd=c:i.colEnd=c,s=c,void(a=l);i&&r.push(i);let d=e?n:c,f=e?c:n;i={colStart:d,rowStart:f,colEnd:d,rowEnd:f,value:l},o=n,s=c,a=l},done:(t=!1)=>(i&&=(r.push(i),null),t?Pa(r,e?n.RangeAxis.Column:n.RangeAxis.Row,2,$a,eo):r)}}var no=4,ro=class e{constructor(e){this._dataCoords=null,this._count=0,this._isColumn=!0,this._lastMajor=-(2**53-1),this._lastMinorSpan=null,this._maxCoords=void 0,this._isShared=!1,this._options={axis:n.RangeAxis.Row,...e},this._isColumn=(this._options?.axis??n.RangeAxis.Column)===n.RangeAxis.Column,e?.maxCoords&&(this._maxCoords=Object.freeze({colStart:Math.max(0,e.maxCoords.colStart??0),rowStart:Math.max(0,e.maxCoords.rowStart??0),colEnd:Math.min(2**53-1,e.maxCoords.colEnd??2**53-1),rowEnd:Math.min(2**53-1,e.maxCoords.rowEnd??2**53-1)})),this._createRun=e?.createRun??(e=>new li(e)),this._optionsMinor={},this._major=new Ai({nodeSize:io})}getRuns(e){let t=this._isColumn,n=this._maxCoords,r=this.getCoords();if(!r)return ci;let i=e?.bounds,a,o;if(i){let s=Ha(i?.colStart??-(2**53-1),i?.rowStart??-(2**53-1),i?.colEnd??2**53-1,i?.rowEnd??2**53-1,t,n,r);if(!s)return ci;a={bounds:{min:s.majorStart,max:s.majorEnd}},o={bounds:{min:s.minorStart,max:s.minorEnd},overflowRun:e?.overflowRun}}let s=this._major.entries(a),c,l,u,d;do{if(c=s.next(),c.done)return ci;l=c.value[1],u=l.runs(o),d=u.next()}while(d.done);let f=c.value[0],p=d.value[0].min,m=d.value[1];return{[Symbol.iterator](){return this},next(){if(c.done)return si;let e={done:!1,value:[f,p,m]};for(d=u.next();d.done&&!c.done;)c=s.next(),c.done||(f=c.value[0],l=c.value[1],u=l.runs(o),d=u.next());return d.done||(p=d.value[0].min,m=d.value[1]),e}}}getAxis(){return this._isColumn?n.RangeAxis.Column:n.RangeAxis.Row}entries(e){let t=this._isColumn,r=t,i=!0,a=this._maxCoords,o=this.getCoords(),s=Ha(-(2**53-1),-(2**53-1),2**53-1,2**53-1,t,a,o??void 0);if(!s)return ci;let c,l,u,d=s.majorStart,f=s.majorEnd,p=s.minorStart,m=s.minorEnd,h=!1;if(e){e?.axis&&(r=e?.axis===n.RangeAxis.Column,i=t===r);let s=e?.bounds;if(s){let e=Ha(s.colStart,s.rowStart,s.colEnd,s.rowEnd,t,a,o??void 0);if(!e)return ci;d=e.majorStart,f=e.majorEnd,p=e.minorStart,m=e.minorEnd}h=e.reverse??!1,u=function(e){if(typeof e==`boolean`){if(!0===e)return{done:!1,value:[{colIndex:-1,rowIndex:-1},null]}}else if(e)return e}(e.reuseResult),c=t?e.processColumnSkip:e.processRowSkip,c&&(h?f=c(f,h):d=c(d,h)),l=t?e.processRowSkip:e.processColumnSkip,l&&(h?m=l(f,h):p=l(p,h))}if(!o)return ci;i||d!==f||(i=!0),lo.bounds.min=d,lo.bounds.max=f,lo.reverse=h,lo.processSkip=c,lo.reuseResult=so;let g=this._major.entries(lo),_=uo(),v=e=>{if(!e.nextActive)return;let t=t=>{let n=e.nextMinorIndex,r=e.nextMinorValue,i=e.nextActive;return t?(e.nextMinorIndex=t[0],e.nextMinorValue=t[1],e.nextActive=!0):(e.nextActive=!1,e.nextMinorIndex=h?-(2**53-1):2**53-1,e.nextMinorValue=null),e.value=r,e.minorIndex=n,e.active=i,ao[0]=e.majorIndex,ao[1]=n,ao[2]=r,ao},n=e.minorIterator;if(!n)return t();let r=n.next();return r.done&&(e.minorIterator=null),t(r.value)},y=e=>{if(g)for(;;){let t=g.next();if(t.done)return void(g=void 0);let n=t.value,r=n[1];e.majorIndex=n[0],e.active=!0,e.nextActive=!1,co.bounds.min=p,co.bounds.max=m,co.reverse=h,co.processSkip=l,co.reuseResult=oo;let i=r.entries(co),a=i.next();if(!a.done){let t=a.value;return e.nextMinorIndex=t[0],e.nextMinorValue=t[1],e.minorIterator=i,e.nextActive=!0,v(e)}}},b=null;if(i)b=()=>{let e;return e=v(_),e||(e=y(_),e||void 0)};else{let e=h?m:p,t=h?p:m,n,r=e,i=t,a=!0,o=()=>{let e=_.nextMajorCursor;if(e)return _=e,_;_=n,(r<p||r>m||r===i)&&(_=null),r=i,i=t};b=()=>{for(;_;){let s=null;if(a){let t=n?uo():_;if(s=y(t),s){n?(t.prevMajorCursor=_,_.nextMajorCursor=t,_=t):n=_,i=h?Math.max(i,_.nextMinorIndex):Math.min(i,_.nextMinorIndex);let r=_.minorIndex;r!==e&&(i=h?Math.max(i,r):Math.min(i,r),s=null)}else a=!1,o()}else{let e=_.minorIndex,a=_.nextMinorIndex;e===r?(ao[0]=_.majorIndex,ao[1]=e,ao[2]=_.value,s=ao):!h&&e>r||h&&e<r?i=h?Math.max(i,e):Math.min(i,e):!h&&a>r||h&&a<r?i=h?Math.max(i,a):Math.min(i,a):s=v(_),_.active&&(i=h?Math.max(i,_.nextMinorIndex):Math.min(i,_.nextMinorIndex)),t===r||_.active||(_.prevMajorCursor?_.prevMajorCursor.nextMajorCursor=_.nextMajorCursor:n=_.nextMajorCursor,_.nextMajorCursor&&(_.nextMajorCursor.prevMajorCursor=_.prevMajorCursor)),o()}if(s)return s}}}return{next(e){if(e)throw new n.NotImplementedError(`Iterator with next argument is not supported.`);let r=b();return r?function(e,t,n,r,i){let a=i??{done:!1,value:[{colIndex:-1,rowIndex:-1},null]},o=a.value,s=o[0];return s.colIndex=r?e:t,s.rowIndex=r?t:e,o[1]=n,a}(r[0],r[1],r[2],t,u):si},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}values(e){let t=this.entries(e),n;return e?.reuseResult&&(n=!0===e.reuseResult?{done:!1,value:null}:e.reuseResult),{next(e){let r=t.next(e);return r.done?si:n?(n.value=r.value[1],n):{done:!1,value:r.value[1]}},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}keys(e){let t=this.entries(e),n;return e?.reuseResult&&(n=!0===e.reuseResult?{done:!1,value:null}:e.reuseResult),{next(e){let r=t.next(e);return r.done?si:n?(n.value=r.value[0],n):{done:!1,value:r.value[0]}},[Symbol.iterator](){return this},return:e=>null,throw:e=>null}}_updateMajorSpan(e,t=!1){if(!e||e.length===0)return;t&&e.sort((e,t)=>e[0]-t[0]);let n=this._major,r=e[0],i=r[0],a=i,o=[r[1]];for(let t=1;t<e.length;t++){let r=e[t],s=r[0],c=r[1];s===a+1?o.push(c):(n.setRunAt(i,new li(o)),i=s,o=[c]),a=s}o.length>0&&n.setRunAt(i,new li(o))}setValues(e){if(!e)throw new n.NullNotAllowedError;if(e.length===0)return this;let t=(e=e.sort(Ga))[0][0],r=e[e.length-1][0],i=-(2**53-1),a=2**53-1,o=this._isColumn,s=this._maxCoords;if(s){let e=o?s.colStart:s.rowStart,c=o?s.colEnd:s.rowEnd;if(t<e||r>c)throw new n.OutOfBoundsError;i=o?s.rowStart:s.colStart,a=o?s.rowEnd:s.colEnd}if(!e||e.length===0)return this;let c=2**53-1,l=-(2**53-1),u=0,d=t-1,f=[],p=(e,t,r)=>{if(d===r)throw new vi.OutOfOrderError(`Duplicate major Indices: {${r}}.`);d=r,t=t.sort(Ga),e=e.clone();let o=-(2**53-1),s=t.length;for(let d=0;d<s;d++){let s=t[d],f=s[0],p=s[1],h=f+p.length-1;if(o>=f)throw new vi.OutOfOrderError(`Overlapping minor Indices: {${r}, ${f}}.`);if(f<i||h>a)throw new n.OutOfBoundsError;if(p&&p.length>0){let t=e.getCount();e.setRunAt(f,m(p));let n=e.getCount();u+=n-t,c=Math.min(c,e.getCoords().min),l=Math.max(l,e.getCoords().max)}o=h}g++,f.push([r,e])},m=this._createRun,h=this._optionsMinor,g=0,_=()=>{let t=e[g],n=t[0],r=t[1],i=new Ai(h);p(i,r,n)},v=this._major;lo.bounds.min=t,lo.bounds.max=r,lo.reverse=!1,lo.processSkip=null,lo.reuseResult=so;let y=v.entries(lo),b=y.next();for(;!b.done;){let t=b.value,n=t[0],r=e[g],i=r[0];if(i>n)b=y.next();else{for(;i<n;)_(),r=e[g],i=r[0];if(i===n){let e=r[1],i=t[1];p(i,e,n)}b=y.next()}}for(;e[g];)_();return this._updateMajorSpan(f),this._updateCountAndCoords(u,t,c,r,l),this}getValues(e){let t=this.getRuns(e?{bounds:e}:void 0),n=t.next();if(n.done)return null;let r=new vi.Builder;for(;!n.done;){let e=n.value[0],i=n.value[1],a=n.value[2];r.pushMultipleAt(e,i,a),n=t.next()}return r.build()}_updateCountAndCoords(e,t,n,r,i,a=!1){let o=this._count+e;if(this._count=o,this._lastMajor=-(2**53-1),!this._dataCoords)return;let s=this._isColumn,c=s?t:n,l=s?n:t,u=s?r:i,d=s?i:r;if(o===0)this._dataCoords=null;else{let e=this._dataCoords;e&&(c=(a?Math.max:Math.min)(c,e.colStart),l=(a?Math.max:Math.min)(l,e.rowStart),u=(a?Math.min:Math.max)(u,e.colEnd),d=(a?Math.min:Math.max)(d,e.rowEnd));let t={colStart:c,rowStart:l,colEnd:u,rowEnd:d};this._dataCoords=t}}clear(){this._major.clear(),this._dataCoords=null,this._count=0,this._lastMajor=-(2**53-1)}delete(e){let t=this._count;if(!e)return this.clear(),t>0;let r=this._isColumn,i=this._maxCoords,a=this.getCoords(),o=Ha(e.colStart,e.rowStart,e.colEnd,e.rowEnd,r,i,a);if(!o||t===0)return!1;if(n.CoordUtils.isRangeWithinRange(a,e))return this.clear(),t>0;let s=o.majorStart,c=o.majorEnd,l=o.minorStart,u=o.minorEnd,d=r?a.colStart:a.rowStart,f=r?a.colEnd:a.rowEnd,p=r?a.rowStart:a.colStart,m=r?a.rowEnd:a.colEnd,h=!1,g=0,_=this._major;if(this._lastMajor=-(2**53-1),l<=p&&u>=m){lo.bounds.min=s,lo.bounds.max=c;let e=_.entries(lo),t=e.next();for(;!t.done;)g-=t.value[1].getCount(),t=e.next();return _.delete(s,c-s+1),this._count+=g,this._dataCoords=null,g!==0}let v=[],y=this._isShared,b=[];lo.bounds.min=s,lo.bounds.max=c,co.reverse=!1,co.processSkip=null,co.reuseResult=so;let x=_.entries(lo),S=x.next();for(;!S.done;){let e=S.value,t=e[0],n=e[1],r=n.getCoords(),i=r.min,a=r.max;if(l<=i&&u>=i||l<=a&&u<=a)if((i===p&&l<=p||a===m&&u>=m)&&(h=!0),i>=l&&a<=u)v.push(t),g-=n.getCount();else{let e=n.getCount();y&&(n=n.clone(),b.push([t,n])),n.delete(l,u-l+1),g+=n.getCount()-e}S=x.next()}this._updateMajorSpan(b);let C=v.length;if(C>0){let e=Xr(v,!0);for(let t=0;t<e.length;t++){let n=e[t];_.delete(n.min,n.max-n.min+1)}let t=_.getCoords();if(!t)return this.clear(),!0;d=t.min,f=t.max}return h?(this._count+=g,this._dataCoords=null,!0):C===0?(this._count+=g,g!==0):(this._updateCountAndCoords(g,d,p,f,m,!0),g!==0)}shift(e,t){if(!e||!t)throw new n.NullNotAllowedError;let r=this._isColumn,i=this._maxCoords,a=t===n.Direction.Right||t===n.Direction.Down,o=t===n.Direction.Left||t===n.Direction.Right,s=Ha(e.colStart,e.rowStart,e.colEnd,e.rowEnd,r,i,e);if(!s)return!1;let c=s.majorStart,l=s.majorEnd,u=s.minorStart,d=s.minorEnd,f=this.getCoords();if(!f)return!1;let p=r?f.colStart:f.rowStart,m=r?f.colEnd:f.rowEnd,h=r?f.rowStart:f.colStart,g=r?f.rowEnd:f.colEnd,_=u<=h&&d>=g,v=r===o;if((v&&_||!v&&c<=p&&l>=m)&&!Ha(f.colStart,f.rowStart,f.colEnd+(a&&o?e.colEnd-e.colStart+1:0),f.rowEnd+(a&&!o?e.rowEnd-e.rowStart+1:0),r,i)||v&&c>m||!v&&u>g)return!1;let y=v?l-c+1:d-u+1;if(!a&&(y*=-1,n.CoordUtils.isRangeWithinRange(f,e)))return this.clear(),!0;let b=0,x=this._major,S=[];if(lo.bounds.min=c,lo.bounds.max=v?2**53-1:l,co.reverse=!a,co.processSkip=null,co.reuseResult=so,v&&_){if(!a){lo.bounds.max=l;let e=x.entries(lo),t=e.next();for(;!t.done;)b-=t.value[1].getCount(),t=e.next()}x.shift(c,y);let e=x.getCoords();return this._dataCoords=null,this._updateCountAndCoords(b,e?.min??0,h,e?.max??0,g),!0}let C=r?f.colStart:f.rowStart,w=r?f.colEnd:f.rowEnd,T=r?f.rowStart:f.colStart,E=r?f.rowEnd:f.colEnd;a||(T=2**53-1,E=-(2**53-1));let D=2**53-1;i&&(D=o?i.colEnd:i.rowEnd);let O=new Set,k=v?new Map:null,A=[],j=x.entries(lo),M={bounds:{min:u,max:d}},N=j.next();for(;!N.done;){let e=N.value,t=e[0],r=e[1].clone(),i=r.getCoords(),a=i.min,o=i.max;if(v&&k.set(t,r),u<=o){let e=r.getCount();v?(t>=c-y&&ri(r.runs(M),(e,n)=>{let r=n.min,i=n.max,a=e;r-1<=d&&i>d&&(a=a.slice(0,d+1-r)),r<u&&i+1>=u&&(a=a.slice(u-r)),A.push({majorIndex:t+y,minorIndex:Math.max(r,u),run:a})}),r.delete(u,d-u+1)):r.shift(u,y);let i=r.getCount();if(i===0)O.add(t),T=Math.min(T,o),E=Math.max(E,a);else{let e=r.getCoords();if(T=Math.min(T,e.min),E=Math.max(E,e.max),E>D)throw new n.OutOfBoundsError}b+=i-e,S.push([t,r])}N=j.next()}let P=this._optionsMinor,F=!1;for(let e=0;e<A.length;e++){let t=A[e],n=t.majorIndex,r=t.run,i=k.get(n);i||(i=new Ai(P),k.set(n,i),S.push([n,i]),F=!0),i.setRunAt(t.minorIndex,r),b+=r.length,C=Math.min(C,n),w=Math.max(w,n),O&&O.delete(n)}if(this._updateMajorSpan(S,F),O&&O.size>0){let e=Xr(Array.from(O.values()));for(let t=0;t<e.length;t++){let n=e[t];x.delete(n.min,n.max-n.min+1)}let t=x.getCoords();if(!t)return this.clear(),!0;C=t.min,w=t.max}if(E!==g||T!==h)return this._count+=b,this._dataCoords=null,!0;{let e=this._count+b;this._count=e,this._dataCoords=e===0?null:Object.freeze({colStart:r?C:T,rowStart:r?T:C,colEnd:r?w:E,rowEnd:r?E:w})}return b!==0||!n.CoordUtils.isEqualRanges(f,this.getCoords())}getCount(){return this._count}getValueAt(e,t){let n=this._isColumn,r=n?t:e,i=n?e:t,a=this._lastMajor,o;if(a===r&&a!==-(2**53-1)?o=this._lastMinorSpan:(o=this._major.at(r),this._lastMajor=r,this._lastMinorSpan=o),o)return o.at(i)}setValueAt(e,t,n){let r=this._isColumn,i=[r?t:e,[[r?e:t,[n]]]];this.setValues([i])}copyTo(e,t,r){if(this.getCount()===0)return;let i=this.getAxis(),a=e.getAxis(),o=this.getRuns({bounds:r}),s=o.next(),c=n.CoordUtils.cellToRange(t);c.colEnd=r.colEnd-r.colStart+t.colIndex,c.rowEnd=r.rowEnd-r.rowStart+t.rowIndex;let l=this._isColumn,u=this._maxCoords,d=this.getCoords(),f,p=Ha(r.colStart??-(2**53-1),r.rowStart??-(2**53-1),r.colEnd??2**53-1,r.rowEnd??2**53-1,l,u,d);p={...p};let m=a!==n.RangeAxis.Row,h=e.getMaxCoords()??void 0;f=Ha(c?.colStart??-(2**53-1),c?.rowStart??-(2**53-1),c?.colEnd??2**53-1,c?.rowEnd??2**53-1,m,h),f={...f};let g=l?r.colStart:r.rowStart,_=l?r.rowStart:r.colStart,v=f.majorStart-(g??p.majorStart),y=f.minorStart-(_??p.minorStart),b=i===a?new vi.Builder:new vi.TransposedBuilder;for(;!s.done;){let e=s.value[0],t=s.value[1],n=s.value[2];t+n.length>p.minorEnd&&(n=n.slice(0,p.minorEnd-t+1)),t<p.minorStart&&(n=n.slice(p.minorStart-t),t=p.minorStart),b.pushMultipleAt(e+v,t+y,n),s=o.next()}let x=b.build();e.delete(c),x&&e.setValues(x.tuples)}getCoords(){if(this._dataCoords)return this._dataCoords;if(this._major.getCount()===0)return null;let e=2**53-1,t=-(2**53-1),n=2**53-1,r=-(2**53-1),i=this._major.entries(),a=i.next();for(;!a.done;){let o=a.value,s=o[0];e=Math.min(s,e),t=Math.max(s,t);let c=o[1].getCoords();n=Math.min(c.min,n),r=Math.max(c.max,r),a=i.next()}let o=this._isColumn,s=Object.freeze({colStart:o?e:n,rowStart:o?n:e,colEnd:o?t:r,rowEnd:o?r:t});return this._dataCoords=s,s}clone(t){this._isShared=!0;let n=new e(this._options);return n._isShared=!0,n._major=this._major.clone(),n._dataCoords=this._dataCoords,n._count=this._count,n}cloneEmpty(t){return new e(this._options)}getMaxCoords(){return this._maxCoords||null}get[Symbol.toStringTag](){let e=``,t=this.getCoords();if(t){let n=t.colEnd-t.colStart+1,r=t.rowEnd-t.rowStart+1;e=`${this.getCount()}-${this._isColumn?n:r}x${this._isColumn?r:n}`}return`[SparseGrid:${e}]`}};ro||={};var io=12;Object.seal({done:!1,value:null});var ao=[-1,-1,null],oo=Object.seal({done:!1,value:[-1,null]}),so=Object.seal({done:!1,value:[-1,null]}),co={bounds:{min:-1,max:-1},reverse:!1,processSkip:null,reuseResult:oo},lo={bounds:{min:-1,max:-1},reverse:!1,processSkip:null,reuseResult:so},uo=()=>({majorIndex:-1,minorIndex:-1,value:null,active:!1,nextMinorIndex:-1,nextActive:!1,nextMinorValue:null,minorIterator:null,nextMajorCursor:null,prevMajorCursor:null}),fo=class e{constructor(e){this._mapScopeTo2Ds=new Map,this._last2DKey=void 0,this._last2DMap=void 0,this._options=e,this._options2D=e;let t=e?.updateEntryOptions?.onUpdates;t&&(this._options2D={...e},this._options2D.updateEntryOptions={...e.updateEntryOptions},this._options2D.updateEntryOptions.onUpdates=(e,n,r)=>{t(e,n,this)})}all3D(e){e||=[];let t=e.length,n=this._mapScopeTo2Ds;for(let[r,i]of n){i.all(e);let n=e.length;for(let i=t;i<n;i++){let t=e[i];t.scope||(t={...t},t.scope=r,e[i]=t)}t=n}return e}getSpatialAt(e){if(e===this._last2DKey)return this._last2DMap;let t=this._mapScopeTo2Ds.get(e);return this._last2DKey=e,this._last2DMap=t,t}getScopeEntries(){return this._mapScopeTo2Ds.entries()}getScopeKeys(){return this._mapScopeTo2Ds.keys()}getScopeValues(){return this._mapScopeTo2Ds.values()}getBoundingRange(){throw Error(po)}isEmpty(){for(let e of this._mapScopeTo2Ds.values())if(!e.isEmpty())return!1;return!0}search(e,t=!1,r=!1,i){return e.scope,this.getSpatialAt(e.scope)?.search(e,t,r,i)??n.CommonUtils.EmptyArray}has(e){return e.scope,this.getSpatialAt(e.scope)?.has(e)??!1}shift(e){let t=this.getSpatialAt(e?.range?.scope),n=t?.shift(e),r=this;return n!==t&&(r=this.clone(),r._mapScopeTo2Ds.set(this._last2DKey,n)),r}insertNonOverlapping(e,t){return this._getOrCreate2D(e.scope)?.insertNonOverlapping(e,t),this}createCopiedEntries(e,t,r,i,a){!e.scope||t.scope;let o=e.scope,s=this.getSpatialAt(o)?.createCopiedEntries(e,t,r,i,a)??{inserts:n.CommonUtils.EmptyArray,removes:n.CommonUtils.EmptyArray},c=s.inserts,l=c?c.length:0;for(let e=0;e<l;e++){let t=c[e];t.scope||=o}let u=s.removes,d=u?u.length:0;for(let e=0;e<d;e++){let t=u[e];t.scope||=o}return s}remove(e,t){e.scope;let n=this.getSpatialAt(e.scope);return n?.remove(e,t),this._cleanupEmpty2D(this._last2DKey,n),this}removeAll(e,t){let n=e?e.length:0;if(n===0)return this;let r=new Map,i,a;for(let t=0;t<n;t++){let n=e[t],o=n.scope;o!==i&&(i=o,a=r.get(o),a||r.set(o,a=[])),a.push(n)}for(let[e,n]of r){let r=this.getSpatialAt(e);r&&(r.removeAll(n,t),this._cleanupEmpty2D(e,r))}return this}insert(e){return this._getOrCreate2D(e.scope).insert(e),this}load(e){let t=e?e.length:0;if(t===0)return this;let n=new Map,r,i;for(let a=0;a<t;a++){let t=e[a],o=t.scope;if(!o)throw Error(mo);o!==r&&(r=o,i=n.get(o),i||n.set(o,i=[])),i.push(t)}for(let[e,t]of n)this._getOrCreate2D(e).load(t);return this}delete(e){if(!e)throw Error(po);let t=this.getSpatialAt(e?.scope);return t?.delete(e),this._cleanupEmpty2D(this._last2DKey,t),this}clone(e=null){let t=this._createClone(this._options),n=new Map;for(let[t,r]of this._mapScopeTo2Ds)n.set(t,r.clone(e));return t._mapScopeTo2Ds=n,t}_getOrCreate2D(e){if(!e)throw Error(mo);let t=this._mapScopeTo2Ds.get(e);return t||(t=new Ta(this._options2D),this._mapScopeTo2Ds.set(e,t),this._last2DKey=e,this._last2DMap=t),t}_cleanupEmpty2D(e,t){t?.isEmpty()&&(this._mapScopeTo2Ds.delete(e),this._last2DKey===e&&(this._last2DKey=void 0,this._last2DMap=void 0))}_createClone(t){return new e(t)}},po=`Not supported on SpatialMap3D`,mo=`SpatialMap3D: a valid scope key is required`;function ho(e){let t=e??n.DefaultLanguagePackService.getActive(),r=n.DefaultLanguagePackService.getPacks(e).filter(xo),i=So.get(t);if(i&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(i.packs,r))return i.merged;let a=function(e,t){if(t.length===0)return;let n={},r={},i,a,o=[],s=!1,c=!1;for(let e of t)e.functions&&(Object.assign(n,e.functions),s=!0),e.errors&&(Object.assign(r,e.errors),c=!0),e.booleans&&(i={...i??{},...e.booleans}),e.specifiers&&(a={...a??{},...e.specifiers}),e.functionHelp&&o.push(e.functionHelp);let l={tag:e};return s&&(l.functions=n),c&&(l.errors=r),i&&(l.booleans=i),a&&(l.specifiers=a),o.length===1?l.functionHelp=o[0]:o.length>1&&(l.functionHelp=()=>Promise.all(o.map(e=>e())).then(e=>Object.assign({},...e.map(e=>e&&typeof e==`object`&&`default`in e?e.default:e)))),l}(t,r);return So.set(t,{packs:r,merged:a}),a}var go={};for(let[e,n]of Object.entries(t.FormulaError.Code))go[n]=e;function _o(e,t){let n=ho(t)?.booleans;return e?n?.true??`TRUE`:n?.false??`FALSE`}function vo(e,n){let r=e?.getLabel?.()??t.FormulaError.Label.Unknown,i=e?.getCode?.(),a=i===void 0?void 0:go[i];return(a&&ho(n)?.errors?.[a])??r}function yo(e,t){let n=e.toUpperCase();if(n===`TRUE`)return!0;if(n===`FALSE`)return!1;let r=ho(t)?.booleans;if(r){if(r.true&&n===r.true.toUpperCase())return!0;if(r.false&&n===r.false.toUpperCase())return!1}}function bo(e,n){let r=e.toUpperCase(),i=t.FormulaError.getBuiltInByLabel(r);if(i)return i;let a=ho(n)?.errors;if(a){for(let e in a)if(a[e]?.toUpperCase()===r)return t.FormulaError.BuiltIn[e]}}function xo(e){return!!(e.functions&&Object.keys(e.functions).length>0||e.errors&&Object.keys(e.errors).length>0||e.booleans||e.specifiers||e.functionHelp)}var So=new Map,Co={"condition.anySelector":`Any`,"condition.operator.after.title":`After`,"condition.operator.afterEqualTo.title":`After or On`,"condition.operator.and.desc":`Checks if all params are met`,"condition.operator.and.title":`And`,"condition.operator.average.desc":`Check if value is above or below the average`,"condition.operator.average.title":`Average`,"condition.operator.average.toString":`{dir, select, above{{eq, select, yes{Above or Equal} other{Above}}} other{{eq, select, yes{Below or Equal} other{Below}}}} Average{stdDevs, plural, =0{} one{ (# Std Dev)} other{ (# Std Devs)}}`,"condition.operator.before.title":`Before`,"condition.operator.beforeEqualTo.title":`Before or On`,"condition.operator.between.desc":`Check if value is between 2 numbers`,"condition.operator.between.title":`Between`,"condition.operator.between.toString":`Between {from} and {to}`,"condition.operator.blank.title":`Blank`,"condition.operator.color.desc":`Check if value has a specific color`,"condition.operator.color.title":`Color`,"condition.operator.equalTo.title":`Equal To`,"condition.operator.error.title":`Error`,"condition.operator.expression.desc":`Evaluates a formula expression against the value of the cell`,"condition.operator.expression.title":`Formula`,"condition.operator.greaterThan.title":`Greater Than`,"condition.operator.greaterThanEqualTo.title":`Greater Than or Equal To`,"condition.operator.icon.desc":`Check if value has a matching icon`,"condition.operator.icon.title":`Icon`,"condition.operator.inSet.dateGroups":`{title} {count, plural, one{# Date Group} other{# Date Groups}}`,"condition.operator.inSet.desc":`Check if value is in a list of items`,"condition.operator.inSet.items":`{title} {count, plural, one{# Item} other{# Items}}`,"condition.operator.inSet.title":`In`,"condition.operator.lessThan.title":`Less Than`,"condition.operator.lessThanEqualTo.title":`Less Than Or Equal To`,"condition.operator.not.desc":`Check if value does not meet a condition`,"condition.operator.not.title":`Not`,"condition.operator.not.toString":`{title} {condition}`,"condition.operator.or.desc":`Checks if any params are met`,"condition.operator.or.title":`Or`,"condition.operator.textContains.title":`Contains`,"condition.operator.textEmail.title":`Is Email`,"condition.operator.textEndsWith.title":`Ends With`,"condition.operator.textIsUrl.title":`Is URL`,"condition.operator.textStartsWith.title":`Starts With`,"condition.operator.timePeriod.desc":`Check if value falls within a time period`,"condition.operator.timePeriod.title":`Time Period`,"condition.operator.timePeriod.toString":`{title} {period}`,"condition.operator.titleWithParam":`{title} {param}`,"condition.operator.topN.desc":`Check if value is in the top or bottom N`,"condition.operator.topN.title":`Top N`,"condition.operator.topN.toString":`{edge, select, top{Top} other{Bottom}} {limit} {unit, select, percent{Percent} other{Items}}`,"condition.operator.unique.desc":`Check if value is unique`,"condition.operator.unique.title":`Unique`,"condition.selector.date.desc":`The date portion of a date time`,"condition.selector.date.title":`Date`,"condition.selector.dateTime.desc":`DateTime`,"condition.selector.dateTime.title":`Date Time`,"condition.selector.list.desc":`List`,"condition.selector.list.title":`List`,"condition.selector.logical.desc":`Logical`,"condition.selector.logical.title":`Logical`,"condition.selector.number.desc":`Number`,"condition.selector.number.title":`Number`,"condition.selector.ruleDescription":`{title} Rule`,"condition.selector.text.desc":`Text`,"condition.selector.text.title":`Text`,"condition.selector.textLength.desc":`The length of text`,"condition.selector.textLength.title":`Text Length`,"condition.selector.time.desc":`The time portion of a date time`,"condition.selector.time.title":`Time`,"condition.selector.whole.desc":`The whole portion of a number`,"condition.selector.whole.title":`Whole`,"condition.selectorWithOperator":`{selector}: {operator}`,"copy.columnCopy":`Column Copy`,"copy.columnHeaders":`Column Headers`,"copy.rowCopy":`Row Copy`,"copy.rowHeaders":`Row Headers`,"error.address.invalidAddress":`Invalid cell address: {address}`,"error.address.invalidAddressCoords":`Invalid cell address: invalid coords`,"error.address.invalidArguments":`Invalid arguments.`,"error.address.invalidCell":`Invalid cell.`,"error.address.invalidRange":`Invalid range. The Range must be at a size of at least 1x1.`,"error.address.invalidRangeAddress":`Invalid address. Can not parse ''{address}'' as an address or named item.`,"error.address.invalidRangeAddressAny":`Invalid address. Can not parse as an address or named item.`,"error.address.invalidRangeCoords":`Invalid range. All points must be valid integers.`,"error.address.invalidRangeEmpty":`Invalid range.`,"error.address.invalidRangeHeader":`Invalid header range.`,"error.address.invalidRangeInverted":`Invalid range. The Range must be specified as '{ TOP_LEFT:BOTTOM_RIGHT }'.`,"error.address.invalidRangeRelative":`Invalid address. Relative ranges as not allowed: {address}`,"error.address.noAddress":`Must specify an address.`,"error.address.noRange":`Must specify a range.`,"error.address.removeDuplicatesColumn":`Invalid column ''{column}''. The column must be within the range.`,"error.address.removeDuplicatesNoData":`Can not remove duplicates. The range does not contain any data.`,"error.address.singleCellOnly":`Only a single cell is allowed.`,"error.address.singleRangeOnly":`Only a single range is allowed for this operation.`,"error.address.singleRangeOnlyAlt":`Only a single range is allowed for this operation. Use ''getRanges'' instead.`,"error.address.textToColumnsMulti":`The range must be a single column range.`,"error.address.textToColumnsOverwrite":`The destination range has data.`,"error.anchor.protected":`Unable to {description}. The item is protected.`,"error.function.builtInName":`''{name}'' is a built-in function. Choose a different name.`,"error.hyperlink.invalidHyperlink":`Invalid hyperlink`,"error.io.encryptionUnavailable":`Password protection is not available, so this workbook cannot be saved with a password.`,"error.io.passwordIncorrect":`The password is incorrect.`,"error.io.passwordRequired":`''{name}'' is password protected. A password is required to open it.`,"error.io.passwordRequiredSave":`''{name}'' is password protected. Supply the password to save it, or save it without protection.`,"error.io.passwordRequiredSaveUnnamed":`This file is password protected. Supply the password to save it, or save it without protection.`,"error.io.passwordRequiredUnnamed":`This file is password protected. A password is required to open it.`,"error.io.readFailed":`Unable to read {format} — {reason}`,"error.io.readFormatUnavailable":`Unable to open ''{format}'' — that file type is not supported.`,"error.io.writeFailed":`Unable to save the workbook — {reason}`,"error.io.writeFormatUnavailable":`Unable to save as ''{format}'' — that file type is not supported.`,"error.io.writeFormatUnresolved":`Unable to determine the file type to save as. Choose a file type, or use a file name with a known extension.`,"error.model.modelClosed":`Model has been closed. No further operations are allowed.`,"error.model.nameRequired":`Name is required`,"error.named.containsSpaces":`Name must not contain any spaces.`,"error.named.invalidFirstChar":`First letter must be either a letter, an underscore, or a backslash.`,"error.named.invalidInvalidCellAddress":`Name can not be an address.`,"error.named.invalidSpecialRC":`Name can not be 'r' or 'c'.`,"error.named.invalidTrailingChar":`Name must be either letters, numbers, periods or underscores.`,"error.named.nameEmpty":`Name must be a non-empty string`,"error.named.nameExists":`Named item ''{name}'' already exists.`,"error.named.nameExistsInScope":`Named item ''{name}'' already exists in scope {scope}.`,"error.named.nameMaxLength":`Name must not exceed 255 characters.`,"error.named.nameReadonly":`Names are read-only.`,"error.named.templateRequired":`A template string must be specified.`,"error.protectedRange.noName":`Protected range must have a name.`,"error.protectedRange.uniqueName":`A protected range named ''{name}'' already exists.`,"error.sheet.addressInvalidScope":`When using addresses directly from the sheet do not include the sheet name.`,"error.sheet.autofillInvalidDestination":`AutoFill destination ({destination}) must extend or shrink the source range ({template}) in a single direction.`,"error.sheet.autofillMultiple":`When filling with merged cells the amount to fill must be a multiple of the input range [{modulus}].`,"error.sheet.autofillOverlapMerge":`Unable to partially fill over merged cells.`,"error.sheet.copyInvalidSource":`Unable to determine source.`,"error.sheet.copyMissingArgs":`Both a source and a destination are required to copy.`,"error.sheet.copyMultipleRanges":`Multiple selection ranges can not be copied.`,"error.sheet.copyNoSource":`The source has no range.`,"error.sheet.deleteOverlapping":`We can't delete cells with overlapping selections.`,"error.sheet.emptyView":`View can not be empty.`,"error.sheet.insertCopyMultipleRanges":`Only a single selection is supported when using 'Insert Copy'.`,"error.sheet.insertCutOverlap":`When pasting before or after the cut area both areas must align.`,"error.sheet.insertItemOob":`We can't insert cells because this would push items off the end of the worksheet.`,"error.sheet.insertItemProtected":`We can't insert items. The sheet is protected.`,"error.sheet.insertMergeThrough":`We can't insert through merges. Unmerge and try again.`,"error.sheet.insertOob":`We can't insert cells because this would push values off the end of the worksheet. These cells may appear empty but they have some formatting or formulas. Delete enough rows or columns and try again.`,"error.sheet.insertOobFreeze":`We can't insert cells because this would push the frozen panes off the end of the worksheet. Unfreeze the panes and try again.`,"error.sheet.insertOverlapping":`We can't insert cells with overlapping selections.`,"error.sheet.invalidCellType":`Invalid cell type: {type}. See documentation for information on valid built in cell types and creating custom cell types.`,"error.sheet.invalidScopedRangeAddress":`Invalid sheet address. Can not parse ''{address}'' as a sheet address or items scope to ''{scope}''. Sheet address must not include the sheet name.`,"error.sheet.invalidScopedRangeArguments":`Invalid sheet address. Can not parse arguments as a sheet address or items scope to ''{scope}''. Sheet address must not include the sheet name.`,"error.sheet.itemOverlapping":`We can't create a {type} that overlaps with another table or merge.`,"error.sheet.iteratorClosed":`IteratorContext can only be used during visit.`,"error.sheet.listenerNull":`Listener can not be null`,"error.sheet.maxValues":`Unable to return more than {max} values. To access values in a more scalable solution use ''ICellRange.forEach'' or an iterator.`,"error.sheet.mergeMultipleValues":`Merging cells would cause some values to be discarded. Use 'discardMultipleValues' option if desired.`,"error.sheet.mergeOob":`We can't merge outside of the maximum cell location.`,"error.sheet.mergeOverlapping":`Overlapping ranges can not be merged.`,"error.sheet.modelClosed":`Sheet has been closed. No further operations are allowed.`,"error.sheet.modelDelete":`Unable to delete.`,"error.sheet.noImageProvided":`An image must be provided as a string or a resource option.`,"error.sheet.oobCell":`The cell is outside of the bounds of the range.`,"error.sheet.oobRange":`The range is outside of the bounds of the sheet.`,"error.sheet.paste":`Unable to paste: {message}`,"error.sheet.pasteOob":`We can't paste outside of the sheet bounds.`,"error.sheet.previewRange":`This range is an autoFill preview and cannot be modified. Run 'autoFill' without 'preview' to apply it.`,"error.sheet.protectedField":`Unable to {description}, this sheet is protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheet.protectedRangeLocked":`This range is protected with a password. Enter the password to make a change.`,"error.sheet.protectedSheet":`This sheet is protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheet.readonlyRange":`Readonly sheet`,"error.sheet.readonlySheet":`Unable to {description}, this sheet is readonly.`,"error.sheet.setValuesType":`'setValues' expects a 2d array; when working with a single value use 'setValue'.`,"error.sheet.setValueType":`'setValue' expects a single value; when working with an array use 'setValues'.`,"error.sheet.snapshotDone":`Unable to use a snapshot multiple times.`,"error.sheet.sortMergeSize":`Unable to sort merged cells unless they are all the same size.`,"error.sheet.table1By1":`A table must have a least two rows; one for the table header and one for data.`,"error.sheet.tableEmpty":`An autotable must have data to be created.`,"error.sheet.uniqueName":`Name must be unique: ''{name}'' is already in use.`,"error.sheet.unmergeOverlapping":`We can't unmerge intersecting ranges.`,"error.sheet.unmergePartial":`We can't unmerge partial cells.`,"error.sheet.unsupportedFloatingType":`Unsupported float type: {type}`,"error.sheetHeader.protectedColumns":`The columns are protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sheetHeader.protectedRows":`The rows are protected. To make a change, unprotect the sheet. You might be requested to enter a password.`,"error.sort.sortOobRange":`The sort offset is outside of the bounds of the sort.`,"error.table.autoTableInvalidOperation":`That operation is not valid for an AutoTable.`,"error.table.tableBodyRows":`Select rows within the table body.`,"error.table.tableNoBody":`A table must have a least one row and one column for the data.`,"error.table.tableNoName":`Table must have a name.`,"error.table.tableRemoveHeader":`We can not remove rows that contain table headers. Remove the table header.`,"error.table.tableResizeInvalidBounds":`The top of the table must not change and the new table location must overlap with the original table.`,"error.table.tableSplit":`We can not partially insert or remove cells as this would split a table.`,"error.workbook.deleteKey":`Invalid reference for delete: {key}`,"error.workbook.invalidId":`Invalid id: {id}`,"error.workbook.invalidLocale":`Invalid locale: ''{locale}''. Expected a BCP 47 tag such as ''de-DE''.`,"error.workbook.invalidSheetKey":`Invalid SheetKey: {key}`,"error.workbook.modelClosed":`Workbook has been closed. No further operations are allowed.`,"error.workbook.nameDuplicate":`The sheet name ''{sheetName}'' already exist in workbook.`,"error.workbook.nameTaken":`That name is already taken. Try a different one.`,"error.workbook.notSetValue":`A value must be provided.`,"error.workbook.noVisibleRefs":`Internal error no visible sheetRefs`,"error.workbook.protection":`This workbook structure is protected. To make a change, unprotect the workbook. You might be requested to enter a password.`,"error.workbook.sheetIndexNotFound":`No sheet found at {index}.`,"error.workbook.sheetNameBlank":`A sheet name can not be blank.`,"error.workbook.sheetNameInvalidChars":`A sheet name can not contain any of the following characters '\\ , / , * , ? , : , [ , ]'.`,"error.workbook.sheetNameInvalidCharsNamed":`''{sheetName}'' can not contain any of the following characters '\\ , / , * , ? , : , [ , ]'.`,"error.workbook.sheetNameNotFound":`''{sheetName}'' not found.`,"error.workbook.sheetNameNotProvided":`Sheet name not provided. If you are trying to reference the active sheet, use getSelectedSheet() instead.`,"error.workbook.sheetNameQuotes":`A sheet name can not begin or end with a "'" (single quote).`,"error.workbook.sheetNameTooLong":`A sheet name can not be longer than 31 characters.`,"error.workbook.sheetOne":`A workbook must contain at least one visible worksheet.`,"movable.copySuffix":`{name} (Copy)`,"name.dataValidation":`Data Validation`,"op.addColumns":`Add Columns`,"op.addDataValidation":`Add Data Validation`,"op.addNamedFormulaNamed":`Add Named Formula ''{name}''`,"op.addProtectedRange":`Add Protected Range`,"op.addRangeListener":`Add Range Listener`,"op.addScript":`Add Script`,"op.addSheet":`Add Sheet`,"op.addSheetNamed":`Add Sheet ''{name}''`,"op.addTable":`Add Table`,"op.addTableColumn":`Add Table Column`,"op.addTableColumns":`Add Table Columns`,"op.addTableRow":`Add Table Row`,"op.addTableRows":`Add Table Rows`,"op.applyFilters":`Apply Filters`,"op.applySort":`Apply Sort`,"op.autoFill":`Auto Fill`,"op.autofit":`Autofit`,"op.autofitAll":`Autofit All`,"op.autofitColumns":`Autofit Columns`,"op.autofitRows":`Autofit Rows`,"op.clear":`Clear`,"op.clearAll":`Clear All`,"op.clearColumnHeaders":`Clear Column Headers`,"op.clearComments":`Clear Comments`,"op.clearFormats":`Clear Formats`,"op.clearFormulas":`Clear Formulas`,"op.clearHyperlinks":`Clear Hyperlinks`,"op.clearRowHeaders":`Clear Row Headers`,"op.clearSort":`Clear Sort`,"op.clearStyle":`Clear Style`,"op.clearValues":`Clear Values`,"op.closeTable":`Close Table`,"op.convertToRange":`Convert to Range`,"op.copyImageFromClipboard":`Copy Image from Clipboard`,"op.copyMovable":`Copy Movable`,"op.copyNamed":`Copy {name}`,"op.createAnchoredItem":`Create Anchored Item`,"op.createItem":`Create Item`,"op.createItemNamed":`Create Item ''{name}''`,"op.cutNamed":`Cut {name}`,"op.darkerPercent":`Darker {percent}%`,"op.delete":`Delete`,"op.deleteCells":`Delete Cells`,"op.deleteColumnNamed":`Delete Column ''{name}''`,"op.deleteColumns":`Delete Columns`,"op.deleteConditionalFormat":`Delete Conditional Format`,"op.deleteConditionalFormatNamed":`Delete Conditional Format ''{name}''`,"op.deleteDataValidation":`Delete Data Validation`,"op.deleteDataValidationNamed":`Delete Data Validation ''{name}''`,"op.deleteDrawing":`Delete Drawing`,"op.deleteFilter":`Delete Filter`,"op.deleteFilters":`Delete Filters`,"op.deleteModule":`Delete Module`,"op.deleteNamedItem":`Delete Named Item ''{name}''`,"op.deletePicture":`Delete Picture`,"op.deleteProtectedRange":`Delete Protected Range`,"op.deleteProtectedRangeNamed":`Delete Protected Range ''{name}''`,"op.deleteRows":`Delete Rows`,"op.deleteSheet":`Delete Sheet ''{name}''`,"op.deleteSorts":`Delete Sorts`,"op.deleteSortsAndFilters":`Delete Sorts and Filters`,"op.deleteTableColumn":`Delete Table Column`,"op.deleteTableColumns":`Delete Table Columns`,"op.deleteTableNamed":`Delete Table ''{name}''`,"op.deleteTableRow":`Delete Table Row`,"op.deleteTableRows":`Delete Table Rows`,"op.duplicateNamed":`Duplicate ''{name}''`,"op.filter":`Filter`,"op.filterColumn":`Filter {name}`,"op.filterTable":`Filter Table`,"op.hideBandedColumns":`Hide Banded Columns`,"op.hideBandedRows":`Hide Banded Rows`,"op.hideColumns":`Hide Columns`,"op.hideHeaders":`Hide Headers`,"op.hideHighlightFirstColumn":`Hide Highlight First Column`,"op.hideHighlightLastColumn":`Hide Highlight Last Column`,"op.hideRows":`Hide Rows`,"op.hideSheet":`Hide Sheet`,"op.hideTotals":`Hide Totals`,"op.initialize":`Initialize`,"op.initializeConditionalFormat":`Initialize Conditional Format`,"op.initializeDataValidation":`Initialize Data Validation`,"op.initializeProtectedRange":`Initialize Protected Range`,"op.initializeTable":`Initialize Table`,"op.insertAutoTable":`Insert AutoTable`,"op.insertCells":`Insert Cells`,"op.insertColumns":`Insert Columns`,"op.insertConditionalFormat":`Insert Conditional Format`,"op.insertCopiedCells":`Insert Copied Cells`,"op.insertDataValidation":`Insert Data Validation`,"op.insertDrawing":`Insert Drawing`,"op.insertImage":`Insert Image`,"op.insertProtectedRange":`Insert Protected Range`,"op.insertRows":`Insert Rows`,"op.insertTable":`Insert Table`,"op.lighterPercent":`Lighter {percent}%`,"op.loadMovable":`Load Movable`,"op.loadSheet":`Load Sheet`,"op.merge":`Merge`,"op.moveBackwards":`Move Backwards`,"op.moveForward":`Move Forward`,"op.moveSheetNamed":`Move Sheet ''{name}''`,"op.moveToBack":`Move to Back`,"op.moveToFront":`Move to Front`,"op.newSheet":`New Sheet`,"op.newWorkbook":`New Workbook`,"op.openWorkbook":`Open Workbook`,"op.paste":`Paste`,"op.pasteNamed":`Paste {name}`,"op.range":`Range`,"op.rangesUpdate":`Ranges Update`,"op.rangeUpdate":`Range Update`,"op.realizeCalcs":`Realize Calcs`,"op.refreshSortsAndFilters":`Refresh Sorts and Filters`,"op.removeDuplicates":`Remove Duplicates`,"op.removeNamedFormula":`Remove Named Formula`,"op.removePicture":`Remove Picture`,"op.removeRangeListener":`Remove Range Listener`,"op.removeScript":`Remove Script`,"op.renameSheet":`Rename Sheet`,"op.reorderConditionalFormat":`Reorder Conditional Format`,"op.reorderDataValidations":`Reorder Data Validations`,"op.reorderProtectedRange":`Reorder Protected Range`,"op.replace":`Replace`,"op.replaceAll":`Replace All`,"op.replaceAllWith":`Replace All with ''{value}''`,"op.replaceAt":`Replace {address}`,"op.replaceAtWith":`Replace {address} with ''{value}''`,"op.replaceWith":`Replace with ''{value}''`,"op.resizeColumns":`Resize Columns`,"op.resizeRows":`Resize Rows`,"op.resizeTable":`Resize Table`,"op.saveScripts":`Save Scripts`,"op.setAlertMessage":`Set Alert Message`,"op.setAlertStyle":`Set Alert Style`,"op.setAlertTitle":`Set Alert Title`,"op.setAlignment":`Set Alignment`,"op.setAngle":`Set Angle`,"op.setBackgroundColor":`Set Background Color`,"op.setBorder":`Set Border`,"op.setBottomBorder":`Set Bottom Border`,"op.setBottomBorderColor":`Set Bottom Border Color`,"op.setBottomBorderStyle":`Set Bottom Border Style`,"op.setCellAddress":`Set Cell {address}`,"op.setColumnName":`Set Column Name`,"op.setComment":`Set Comment`,"op.setComments":`Set Comments`,"op.setComputedValues":`Set Computed Values`,"op.setCondition":`Set Condition`,"op.setDiagonalDownBorder":`Set Diagonal Down Border`,"op.setDiagonalDownBorderColor":`Set Diagonal Down Border Color`,"op.setDiagonalDownBorderStyle":`Set Diagonal Down Border Style`,"op.setDiagonalUpBorder":`Set Diagonal Up Border`,"op.setDiagonalUpBorderColor":`Set Diagonal Up Border Color`,"op.setDiagonalUpBorderStyle":`Set Diagonal Up Border Style`,"op.setDisabledAutoExpand":`Set Disabled Auto Expand`,"op.setEntireSize":`Set Entire Size`,"op.setFill":`Set Fill`,"op.setFillColor":`Set Fill Color`,"op.setFillGradient":`Set Fill Gradient`,"op.setFillNone":`Set Fill None`,"op.setFillPattern":`Set Fill Pattern`,"op.setFillSolid":`Set Fill Solid`,"op.setFocus":`Set Focus`,"op.setFont":`Set Font`,"op.setFontBold":`Set Font Bold`,"op.setFontCharset":`Set Font Charset`,"op.setFontColor":`Set Font Color`,"op.setFontExtend":`Set Font Extend`,"op.setFontFallbacks":`Set Font Fallbacks`,"op.setFontFamily":`Set Font Family`,"op.setFontItalic":`Set Font Italic`,"op.setFontLetterSpacing":`Set Font Letter Spacing`,"op.setFontOutline":`Set Font Outline`,"op.setFontScheme":`Set Font Scheme`,"op.setFontShadow":`Set Font Shadow`,"op.setFontSize":`Set Font Size`,"op.setFontStrike":`Set Font Strike`,"op.setFontStyle":`Set Font Style`,"op.setFontUnderline":`Set Font Underline`,"op.setFontVerticalAlignment":`Set Font Vertical Alignment`,"op.setFontWeight":`Set Font Weight`,"op.setForegroundColor":`Set Foreground Color`,"op.setGradientType":`Set Gradient Type`,"op.setHidden":`Set Hidden`,"op.setHiddenButtons":`Set Hidden Buttons`,"op.setHideDropdown":`Set Hide Dropdown`,"op.setHorizontalAlignment":`Set Horizontal Alignment`,"op.setHorizontalBorder":`Set Horizontal Border`,"op.setHorizontalBorderColor":`Set Horizontal Border Color`,"op.setHorizontalBorderStyle":`Set Horizontal Border Style`,"op.setHyperlink":`Set Hyperlink`,"op.setIncludeBlanks":`Set Include Blanks`,"op.setIndent":`Set Indent`,"op.setIndex":`Set Index`,"op.setJustifyLastLine":`Set Justify Last Line`,"op.setLeftBorder":`Set Left Border`,"op.setLeftBorderColor":`Set Left Border Color`,"op.setLeftBorderStyle":`Set Left Border Style`,"op.setLockAspectRatio":`Set Lock Aspect Ratio`,"op.setMovableBounds":`Set Movable Bounds`,"op.setMovableDescription":`Set Movable Description`,"op.setMovableName":`Set Movable Name`,"op.setMovableResizeBehavior":`Set Movable Resize Behavior`,"op.setMovableRotation":`Set Movable Rotation`,"op.setMovableVisibility":`Set Movable Visibility`,"op.setName":`Set Name`,"op.setNamedStyle":`Set Named Style`,"op.setNumberFormat":`Set Number Format`,"op.setOutlineBorder":`Set Outline Border`,"op.setOverflow":`Set Overflow`,"op.setPatternType":`Set Pattern Type`,"op.setPicture":`Set Picture`,"op.setPromptMessage":`Set Prompt Message`,"op.setPromptTitle":`Set Prompt Title`,"op.setProtectedRangeName":`Set Protected Range Name`,"op.setProtectedRangePassword":`Set Protected Range Password`,"op.setProtectedRangePermissions":`Set Protected Range Permissions`,"op.setQuotePrefix":`Set Quote Prefix`,"op.setRangeAddress":`Set Range {address}`,"op.setRanges":`Set Ranges`,"op.setReadingDirection":`Set Reading Direction`,"op.setRelativeIndent":`Set Relative Indent`,"op.setRightBorder":`Set Right Border`,"op.setRightBorderColor":`Set Right Border Color`,"op.setRightBorderStyle":`Set Right Border Style`,"op.setRotation":`Set Rotation`,"op.setShowErrorMessage":`Set Show Error Message`,"op.setShowPromptMessage":`Set Show Prompt Message`,"op.setStacked":`Set Stacked`,"op.setStopFalse":`Clear Stop If True`,"op.setStops":`Set Stops`,"op.setStopTrue":`Set Stop If True`,"op.setTableDescription":`Set Table Description`,"op.setTableName":`Set Table Name`,"op.setTableNameNamed":`Set Table Name ''{name}''`,"op.setTopBorder":`Set Top Border`,"op.setTopBorderColor":`Set Top Border Color`,"op.setTopBorderStyle":`Set Top Border Style`,"op.setTotalsRowFormula":`Set Totals Row Formula`,"op.setTotalsRowLabel":`Set Totals Row Label`,"op.setValue":`Set Value`,"op.setValueAddress":`Set Value {address}`,"op.setValuesAddress":`Set Values {address}`,"op.setVerticalAlignment":`Set Vertical Alignment`,"op.setVerticalBorder":`Set Vertical Border`,"op.setVerticalBorderColor":`Set Vertical Border Color`,"op.setVerticalBorderStyle":`Set Vertical Border Style`,"op.shiftingMovableBounds":`Shifting Movable Bounds`,"op.showBandedColumns":`Show Banded Columns`,"op.showBandedRows":`Show Banded Rows`,"op.showHeaders":`Show Headers`,"op.showHighlightFirstColumn":`Show Highlight First Column`,"op.showHighlightLastColumn":`Show Highlight Last Column`,"op.showTotals":`Show Totals`,"op.sortAscending":`Sort Ascending`,"op.sortColumn":`Sort {name}`,"op.sortDescending":`Sort Descending`,"op.sortTable":`Sort Table`,"op.syncColumnsFromSheet":`Sync Columns From Sheet`,"op.syncColumnsToSheet":`Sync Columns To Sheet`,"op.tableAutoExpansion":`Table Auto Expansion`,"op.textToColumns":`Text to Columns`,"op.unhideColumns":`Unhide Columns`,"op.unhideRows":`Unhide Rows`,"op.unhideSheet":`Unhide Sheet`,"op.unmerge":`Unmerge`,"op.update":`Update`,"op.updateAnchor":`Update Anchor`,"op.updateCalculations":`Update Calculations`,"op.updateCells":`Update Cells`,"op.updateColumnNamed":`Update Column ''{name}''`,"op.updateColumns":`Update Columns`,"op.updateColumnsFromSheet":`Update Columns From Sheet`,"op.updateColumnsRange":`Update Columns {range}`,"op.updateConditionalFormat":`Update Conditional Format`,"op.updateConditionalFormatListener":`Update Conditional Format Listener`,"op.updateDataValidation":`Update Data Validation`,"op.updateDataValidationListener":`Update Data Validation Listener`,"op.updateDataValidations":`Update Data Validations`,"op.updateDrawing":`Update Drawing`,"op.updateFormulaAt":`Update Formula at {address}`,"op.updateHeader":`Update Header`,"op.updateListener":`Update Listener`,"op.updateMovableBounds":`Update Movable Bounds`,"op.updateMovables":`Update Movables`,"op.updateNamed":`Update Named ''{name}''`,"op.updateProtectedRange":`Update Protected Range`,"op.updateProtectedRanges":`Update Protected Ranges`,"op.updateReferenceStyle":`Update Reference Style`,"op.updateReferenceStyleAt":`Update Reference Style at {address}`,"op.updateRows":`Update Rows`,"op.updateRowsRange":`Update Rows {range}`,"op.updateSheet":`Update Sheet`,"op.updateStyle":`Update Style`,"op.updateStyleInfo":`Update Style Info`,"op.updateWorkbook":`Update Workbook`,"op.updatingMovableBounds":`Updating Movable Bounds`,"op.veryHideSheet":`Very Hide Sheet`,"style.builtin.accent":`Accent{n}`,"style.builtin.accentTint":`{pct}% - Accent{n}`,"style.builtin.bad":`Bad`,"style.builtin.calculation":`Calculation`,"style.builtin.checkCell":`Check Cell`,"style.builtin.comma":`Comma`,"style.builtin.comma0":`Comma [0]`,"style.builtin.currency":`Currency`,"style.builtin.currency0":`Currency [0]`,"style.builtin.explanatoryText":`Explanatory Text`,"style.builtin.followedHyperlink":`Followed Hyperlink`,"style.builtin.good":`Good`,"style.builtin.heading":`Heading {n}`,"style.builtin.hyperlink":`Hyperlink`,"style.builtin.input":`Input`,"style.builtin.linkedCell":`Linked Cell`,"style.builtin.neutral":`Neutral`,"style.builtin.normal":`Normal`,"style.builtin.note":`Note`,"style.builtin.output":`Output`,"style.builtin.percent":`Percent`,"style.builtin.title":`Title`,"style.builtin.total":`Total`,"style.builtin.warningText":`Warning Text`,"table.autoTableDescription":`AutoTable created for filtering and sorting`,"table.autoTableName":`AutoTable`,"table.defaultName":`Table{n}`,"table.emptyColumnName":`Column`,"table.totalsRowLabel":`Total`,"workbook.defaultName":`Workbook`,"workbook.defaultSheetName":`Sheet{n}`};function wo(){return(0,n.registerPackageMessages)(`@sheetxl/sdk`,{}.url,Co)}var To=(e,t,n,r=null)=>{let i=t||11*U.getDeviceScale(),a=r?.letterSpacing||0,o=e.length,s=.68*i*o-(e.match(/[il.,;!|]/g)||[]).length*i*.15+(e.match(/[mwMW]/g)||[]).length*i*.1+(o>0?(o-1)*a:0),c=Math.ceil(1.2*i),l=Math.ceil(.8*i),u=Math.ceil(.2*i),d=Math.ceil(.45*i),f=Math.ceil(1.1*i),p=Math.max(1,Math.ceil(.08*i));return{width:s,lineHeight:c,baseline:l,lineGap:u,strikePosition:d,underlinePosition:f,strikeThickness:p,underlineThickness:p,actualBoundingBoxLeft:0,actualBoundingBoxRight:s,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c-l,fontBoundingBoxAscent:l,fontBoundingBoxDescent:c-l,emHeightAscent:l,emHeightDescent:c-l,hangingBaseline:.8*l,alphabeticBaseline:l,ideographicBaseline:c}},Eo=e.n({CanvasFontMeasurer:()=>Lo,getDeviceScale:()=>Bo,getInstance:()=>zo}),Do={},Oo=` `,ko=`px `,Ao=(e,t)=>{let n=`normal`;return e&&t?n=`bold italic`:e?n=`bold`:t&&(n=`italic`),n},jo=e=>e.split(`,`).map(e=>{let t=(e=e.trim()).indexOf(` `)>=0,n=e.indexOf(`"`)>=0||e.indexOf(`'`)>=0;return t&&!n&&(e=`"${e}"`),e}).join(`, `),Mo=new Map,No=new Map,Po=.6,Fo=null,Io=(e,t,n,r,i,a)=>e+Math.round(100*t)/100+n+r+i+a;function Lo(e,t,r,i=null){let a=i?.letterSpacing||0;typeof window>`u`||Do.contextMeasure||(Do.canvasMeasure=document?document.createElement(`canvas`):null,Do.contextMeasure=Do.canvasMeasure.getContext(`2d`),Do.contextMeasure.letterSpacing=`${a}px`,Do.contextMeasure.textRendering=`geometricPrecision`,Do.contextMeasure.textBaseline=`alphabetic`,Do.contextMeasure.textAlign=`left`);let o=r||`calibri`,s=t||11*U.getDeviceScale(),c=i?.isBold||!1,l=i?.isItalic||!1,u=null;if(e===`#`||e===`0`||e===`M`||e===``||e===`_`||e===`-`){u=Io(e,s,o,c,l,a);let t=Mo.get(u);if(t)return t}if(Fo&&Fo.text===e&&Fo.size===t&&Fo.family===r&&Fo.options?.isBold===i?.isBold&&Fo.options?.isItalic===i?.isItalic&&Fo.options?.letterSpacing===i?.letterSpacing)return Fo.metrics;let d={},f=Ao(c,l)+Oo+n.CommonUtils.roundAccurately(s,2)+ko+jo(o);Do.contextMeasure?(Do.contextMeasure.font=f,Do.contextMeasure.letterSpacing=`${i?.letterSpacing??0}px`,d=Do.contextMeasure.measureText(e)):d.width=e.length*n.CommonUtils.roundAccurately(Po*(s/U.getDeviceScale()),2);let p=No.get(f);if(!p&&typeof window<`u`){let e=document.createElement(`div`);e.style.visibility=`hidden`,e.style.position=`absolute`;let t=document.createElement(`span`);t.textContent=`Mj`,t.style.fontSize=`100px`,t.style.fontWeight=i?.isBold?`bold`:`normal`,t.style.fontStyle=i?.isItalic?`italic`:`normal`,t.style.fontFamily=`'${o}'`,t.style.lineHeight=`1.2`,e.appendChild(t),document.body.appendChild(e);let r=e.getBoundingClientRect(),a=t.getBoundingClientRect();document.body.removeChild(e),Do.contextMeasure.font=Ao(c,l)+Oo+n.CommonUtils.roundAccurately(100,2)+ko+jo(o);let u=Do.contextMeasure.measureText(`M`),d=r.bottom-r.top,m=d-(u.fontBoundingBoxAscent+u.fontBoundingBoxDescent),h=u.fontBoundingBoxAscent+a.top,g=Do.contextMeasure.measureText(`_`),_=h-g.actualBoundingBoxAscent,v=Math.max(1,Math.abs(g.actualBoundingBoxAscent+g.actualBoundingBoxDescent)),y=Do.contextMeasure.measureText(`-`),b=n.CommonUtils.roundAccurately(h-y.actualBoundingBoxAscent+Math.max(1,.05*d,0)),x=v,S=s/100;p={lineHeight:Math.ceil(d*S),baseline:Math.ceil(h*S),lineGap:Math.ceil(m*S),strikePosition:Math.ceil(b*S),underlinePosition:Math.ceil(_*S),strikeThickness:Math.ceil(x*S),underlineThickness:Math.ceil(v*S)},Do.contextMeasure.font=f,No.set(f,p)}p||(p={lineHeight:Math.ceil(1.2*s),baseline:Math.ceil(s)+Math.floor(.1*s),lineGap:Math.ceil(.1*s),strikePosition:Math.ceil(.55*s)+Math.floor(.1*s),strikeThickness:1,underlinePosition:Math.ceil(1.1*s),underlineThickness:1},No.set(f,p));let m={...d,width:d.width,...p};return u!==null&&Mo.set(u,m),Fo={text:e,size:t,family:r,options:i,metrics:m},m}var Ro=null;function zo(){if(Ro)return Ro;try{let e=document.createElement(`canvas`),t=e.getContext&&e.getContext(`2d`);t&&typeof t.fillText==`function`&&(Ro=Lo)}catch{}return Ro||=(console.warn(`⚠️ CanvasFontMeasurer not available, falling back to SimpleFontMeasurer`),To),Ro}function Bo(){return 96/72*1}var U,Vo,W,Ho,Uo=null,Wo=Eo;(Vo=U||={}).Style={Normal:`normal`,Italic:`italic`},Vo.Scheme={Major:`major`,Minor:`minor`,None:`none`},Vo.Charset={Ansi:0,Default:1,Symbol:2,Mac:77,ShiftJIS:128,Hangul:129,Johab:130,GB2312:134,ChineseBig5:136,Greek:161,Turkish:162,Vietnamese:163,Hebrew:177,Arabic:178,Baltic:186,Russian:204,Thai:222,EastEurope:238,Oem:255},Vo.UnderlineStyle={None:`none`,Double:`double`,DoubleAccounting:`doubleAccounting`,Single:`single`,SingleAccounting:`singleAccounting`},Vo.VerticalAlignment={Baseline:`baseline`,Sub:`sub`,Super:`super`},Vo.setSharedMeasurer=function(e){Uo=e},Vo.getSharedMeasurer=function(){return Uo||=Wo.getInstance()},Vo.getDeviceScale=function(){return Wo.getDeviceScale()},Vo.getPanoseFallback=function(e){let t=[],n=e.length;for(let r=0;r<n;r+=2)t.push(parseInt(e.substring(r,r+2),16));let r=t[0],i=t[1],a=t[3];switch(r){case 2:return a===9?`monospace`:i>=2&&i<=8?`serif`:`sans-serif`;case 3:return`cursive`;case 4:return`fantasy`;case 5:return`monospace`;default:return`sans-serif`}},Vo.GenericName={Serif:`serif`,SanSerif:`sans-serif`,MonoSpace:`monospace`,Cursive:`cursive`,Fantasy:`fantasy`,SystemUI:`system-ui`,UISystem:`ui-system`,UISerif:`ui-serif`,UISanSerif:`ui-sans-serif`,UIMonoSpace:`ui-monospace`,UIRounded:`ui-rounded`,Math:`math`,Emoji:`emoji`,Fangsong:`fangsong`},(Ho=W||={}).StrokeStyle={None:`none`,DashDot:`dashDot`,MediumDashDot:`mediumDashDot`,Dotted:`dotted`,Hair:`hair`,Thin:`thin`,Medium:`medium`,Thick:`thick`,MediumDashDotDot:`mediumDashDotDot`,DashDotDot:`dashDotDot`,Dashed:`dashed`,MediumDashed:`mediumDashed`,SlantDashDot:`slantDashDot`,Double:`double`},Ho.Edge={Left:`left`,Top:`top`,Right:`right`,Bottom:`bottom`,Horizontal:`horizontal`,Vertical:`vertical`,DiagonalUp:`diagonalUp`,DiagonalDown:`diagonalDown`};var Go,Ko=[],qo=new Map,Jo=Object.freeze([[W.StrokeStyle.Thin,`Thin`,1,null],[W.StrokeStyle.Hair,`Hair`,1,[1,1]],[W.StrokeStyle.Dotted,`Dotted`,1,[2,2]],[W.StrokeStyle.Dashed,`Dashed`,1,[3,1]],[W.StrokeStyle.DashDot,`Dash Dot`,1,[3,3,9,3]],[W.StrokeStyle.DashDotDot,`Dash Dot Dot`,1,[3,3,3,3,9,3]],[W.StrokeStyle.Double,`Double`,3,null],[W.StrokeStyle.Medium,`Medium`,2,null],[W.StrokeStyle.MediumDashed,`Medium Dashed`,2,[9,3]],[W.StrokeStyle.MediumDashDot,`Medium Dash Dot`,2,[3,3,9,3]],[W.StrokeStyle.MediumDashDotDot,`Medium Dash Dot Dot`,2,[3,3,3,3,9,3]],[W.StrokeStyle.SlantDashDot,`Slant Dash Dot`,2,[5,1,11,1]],[W.StrokeStyle.Thick,`Thick`,3,null],[W.StrokeStyle.None,`None`,0,null]]);for(let e=0;e<Jo.length;e++){let t=Jo[e],n=t[0],r=Object.freeze({style:n,description:t[1],width:t[2],pattern:t[3]});Ko.push(r),qo.set(n,r)}(Go=W||={}).isEqualStrokes=function(e,t){return!(e&&!t||t&&!e)&&(e===t||e.getStyle()===t.getStyle()&&e.getColor().isEqual(t.getColor()))},Go.oppositeEdge=function(e){return e===W.Edge.Left?W.Edge.Right:e===W.Edge.Right?W.Edge.Left:e===W.Edge.Top?W.Edge.Bottom:e===W.Edge.Bottom?W.Edge.Top:e},Go.BuiltInDefinitionsArray=Ko,Go.BuiltInDefinitions=qo;var Yo=Object.freeze({ß:`ss`,ẞ:`SS`,æ:`ae`,Æ:`AE`,œ:`oe`,Œ:`OE`,þ:`th`,Þ:`TH`,ij:`ij`,IJ:`IJ`,ff:`ff`,fi:`fi`,fl:`fl`,ffi:`ffi`,ffl:`ffl`,st:`st`,LJ:`LJ`,Lj:`Lj`,lj:`lj`,NJ:`NJ`,Nj:`Nj`,nj:`nj`,DZ:`DZ`,Dz:`Dz`,dz:`dz`,ȸ:`db`}),Xo=/[ßẞæÆœŒþÞijIJff-fflstLJ-njDZ-dzȸ]/g;function Zo(e,t=!0){let n=e.replace(Xo,e=>Yo[e]);return t?n.toLowerCase():n}function Qo(e){return e.toLowerCase()}var $o,es={Options:Object.freeze({sensitivity:`variant`,numeric:!1,ignorePunctuation:!1}),isCaseInsensitive:e=>{let t=e?.sensitivity;return t===void 0||t===`accent`||t===`base`},collator:e=>{let t=ts.get(e);return t||(t=new Intl.Collator(e.tag,es.Options),ts.set(e,t)),t},collatorFor:(e,t)=>{let n=`${e}|${t?.numeric??``}|${t?.caseFirst??``}|${t?.ignorePunctuation??``}`,r=ns.get(n);return r||(r=new Intl.Collator(e,{...es.Options,...t,sensitivity:`variant`}),ns.set(n,r)),r},compareTextWith:(e,t,n,r=!0)=>{if(e===t)return 0;let i=Zo(e,r),a=Zo(t,r),o=is(i),s=is(a);if(o===i&&s===a)return as(i,a,n);let c=as(o,s,n);return c===0?hs(i,a,n):c},compare:(e,t,n,r)=>{if(e==null){if(t==null)return 0;e=_s(t)}else t??=_s(e);let i=gs(e),a=gs(t);if(i!==a)return i<a?-1:1;switch(i){case 0:return vs(e,t);case 1:return es.compareTextWith(e,t,r?es.collatorFor(n.tag,r):es.collator(n),es.isCaseInsensitive(r));case 2:return e===t?0:e?1:-1;case 3:{let n=e.getCode(),r=t.getCode();return n===r?0:n<r?-1:1}default:return 0}}},ts=new WeakMap,ns=new Map,rs=new Map([[39,1],[65287,2],[45,3],[65123,3],[65293,5],[8722,6],[8208,7],[8209,8],[8210,9],[8211,10],[8212,11],[65112,11],[8213,13],[700,14]]),is=e=>{let t=e.length,n=0;for(;n<t&&!rs.has(e.charCodeAt(n));)n++;if(n===t)return e;let r=e.slice(0,n);for(;n<t;n++)rs.has(e.charCodeAt(n))||(r+=e[n]);return r},as=(e,t,n)=>{let r=e.length<t.length?e.length:t.length,i=0;for(;i<r&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(i===r)return n.compare(e,t);let a=e.codePointAt(i),o=t.codePointAt(i);if(ps(a)||ps(o))return n.compare(e,t);let s=ls(a),c=ls(o);return s===c?s===2?n.compare(e,t):a<o?-1:1:s<c?-1:1},os=new Set([43,60,61,62]),ss=/[\p{P}\p{S}\p{Z}]/u,cs=/\p{Cf}/u,ls=e=>{if(e<128){let t=ds[e];return t===void 0&&(t=ds[e]=us(e)),t}let t=fs.get(e);return t===void 0&&(t=us(e),fs.set(e,t)),t},us=e=>os.has(e)?1:ss.test(String.fromCodePoint(e))?0:2,ds=Array(128),fs=new Map,ps=e=>{let t=ms.get(e);return t===void 0&&(t=e>=128&&cs.test(String.fromCodePoint(e)),ms.set(e,t)),t},ms=new Map,hs=(e,t,n)=>{let r=0,i=0;for(;r<e.length&&i<t.length;){let n=e.charCodeAt(r),a=t.charCodeAt(i),o=rs.get(n),s=rs.get(a);if(o===void 0!=(s===void 0))return o===void 0?-1:1;if(o!==void 0&&o!==s)return o<s?-1:1;r++,i++}return r<e.length?1:i<t.length?-1:0},gs=e=>{switch(typeof e){case`number`:return 0;case`string`:return 1;case`boolean`:return 2;default:return t.FormulaError.isError(e)?3:4}},_s=e=>{switch(typeof e){case`string`:return``;case`boolean`:return!1;default:return 0}},vs=(e,t)=>{if(e===t)return 0;if(!Number.isFinite(e)||!Number.isFinite(t))return e<t?-1:+(e>t);let n=e-t;if(Math.abs(n)>1e-14*Math.max(Math.abs(e),Math.abs(t)))return n<0?-1:1;let r=ys(e),i=ys(t);return r===i?0:r<i?-1:1},ys=e=>Number(e.toPrecision(15));(function(e){e.CaseInsensitiveOptions={sensitivity:`accent`},e.CaseSensitiveOptions={sensitivity:`variant`};let n=e.NumberCollator=Object.freeze({type:t.ScalarType.Number,compare:(e,t,n)=>e<t?-1:1}),r=e.StringCollator=Object.freeze({type:t.ScalarType.String,compare:(e,t,n)=>es.compareTextWith(e,t,es.collatorFor(n?.locale??`en`,n),es.isCaseInsensitive(n)),defaultOptions:$o.CaseInsensitiveOptions}),i=e.ErrorCollator=Object.freeze({type:t.ScalarType.Error,compare:(e,t,n)=>e.getCode()-t.getCode()}),a=e.NullCollator=Object.freeze({type:t.ScalarType.Null,compare:(e,t,n)=>0}),o=e.RichDataCollator=Object.freeze({type:t.ScalarType.RichData,compare:(e,t,n)=>e.getType().localeCompare(t.getType(),n?.locale??`en`)}),s=e.BooleanCollator=Object.freeze({type:t.ScalarType.Boolean,compare:(e,t,n)=>!0===e?1:-1});e.DefaultRangeOptions=Object.freeze({hasHeader:!1,reverse:!1,includeHidden:!1,collatorOptions:$o.CaseInsensitiveOptions,axis:t.IRange.Axis.Row}),e.DefaultCollators=Object.freeze([n,r,s,o,i,a])})($o||={});var bs,G={General:`General`,Number:`Number`,Currency:`Currency`,Accounting:`Accounting`,ShortDate:`Short Date`,LongDate:`Long Date`,MediumDate:`Medium Date`,ShortTime:`Short Time`,MediumTime:`Medium Time`,LongTime:`Long Time`,Comma:`Comma`,Percentage:`Percentage`,Fraction:`Fraction`,Scientific:`Scientific`,Text:`Text`,Special:`Special`,Custom:`Custom`},xs=`\\s*([-]?[0-9e]*[.]?[0-9]+)`,Ss=RegExp(`^rgb\\(${xs},${xs},${xs}\\)$`,`i`),Cs=RegExp(`^rgba\\(${xs},${xs},${xs},${xs}\\)$`,`i`),ws=RegExp(`^lrgb\\(${xs},${xs},${xs}\\)$`,`i`),Ts=RegExp(`^lrgba\\(${xs},${xs},${xs},${xs}\\)$`,`i`),Es=RegExp(`^hsl\\(${xs},${xs},${xs}\\)$`,`i`),Ds=RegExp(`^hsla\\(${xs},${xs},${xs},${xs}\\)$`,`i`),Os=new RegExp(/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/),ks=new RegExp(/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/),As=RegExp(`^index(\\d+)$`,`i`),js=(e,t,n)=>[parseFloat(e),parseFloat(t),parseFloat(n)],Ms=(e,t=255)=>{let n=[...e];for(var r=0;r<e.length;r++)n[r]=e[r]/t;return n},Ns=(e,t=255)=>{let n=[...e];for(var r=0;r<e.length;r++)n[r]=e[r]*t;return n},Ps=(e,t=0)=>{let r=[...e];for(var i=0;i<e.length;i++)n.CommonUtils.roundAccurately(e[i],t+8)%1==.5?r[i]=Math.floor(e[i]):r[i]=n.CommonUtils.roundAccurately(e[i],t);return r},Fs=(e,t=!0)=>{let n=[...e],r=t?1:255;for(var i=0;i<e.length;i++)n[i]=Math.max(0,Math.min(r,e[i]));return n},Is=e=>Math.max(0,Math.min(1,e)),Ls=e=>((e%=360)<0&&(e-=360),e),Rs=e=>{let t=[...e];for(var n=0;n<e.length;n++)t[n]=Bs(e[n]);return t},zs=e=>{let t=[...e];for(var n=0;n<e.length;n++)t[n]=Vs(e[n]);return t},Bs=e=>e<.04045?e/12.92:((e+.055)/1.055)**2.4,Vs=e=>e<.0031308?12.92*e:1.055*e**(1/2.4)-.055,Hs=e=>{let t=e[0],n=e[1],r=e[2];t%=360,t/=360,n/=100,r/=100;let i=r<.5?r*(1+n):r+n-n*r,a=2*r-i;return[Math.max(0,Us(a,i,t+1/3)),Math.max(0,Us(a,i,t)),Math.max(0,Us(a,i,t-1/3))]},Us=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,6*n<1?e+6*(t-e)*n:2*n<1?t:3*n<2?e+6*(t-e)*(2/3-n):e),Ws=e=>{let t=e[0],n=e[1],r=e[2],i=Math.min(t,Math.min(n,r)),a=Math.max(t,Math.max(n,r)),o=0;a===i?o=0:a===t?o=(60*(n-r)/(a-i)+360)%360:a===n?o=60*(r-t)/(a-i)+120:a===r&&(o=60*(t-n)/(a-i)+240);let s=(a+i)/2,c=0;return c=a===i?0:s<=.5?(a-i)/(a+i):(a-i)/(2-a-i),[o,100*c,100*s]},Gs=0,Ks=1,qs=2,Js=0,Ys=1,Xs=2,Zs=0,Qs=1,$s=2,ec=(e,t)=>{let n=t/100;return((e,t)=>{let n=Rs(e);n[0]=t(n[0],n),n[1]=t(n[1],n),n[2]=t(n[2],n);let r=zs(n);return r=Fs(r),r})(e,(e,t)=>e*n)},tc=2.55,nc=(e,t)=>{let r=Ws(e),i=r[2];var a,o;r[2]=n.CommonUtils.roundAccurately((a=i,(o=t)>0?(a*tc*(1-o)+(255-255*(1-o)))/tc:o<0?a*tc*(1+o)/tc:a),3);let s=Hs(r);return s=Fs(s),s},rc=(e,t)=>{let n=Rs(e),r=t/100;for(var i=0;i<3;i++)n[i]=n[i]*r+(1-r);let a=zs(n);return a=Fs(a),a},ic=(e,t,n)=>{let r=Ws(t),i=n/1;e===Gs&&(i=Ls(n)),r[e]=i;let a=Hs(r);return a=Fs(a),a},ac=(e,t,n)=>{let r=Ws(t);if(e===Gs){let e=n/360;r[Gs]=360*(r[Gs]/360+e),r[Gs]%=360,r[Gs]<0&&(r[Gs]-=360)}else{let t=n/.1;r[e]=.1*(r[e]/.1+t)}let i=Hs(r);return i=Fs(i),i},oc=(e,t,n)=>{let r=Ws(t),i=n/100;r[e]=r[e]*i,e===Gs&&(r[Gs]=Ls(r[Gs]));let a=Hs(r);return a=Fs(a),a},sc=(e,t,n,r)=>{let i=Rs(t),a=n/100;r===Zs?i[e]=a:r===Qs?i[e]+=a:r===$s&&(i[e]*=a);let o=zs(i);return o=Fs(o),o},cc=e=>{let t=Rs(e),n=.213*t[Js]+.715*t[Ys]+.072*t[Xs];t[0]=n,t[1]=n,t[2]=n;let r=zs(t);return r=Fs(r),r},lc=e=>{let t=Ws(e);t[Gs]+=180,t[Gs]%=360,t[Gs]<0&&(t[Gs]-=360);let n=Hs(t);return n=Fs(n),n},uc=(e,t=!0)=>{let n=t?Rs(e):[...e],r=t?1:255;return n[0]=r-n[0],n[1]=r-n[1],n[2]=r-n[2],t&&(n=zs(n)),n=Fs(n,t),n},dc=e=>{let t=[0,0,0];return t[0]=Vs(e[0]),t[1]=Vs(e[1]),t[2]=Vs(e[2]),Fs(t)},fc=e=>{let t=[0,0,0];return t[0]=Bs(e[0]),t[1]=Bs(e[1]),t[2]=Bs(e[2]),Fs(t)},pc=(e,t,n,r=null)=>{let i=e=>{let t=e.toString(16);return t.length===1?`0`+t:t};return(r===null?``:i(Math.round(255*r)))+i(Number(e)).toUpperCase()+i(Number(t)).toUpperCase()+i(Number(n)).toUpperCase()},mc=.2126,hc=.7152,gc=.0722;(function(e){e.RGBA=class{constructor(e,t,n,r=1){this._private={red:e,green:t,blue:n,alpha:r}}get red(){return this._private.red}get green(){return this._private.green}get blue(){return this._private.blue}get alpha(){return this._private.alpha??1}toString(e=!0){return e&&this._private.alpha!==null?`rgba(${this.red},${this.green},${this.blue},${this.alpha})`:`rgb(${this.red},${this.green},${this.blue})`}isEqual(e){return!!e&&e.red===this.red&&e.green===this.green&&e.blue===this.blue&&e.alpha===this.alpha}isAlmostEqual(e){if(!e)return!1;let t=1.5;return!(Math.abs(e.red-this.red)>t)&&!(Math.abs(e.green-this.green)>t)&&!(Math.abs(e.blue-this.blue)>t)&&!(Math.abs(e.alpha-this.alpha)>t)}},e.HSLA=class{constructor(e,t,n,r){this._private={hue:e,sat:t,lum:n,alpha:r}}get hue(){return this._private.hue}get sat(){return this._private.sat}get lum(){return this._private.lum}get alpha(){return this._private.alpha??1}toString(e=!0){return e&&this._private.alpha!==null?`hsla(${this.hue},${this.sat},${this.lum},${this.alpha})`:`hsl(${this.hue},${this.sat},${this.lum})`}isEqual(e){return!!e&&e.hue===this.hue&&e.sat===this.sat&&e.lum===this.lum&&e.alpha===this.alpha}isAlmostEqual(e){if(!e)return!1;let t=1.5;return!(Math.abs(e.hue-this.hue)>t)&&!(Math.abs(e.sat-this.sat)>t)&&!(Math.abs(e.lum-this.lum)>t)&&!(Math.abs(e.alpha-this.alpha)>t)}};class t extends bs.RGBA{toString(e=!0){return e&&this._private.alpha!==null?`#`+pc(this.red,this.green,this.blue,this.alpha??1).toUpperCase():`#`+pc(this.red,this.green,this.blue).toUpperCase()}}e.HEX=t})(bs||={});var _c=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,vc=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,yc=function(e){if(!e)return null;e=e.replace(_c,function(e,t,n,r){return t+t+n+n+r+r});let t=vc.exec(e);return t?new bs.RGBA(parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)):null},bc=`000000.FFFFFF.FF0000.00FF00.0000FF.FFFF00.FF00FF.00FFFF.000000.FFFFFF.FF0000.00FF00.0000FF.FFFF00.FF00FF.00FFFF.800000.008000.000080.808000.800080.008080.C0C0C0.808080.9999FF.993366.FFFFCC.CCFFFF.660066.FF8080.0066CC.CCCCFF.000080.FF00FF.FFFF00.00FFFF.800080.800000.008080.0000FF.00CCFF.CCFFFF.CCFFCC.FFFF99.99CCFF.FF99CC.CC99FF.FFCC99.3366FF.33CCCC.99CC00.FFCC00.FF9900.FF6600.666699.969696.003366.339966.003300.333300.993300.993366.333399.333333`.split(`.`),xc=new Map;for(let e=0;e<bc.length;e++)xc.set(e,yc(bc[e]));function Sc(e){return xc.get(e)??null}function Cc(e){if(typeof e==`number`)return Bn(e)??`General`;let t=Pc[e];return t===void 0?e:typeof t==`number`?Bn(t)??`General`:t}xc.set(-4105,null),xc.set(-4142,null),xc.set(64,yc(`000000`)),xc.set(65,yc(`FFFFFF`)),xc.set(81,yc(`FFFFFF`));var wc=Object.freeze({leap1900:!0,dateSpanLarge:!1,dateErrorThrows:!0,dateErrorNumber:!1,throws:!0,indexColors:!1}),Tc=class{constructor(){this.key=`numfmt`}format(e,t,n){let r=n?.date1904??!1,i=n?.locale,a=e;if(Pc[a]!==void 0&&(a=Pc[a]),typeof t==`number`){let e=Nc(a,t,{date1904:r,locale:i});if(e!==null)return{text:e.fmt,color:null,fills:null,skips:null}}typeof a==`number`&&(a=Bn(a)??`General`);let o=this.isDateFormat(a)||this.isTimeFormat(a),s=t;if(o&&typeof s==`number`){if(s<0||s>2958465)return{text:null,color:null,fills:null,skips:null};r&&(s+=1462)}let c={...wc,locale:i},l,u=null,d=null;try{if(n?.placeholders){let e=In(a,s,{...c,nbsp:!0,skipChar:``,fillChar:``,digitChar:``}),t=``;for(let n=0;n<e.length;n++){let r=e[n];r===``||r===``?((d??=[]).push({offset:t.length,char:e[n+1]??` `}),n++):r===``?((u??=[]).push({offset:t.length,char:e[n+1]??` `}),n++):t+=r}l=t}else l=In(a,s,c)}catch(e){if(o&&this.isValidFormat(a))return{text:null,color:null,fills:null,skips:null};throw e}let f=null;if(n?.placeholders){let e=Ln(a,s,c);e!=null&&(f=Ic(typeof e==`number`?`color${e}`:String(e)))}return{text:l,color:f,fills:u,skips:d}}isDateFormat(e){return Nr(e)}isTimeFormat(e){return Pr(e)}isFractionFormat(e){return Wc(Vn(e))}adjustDecimalPlaces(e,t){return function(e,t){if(!e&&e!==0)return``;let n=Vn(e),r=(e,t)=>{let n=e||``,r=n.length,i=r===0||n.endsWith(`.`)?`0`:n.charAt(r-1);return t<0?(n=n.substring(0,Math.max(0,r+t)),n===`.`&&(n=``)):(n.startsWith(`.`)||(n+=`.`),n+=i.repeat(t)),n},i=(e,t)=>{if(e===`General`)return t>0?`0`+r(``,t):e;if(Wc(e))return e;let n=e,i=-1,a=-1,o=n.indexOf(`E`);if(o>=0&&(n=n.substring(0,o)),i=n.indexOf(`.`),i>=0){n=n.substring(i,n.length);let t=n&&n.match(/([.]{1}[0,#]+)/);if(!t)return e;n=t[1],a=i+n.length}else{if(t<=0)return e;i=n.lastIndexOf(`0`),i<0&&(i=n.lastIndexOf(`#`)),i>=0&&(i+=1),a=i,n=``}return i===-1?e:(n=r(n,t),e.substring(0,i)+n+e.substring(a,e.length))},a=[],o=Ac(n);for(let e=0;e<o.length;e++)a.push(i(o[e].trim(),t));return a.join(`;`)}(e,t)}getFormatInfo(e){try{return Rn(Cc(e))}catch{return null}}getFormatDateInfo(e){try{let t=Cc(e);return Rn(t).isDate?function(e){let t=Fn(e,!1);return t.dateInfo||=function(e){let[t]=e;return{year:!!(2&t.date),month:!!(4&t.date),day:!!(8&t.date),hours:!!(16&t.date),minutes:!!(32&t.date),seconds:!!(64&t.date),clockType:t.clock===12?12:24}}(t.partitions),t.dateInfo}(t):null}catch{return null}}isValidFormat(e){try{return function(e){try{return Fn(e,!0),!0}catch{return!1}}(Cc(e))}catch{return!1}}},Ec=null;function Dc(){return Ec??=new Tc}var Oc=/^\[\$-(.*?)\]/i,kc=1462;function Ac(e){let t=[],n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`"`){for(n+=i,r++;r<e.length&&e[r]!==`"`;)n+=e[r++];r<e.length&&(n+=e[r])}else if(i===`[`){for(n+=i,r++;r<e.length&&e[r]!==`]`;)n+=e[r++];r<e.length&&(n+=e[r])}else i===`\\`?(n+=i,r+1<e.length&&(n+=e[++r])):i===`;`?(t.push(n),n=``):n+=i}return t.push(n),t}function jc(e,t,n){return In(Bn(e)??`General`,n?.date1904?t+kc:t,{leap1900:!0,locale:n?.locale})}function Mc(e,t,n,r){return Nc(t,n,{...r,date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0})}function Nc(e,t,n){if(typeof t!=`number`||t>2958465||t<0)return null;let r=mr(t,n?.date1904??!1),i=n?.locale??`en-US`,a=!1,o=e,s=-1;if(typeof o==`number`)switch(o){case 14:o=new Intl.DateTimeFormat(i).format(r),a=!0;break;case 22:o=new Intl.DateTimeFormat(i).format(r)+` `+jc(20,t,n),a=!0}else{let e=Oc.exec(o);if(e&&e[1]){let t=e[1].toUpperCase();t===`F800`?o=`Long Date`:t===`F400`&&(o=`Long Time`)}if((s=o.indexOf(`Short Date`))!==-1){let e=new Intl.DateTimeFormat(i).format(r);o=o.substring(0,s)+e+o.substring(s+10),a=!0}if((s=o.indexOf(`Medium Date`))!==-1){let e=jc(15,t,n);o=o.substring(0,s)+e+o.substring(s+11),a=!0}if((s=o.indexOf(`Long Date`))!==-1){let e=new Intl.DateTimeFormat(i,{dateStyle:`full`}).format(r);o=o.substring(0,s)+e+o.substring(s+9),a=!0}if((s=o.indexOf(`Short Time`))!==-1){let e=jc(20,t,n);o=o.substring(0,s)+e+o.substring(s+10),a=!0}if((s=o.indexOf(`Medium Time`))!==-1){let e=jc(18,t,n);o=o.substring(0,s)+e+o.substring(s+11),a=!0}if((s=o.indexOf(`Long Time`))!==-1){let e=new Intl.DateTimeFormat(i,{timeStyle:`medium`}).format(r);o=o.substring(0,s)+e+o.substring(s+9),a=!0}}return a?{fmt:o,date:r}:null}var Pc=Object.freeze({"General Number":`General`,"General Date":`m/d/yyyy h:mm`,"Short Date":14,"Medium Date":15,"Long Date":`[$-F800]dddd\\,\\ mmmm\\ dd\\,\\ yyyy`,"Short Time":20,"Medium Time":18,"Long Time":`[$-F400]h:mm:ss\\ AM/PM;@`,"Short DateTime":22,Currency:`"$"#,##0.00_);[Red]\\("$"#,##0.00\\)`,Fixed:2,Standard:4,Percent:10,Scientific:11,"Yes/No":`"Yes";"Yes";"No";@`,"True/False":`"True";"True";"False";@`,"On/Off":`"Yes";"Yes";"No";@`}),Fc=Object.freeze({black:0,white:1,red:2,green:3,blue:4,yellow:5,magenta:6,cyan:7});function Ic(e){let t=null;if((e=e.toLowerCase()).startsWith(`color`)){let n=parseInt(e.substring(5));n>=0&&n<=56&&(t=`Index${n+7}`)}if(!t){let n=Fc[e];n!==void 0&&(t=Sc(n).toString())}return t}var Lc=`=`,Rc=`<>`,zc=`>`,Bc=`<`,Vc=`>=`,Hc=`<=`,Uc=new Map;Uc.set(Lc,(e,t)=>e===t),Uc.set(Rc,(e,t)=>e!==t),Uc.set(zc,(e,t)=>e>t),Uc.set(Bc,(e,t)=>e<t),Uc.set(Vc,(e,t)=>e>=t),Uc.set(Hc,(e,t)=>e<=t),Object.freeze({op:Vc,comp:0}),Object.freeze({op:Bc,comp:0}),Object.freeze({op:zc,comp:0}),Object.freeze({op:Lc,comp:0});function Wc(e){return!(!e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)&&!e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))}var Gc={Text:`text`,Repeat:`repeat`,Spacing:`spacing`},Kc=Object.freeze({formatValue:function(e,t,n,r){return function(e,t,n){let r=!(!n||!n.onSpacingChar&&!n.onRepeatChar&&n.spacingCharacter===void 0),i=Dc().format(e,t,{date1904:n?.date1904??!1,locale:n?.locale,placeholders:r});if(!r)return i.text??``;let a=i.skips??[],o=i.fills??[];if(n.onRepeatChar)for(let e of o)n.onRepeatChar(e.offset,e.char);let s=i.text??``;if(n.spacingCharacter!==``&&a.length){let e=``,t=0;for(let r=0;r<a.length;r++){let i=a[r];e+=s.slice(t,i.offset)+(n.spacingCharacter??` `),t=i.offset,n.onSpacingChar&&n.onSpacingChar(i.offset+r,i.char)}s=e+s.slice(t)}else if(n.onSpacingChar)for(let e of a)n.onSpacingChar(e.offset,e.char);return s}(t,n,{...r,date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0})},isFractionFormat:e=>Dc().isFractionFormat(e),adjustDecimalPlaces:(e,t)=>Dc().adjustDecimalPlaces(e,t),getFormatInfo:e=>Dc().getFormatInfo(e),getFormatDateInfo:e=>Dc().getFormatDateInfo(e),isValidFormat:e=>Dc().isValidFormat(e)});function qc(e){return e===14?`Short Date`:zn[e]??null}function Jc(e){if(typeof e==`number`)return e;let t=e,n=Pc[e];return n&&(t=n),typeof t==`number`?t:(r=t,Hn.get(r)??t);var r}var Yc=[{numberFormat:`General`,formatType:G.General,primary:1},{numberFormat:`0`,formatType:G.Number,regMatch:/^0[.]{0,1}[0]*$/,args:{decimalPlaces:0,separator:!1}},{numberFormat:`#,##0.00`,formatType:G.Number,regMatch:/^#,##0[.]{0,1}[0]*$/,primary:2,args:{decimalPlaces:2,separator:!0}},{numberFormat:`#,##0_);(#,##0)`,formatType:G.Number,args:{decimalPlaces:0,separator:!0}},{numberFormat:`#,##0_);[Red](#,##0)`,formatType:G.Number,args:{decimalPlaces:0,separator:!0}},{numberFormat:`#,##0.00_);(#,##0.00)`,formatType:G.Number,args:{decimalPlaces:2,separator:!0}},{numberFormat:`#,##0.00_);[Red](#,##0.00)`,formatType:G.Number,args:{decimalPlaces:2,separator:!0}},{numberFormat:`$#,##0.00`,formatType:G.Currency,primary:3,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`$#,##0_);($#,##0)`,formatType:G.Currency,args:{decimalPlaces:0,currencySymbol:`$`}},{numberFormat:`$#,##0_);[Red]($#,##0)`,formatType:G.Currency,args:{decimalPlaces:0,currencySymbol:`$`}},{numberFormat:`$#,##0.00_);($#,##0.00)`,formatType:G.Currency,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`$#,##0.00_);[Red]($#,##0.00)`,formatType:G.Currency,args:{decimalPlaces:2,currencySymbol:`$`}},{numberFormat:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`,primary:4,formatType:G.Accounting},{numberFormat:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`,formatType:G.Accounting},{numberFormat:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`,formatType:G.Accounting},{numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,formatType:G.Accounting},{numberFormat:`Short Date`,formatType:G.ShortDate,primary:5},{numberFormat:`d-mmm-yy`,formatType:G.MediumDate,primary:5.5},{numberFormat:`Long Date`,formatType:G.LongDate,primary:6},{numberFormat:`h:mm`,formatType:G.ShortTime,primary:7},{numberFormat:`h:mm AM/PM`,formatType:G.MediumTime,primary:7.5},{numberFormat:`Long Time`,formatType:G.LongTime,primary:8},{numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`,formatType:G.Comma,primary:9},{numberFormat:`0.00%`,formatType:G.Percentage,primary:10,args:{decimalPlaces:2},regMatch:/^^[0#?]*[.]{0,1}[0#?]*%*$/},{numberFormat:`0%`,formatType:G.Percentage,args:{decimalPlaces:0}},{numberFormat:`# ?/?`,formatType:G.Fraction,primary:11},{numberFormat:`# ??/??`,formatType:G.Fraction},{numberFormat:`0.00E+00`,formatType:G.Scientific,primary:12,args:{decimalPlaces:2},regMatch:/^[0#?]*[.]{0,1}[0#?]*E\+[0#?]*$/},{numberFormat:`##0.0E+0`,formatType:G.Custom,args:{decimalPlaces:0}},{numberFormat:`@`,formatType:G.Text,primary:13},{numberFormat:`d-mmm`,formatType:G.Custom},{numberFormat:`mmm-yy`,formatType:G.Custom},{numberFormat:`h:mm:ss`,formatType:G.Custom},{numberFormat:`m/d/yyyy h:mm`,formatType:G.Custom},{numberFormat:`mm:ss`,formatType:G.Custom},{numberFormat:`mm:ss.0`,formatType:G.Custom},{numberFormat:`[h]:mm:ss`,formatType:G.Custom}],Xc=[{numberFormat:`00000`,formatType:G.Special,primary:11},{numberFormat:`00000-0000`,formatType:G.Special},{numberFormat:`[<=9999999]###-####;(###) ###-####`,formatType:G.Special},{numberFormat:`000-00-0000`,formatType:G.Special}],Zc=[...Yc,...Xc],Qc=new Map,$c=[];for(let e=0;e<Yc.length;e++){let t=Yc[e].numberFormat.toLowerCase();Qc.set(t,Yc[e]),Yc[e].regMatch&&$c.unshift(Yc[e])}for(let e=0;e<Xc.length;e++){let t=Xc[e].numberFormat.toLowerCase();Qc.set(t,Xc[e])}var el=[],tl=new Map;Qc.forEach(function(e,t,r){e.primary&&(el.push(e),tl.set(n.CommonUtils.textToKey(e.formatType),e.numberFormat))}),el.sort(function(e,t){return e.primary-t.primary});var nl=Qc.get(G.General.toLowerCase()),rl=class{lookupStyle(e){if(!e)return nl;if(typeof e==`number`&&(e=qc(e)),!e.toLowerCase)return console.warn(`Invalid numberFormat`,e),nl;e=e.toLowerCase();let t=Qc.get(e);if(t)return t;for(let n=0;!t&&n<$c.length;n++)$c[n].regMatch&&e.match($c[n].regMatch)&&(t=$c[n]);return t||{numberFormat:e,formatType:G.Custom}}lookupPrimary(){return el}lookupByType(e){return Zc.filter(t=>t.formatType===e)}lookupDefault(e){return tl.get(n.CommonUtils.textToKey(e))}},il=e.n({CATEGORIES:()=>ol,CURRENCY_SYMBOLS:()=>pl,DATE_PRESETS:()=>ml,FRACTION_PRESETS:()=>gl,NEGATIVE_STYLES:()=>fl,SPECIAL_PRESETS:()=>_l,TIME_PRESETS:()=>hl,build:()=>xl,defaultCodeForCategory:()=>vl,isParametricCategory:()=>cl,parse:()=>Tl}),al=new rl,ol=Object.freeze([`General`,`Number`,`Currency`,`Accounting`,`Date`,`Time`,`Percentage`,`Fraction`,`Scientific`,`Text`,`Special`,`Custom`]),sl=new Set([`Number`,`Currency`,`Accounting`,`Percentage`,`Scientific`]);function cl(e){return sl.has(e)}var ll,ul,dl,fl=Object.freeze([{key:`minus`,label:`Minus sign`,red:!1,parens:!1},{key:`red`,label:`Red`,red:!0,parens:!1},{key:`parens`,label:`Parentheses`,red:!1,parens:!0},{key:`redParens`,label:`Red parentheses`,red:!0,parens:!0}]),pl=Object.freeze([`$`,`€`,`£`,`¥`,`₹`,`₩`,`₽`,`₺`,`R$`,`CHF`,`kr`,`฿`]),ml=Object.freeze([`Short Date`,`Long Date`,`m/d/yyyy`,`d-mmm-yy`,`d-mmm`,`mmm-yy`,`mmmm d, yyyy`,`m/d/yy h:mm`]),hl=Object.freeze([`h:mm AM/PM`,`h:mm:ss AM/PM`,`h:mm`,`h:mm:ss`,`Long Time`,`[h]:mm:ss`,`mm:ss`,`mm:ss.0`]),gl=Object.freeze([`# ?/?`,`# ??/??`,`# ???/???`,`# ?/2`,`# ?/4`,`# ?/8`,`# ??/16`,`# ?/10`,`# ??/100`]),_l=Object.freeze([`00000`,`00000-0000`,`[<=9999999]###-####;(###) ###-####`,`000-00-0000`]);function vl(e){switch(e){case`General`:case`Custom`:return`General`;case`Text`:return`@`;case`Number`:return xl({category:`Number`,decimalPlaces:2,useSeparator:!1,negativeStyle:0});case`Currency`:return xl({category:`Currency`,decimalPlaces:2,currencySymbol:`$`,negativeStyle:0});case`Accounting`:return xl({category:`Accounting`,decimalPlaces:2,currencySymbol:`$`});case`Percentage`:return`0.00%`;case`Scientific`:return`0.00E+00`;case`Date`:return ml[0];case`Time`:return hl[0];case`Fraction`:return gl[0];case`Special`:return _l[0]}}function yl(e){let t=e??`$`;return t===`$`?`$`:`"${t}"`}function bl(e,t){let n=fl[t??0]??fl[0];return n.parens?n.red?`${e}_);[Red](${e})`:`${e}_);(${e})`:n.red?`${e};[Red]${e}`:e}function xl(e){let{category:t,decimalPlaces:n,useSeparator:r,currencySymbol:i,negativeStyle:a,code:o}=e,s=function(e){let t=Math.max(0,Math.min(30,e??0));return t>0?`.`+`0`.repeat(t):``}(n??0);switch(t){case`General`:return`General`;case`Text`:return`@`;case`Number`:return bl((r?`#,##0`:`0`)+s,a);case`Currency`:return bl(yl(i)+`#,##0`+s,a);case`Accounting`:{let e=yl(i);return`_(${e}* #,##0${s}_);_(${e}* (#,##0${s});_(${e}* ${(n??0)>0?`"-"`+`?`.repeat(n):`"-"`}_);_(@_)`}case`Percentage`:return`0`+s+`%`;case`Scientific`:return`0`+s+`E+00`;case`Date`:case`Time`:case`Fraction`:case`Special`:case`Custom`:return o||vl(t)}}function Sl(e,t){if(al.lookupStyle(e).formatType===G.Special)return`Special`;switch(t){case`general`:return`General`;case`text`:return`Text`;case`percent`:return`Percentage`;case`scientific`:return`Scientific`;case`fraction`:return`Fraction`;case`date`:return`Date`;case`time`:return`Time`;case`datetime`:default:return`Custom`;case`currency`:return function(e){return e.includes(`_(`)&&e.includes(`* `)}(e)?`Accounting`:`Currency`;case`number`:case`grouped`:return function(e){return al.lookupStyle(e).formatType===G.Special}(e)?`Special`:`Number`}}function Cl(e){let t=e.match(/\[\$([^\]-]+)(?:-[^\]]*)?\]/);if(t)return t[1];let n=e.match(/"([^"]+)"/);return n&&n[1]!==`-`?n[1]:(e.includes(`$`),`$`)}function wl(e){let t=Ac(e);if(t.length<2)return 0;let n=t[1],r=/\[red\]/i.test(n);return n.includes(`(`)?r?3:2:+!!r}function Tl(e){if(e==null||e===``)return{category:`General`};let t=Dc().getFormatInfo(e),n=Sl(e,t?.type),r={category:n};switch(n){case`Number`:r.decimalPlaces=t?.maxDecimals??0,r.useSeparator=!!t?.grouped,r.negativeStyle=wl(e);break;case`Currency`:r.decimalPlaces=t?.maxDecimals??2,r.currencySymbol=Cl(e),r.negativeStyle=wl(e);break;case`Accounting`:r.decimalPlaces=t?.maxDecimals??2,r.currencySymbol=Cl(e);break;case`Percentage`:case`Scientific`:r.decimalPlaces=t?.maxDecimals??2;break;default:r.code=e}return r}(ul=ll||={}).Type=G,ul.Parser=Kc,ul.Styles=new rl,ul.ParseRunType=Gc,ul.toBuiltInID=Jc,ul.resolve=Vn,ul.builtInFormat=Bn,ul.getEngine=Dc,ul.Builder=il,(dl||={}).Visibility={Visible:`visible`,Hidden:`hidden`,VeryHidden:`veryHidden`};var El,Dl,Ol,kl,Al=new RegExp(/^([$]?[a-zA-Z]*[$]?[0-9]*)[:]?([$]?[a-zA-Z]*[$]?[0-9]*)?$/),jl=new RegExp(/^(R(?:\[?[-+]?\d+\]?|\d+)?C(?:\[?[-+]?\d+\]?|\d+)?)(:(R(?:\[?[-+]?\d+\]?|\d+)?C(?:\[?[-+]?\d+\]?|\d+)?))?$/,`i`),Ml=new RegExp(/^(R?)(\[?[-+]?\d+\]?|\d+)?(C?)(\[?[-+]?\d+\]?|\d+)?$/,`i`),Nl=RegExp(`(?:(?:'(?:[^']|'')+')!|(?:[A-Za-z0-9_]+)!)?(\\$?[A-Za-z]+\\$?\\d+(?::\\$?[A-Za-z]+\\$?\\d+)?|\\$?[A-Za-z]+:\\$?[A-Za-z]+|\\$?\\d+:\\$?\\d+)`,`g`),Pl=/\s+/g,Fl=/"(?:[^"]|"")*"|\[[^[\]]+\]/g,Il=/[\uE000-\uF8FF]/g,Ll=`#REF!`,Rl=2**14,zl=2**20;function Bl(e){return El===e?Dl:(El=e,Dl=``+(e+1))}function Vl(e){if(Ol===e)return kl;Ol=e,e<0&&console.warn(`invalid column `+e);let t=``;for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return kl=t}var Hl=/[^A-Za-z_.\d\u007F-\uFFFF[\]:]/,Ul=/^\d/;function Wl(e){return e?Vl(e.colIndex)+Bl(e.rowIndex):null}function Gl(e){if(!e)return Ll;let t=Vl(e.colIndex),n=Bl(e.rowIndex);return(e.$colIndex?`$`+t:t)+(e.$rowIndex?`$`+n:n)}function Kl(e,t){let n=e??t;return n&&(n=N(n),n=n.replace(/'/g,`''`),(Hl.test(n)||Ul.test(n))&&(n=P(n))),n}function ql(e,t){return e?e+(e.endsWith(`!`)?``:`!`)+t:Ll}function Jl(e,n,r=Wl){if(!e)return null;if(typeof e==`string`)return e;if(t.FormulaError.isError(e))return e.toString();let i=e,a=i.colStart,o=i.rowStart,s=i.colEnd,c=i.rowEnd;if(a===s&&o===c)return r({colIndex:a,rowIndex:o});n&&(i={...n,...i});let l=a===-(2**53-1)||n&&a<=n.colStart&&s>=n.colEnd,u=o===-(2**53-1)||n&&o<=n.rowStart&&c>=n.rowEnd,d,f;return d=u?Vl(a):l?Bl(o):r({colIndex:a,rowIndex:o}),f=u?Vl(s):l?Bl(c):r({colIndex:s,rowIndex:c}),d+`:`+f}function Yl(e,t){if(!e||!t)return null;let n=e.rowStart===-(2**53-1)||e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd,r=e.colStart===-(2**53-1)||e.colStart<=t.colStart&&e.colEnd>=t.colEnd;return n&&!r?(e.$colStart?`$`:``)+Vl(e.colStart)+`:`+((e.$colEnd?`$`:``)+Vl(e.colEnd)):r&&!n?(e.$rowStart?`$`:``)+Bl(e.rowStart)+`:`+((e.$rowEnd?`$`:``)+Bl(e.rowEnd)):null}function Xl(e,t,n=Gl){if(!e)return Ll;let r=e.colIndex,i=e.rowIndex,a=r===-(2**53-1),o;return i===-(2**53-1)?(o=Vl(r),e.$colIndex&&(o=`$`+o)):a?(o=Bl(i),e.$rowIndex&&(o=`$`+o)):o=n(e),(e.scope||t)&&(o=ql(Kl(e.scope,t),o)),o}function Zl(e,t,n=Gl,r){if(!e)return Ll;let i=e.rowStart!==void 0&&e.rowStart===e.rowEnd,a=e.colStart!==void 0&&e.colStart===e.colEnd&&i;if(!r&&a)return n({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart});e={...t,...e};let o=!r&&t&&e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd,s=!r&&t&&e.colStart<=t.colStart&&e.colEnd>=t.colEnd,c,l;return o?(c=Vl(e.colStart),c=e.$colStart?`$`+c:c):s?(c=Bl(e.rowStart),c=e.$rowStart?`$`+c:c):c=n({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart}),o?(l=Vl(e.colEnd),l=e.$colEnd?`$`+l:l):s?(l=Bl(e.rowEnd),l=e.$rowEnd?`$`+l:l):l=n({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd}),c+`:`+l}function Ql(e,t,n=Gl){let r=Zl(e,t,n),i=Kl(e?.scope,t?.scope);return i?ql(i,r):r}function $l(e,t=!1){if(!e)return null;let n=0,r=0,i=!1,a=!1,o=e.length;for(let s=0;s<o;++s){let o=e.charCodeAt(s);if(o>=48&&o<=57){if(r=10*r+(o-48),n===0&&!t)return}else if(o>=65&&o<=90){if(n=26*n+(o-64),r!==0)return}else if(o>=97&&o<=122){if(n=26*n+(o-96),r!==0)return}else{if(o!==36)return;if(n!==0||i){if(r!==0||a)return;a=!0}else i=!0}}let s={};return t||r!==0&&n!==0?(n>0&&(s.colIndex=n-1,i&&(s.$colIndex=i)),r>0&&(s.rowIndex=r-1,(a||t&&i)&&(s.$rowIndex=a||t&&i)),s):null}var eu=e=>{let t=e.lastIndexOf(`!`);if(t===-1)return null;let n=e.slice(0,t);return n=N(n),n=n.replace(/''/g,`'`),[n,e.slice(t+1)]};function tu(e,t=PO,n=!1){if(!e)return null;let r=pu(e.toUpperCase(),n),i=null,a=null;if(r?.[1]){let e=!!r[2],t=n?lu:$l;i=t(r[1],e),a=t(r[2]??r[1],e)}if(!i&&!a||i&&a&&(i.rowIndex===void 0&&a.rowIndex!==void 0||i.rowIndex!==void 0&&a.rowIndex===void 0||i.colIndex===void 0&&a.colIndex!==void 0||i.colIndex!==void 0&&a.colIndex===void 0))return null;let o={};return i&&(i.colIndex!==void 0&&(o.colStart=i.colIndex),i.rowIndex!==void 0&&(o.rowStart=i.rowIndex),i.$colIndex!==void 0&&(o.$colStart=i.$colIndex),i.$rowIndex!==void 0&&(o.$rowStart=i.$rowIndex),o?.colStart!==void 0&&o?.colStart>t?.colEnd)?null:(a&&(a.colIndex!==void 0&&(o.colEnd=a.colIndex),a.rowIndex!==void 0&&(o.rowEnd=a.rowIndex),a.$colIndex!==void 0&&(o.$colEnd=a.$colIndex),a.$rowIndex!==void 0&&(o.$rowEnd=a.$rowIndex)),o.colStart===void 0&&(o.colStart=t.colStart),o.colEnd===void 0&&(o.colEnd=t.colEnd),o.rowStart===void 0&&(o.rowStart=t.rowStart),o.rowEnd===void 0&&(o.rowEnd=t.rowEnd),t.scope&&(o.scope=t.scope),o)}function nu(e,t,n=!1){let r,i=eu(e);if(i){let a=e.lastIndexOf(`!`),o=e.indexOf(`:`);if(o!==-1&&o<a){let t=e.indexOf(`!`),n=e.indexOf(`:`,t),r=eu(e.slice(0,n)),a=eu(e.slice(n+1));if(!r||!a||r[0].toUpperCase()!==a[0].toUpperCase())return null;i=[r[0],`${r[1]}:${a[1]}`]}if(r=tu(i[1],t,n),!r)return null;r.scope=i[0]}else r=tu(e,t,n);return r||null}function ru(e,n,r=Zl,i=Gl,a=!1){if(!e||e.length===0)return null;let o=[],s=e.length;for(let a=0;a<s;a++){let s=e[a],c=null;s?s.rowIndex!==void 0||s.colIndex!==void 0?c=i(s):s.rowStart!==void 0||s.colStart!==void 0?c=r(s,n,i):typeof s==`string`?c=s:`nameId`in s?c=s.nameId:t.FormulaError.isError(s)&&(c=s.toString()):c=Ll,c&&o.push(c)}return o}function iu(e,t,n=Ql,r=Gl,i=!1){let a=ru(e,t,n,r,i);return a?a.join(`,`):Ll}var au=e=>e!==void 0&&e!==-(2**53-1)&&e!==2**53-1,ou=(e,t,r,i=nu,a,o=!1)=>{if(t!==null){if(typeof t==`string`){let n=i(t,r,o);if(!n){let n=a?.(t);if(n){let t=n.length;for(let s=0;s<t;s++){let t=n[s];ou(e,t,r,i,a,o)}}return}t=n}else t.isICellRange?t=t.getCoords():t.isICell&&(t=n.CoordUtils.cellToRange(t.getCoords()));if(t!==null){if(t.rowStart!==void 0||t.colStart!==void 0||t.colEnd!==void 0||t.rowEnd!==void 0){let n=t;e.push({...r,...n,colStart:au(n.colStart)?n.colStart:r.colStart,rowStart:au(n.rowStart)?n.rowStart:r.rowStart,colEnd:au(n.colEnd)?n.colEnd:r.colEnd,rowEnd:au(n.rowEnd)?n.rowEnd:r.rowEnd})}else if(t.rowIndex!==void 0||t.colIndex!==void 0){let n=t,i={...r,...n,colStart:n.colIndex,rowStart:n.rowIndex,colEnd:n.colIndex,rowEnd:n.rowIndex};i.scope===null&&r.scope&&(i.scope=r.scope),delete i.colIndex,delete i.rowIndex,e.push(i)}}else e.push(null)}else e.push(null)};function su(e,t,n=nu,r,i=!1){if(!e)return[t];let a;a=typeof e==`string`?F(e):e.isICellRanges?e.getCoords():e.isIReferenceRange?[e.getCoords()]:Array.isArray(e)?e:[e];let o=[],s=a.length;for(let e=0;e<s;e++){let s=a[e];ou(o,s,t,n,r,i)}return o}function cu(e,t){let n=0,r=0,i=e.length;for(let t=0;t<i;++t){let i=e.charCodeAt(t);if(i>=48&&i<=57){if(n=10*n+(i-48),r===0)return}else if(i>=65&&i<=90){if(r=26*r+(i-64),n!==0)return}else if(!(i>=97&&i<=122)||(r=26*r+(i-96),n!==0))return}return t?(t.colIndex=r-1,t.rowIndex=n-1,t):{colIndex:r-1,rowIndex:n-1}}function lu(e,t=!1,n){n?(n.colIndex=-(2**53-1),n.rowIndex=-(2**53-1),n.$colIndex=!1,n.$rowIndex=!1):n={colIndex:-(2**53-1),rowIndex:-(2**53-1),$colIndex:!1,$rowIndex:!1};let r=Ml.exec(e);if(!r)return null;let i=r[1],a=r[3];if(!(t||i&&a))return null;if(i){let e=r[2];e?e&&(e.startsWith(`[`)?(n.rowIndex=parseInt(e.slice(1,-1)),n.$rowIndex=!1):(n.rowIndex=parseInt(e)-1,n.$rowIndex=!0)):(n.rowIndex=0,n.$rowIndex=!1)}if(a){let e=r[4];e?e.startsWith(`[`)?(n.colIndex=parseInt(e.slice(1,-1)),n.$colIndex=!1):(n.colIndex=parseInt(e)-1,n.$colIndex=!0):(n.colIndex=0,n.$colIndex=!1)}return n}function uu(e,t){let n=0,r=0,i=!1,a=!1,o=e.length;for(let t=0;t<o;++t){let o=e.charCodeAt(t);o>=48&&o<=57?n=10*n+(o-48):o>=65&&o<=90?r=26*r+(o-64):o>=97&&o<=122?r=26*r+(o-96):o===36&&(t===0?i=!0:a=!0)}return r--,n--,t.colIndex=r,t.rowIndex=n,n===-1?(t.$colIndex=i,t.$rowIndex=!1,t):r===-1?(t.$colIndex=!1,t.$rowIndex=i,t):(t.$colIndex=i,t.$rowIndex=a,t)}function du(e){let t=0,n=e.length;for(let r=0;r<n;++r){let n=e.charCodeAt(r);if(n>=65&&n<=90)t=26*t+(n-64);else{if(!(n>=97&&n<=122))return t-1;t=26*t+(n-96)}}return t-1}function fu(e,t){let n=t;n?(n.rowStart=0,n.colStart=0,n.rowEnd=0,n.colEnd=0):n={rowStart:0,colStart:0,rowEnd:0,colEnd:0};let r=0,i=0,a=0,o=e.length;for(r=0;i<o&&(a=e.charCodeAt(i),a>96&&a<123&&(a-=32),!(a<65||a>91));++i)r=26*r+(a-64);for(n.colStart=--r,r=0;i<o;++i){let t=e.charCodeAt(i)-48;if(t<0||t>9)break;r=10*r+t}if(n.rowStart=--r,i===o||e.charCodeAt(++i)===58)return n.colEnd=n.colStart,n.rowEnd=n.rowStart,n;for(r=0;i!==o&&(a=e.charCodeAt(i),a>96&&a<123&&(a-=32),!(a<65||a>91));++i)r=26*r+(a-64);for(n.colEnd=--r,r=0;i!==o;++i){let t=e.charCodeAt(i)-48;if(t<0||t>9)break;r=10*r+t}return n.rowEnd=--r,n}function pu(e,t=!1){let n=e.match(t?jl:Al);return e.endsWith(`:`)?null:n}var mu={rowIndex:-1,colIndex:-1,$colIndex:!1,$rowIndex:!1};function hu(e,t,n,r=Rl){let i,a=e.lastIndexOf(`!`),o=``;a!==-1&&(o=e.slice(0,a)+`!`,e=e.slice(a+1));let s=()=>{let e=``,r=i.rowIndex;if(r!==-1)if(i.$rowIndex)e+=`R${r+1}`;else{let n=r-t;e+=n===0?`R`:`R[${n}]`}let a=``,s=i.colIndex;if(s!==-1)if(i.$colIndex)a+=`C${s+1}`;else{let e=s-n;a+=e===0?`C`:`C[${e}]`}o+=e+a};a=e.lastIndexOf(`:`);let c=a!==-1;if(c){let t=e.slice(0,a);e=e.slice(a+1),i=uu(t,mu),i.colIndex!==-1&&i.rowIndex!==-1&&(s(),o+=`:`)}return i=uu(e,mu),!c&&i.colIndex>r?e:(s(),o)}var gu=[],_u=e=>(gu.push(e),String.fromCharCode(57344+gu.length-1)),vu=e=>gu[e.charCodeAt(0)-57344];function yu(e,t,n){let r=``,i=e.length;for(let a=0;a<i;a++){let i=e[a];r+=typeof i==`string`?i:xu(i,t,n)}return r}function bu(e,t){let n=``,r=e.rowIndex;r!==-(2**53-1)&&(e.$rowIndex?n+=`R${r+1}`:n+=r===0?`R`:`R[${r}]`);let i=``,a=e.colIndex;return a!==-(2**53-1)&&(e.$colIndex?i+=`C${a+1}`:i+=a===0?`C`:`C[${a}]`),e.scope&&(n=Kl(e.scope,t)+`!`+n),n+i}function xu(e,t,n){let r,i=e.scope;r=i?Kl(i)+`!`:``;let a=e.colIndex;a!==-(2**53-1)&&(e.$colIndex?r+=`$`+Vl(a):r+=Vl(a+n));let o=e.rowIndex;return o!==-(2**53-1)&&(e.$rowIndex?r+=`$`+Bl(o):r+=Bl(o+t)),r}function Su(e,t,n,r){let i=e.colStart,a=e.rowStart,o=e.colEnd,s=e.rowEnd,c=e.$colStart??!1,l=e.$rowStart??!1,u=e.$colEnd??!1,d=e.$rowEnd??!1;if(c||i===-(2**53-1)||(i+=n),l||a===-(2**53-1)||(a+=t),u||o===2**53-1||(o+=n),d||s===2**53-1||(s+=t),i>o){let e=i;i=o,o=e}if(a>s){let e=a;a=s,s=e}let f;return r?(f=r,f.colStart=i,f.rowStart=a,f.colEnd=o,f.rowEnd=s,f.$colStart=c,f.$rowStart=l,f.$colEnd=u,f.$rowEnd=d):f={colStart:i,rowStart:a,colEnd:o,rowEnd:s,$colStart:c,$rowStart:l,$colEnd:u,$rowEnd:d},e.scope&&(f.scope=e.scope),f}function Cu(e,t,n){let r=e.$colStart??!1,i=e.$rowStart??!1,a=e.$colEnd??!1,o=e.$rowEnd??!1,s={colStart:r?e.colStart:e.colStart-n,rowStart:i?e.rowStart:e.rowStart-t,colEnd:a?e.colEnd:e.colEnd-n,rowEnd:o?e.rowEnd:e.rowEnd-t,$colStart:r,$rowStart:i,$colEnd:a,$rowEnd:o};return e.scope&&(s.scope=e.scope),s}function wu(e,t,n,r){gu.length=0;let i=e.replace(Fl,_u),a=0,o=i.replace(Nl,(e,o,s)=>{let c=hu(e,t,n);if(r){if(s>a){let e=i.slice(a,s);r.push(e.replace(Il,vu))}let o,l=e,u=l.lastIndexOf(`!`);u!==-1&&(o=l.slice(0,u).replace(Il,vu),l=l.slice(u+1));let d=l.lastIndexOf(`:`),f;if(d!==-1){let e=l.slice(0,d),i=l.slice(d+1),a=hu(e,t,n),o=hu(i,t,n);f=lu(a,!0),r.push(f??a),r.push(`:`),r.push(lu(o,!0)??o)}else f=lu(hu(l,t,n),!0),r.push(f??c.replace(Il,vu));o&&f&&(f.scope=o)}return a=s+e.length,c});if(r&&a<i.length){let e=i.slice(a);r.push(e.replace(Il,vu))}return o=o.toUpperCase().replace(Pl,``),o.replace(Il,vu)}function Tu(e,t){let r,i,a;return Array.isArray(e)?(r=e[0],i=e[1]):e.r===void 0?r=e:(r=e.r,i=e.v),Array.isArray(r)&&(r=r[0]),a=typeof r==`string`?tu(r,t):n.CoordUtils.sanitizeRange(r,t),i!==void 0&&a&&(a.value=i),a}function Eu(e,t){let r,i;Array.isArray(e)?(r=e[0],i=e[1]):e.r===void 0?r=e:(r=e.r,i=e.v);let a=[],o=e=>{let r=typeof e==`string`?tu(e,t):n.CoordUtils.sanitizeRange(e,t);r&&a.push(r)};if(typeof r==`string`){let e=F(r),t=e.length;for(let n=0;n<t;n++)o(e[n])}else if(Array.isArray(r)){let e=r.length;for(let t=0;t<e;t++)o(r[t])}else o(r);return a.length===0?null:{coords:a,value:i}}var Du=/^\$?([A-Z]+)(?::\$?([A-Z]+))?$/,Ou=/^\$?(\d+)(?::\$?(\d+))?$/;function ku(e,t,n){let r=n?Vl:Bl,i=r(e);return e===t?`${i}:${i}`:`${i}:${r(t)}`}function Au(e,t){if(!e)return null;let n=e.trim().toUpperCase(),r,i,a=Du.exec(n);if(a)r=du(a[1]),i=a[2]===void 0?r:du(a[2]);else if(a=Ou.exec(n))r=parseInt(a[1])-1,i=a[2]===void 0?r:parseInt(a[2])-1;else{let e=tu(n);if(!e)return null;r=t?e.colStart:e.rowStart,i=t?e.colEnd:e.rowEnd}return r===void 0||i===void 0||Number.isNaN(r)||Number.isNaN(i)?null:r<=i?{min:r,max:i}:{min:i,max:r}}function ju(e,t){return{r:ku(e.min,e.max,t),v:e.value}}function Mu(e,t){let n,r;Array.isArray(e)?(n=e[0],r=e[1]):(n=e?.r,r=e?.v),Array.isArray(n)&&(n=n[0]);let i=null;if(typeof n==`string`)i=Au(n,t);else if(n){let e=n,r=t?e.colStart:e.rowStart,a=t?e.colEnd:e.rowEnd;r!==void 0&&a!==void 0&&(i=r<=a?{min:r,max:a}:{min:a,max:r})}return i?(i.value=r,i):null}function Nu(e,t){let n=e?e.length:0,r=Array(n);for(let i=0;i<n;i++)r[i]=ju(e[i],t);return r}function Pu(e,t){let n=e?e.length:0,r=[];for(let i=0;i<n;i++){let n=Mu(e[i],t);n&&r.push(n)}return r}function Fu(e,t,n=Wl){let r=e?e.length:0;if(r===0)return null;let i=[];for(let a=0;a<r;a++){let r=Jl(e[a],t,n);r&&i.push(r)}return i.length===0?null:i.join(`,`)}function Iu(e,t){return typeof e==`string`?tu(e,t):n.CoordUtils.sanitizeRange(e,t)}function Lu(e,t){return typeof e==`string`?e:Zl(e,t)}function Ru(e,r,i){let a=n.CoordUtils.intersectRanges(e,r,i);if(!a)return null;let o=e.scope,s=r.scope;if(o&&s){if(o!==s)return t.FormulaError.BuiltIn.Value;a.scope=o}else(o||s)&&(a.scope=o||s);return a}function zu(e,r,i){let a=n.CoordUtils.unionRanges(e,r,i);if(!a)return null;let o=e.scope,s=r.scope;if(o&&s){if(o!==s)return t.FormulaError.BuiltIn.Value;a.scope=o}else(o||s)&&(a.scope=o||s);return a}var Bu=class e{constructor(e,t,n=`dynamic`){this._c=e,this._cycleId=t,this._k=n}getCycleId(){return this._cycleId}getKind(){return this._k}getError(){return this._k===`dynamicSpillError`}isFixed(){return this._k===`static`}getCoords(){return this._c}setError(t,n){let r=this._k===`static`?`static`:t?`dynamicSpillError`:`dynamic`,i=r===`dynamicSpillError`?{colStart:this._c.colStart,rowStart:this._c.rowStart,colEnd:this._c.colStart,rowEnd:this._c.rowStart,scope:this._c.scope}:this._c;return{...i,value:new e(i,n,r)}}getTranslated(t,n){let r=this._c,i={colStart:r.colStart+n,rowStart:r.rowStart+t,colEnd:r.colEnd+n,rowEnd:r.rowEnd+t,scope:r.scope};return{...i,value:new e(i,this._cycleId,this._k)}}getShifted(t){let r=t.after;if(!r)return null;let i=n.CoordUtils.sanitizeRange(r);return{...i,value:new e(i,this._cycleId,this._k)}}getMerged(e,t,n){}getSplit(e,t){}},Vu=class e{constructor(e,t){this._c=e,this._a=t}getCoords(){return this._c}getAxis(){return this._a}getShifted(t){return t.after?{...t.after,value:new e(t.after,this._a)}:null}getMerged(t,n,r){let i=this._a;return new e(n,i)}getSplit(t,n){let r=this._a;return[new e(t[0],r),new e(t[1],r)]}getState(){return this._c}};function Hu(e,r,i){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let a=[],o=i?t.IRange.Axis.Column:t.IRange.Axis.Row;for(let t=0;t<e.length;t++){let n=e[t],s=n[0],c=n[1];for(let e=0;e<c.length;e++){let t=c[e],n=t[0],l=t[1].length-1,u={colStart:i?s:n,rowStart:i?n:s,colEnd:i?s:n+l,rowEnd:i?n+l:s,scope:r,value:new Vu({colStart:i?s:n,rowStart:i?n:s,colEnd:i?s:n+l,rowEnd:i?n+l:s},o)};a.push(u)}}return a}var Uu=0,Wu=1,Gu=4,Ku=8,qu=16,Ju=32,Yu=128,Xu=768,Zu=3072,Qu=12288,$u=16384,ed=4008,td=0,nd=256,rd=512,id=768,ad=0,od=1024,sd=2048;function cd(){let e=`W5dcOM5OW4ldVIZdRSom.bSkRWQr3WQm9w8of.bXHcW5ZcJtFdSSoSEY4SDa.cWveW58.p0ylW4i6uJ/cPSoHdca.auDpWQFcP8kZFSo/.cWNdS8oS.xmkiW5pcSW.WPaiW48VWQ7dNq.W75XWR7cVG.WPZdHqRdMxzyWRRcQSkEnbGHt8o5pNRcUL3cPmk7WRn0wCoOW5ldSmkHpva.WPrdcXlcHCorWPtcKG.WPhcHCkan1tcR8ksn8kEW4TWW7GWWQi.gCoywrKuAcZcKvu.kJrpdcOmW4CrW4ldVJ/dJSkZWPqqaCoSFmkxWPq.W5xdTCksofpcLW4.Af4CW5/dI8kSW5n2WRe.Ba9KuW.lmoGprtcTq.eHPbW5JcUG.WOWzWPldNf13WPNdPZzsdSk2W6tcKa.hmkzWRdcGSkcWQXjWP1mWPVdLsuD.eSosWQadW7rx.W7viWOBdIW.WOrwcHZcHCokWO7cJG.lmo8oq7cSSkxA8krW5pcVcGXya.W49iW4JcJqmU.W4ZdKvXXWQG.CmoqW6JdMmkNWOi.aKbfWRpcLCkOESoLtSoxWRq.W7JcUSosWO7cKa.WODLEd05W4RdQdOglCoe.imkhrCofi8kd.wSkRWRHkWOddGabHzIVcUW.eWpdRmoNW6Dfzq.W4VdGtJcHtPTWOLpW6VcKmoaigC.W5XKWOfrWOZdMCo/W5m.cSoMy2GvkCo/CYW.bmkPW6u0W5vEc8ogW7hcPgpcKCoj.WPldH1LXWRXkuG.hCk0dCo6omolW4vbWRpdRmkvW6xdI20.W4fJqgO.rmklbYKbsW.WPbwcHxcI8oqWP8.FLmoW4xdJCk/W45XWRLZ.AbjFWO97vG3cPq.rSoRWR1PWPy.dZnAccGwW4zu.fx/cKmoTiCk4W7SV.hN/cISohoSk+.bZvudc8lW5a.WOe0oG.W4TBhrW.W7TiWOldHmkkza.WOiTzrOUW7ucWRTsvq.Cqf2WOhdLqi.Fa9HqJaLWQZdIWHcW6BcPmkmzW.uLlcQmk0WQCemSowWRXbW51VWP4.WP01asbSW75dW6DaW6Xn.rCopW6/dL8opW7q.W4NdKL5ZWQ9UCxbR.W5PNs2OX.zsbRWOpdOmkAWPq4.f8ozWRGfW6XwAJCssmk9W5T9tW1MgG.W5fmW4JcJHGR.W4ZdLf15WR9YAhz7WQhcSq.WOGAWPFdM1vZWPRcVdrlmmkXW4q.EXz3WOVdOGlcMSkkW6RcVI8E.WPVcRwz0W5ddHG8.WRu+WQpcGLeW.W4HSEmoF.cmoHgmkFySkCDSkxpwfq.ACk8zfC.uCkNBL/dQ8oxpCkZWQtcHd9IzSkAc8kfWRdcVrhcLHa.W5ldKmoczXFdQmod.lLrTWPhdOdRcMmk8.bSkOW6mWW5bydCo5W6tcSuxcKmo6.BHf6WPxdLrJcKSkwW44.CLG/W57dJCk/W4m.W4uAi0BcSCoHEI1fWO/dHmkRlW.BSobW6tdHCkHWOGezmoFva.p0eoWQXVBXdcOmoM.baJdVSoXW4jFDmok.W4XoaGhdSW.g8ozWQOxW5DwEN8.ESoqW7hdSCkGWPC/vmooxsG.wSopW7xdTSooW7asWQDfWRVdOq.cSoNC3ippmo/EZi.FwhdHqagtq.W6nTWQhcSSkXW5xcJ8kvyJtcVmkFumkXW7KHCCoFWOGtW5y+.tCk3umodo8ky.s8k9ACo1fCk/tSkiggvX.ACk3Fv8.W75SWPVcVmkQW5NcMCo2zs7cTW.WPrBhYpcQColWP7cG8k1W7C.CMZdIHuXsMPbqGe.W6FcR8oqWOdcKmom`.split(`.`);return(cd=function(){return e})()}(function(){function e(e,t,n,r,i){return ud(n-989,r)}function t(e,t,n,r,i){return ud(t- -29,n)}let n=cd();function r(e,t,n,r,i){return ud(e- -63,n)}function i(e,t,n,r,i){return ud(e-514,t)}function a(e,t,n,r,i){return ud(t-511,r)}for(;;)try{if(parseInt(r(143,0,`ncDD`))/1*(-parseInt(t(0,174,`dk4A`))/2)+parseInt(r(186,0,`VYfu`))/3+parseInt(a(0,720,0,`J)Eq`))/4*(-parseInt(e(0,0,1235,`Rdz(`))/5)+-parseInt(e(0,0,1234,`f&Sz`))/6*(parseInt(i(722,`Rdz(`))/7)+parseInt(t(0,161,`TGNs`))/8+parseInt(a(0,702,0,`3(uE`))/9+-parseInt(r(120,0,`podA`))/10*(-parseInt(e(0,0,1230,`5jY5`))/11)==784194)break;n.push(n.shift())}catch{n.push(n.shift())}})();var ld=(e,t,n=126)=>function(e,t,n=126){let r=e[i(-526,-543,`bVcl`,-590,-530)](``);for(let e=0;e<r[i(-431,-466,`lWxH`,-506,-433)];e++)r[e][i(-497,-467,`e$Xc`,-486,-448)](0)<=n&&(r[e]=String[i(-505,-463,`bVcl`,-497,-493)]((r[e][i(-535,-508,`Ap7S`,-551,-556)](0)+t)%n));function i(e,t,n,r,i){return ud(t- -732,n)}return r[a=`bVcl`,o=-144,ud(o- -414,a)](``);var a,o}(e,n-t);function ud(e,t){e-=180;let n=cd(),r=n[e];ud.AqYtMT===void 0&&(ud.IZhEBP=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},ud.RpIYJV={},ud.AqYtMT=!0);let i=e+n[0],a=ud.RpIYJV[i];return a?r=a:(ud.sawnrF===void 0&&(ud.sawnrF=!0),r=ud.IZhEBP(r,t),ud.RpIYJV[i]=r),r}var dd=e=>{return globalThis[t=`$h]W`,n=460,ud(n-220,t)](e);var t,n};function fd(e,t,n,r,i){return ud(i-703,t)}function pd(e,t,n,r,i){return ud(e-558,r)}var md=pd(738,0,0,`^gtQ`),hd=pd(768,0,0,`HS)4`),gd=RegExp(`^`+md+md+hd),_d=RegExp(`^`+md+hd);function K(e,t){e-=181;let n=vd(),r=n[e];K.msUxnm===void 0&&(K.UgUuRY=function(e,t){let n,r,i=[],a=0,o=``;for(e=function(e){let t=``,n=``;for(let n,r,i=0,a=0;r=e.charAt(a++);~r&&(n=i%4?64*n+r:r,i++%4)&&(t+=String.fromCharCode(255&n>>(-2*i&6))))r=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=`.indexOf(r);for(let e=0,r=t.length;e<r;e++)n+=`%`+(`00`+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),r=0;r<256;r++)i[r]=r;for(r=0;r<256;r++)a=(a+i[r]+t.charCodeAt(r%t.length))%256,n=i[r],i[r]=i[a],i[a]=n;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+i[r])%256,n=i[r],i[r]=i[a],i[a]=n,o+=String.fromCharCode(e.charCodeAt(t)^i[(i[r]+i[a])%256]);return o},K.yKHbFX={},K.msUxnm=!0);let i=e+n[0],a=K.yKHbFX[i];return a?r=a:(K.LzrPYA===void 0&&(K.LzrPYA=!0),r=K.UgUuRY(r,t),K.yKHbFX[i]=r),r}function vd(){let e=`cmolWPNdV2isW6TbDWTuDI0.WP8mWO06.zmkrqSkJgq.l8kAitrute3dGq.WQhcSN4ZWPtcTupdOG.WRzBWRRcPhFcIsZdImowW74.W51vAstdRcxdMSkPWQHKW4K.W5tcSSopW5L1W5JcVSkxWOdcGvOufW7cL8kPstW.c8oCWOtdNx8ZW69bAGTT.WOJdJYWdFq0Mkd4.g8k2FCkMgmkSWQqZ.W7nHW65dlHu0qSktWOXkWPBdVW.wSk4WQVcKrzF.W68+bSoecSk2WOe.W5SuWO94.lCoZAZ0.W590W71g.galcGCo2tZtdPrFdJepdLCk4WOKY.WQZcPe43WOVcNf7dHmk7AmkJumoPW5e.d8oiqu1fW59l.k8kElI5ethJdGmktW7GoWPLg.dCkpxhj8eCkoWPdcKmoIW5mb.waNcMCoMj1VdGGKzW7LxWPdcOW.WQ/cPe4EWO3cG1NdKmkSDCkStCoGW4y.zLDVWOq9va.W67cUConW7n8W4G.l8kwlIDetfJdGmktW7Go.iCkEmWvzxu3dGSkoW78vWPjr.W7FcQmoRBCkIkh4.af/dL8kXCGhcKW.jCkwiYvptu3dUCkFW68.eKnAwWGR.iSkGFCkB.W6iMqwm.nCobW43dMg4i.WRZcQcldHmoOpW.W6WpWOGNW6nxwaVcVmk0WQ3cGSoBhg9uc8o+imku.W7JcPSoUb3NdVmkYW7NdPq.WQVdOXTvcSkjWPT0cG.W7/cLSoKjrJdHsv2WOxcIa.oSonW4KIqHvhWO1r.ps1pF17cJ8kOWOSKW6Df.dJblFf/cO8kGWPeZ.WQVdPqHqdCkzWR5Lg8oCjSk+WPK.WRfJWOZdL0mi.W4myWOO/W6jlBwK.WO0bWQVcGqTK.WRRdSbyoWQf9tCoTo1hcLGOQ.fCknA3JcVSkHWRNdSJxdIZG.W4SjWOT0tmkO.fCobic8.ps1pF17cGCkGWOyVW6XepqldLSkkwSoLBG.W6XmrcFdRIhdNmkdWQz5WOWqWQS1W50qwmoJW7JcGSkkuCkkWQH/.lNZdK1BcSCkVW5pdRGNcPmkUW7O.WQ54WPxdGcr3W5O.ktblCepcO8k6.W77cLSo7aa/dQJ0.gupdImk+AIRcLIO8W4LF.WRrFdejLd8ozWOVdJqeJW77cUW.cmobWOddLG.WP/dPHmGWQRdHCoIW7BcGJ4TW43dMgzLtbJdOrxdNmkIxcNdQ8ozvSoU.cmolftZcPCo4.smoigYS.vejWWOiHwq.W5XJW7vencmrsCkjWOHr.dYRdSxRcJCoJW5tdOcpdQSo9W5i.W6hdUxtcM8kUlWpcGIuXaq.eHKsWPGMo8oWWQFcPCkYpSkB.WQtdNcWd.FgSszg7cVCkyWO8l.WRddOqSMWQpdNSo2WQtcPZK6.wSkJWQdcKcbtW4FdMvVdQ0mPW4jz.cmolfc/cSSorqCkI.W5/dQmo+mIpdIeZdHuBcGvbMWQL9.WR7cNmoSo8krbq.WPertSoDs8kTWQS0W73dVJOorW.W4LPW6XdmHG.ps1pF17cICkSWPeRW6TBkW.oSoXDYm.WQnRcJ1AWRtcGhddRCo5WQ3dNaa.lCkAncfiuLVdOSkiW78uWOHhW7m.WQhdS8kPn0xdR8kgW6pdKa/cH8oKAa.dfjwrG4HW7HHW4ua.W6BcJhrFj1aadYldSqvd.W7JcHCo+gX7dOcjHWOxcGSo5W5VdRwHqd8ogW6G.WONdVGqTWQ/dImoNWQlcQW.WRldPWGGWQ/dGSo1.BYVcLsJdPmoI.W58tWPv9.W5LpvIm.emoszevDWPy.WQZcPe43WOVcNf4.W6ZcKSoJfapdGdG.W40JqginW7pdSvJdKSonWR7dPGS.WQVdSrvPeCkeWPr0.W5W8eM4BW7FdNe/dH8oyWR7dPry.W6hdUhxcK8kVBJtcVZaVbWK.CcVcJWtdTCoZ.CmomfWDevgZdKq.WPBdOWmUWQf6sCo3lq.fmkbCv3cRSk6WQxdPaRdGd4HnqxdVa.bSolW50nrariWO0.W6OlWPzHxmkhW59RDSoc.g0LAvrm8.WQnNcJnrW7/dHvpdISoMWRO.fSolWOddNhKiW4LT.ASkkWOhcL8otW4rZWPPNi8kodW.W746uw4nW7tdKhBdG8ov.WQpcNCoalmkC.W60Oo8oNdSkCWOju.uNNcTG7dH8kWW4NdHa/dTSoEW53cPW.iCokW5NdNCkvWO9pWPTPeG.qXhcKrhdRSoVW5hdVGW.WRRcISoeiSkcea.WOtdOaLr.WOqCWOCuW5ZdGhu.cCosW4SRrqjdWPW.neratSkGWOa.oSkAisW.WRxdUbacWQNdMCoOWQi.cmkRoSoG.WR3dRrWhWRtdG8oR.tf/cSCoSxw7cTG.W6GYhmoNfSkQWOLPsG8.WQddOCkme1hdPCkh.W6iHw2uxW4pdKeNdH8ofWRVdUq.cvBdSSk9Cai3EConWPiisSoNqZa.WQ3cUuO/WPdcIq.W6v/W6PllaGub8klWOraWP/dOKJdMbfKW5hcGda.WQn4WQSAdCkv.gutdKSk4.kSoMAI8WWRNcT8o8WPu+uZTWmq.WRhdRrehWQpdJCoYWQpcVdi9.W5LitcxdRW.WQxdRqqT.WOhcR0W3WO7cMuNcTmkNBSkPqCkSW5LwqSopW53dKXe.bvtdJ8k3AGa.W6a+cCoNfmk2WPXhxtu7W5ZcLCkY.ceBdQSkt.fCopDL5DW4v4odPV.WQ3cRfS/WO7dKa.W6y6eCoShCkRWRXqrHGGW4ZcNW.W7NdIfPhlmkM.WQFcNCoai8kej1BcIwhdIuS.ccLhFqRcGCkGWOyVW6XepwZdSSkBsG.WRhdRrevWQ/dGCoJ.WQjmgwi.vu5+WOG9uWZcK8oTWRm.WQywW7VcPbb+ctdcMaldPJv7sa.ha8IWR8Lf8oYWRu.fCoxhcxcS8oXxCkxwmk/ka.WRhdRredWRpdHCoQWRlcMdi8W5VdN3PU.i1vvtCkLWONcUG.amojCKLtW5m.WQldT8kJ.W5/dQmo+pINdJ1NdQe/cHG.WRT1WPJdNcX3W5NdLSk8pwVdKSogWRLAWP5SW7RdPCoiCq.iCokW5NdJCknWPK.W7tcR8o8W454W50.hSoaWONdGfWyW7Ph.j17cGCk0CqxcLI08W58nWRxcQ8klWOhcScVcTYGZ.qZ7cKWRdR8oV.W7CDW6NdOZpdJHBdRSo4W7LccW.WQhdMceACs8X.WQbFdeX5bCoqWOhdUGuCW74.EJZcHaBdU8o+.gCkYf8oJiMpdPCkul8oHASoxW77dTCkBzCkkpG.jSkZFmkyd8k3WPO1i8kJWOi0qa.W782x2qrW74.oq7cL8oTW5NdHCkXW7JdTN1EW5u.W70BW6ldRJhdGHddICoyW494bG.d1rywrmHW4O.W4lcRmolW5f3W4u.bCoDjcVcRCo4xmkes8kLiW94yG.WP5PWRCDbSktW4mNWQhdN8oHWPH9.WQRdOSkVaq.WPldUrvweq.WRHJWPxdMvGDvG.W43cPI1+bSkhWR5J.xx3cSq/dMSkNW43dNrFdRa.WP8zq8owqmkSWP4nW7hdQq.WQbFdfPLaCoz.W77cRmomW7T2W4tcTmod.W5RdRmoKfcNdIwJdS0RcM0vQWQe.hSoxW5VdISkpWO99W5j4aSkgcSk9W5lcPSkrW7G0W4y.WRBcQc3dL8oPjrBcNW.vsdcLWldRCoYW5RcGtFcPmkbW7Ouva.W7NcUConW5LWW53cQCoNWPFcKeqjaaS.W4ZdOSogftVdNKRdGKlcHLq.W73dU8oRfJNdMKZdQeZcMXfdWQXTW6jIWQFcTG.W4vFsYZdRYG.WOX6WRyEcSksW7y.fX0iWRq2imomWRhcImk9pSkBW40.hSkOk8o8m2FdUSkco8oYD8oCW5K.W7u2rKKwW67dMvNdOSonWQpdRW.fSkpmILpsG.WO8CWQ/cRbXPdtFcHXq.WQddOCkFbfZdOa.WQZdQCkjWO4VWOpcTCoVWQpcNLGz.FZ7cLcddRSoUW5ddLq.vCk5WOVcGG1w.gg9rxSkJWPhcPNNdVq.W5LitcxdRW7dJCkpWQ1YW4G.hqBcM8oEqYJdKGddL13dK8k0WOm.WRRdRqSMWRldHa.f0DeCqiXW4P4W4ubW4zxW5K.WRhdRredWRpdHCoQWRlcIJy6W40.W4JdUmo5eG.W4JdV8oLfYxdIf0.W6dcLSoKmbldJY5YWPtcHCoLW5ddKa.W4PkuaJdTdxdHSkE.a8kwANlcSSkGWQW.W40mqNKmW7pdMMldUq.xmoyhciNtCkfWPtcUSo+W7euW7FdUq.a8ojW40Rurq.uIhdGq/dQmo4W5VdJYdcRSomW6Spvvf2C8kSW4W`.split(`.`);return(vd=function(){return e})()}function yd(e,t,n,r,i){return K(r-15,t)}function bd(e,t,n,r,i){return K(r- -401,i)}(function(){function e(e,t,n,r,i){return K(i- -15,r)}function t(e,t,n,r,i){return K(n- -200,t)}function n(e,t,n,r,i){return K(e-107,r)}function r(e,t,n,r,i){return K(r-671,n)}let i=vd();for(;;)try{if(parseInt(e(0,0,0,`8wH2`,190))/1+parseInt(n(396,0,0,`f&iR`))/2*(parseInt(r(0,0,`@w@C`,856))/3)+-parseInt(r(0,0,`)!wh`,959))/4+parseInt(t(0,`m](E`,45))/5+parseInt(t(0,`i8CQ`,76))/6+-parseInt(e(0,0,0,`Gcxo`,314))/7+parseInt(t(0,`SBBE`,60))/8*(-parseInt(n(413,0,0,`71XY`))/9)==225292)break;i.push(i.shift())}catch{i.push(i.shift())}})();var xd=async e=>{let t=`5WoY`,n=`I5nY`,r=[];function i(e,t,n,r,i){return K(t-172,e)}function a(e,t,n,r,i){return K(n- -916,t)}let o=e[i(`]j$D`,471)]?new Date(e[i(`YW&R`,441)]):null;o?isNaN(o)?r[a(0,`3BSj`,-692)](a(0,`8wH2`,-686)):o<new Date&&r[l(-490,-588,`]L9S`,-479,-538)](u(843,`Gcxo`,958,950,1015)+o[u(1176,`6UQi`,1249,1148,1200)]()):r[a(0,`]L9S`,-631)](a(0,`LQ2z`,-598));function s(e,t,n,r,i){return K(i-117,r)}if(await ye[a(0,`TZoT`,-621)]())return r;let c=await ye[u(1046,`IS2l`,953,1055,1006)]();function l(e,t,n,r,i){return K(i- -823,n)}if(c[s(0,0,0,t,355)]!=null){if(e[s(0,0,0,n,459)]===0&&(e[u(1021,`Ks3S`,1030,1013,1085)]??0)===0)return r[a(0,`IS2l`,-702)](a(0,`TbPD`,-657)),r;let o=e=>{if(!e)return null;return e[r=-499,i=`Mt@*`,l(0,0,i,0,r-87)]()[t=845,n=`IS2l`,l(0,0,n,0,t-1473)]();var t,n,r,i},d=o(e[s(0,0,0,`6Go1`,366)]);if(d){let e=c[i(n,465)],t=e&&o(e[i(`iJSl`,512)])===d,s=e&&o(e[a(0,`aZS$`,-555)])===d;!t&&!s&&r[u(1e3,`LQ2z`,938,1015,932)](l(0,0,`)1a^`,0,-465))}(e[s(0,0,0,`i8CQ`,323)]??0)>0&&c[u(840,`SBBE`,868,941,986)]>e[a(0,`%8jL`,-699)]&&r[s(0,0,0,`Mt@*`,428)](c[a(0,t,-678)]+`/`+e[i(`AF1o`,496)]+u(1054,`w&AX`,1010,984,969)),(e[u(964,`emtZ`,1060,1045,1084)]??0)>0&&c[a(0,`lYFZ`,-588)]>e[l(0,0,`9y[X`,0,-556)]&&r[l(0,0,`m](E`,0,-470)](c[i(`TbPD`,440)]+`/`+e[i(`LQ2z`,563)]+a(0,`TyFO`,-665))}function u(e,t,n,r,i){return K(r-759,t)}if(c[u(0,`Ks3S`,0,1085)]!=null){let n=e[l(0,0,`p!(]`,0,-545)],o=e[u(0,`6Go1`,0,985)]?.[u(0,`Mt@*`,0,1031)];if(n&&n[s(0,0,0,`f&iR`,375)]!==0){let e=c[u(0,`SeW2`,0,1124)][a(0,t,-615)]()[l(0,0,`TZoT`,0,-450)](),i=t=>{function n(e,t,n,r,i){return a(0,r,n- -62)}let r=t[n(0,0,-741,`Mt@*`)]()[n(0,0,-749,`%8jL`)]();return e===r||e[i=`lYFZ`,o=993,a(0,i,o-1527)](`.`+r);var i,o};!n[s(0,0,0,`lYFZ`,399)](e=>function(e,t=!1){if(e[n(1205,1188,1233,1182,`3(uE`)]>255)return!1;function n(e,t,n,r,i){return fd(0,i,0,0,t-256)}return!!gd[r=330,i=`03pw`,fd(0,i,0,0,r- -560)](e)||!(!t||!_d[n(0,1181,0,0,`KCD%`)](e));var r,i}(e,o)&&i(e))&&r[u(0,`%8jL`,0,1071)](a(0,`i8CQ`,-723))}else r[i(`@w@C`,509)](l(0,0,`m](E`,0,-440))}return r},Sd=async e=>{let t=`I5nY`,r=n.CommonUtils[i(-333,`Mt@*`,-381,-246,-333)];function i(e,t,n,r,i){return K(i- -658,t)}let a=await ye[l(626,604,491,585,`)1a^`)](),o=ce[u(t,1124,1139,1082,1017)](),s=new Date(o),c=new Date;function l(e,t,n,r,i){return K(r-358,i)}function u(e,t,n,r,i){return K(t-911,e)}function d(e,t,n,r,i){return K(n-922,t)}return Math[i(0,`@w@C`,0,0,-475)]((c[d(1163,`zJ9V`,1110,1098,1172)]()-s[i(0,t,0,0,-290)]())/864e5)>=120&&(r=[i(0,`%8jL`,0,0,-383)]),Object[i(0,`I5nY`,0,0,-301)]({getLicensee:()=>u(`IS2l`,1107),getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>1,getCpuCount:()=>0,getMemory:()=>0,getType:()=>u(`6UQi`,1254),isEval:()=>!0,getExceptions:()=>r,hasExceptions:()=>r[l(0,0,0,717,`m](E`)]>0,isValidFor:()=>r[u(`i8CQ`,1231)]===0&&a,isValid:()=>!1,getFeatures:()=>Object[d(0,`AF1o`,1143)]({}),getKeyFrom:()=>e,getBuildVersion:ce[f=`7MiZ`,p=1124,K(p-801,f)],getBuildDate:ce[l(0,0,0,559,`LQ2z`)]});var f,p},Cd=()=>{function e(e,t,n,r,i){return K(t- -366,e)}function t(e,t,n,r,i){return K(t- -169,n)}return Object[e(`]j$D`,-127)]({getLicensee:()=>null,getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>0,getCpuCount:()=>0,getMemory:()=>0,getType:()=>null,isEval:()=>!1,getExceptions:()=>{return[(e=`i8CQ`,t=-210,K(t- -432,e))];var e,t},hasExceptions:()=>!0,isValidFor:e=>!1,isValid:()=>!1,getFeatures:()=>Object[e(`i8CQ`,22)]({}),getKeyFrom:()=>K(257,`lYFZ`),getBuildVersion:ce[t(0,180,`aZS$`)],getBuildDate:ce[t(0,32,`LQ2z`)]})},wd=async e=>{let t=`6Go1`;function n(e,t,n,r,i){return K(i- -682,t)}if(Td[n(0,`w&AX`,0,0,-292)]&&Td[n(0,t,0,0,-379)])return!1;function r(e,t,n,r,i){return K(e-279,t)}var i,a,o,s;return!!(e[o=808,s=`SBBE`,K(o-604,s)]()||e[r(529,t)]()||e[r(634,`I5nY`)]()?.pb||await ye[i=-367,a=`F7#l`,K(i- -699,a)]())},Td={promise:null,printNeeded:!1,details:null,bannerPrinted:!1,detailsPrinted:!1,licenseKey:null,keyFrom:null},Ed=!1;function Dd(e,t,n,r,i){return K(i- -944,r)}function Od(e,t,n,r,i){return K(i-366,r)}var kd,Ad=!1,jd=new class{constructor(){var e,t,n,r;this[n=549,r=`i8CQ`,K(n-214,r)][e=1069,t=`71XY`,K(e-683,t)]=null}async[bd(0,0,0,-131,`U0MC`)](e,t=!1){let n=1177,r=`Ks3S`,i=1180,a=`)1a^`,o=`zJ9V`,s=1201;if(!e||e[c(1109,1069,`oWxL`,n,1071)](u(-529,`@lD%`,-556,-572,-525))||e[l(1160,1238,1151,r,n)](c(1244,i,a,1136,1185))||e[c(1215,1201,`Gcxo`,1177,1217)](f(663,711,626,`TyFO`,542))||e[c(1243,1200,`@lD%`,i,i)](c(1250,1272,o,1168,1327)))return Ed=!0,await ye[l(s,1243,1233,`i8CQ`,s)](e,t),Td[l(1288,1263,1281,`LQ2z`,1323)]=null,Td[u(-550,`I5nY`,-525,-626,-553)]=f(548,608,576,o,674),Td[u(-412,`iJSl`,-494,-459,-393)]=null,Td[f(586,754,689,r,621)]=null,await this[u(-702,`AF1o`,-606,-622,-602)](!0);function c(e,t,n,r,i){return bd(0,0,0,e-1282,n)}if(Ed=!1,!t&&Td[u(-618,`F7#l`,-523,-421,-615)]){let e=await this[c(1113,0,`71XY`)]();if(e[c(1123,0,`@lD%`)]()&&!e[c(1088,0,`bm)7`)]())return e}function l(e,t,n,r,i){return bd(0,0,0,t-1334,r)}function u(e,t,n,r,i){return bd(0,0,0,n- -468,t)}Td[p(395,430,355,491,`6Go1`)]=e,Td[c(1219,0,`3BSj`)]=p(365,467,365,376,`lYFZ`),Td[c(1195,0,a)]=null,Td[f(443,416,510,`IS2l`,473)]=null;let d=await this[u(0,`U0MC`,-547)]();function f(e,t,n,r,i){return bd(0,0,0,n-696,r)}function p(e,t,n,r,i){return bd(0,0,0,e-543,i)}if(!d[f(0,0,642,`SBBE`)]())throw await this[u(0,`i8CQ`,-485)](d,!0,void 0,t),Error(p(493,0,0,0,`]j$D`));return await ye[l(0,1181,0,`8wH2`)](e,t),d}async[Md(`I5nY`,-610,-681,-552,-595)](e=!1){function t(e,t,n,r,i){return bd(0,0,0,i-456,t)}if(Td[a(-337,-329,`7MiZ`,-481,-413)])return Td[a(-302,-357,`YrUs`,-274,-286)];!this[l(248,80,157,`LQ2z`,121)][u(16,-47,`3bZc`,8,-57)]&&(this[o(-567,`iJSl`,-626,-698,-700)][t(0,`J7Mp`,0,0,334)]=Error(`FV`));let n=null;Td[u(-30,-163,`@HKB`,-70,-136)]=new Promise(e=>{n=e});let r,i=null;function a(e,t,n,r,i){return bd(0,0,0,i- -230,n)}function o(e,t,n,r,i){return bd(0,0,0,n- -433,t)}let s=async(e,t)=>{try{let a=function(e){let t=e;function n(e,t,n,r,i){return ud(r-341,i)}function r(e,t,n,r,i){return ud(n-971,i)}let i=t[t[o(`pO#G`,1093,1124,1121,1115)]-1],a=i[n(0,0,0,605,`bHYZ`)](0)-52;function o(e,t,n,r,i){return ud(i-876,e)}function s(e,t,n,r,i){return ud(i-652,e)}if(t=t[r(0,0,1238,0,`mDaS`)](0,t[o(`lWxH`,0,0,0,1142)]-1),t=t[s(`Rdz(`,894,861,916,868)](``)[s(`6w2c`,892,864,848,856)]()[r(0,0,1164,0,`M2!B`)](``),t=dd(t),t=t[n(0,0,0,583,`QVTc`)](),t[t[o(`podA`,0,0,0,1088)]-1]!==i)throw Error();t=t[o(`SxT1`,0,0,0,1083)](0,t[o(`NO5n`,0,0,0,1068)]-1),t=ld(t,a);try{!t[s(`cO[^`,0,0,0,902)](`{`)&&(t=`{`+t);let e=JSON[o(`mehH`,0,0,0,1107)](t),n={licensee:e.l,expiry:e.e,developerCount:e.dc,type:e.t,domains:e.d??[],cpuCount:e.cc??0,memory:e.m??0,features:e.f??{}};return e.n&&(n[c=`J)Eq`,l=-173,ud(l- -408,c)]=e.n),n}catch{throw Error(n(0,0,0,525,`gLvR`))}var c,l}(t),s=((e,t,n)=>{function r(e,t,n,r,i){return K(i- -726,e)}function i(e,t,n,r,i){return K(r- -350,t)}function a(e,t,n,r,i){return K(r- -28,n)}function o(e,t,n,r,i){return K(n- -60,i)}function s(e,t,n,r,i){return K(e-930,i)}return Object[o(0,0,281,0,`6Go1`)]({getLicensee:()=>e[i(0,`AF1o`,0,-11)]??null,getExpiration:()=>new Date(e[o(0,0,290,0,`)1a^`)]),getDomains:()=>e[i(0,`I5nY`,0,-41)]??[],getDeveloperCount:()=>e[s(1290,0,0,0,`F7#l`)]??1,getCpuCount:()=>e[r(`8wH2`,0,0,0,-537)]??0,getMemory:()=>e[r(`TyFO`,0,0,0,-390)]??0,getType:()=>e[a(0,0,`TZoT`,245)]??r(`p!(]`,0,0,0,-461),getExceptions:()=>t,hasExceptions(){return!!t&&t[e=-442,n=`%8jL`,s(e- -1569,0,0,0,n)]>0;var e,n},isValidFor:e=>{return!(t?.[n=109,r=`I5nY`,a(0,0,r,n- -74)]>0);var n,r},isValid:()=>!0,isEval:()=>!1,getFeatures:()=>Object[a(0,0,`@lD%`,348)](e[o(0,0,132,0,`f&iR`)]??{}),getKeyFrom:()=>n,getBuildVersion:ce[r(`aZS$`,0,0,0,-377)],getBuildDate:ce[o(0,0,327,0,`zJ9V`)]})})(a,await xd(a),e);return s[n=844,i=`Ks3S`,o(0,i,n-1466)]()&&(r=s),s}catch{return(e=>{function t(e,t,n,r,i){return K(i-106,t)}return Object[t(0,`71XY`,0,0,397)]({getLicensee:()=>null,getExpiration:()=>null,getDomains:()=>[],getDeveloperCount:()=>0,getCpuCount:()=>0,getMemory:()=>0,getType:()=>t(0,`m](E`,0,0,358),getExceptions:()=>{return[(n=-446,r=`I5nY`,t(0,r,0,0,n- -835)+e+`'`)];var n,r},hasExceptions:()=>!0,isValidFor:e=>!1,isValid:()=>!1,isEval:()=>!1,getFeatures:()=>Object[t(0,`bm)7`,0,0,341)]({}),getKeyFrom:()=>e,getBuildVersion:ce[i=436,a=`I5nY`,K(i-62,a)],getBuildDate:ce[n=-670,r=`zVL#`,K(n- -960,r)]});var n,r,i,a})(e)}var n,i};Td[u(-215,-97,`fP*)`,-189,-147)]&&(i=await s(Td[l(193,257,174,`F7#l`,140)],Td[l(402,383,308,`emtZ`,330)]));let c=!1;function l(e,t,n,r,i){return bd(0,0,0,n-339,r)}if(Ed&&(c=!0,i=await Sd(t(0,`p!(]`,0,0,422))),!i){let e=await ye[l(0,0,232,`bm)7`)]();e&&(i=await s(e[l(0,0,193,`w&AX`)],e[a(0,0,`SBBE`,0,-254)])),!i&&(c=!0)}function u(e,t,n,r,i){return bd(0,0,0,i-67,n)}return!i&&c&&(i=await Sd(o(0,`YW&R`,-463))),!i&&r&&(i=r),!i&&(i=Cd()),Td[t(0,`9y[X`,0,0,239)]=i,Td[t(0,`%8jL`,0,0,264)]=e&&await wd(i),n(i),Td[l(0,0,304,`TyFO`)]&&await this[a(0,0,`w&AX`,0,-398)](i),Td[l(0,0,253,`J7Mp`)]}async[Od(0,0,0,`@w@C`,632)](e,t=!1,n=!1,r=!1){function i(e,t,n,r,i){return Md(i,n-556,n-67,r-286,i-48)}let a=e[g(816,836,782,`J7Mp`,730)]();if(!t&&!Td[i(0,0,-64,-120,`fP*)`)]&&(e[o=`TyFO`,s=-536,c=-680,l=-591,Md(o,l-30,s-496,c-329,l-217)]()||a))return Td[g(803,801,841,`@HKB`,843)]=!0,void await ye[i(0,0,-131,-163,`lYFZ`)](!1);var o,s,c,l,u,d,f,p,m,h;function g(e,t,n,r,i){return Md(r,t-1538,n-207,r-378,i-208)}(t||!t&&(a||!await ye[p=995,m=1014,h=`zVL#`,Md(h,p-1541,p-58,m-238,h-221)]())&&!Td[i(0,0,-142,-138,`]L9S`)])&&(Td[u=`]L9S`,d=-276,f=-334,Md(u,f-364,u-449,d-158,f-290)]=!0,await ye[i(0,0,-14,55,`LQ2z`)](e,t,n,r))}async[Od(0,0,0,`@w@C`,683)](e){if(await wd(e)){if(Ad)return void setTimeout(()=>{var t,n;this[t=`6Go1`,n=-380,K(n- -582,t)](e,!1,!1)},8e3);await this[t=`8wH2`,n=-156,Dd(0,0,0,t,n-393)](e,!1,!1)}var t,n}async[Od(0,0,0,`emtZ`,613)](e,t,n,r=!1){function i(e,t,n,r,i){return Md(i,t-1263,n-355,r-255,i-54)}function a(e,t,n,r,i){return Md(i,e-961,n-60,r-390,i-58)}function o(e,t,n,r,i){return Md(e,t-1527,n-332,r-31,i-225)}if(!t&&Td[o(`IS2l`,799,758,800,755)]&&Td[o(`8wH2`,803,755,877,779)])return;let s=e[f(902,885,858,817,`TZoT`)]()||e[o(`)!wh`,942,1005,838,890)]();if(!t&&s&&!await ye[a(422,0,458,507,`3bZc`)]())return Td[i(0,588,535,629,`6Go1`)]=!0,Td[o(`TZoT`,1005,944,966,920)]=!0,ye[c=`p!(]`,l=-403,u=-466,d=-398,Md(c,u-178,l-359,u-227,d-232)]();var c,l,u,d;function f(e,t,n,r,i){return Md(i,t-1519,n-178,r-85,i-150)}(!Td[i(0,709,783,649,`F7#l`)]||t)&&(Td[o(`zVL#`,808,773,864,797)]=!0,await ye[i(0,625,518,727,`m](E`)](!1)),t||!e[i(0,726,649,713,`8wH2`)]()||e[o(`SBBE`,913,836,978,918)]()?await this[a(359,0,416,348,`LQ2z`)](e,t,n,r):Td[o(`5WoY`,963,1045,944,1023)]=!0,!t&&s&&await ye[f(0,908,837,1002,`J7Mp`)]()}[bd(0,0,0,-23,`IS2l`)](){return this[e=-601,t=`@w@C`,yd(0,t,0,e- -877)](!0);var e,t}async[bd(0,0,0,-45,`%8jL`)](e){let t=await this[n(-658,`YW&R`,-607,-533,-570)]();function n(e,t,n,r,i){return Dd(0,0,0,t,i-171)}return this[n(0,`@HKB`,0,0,-421)](t,!0,e)}[yd(0,`J7Mp`,0,277)](){function e(e,t,n,r,i){return Dd(0,0,0,n,i-1148)}return Td[e(0,0,`6RF*`,0,414)]||Td[e(0,0,`)1a^`,0,445)]}[Md(`6UQi`,-718,-718,-798,-747)](e){Ad=!0}async[Md(`]j$D`,-631,-553,-575,-711)](){var e,t,n,r;Td[n=-184,r=`6Go1`,Dd(0,0,0,r,n-517)]=!0,await ye[e=`p!(]`,t=-663,Dd(0,0,0,e,t-17)](!0)}async[Od(0,0,0,`p!(]`,666)](e,t){let n=await this[r(`)!wh`,-431,-416,-435,-531)]();function r(e,t,n,r,i){return Md(e,t-301,n-475,r-174,i-101)}return await this[r(`]j$D`,-383,-284,-375,-311)](n,!0,e,t),n}async[Md(`6RF*`,-678,-650,-716,-626)](){function e(e,t,n,r,i){return Od(0,0,0,t,r- -811)}return(await ye[e(0,`)1a^`,0,-199)]())[e(0,`7MiZ`,0,-174)]?.[e(0,`Gcxo`,0,-65)]??``}};function Md(e,t,n,r,i){return K(t- -918,e)}var Nd={FormulaContext:kd,ScalarType:t.ScalarType,IRange:t.IRange,FormulaError:t.FormulaError,Observable:t.Observable},Pd=()=>(kd||(kd=t.FormulaContext,Nd.FormulaContext=kd),kd),Fd=[];function Id(e){Fd.push(e),Pd()._setScope(e)}function Ld(){Fd.length>0&&Fd.pop();let e=Fd.length;Pd()._setScope(e>0?Fd[e-1]??null:null)}var Rd,zd=class{constructor(){this.isCalcSignal=!0}},Bd=e=>!0===e?.isCalcSignal;(Rd||={}).Context={Workbook:`workbook`,Sheet:`sheet`,Ranges:`ranges`,Range:`range`,Script:`script`,Calculation:`calculation`};var Vd,Hd=(e,n,r,i)=>{let a=e.errors??null;return a===`accept-ref`?e.range?t.FormulaError.isError(i)?`reject`:`accept`:r?`reject`:`accept`:a||(n===t.ScalarType.Error?null:`reject`)},Ud=e=>{let n=e.checkArity,r=typeof n==`function`,i=(...i)=>{if(r&&!n(i.length))throw t.FormulaError.BuiltIn.Value;return(e=>{let n=e;if(Array.isArray(n)){if(n.length!==1)throw t.FormulaError.BuiltIn.Calc;n=n[0]}if(!0===n?.isIRange){if(n.size!==1)throw t.FormulaError.BuiltIn.Calc;n=n.getValueAt(0,0)}else if(n!==null&&n?.colStart!==void 0){let e=n;if(e.rowStart!==e.rowEnd||e.colStart!==e.colEnd)throw t.FormulaError.BuiltIn.Calc;try{n=t.FormulaContext.getValueAt(e.rowStart,e.colStart,e.scope??void 0)}catch(e){if(!t.FormulaError.isError(e))throw e;n=e}}if(!0===n?.isLambda)throw t.FormulaError.BuiltIn.Calc;return n??null})(e(...i))};return i.isLambdaCallable=e.isLambdaCallable,i.checkArity=n,i.paramCount=e.paramCount,i},Wd=class e{constructor(e,n,r,i=null,a=!1){this._ct=Rd.Context.Calculation,this._builtIn=!1,this._lc=!1,this._rlc=!1,this._rs=null,this._pj=null,this._gi=-1,this._gc=null,this._json=e,this._n=e.name,this._d=new Zd(e),this._ct=e.context??Rd.Context.Calculation;let o=e.parameters,s;this._pj=o,n||=(console.log(`TypeFunction '${e.name}' was not provided a function implementation.`),()=>{}),this._fn=n.bind(this),this._cf=r??Kd,this._builtIn=a,this._cfp={argsValues:null,argsLength:0},s=i?typeof i==`function`?i:()=>Promise.resolve(i):Gd(e),this._descFn=s;let c=o?.length??0,l=!1,u=!1,d=(e,t)=>{let n=e.repeating;if(n){let e=n.length===1;for(let t=0;t<n.length;t++)d(n[t],e);return}t||e.range||e.lambda!=null||(e.arrayDepth??0)!==0||(l=!0),e.range===`p`&&(u=!0)};for(let e=0;e<c;e++){let t=o[e];t.repeating&&(this._gi=e),d(t,t.rest??!1)}this._lc=l,this._rlc=u;let f=e.returnType?.scalar;f!==t.ScalarType.Null&&f!==`*`||(f=null),this._rs=f??null}execute(...e){let t=e,n=t.length,r=this._cfp;if(r.argsLength>0)t=r.argsValues,n=r.argsLength,r.argsValues=null,r.argsLength=0;else for(let e=0;e<n;e++){let n=t[e];if(n==null)continue;let r;if(n.colStart!==void 0)r=n;else if(n.getCoords&&(r=n.getCoords(),r&&r.scope===void 0&&typeof n.getSheet==`function`)){let e=n.getSheet()?.getName?.();e&&(r={...r,scope:e})}r&&(t[e]=r)}return this._exec(t,n)}_plan(e){let t=this._gc;if(t){if(t.has(e))return t.get(e)}else t=this._gc=new Map;let n=this._pj,r=this._gi,i=n[r].repeating,a=i.length,o=r,s=n.length-r-1,c=s;for(;c>0&&!0===n[r+c].optional;)c--;let l=!0===i[a-1].optional,u=!0===n[r].optional?0:1,d=-1,f=!1,p=s;for(let t=c;t<=s;t++){let n=e-o-t,r=-1,i=!1;if(n>=0&&n%a===0?r=n/a:l&&n===a-1&&(r=1,i=!0),r>=u){d=r,f=i,p=t;break}}if(d<u)return t.set(e,null),null;let m=[];for(let e=0;e<o;e++)m.push(n[e]);if(a===1)m.push(i[0].rest?i[0]:{...i[0],rest:!0});else for(let e=0;e<d;e++){let t=f&&e===d-1?a-1:a;for(let e=0;e<t;e++)m.push(i[e])}for(let e=0;e<p;e++)m.push(n[r+1+e]);let h={params:m,prefix:o,period:a,n:d,short:f,tuples:a>1};return t.set(e,h),h}_regroup(e,t,n){let{prefix:r,period:i,n:a,short:o,tuples:s}=n,c=[],l=0;for(;l<r;l++)c.push(e[l]);if(s){let t=Array(a);for(let n=0;n<a;n++){let r=o&&n===a-1?i-1:i,s=Array(r);for(let t=0;t<r;t++)s[t]=e[l++];t[n]=s}c.push(t)}else{let i=t-(n.params.length-r-1),a=[];for(;l<i;)a.push(e[l++]);c.push(a)}for(;l<t;)c.push(e[l++]);return c}_exec(e,r){let i=null;if(this._gi>=0&&(i=this._plan(r),!i)){let e=this._pj,t=e[this._gi].repeating;throw $d.ARGS_REPEAT(e.length-1,t.length,r,this._n)}let a=i?i.params:this._pj;ef.length=0;let o=ef,s=this._cf?.();Id(s);let c=null,l=a?.length??0,u=this._lc,d=!1,f=l>0&&(a[l-1].rest??!1);if(!i&&!f&&r>l)throw $d.ARGS_TOO_MANY(l,r,this._n);if(this._rlc&&l>0){let t=null;for(let i=0;i<r;i++){if(a[i<l?i:l-1].range!==`p`)continue;let r=e[i],o=rf(r);if(o){(t??=[]).push({argIndex:i,collapsed:r,elements:o.elements,rows:o.rows,cols:o.cols});continue}let s=r;!0===s?.isIRange&&!s.isIReferenceRange&&s.size>1&&(t??=[]).push({argIndex:i,collapsed:s,elements:n.CommonUtils.EmptyArray,rows:s.getRowCount(),cols:s.getColumnCount()})}if(t)try{return this._refLift(s,e,r,t)}finally{Ld()}}if(u){let t=!1,n=Math.min(r,l);for(let r=0;r<n;r++){let n=a[r];if(!n.rest&&!n.range&&n.lambda==null&&(n.arrayDepth??0)===0&&!YO(e[r])){t=!0;break}}u=t}let p,m=!1;try{for(let n=0;!m&&n<l;n++){let i=a[n],l=i.scalar??null;l!==t.ScalarType.Null&&l!==`*`||(l=null);let f=i.range===`*`,p=f?`r`:i.range??null,h=i.rest??!1,g=i.optional??!1,_=e[n],v=n>=r;if(_===void 0||v){if(v){if(!g&&!h)throw $d.PARAM_MISSING(i.name,this._n);m=!0;continue}if(i.omittable){o.values[o.length++]=i.omittedValue;continue}_=null}if(typeof _==`symbol`){o.values[o.length++]=void 0;continue}if(i.lambda!=null){if(!(i.range!=null||i.scalar!=null&&i.scalar!==`l`)||!0===_?.isLambda||typeof _==`function`){if(t.FormulaError.isError(_)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}if(_!==null){let e=null;if(!0===_?.isLambda&&typeof _.makeCallable==`function`?e=_.makeCallable():typeof _==`function`&&(e=_),e===null){c=t.FormulaError.BuiltIn.Value,m=!0;continue}let n=i.lambdaArity??(i.rest?r-1:null),a=e.checkArity;if(n!==null&&typeof a==`function`&&!a(n)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}d=!0,o.values[o.length++]=i.lambda===`raw`?e:Ud(e);continue}c=t.FormulaError.BuiltIn.Value,m=!0;continue}if(_!==null&&qd(_)&&(typeof _==`number`||typeof _==`string`||typeof _==`boolean`)){c=t.FormulaError.BuiltIn.Value,m=!0;continue}}let y=Hd(i,l,qd(_),_),b=(l===null||l===t.ScalarType.Error||y===`accept`)&&y!==`reject`;if(!0===_?.isLambda&&i.lambda==null&&!i.rest){if(f||!i.range&&!l){o.values[o.length++]=_;continue}if(i.range){c=t.FormulaError.BuiltIn.Value,m=!0;continue}}if(i.rest)for(;n<r&&!c;){if(_===void 0&&(_=null),i.lambda==null||!0!==_?.isLambda&&typeof _!=`function`)i.lambda==null||_===null||!qd(_)||typeof _!=`number`&&typeof _!=`string`&&typeof _!=`boolean`?!0===_?.isLambda&&i.lambda==null?f||!i.range&&!l?o.values[o.length++]=_:c=t.FormulaError.BuiltIn.Value:c=$O(s,o,_,qd(_),p,l,b,!0,y):c=t.FormulaError.BuiltIn.Value;else{let e=typeof _==`function`?_:typeof _.makeCallable==`function`?_.makeCallable():null;if(e===null)c=t.FormulaError.BuiltIn.Value;else{let n=i.lambdaArity??r-1,a=e.checkArity;typeof a!=`function`||a(n)?(d=!0,o.values[o.length++]=i.lambda===`raw`?e:Ud(e)):c=t.FormulaError.BuiltIn.Value}}_=e[++n]}else{let e=(i.arrayDepth??0)>0,t=y,n=!0===_?.isIRange&&_.size===1,r=l;!u||i.range||e||n||(p=`r`,e=!1,_!=null&&(_.isIRange||_.colStart!==void 0||Array.isArray(_))&&(t=null,r=null));let a=o;if(_===void 0||f&&_===null)o.values[o.length++]=null;else if(e){let t=[];(_!==null||p)&&(a=t,c=$O(s,a,_,qd(_),p,l,b,e,y)),t.length===0&&g?o.values[o.length++]=void 0:o.values[o.length++]=t}else c=$O(s,a,_,qd(_),p,r,b,e,t)}m=!!c}if(c)return c;let n=this._fn,f=o.length,h=d?o.values.slice(0,f):o.values,g=i?(e,t)=>n(...this._regroup(e,t,i)):null;if(u){let e=(e,r)=>{let i=null;e&&(i=qO(s.getRuntime(),i,t.ScalarType.Null,e,!1));try{i=g?g([i],1):n(i)}catch(e){if(!t.FormulaError.isError(e))throw e;i=e}return r=r.fillEmpty(tk(i,s)??0)};if(f===1){let r=h[0],i=a[0],o=i.scalar;o!==t.ScalarType.Null&&o!==`*`||(o=null);let c=0,l=Hd(i,o,!1),u=(o===null||o===t.ScalarType.Error)&&l!==`reject`,d=s.getRuntime();p=r.map(e=>{if(c++,t.FormulaError.isError(e)){if(!u)return e}else if(o!==null){let n=RO(e,!0);if(n!==o&&(e=qO(d,e,n,o,!0),t.FormulaError.isError(e)))return e}let r=e;try{if(r=g?g([r],1):n(r),Array.isArray(r)||r?.isIRange)return tk(af(r),s)}catch(e){if(Bd(e))throw e;r=e}return tk(r,s)??0}),c<r.size&&(p=e(o,p)),this._rs&&(p=p.toType({type:this._rs,onError:`value`}))}else{let e=1,r=1,i=Array(f),o=e=>a[e<l?e:l-1];for(let t=0;t<f;t++){let n=o(t),a=n.range??null;if(i[t]=(n.rest?a===`*`&&(n.arrayDepth??0)<=1:(a===null||a===`*`)&&(n.arrayDepth??0)===0)&&!0===h[t]?.isIRange,i[t]){let n=h[t],i=n.getRowCount(),a=n.getColumnCount();i>e&&(e=i),a>r&&(r=a)}}let c=Array(f),u=Array(f),d=Array(f);for(let e=0;e<f;e++){i[e]||(c[e]=h[e]);let n=o(e).scalar,r=null;n!==t.ScalarType.Boolean&&n!==t.ScalarType.Number&&n!==t.ScalarType.String&&n!==t.ScalarType.String&&n!==t.ScalarType.Error||(r=n),u[e]=r;let a=Hd(o(e),r,!1);d[e]=(r===null||r===t.ScalarType.Error)&&a!==`reject`}let m=s.getRuntime(),_=null;p=s.createRange(e,r,(a,o)=>{let l=o.rowIndex,p=o.colIndex;for(let e=0;e<f;e++){if(!i[e])continue;let n=h[e],r=n.getRowCount(),a=n.getColumnCount(),o=r===1?0:l<r?l:-1,s=a===1?0:p<a?p:-1;if(o<0||s<0){if(!d[e])return t.FormulaError.BuiltIn.NA;c[e]=t.FormulaError.BuiltIn.NA;continue}let f=n.getValueAt(o,s)??null;if(t.FormulaError.isError(f)){if(!d[e])return f}else if(u[e]!==null){let n=RO(f,!0);if(n!==u[e]&&(f=qO(m,f,n,u[e],!0),t.FormulaError.isError(f)))return f}c[e]=f}let v;try{if(v=g?g(c,f):n(...c),Array.isArray(v)||v?.isIRange)return(_??=Array(e*r))[l*r+p]=v,tk(af(v),s)}catch(e){if(Bd(e))throw e;v=e}return tk(v,s)??0}),_!==null&&nf(p,_,e,r)}}else if(g)p=g(h,f);else if(f<=6)switch(f){case 0:p=n();break;case 1:p=n(h[0]);break;case 2:p=n(h[0],h[1]);break;case 3:p=n(h[0],h[1],h[2]);break;case 4:p=n(h[0],h[1],h[2],h[3]);break;case 5:p=n(h[0],h[1],h[2],h[3],h[4]);break;case 6:p=n(h[0],h[1],h[2],h[3],h[4],h[5])}else{let e=[];for(let t=0;t<f;t++)e.push(h[t]);p=n(...e)}p=tk(p,s),s.isValidDate(p,!0)&&(s.formatResults(`Short Date`),p=s.toSerialDate(p))}catch(e){throw e}finally{Ld()}return p}_refLift(e,n,r,i){let a=1,o=1,s=i.length;for(let e=0;e<s;e++){let t=i[e];t.rows>a&&(a=t.rows),t.cols>o&&(o=t.cols)}let c=n.slice(0,r),l=null,u=e.createRange(a,o,(n,u)=>{let d=u.rowIndex,f=u.colIndex;for(let e=0;e<s;e++){let n=i[e],r=n.rows===1?0:d<n.rows?d:-1,a=n.cols===1?0:f<n.cols?f:-1;if(r<0||a<0){c[n.argIndex]=t.FormulaError.BuiltIn.NA;continue}let o=n.elements[r*n.cols+a];o===void 0&&(o=n.collapsed.getValueAt(r,a)??null),c[n.argIndex]=o}let p;try{p=this._exec(c,r)}catch(e){if(!t.FormulaError.isError(e))throw e;p=e}return Array.isArray(p)||p?.isIRange?((l??=Array(a*o))[d*o+f]=p,tk(af(p),e)):tk(p,e)??0});return l!==null&&nf(u,l,a,o),u}_withContext(t){return new e(this._json,this._fn,t,this._descFn,this._builtIn)}getName(){return this._n}getDeclaration(){return this._d}async getDescriptor(e){let t=e??n.DefaultLanguagePackService.getActive();if(this._desc&&this._descLanguage===t)return this._desc;let r=await Promise.resolve(this._descFn(e));return this._desc=new Qd(this,r),this._descLanguage=t,this._desc}isBuiltIn(){return this._builtIn}getContext(){let e=this._ct;if(e===`sheet`||e===`workbook`||e===`ranges`||e===`range`||e===`script`){let e=this._json;return e&&e.behavior&&e.behavior.default?`autoRun`:`macro`}return`formula`}get[Symbol.toStringTag](){return`[TypedFunction]`}toString(){let e=this._json,t=e.parameters,n=``;if(t.length>0){let e=t=>{let n=t.name;t.rest&&(n=`...`+n),t.optional&&(n+=`?`);let r=t.repeating;return r?`${n}: Repeating<${r.length===1?VO(r[0]):`[${r.map(e).join(`, `)}]`}>`:(n+=`: `+VO(t),n)};n=t.map(e).join(`, `)}let r=`${this.getName()}(${n})`,i=e?.returnType;if(i){let e=VO(i);return i.async?e=`Promise<${e}>`:i.stream&&(e=`Observable<${e}>`),`${r}: ${e}`}return r}get isIFunction(){return!0}get isITypedFunction(){return!0}},Gd=e=>async t=>{let r={},i=e.parameters;for(let e=0;e<i.length;e++)r[i[e].name]={description:n.CommonUtils.camelToPrettyCase(i[e].description)};return{summary:n.CommonUtils.camelToPrettyCase(e.name),parameters:r,category:`User Defined`}},Kd=()=>null,qd=e=>typeof e!=`object`||!e||e.colStart===void 0&&(!e.isIRange||e.isLiteral()),Jd=class{constructor(e){this._s=e.scalar??null,this._r=e.range??null,this._d=e.arrayDepth??0,this._l=e.lambda??null}getScalarType(){return this._s}getRangeType(){return this._r}getLambda(){return this._l}getArrayDepth(){return this._d}},Yd=class e extends Jd{constructor(t){super(t),this._n=t.name,this._o=t.optional??!1,this._dv=t.defaultValue,this._rest=t.rest??!1,this._e=t.enums?Object.freeze(t.enums):n.CommonUtils.EmptyArray,this._ep=t.errors??null,this._g=t.repeating?Object.freeze(t.repeating.map(t=>new e(t))):null}getName(){return this._n}getErrorPolicy(){return this._ep}isOptional(){return this._o}getDefaultValue(){return this._dv}isRest(){return this._rest}getRepeatingTypes(){return this._g}getEnums(){return this._e}},Xd=class extends Jd{constructor(e){super(e),this._a=e.async??!1,this._stream=e.stream??!1}isAsync(){return this._a}isStreaming(){return this._stream}},Zd=class{constructor(e){if(this._n=e.name,e.parameters){let t=e.parameters.length,n=Array(t);for(let r=0;r<t;r++)n[r]=new Yd(e.parameters[r]);this._p=Object.freeze(n)}else this._p=n.CommonUtils.EmptyArray;e.returnType?this._r=new Xd(e.returnType):this._r=new Xd({scalar:null,arrayDepth:0,range:null})}getName(){return this._n}getParameters(){return this._p}getReturnType(){return this._r}},Qd=class{constructor(e,t){if(this._n=t.name,this._nl=t.nameLocal??t.name??e?.getName(),this._fn=e,this._s=t.summary??n.CommonUtils.camelToPrettyCase(t.name??e?.getName()),this._c=t.category??`Uncategorized`,this._h=t.deprecated??!1,t.links&&t.links.length>0){let e=t.links.length,n=Array(e);for(let r=0;r<e;r++)n[r]=Object.freeze([t.links[r][0],t.links[r][1]]);this._l=Object.freeze(n)}else this._l=n.CommonUtils.EmptyArray;if(t.parameters){let n={};for(let r in t.parameters)if(Object.prototype.hasOwnProperty.call(t.parameters,r)){let i=t.parameters[r].description,a=t.parameters[r].example,o=t.parameters[r].defaultValue??e?.getDeclaration?.()?.getParameters?.().find(e=>e.getName()===r)?.getDefaultValue(),s={};i&&(s.description=i),a&&(s.example=a),o!==void 0&&(s.defaultValue=o),n[r]=Object.freeze(s)}this._p=Object.freeze(n)}else this._p=n.CommonUtils.EmptyObject}getName(){return this._n}getNameLocal(){return this._nl}getSummary(){return this._s}getCategory(){return this._c}isDeprecated(){return this._h}getLinks(){return this._l}getParameters(){return this._p}get[Symbol.toStringTag](){return`[Descriptor]`}toString(){let e=this._fn;return`${this.getSummary()}: ${e}`}},$d={PARAM_MISSING:(e,n)=>new t.FormulaError.Parse(`Parameter ${e} is missing${n?` for ${n}`:``}.`),ARGS_TOO_FEW:(e,n)=>new t.FormulaError.Parse(`Argument type ${e.join(`, `)} is missing${n?` for ${n}`:``}.`),ARGS_TOO_MANY:(e,n,r)=>new t.FormulaError.Parse(`Too many arguments${r?` for ${r}`:``}. Expected ${e}, but got ${n}.`),ARGS_REPEAT:(e,n,r,i)=>n===1?new t.FormulaError.Parse(`Too few arguments${i?` for ${i}`:``}. Expected at least ${e+1}, but got ${r}.`):new t.FormulaError.Parse(`Wrong number of arguments${i?` for ${i}`:``}. Expected ${e} plus a multiple of ${n}, but got ${r}.`)},ef={values:rk(255),length:0},tf=`_liftedFnResults`,nf=(e,t,n,r)=>{Object.defineProperty(e,tf,{value:{elements:t,rows:n,cols:r},enumerable:!1,configurable:!0})},rf=e=>e&&!0===e.isIRange?e[tf]??null:null,af=e=>{let t=e;for(;Array.isArray(t);)t=t[0];return t?.isIRange&&(t=t.getValueAt(0,0)),t??null},of=`SheetXL`;function sf(){return Vd||=async function(){return(await Promise.resolve().then(()=>require("./BF14ZEAnaqxXroSj.cjs"))).loadEnumManifest()}().then(e=>n.CommonUtils.deepFreeze(e)).catch(e=>{throw Vd=void 0,e}),Vd}var cf=void 0,lf={debug:e=>console.debug(e),log:e=>console.log(e),info:e=>console.info(e),warn:e=>console.warn(e),error:e=>console.error(e instanceof Error?e.stack??e.message:e)},uf=class extends Wd{constructor(e,t,n,r=null,i=!1,a){super(e,a?()=>{}:t,n,r,i),this._fnLoader=a}async _ensureLoaded(){if(!this._fnLoader)return;let e=await this._fnLoader();this._fn=e.bind(this),this._fnLoader=void 0}execute(...e){let t=e[0];if(!t||!t.isIWorkbook)throw Error(`Macro '${this.getName()}' must be called with a valid workbook as the first argument.`);let r=e[1],i=(0,n.createLogChannels)(r?.logger??lf,{render:r?.render}),a={wb:t,log:i.log,warn:i.warn,error:i.error,args:r?.args},o=this._ct;try{let e=[];switch(o){case Rd.Context.Script:break;case Rd.Context.Workbook:e.push(t);break;case Rd.Context.Sheet:e.push(t.getSelectedSheet());break;case Rd.Context.Ranges:e.push(t.getSelectedRanges());break;case Rd.Context.Range:e.push(t.getSelectedRange());break;default:throw Error(`Function '${this.getName()}' is not a valid macro function.`)}let s=async(e,t)=>{let n=await t;if(n!==void 0)if(n!==null){if(Array.isArray(n)){if(RO(n[0]?.[0]))return void e.setValues(n,{skipBoundsCheck:!0})}else if(RO(n))return void e.setValues([[n]]);n.isICell?e.updateCells(n):n.isICellRange&&await e.copyFrom(n)}else e.clear()},c,l;return(async()=>{await this._ensureLoaded();let o=(await Promise.resolve(this._descFn()))?.summary,u={...r,description:r?.description??o??r?.defaultDescription??n.CommonUtils.camelToPrettyCase(this.getName())};try{await t.doBatch(async n=>{l=n.getId();try{let n=t.getSelectedRange(),i=this._cf();i||=new Proxy({},{set:(e,t,n)=>(console.log(`Adding property "${t}" with value:`,n),e[t]=n,!0),deleteProperty:(e,t)=>(console.log(`Deleting property "${t}"`),delete e[t])});try{Id({getRow:()=>n.getCell().getCoords().rowIndex,getColumn:()=>n.getCell().getCoords().colIndex}),await async function(){let e=await sf();cf=globalThis[of],globalThis[of]=e}(),c=await this._fn.call(i,...e,a),cf?(globalThis[of]=cf,cf=void 0):delete globalThis[of]}catch(e){throw e}finally{Ld()}r?.applyResult&&await s(n,c)}catch(e){throw e}},u),l!==void 0&&t.getTransactions().getCurrentCommit().getId()!==l&&(l=void 0)}finally{await i.flush()}return{params:e,results:c,commitId:l}})()}catch(e){throw e}}},df=1/0,ff=(e,t)=>e===t?0:e.startsWith(t)?2:e.includes(t)?4:df,pf=(e,t)=>{let n=ff(e.name,t);if(n===0)return 0;let r=e.nameLocal===e.name?df:ff(e.nameLocal,t),i=Math.min(n,r===df?df:r+1);return i===df?e.summary.includes(t)?6:df:i},mf=(e,t)=>e.score===t.score?e.name<t.name?-1:+(e.name>t.name):e.score-t.score,hf=(e,t)=>{let n=new Map;for(let r=0;r<e.length;r++){let i=e[r];n.set(i,ff(i.getName().toUpperCase(),t))}return e.sort((e,t)=>{let r=n.get(e),i=n.get(t);return r===i?0:r<i?-1:1})},gf=class{constructor(e){this._entries=null,this._language=null,this._building=null,this._source=e}invalidate(){this._entries=null,this._building=null}entries(){let e=n.DefaultLanguagePackService.getActive();if(this._language===e){if(this._entries)return Promise.resolve(this._entries);if(this._building)return this._building}this._language=e;let t=this._build().then(n=>(this._language===e&&this._building===t&&(this._entries=n,this._building=null),n));return this._building=t,t}async _build(){let e=Array.from(this._source()),t=await Promise.all(e.map(e=>e.getDescriptor().catch(()=>null))),n=[],r=new Set;for(let i=0;i<e.length;i++){let a=e[i],o=a.getName().toUpperCase();if(r.has(o))continue;r.add(o);let s=t[i],c=s?.getCategory()??`Uncategorized`,l=s?.getNameLocal()?.toUpperCase()??o;n.push({fn:a,name:o,nameLocal:l,summary:s?.getSummary()?.toUpperCase()??``,category:c,categoryUpper:c.toUpperCase(),deprecated:!!s?.isDeprecated()})}return Object.freeze(n)}},_f=class{constructor(e){let t=e.json;if(this._json=t,!this._json)throw Error(`Module JSON is required.`);this._diagnostics=e.diagnostics??[],this._name=e.name??null,this._emitter=new v(this),this._functions=new Sf({transactions:null,readonlyFunctions:e.readonlyFunctions})}getName(){return this._name}getFunctions(){return this._functions}getSource(){return this._json.source??null}getLanguage(){return this._json.language||`typescript`}getErrors(){return this._diagnostics.filter(e=>e.severity===`error`)}getDiagnostics(){return this._diagnostics}delete(){this._emitter.notify(`onDelete`)}addListeners(e,t){return this._emitter.addListeners(e,t)}toJSON(){return this._json}},vf=e.n({jsonToModule:()=>bf,runAsyncGenerator:()=>xf}),yf=async(e,t)=>{let n=null;try{(function(){Pd();let e=globalThis;e[r.Constants.GLOBAL_CONTEXT_VARIABLE]!==Nd&&(e[r.Constants.GLOBAL_CONTEXT_VARIABLE]=Nd)})(),Id(null)}catch(e){console.warn(`Error setting global scope`,e)}try{let t=e.compiled;t=t.replaceAll(r.Constants.GLOBAL_CONTEXT_VARIABLE,`globalThis.`+r.Constants.GLOBAL_CONTEXT_VARIABLE);let{loadCompiledModule:i}=await import(`@sheetxl/scripting`);n=await i(t,{sourceMap:e.sourceMap})}catch(e){throw Error(`Invalid Javascript module.`,{cause:e})}finally{Ld()}if(!t)throw Error(`No function available for '${e.name??e.commitId}'.`);let i=t.name,a=n[i];if(!a&&t.behavior.default&&(a=n.default),!a)throw Error(`Found the descriptor for '${i}' but not the function. The descriptor manifest must be corrupt.`);return a};async function bf(e,t,n=!1,r=[]){let i=t?.functions,a=new Map,o=r.some(e=>e.severity===`error`)||!t?.compiled;if(i)for(let e=0;e<i.length;e++){let r=i[e],s=r[0],c=r[1],l=n||o,u;u=s.context&&s.context!==Rd.Context.Calculation?new uf(s,()=>{},()=>null,c,!1,l?void 0:()=>yf(t,s)):new Wd(s,l?()=>{}:await yf(t,s),()=>null,c),a.set(s.name.toUpperCase(),u)}return new _f({json:t,readonlyFunctions:a,name:e,diagnostics:r})}async function xf(e){let t=await e.next();for(;!t.done;){let n=t.value;try{let r=n instanceof Promise?await n:n;t=await e.next(r)}catch(n){t=await e.throw?.(n)??{done:!0,value:void 0}}}return t.value}var Sf=class{constructor(e){this._readonly=null,this._closed=!1,this._options={...e};let t=this;this._transactions=this._options.transactions??new m({transient:!0}),this._stateId=this._transactions.create(),this._index=new gf(function*(){let e=t._readonly;e&&(yield*e.values());let n=t._closed?null:t._getState();n&&(yield*n.itemsByKey.values())}),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onAfterStateChange(e,n,r){t._index.invalidate(),t._emitter.notify(`onCollectionChange`)}}),this._emitter=new v(this,this._transactions),this._readonly=e?.readonlyFunctions,this._initState()}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=Array.from(t.itemsByKey.values()),i=this._readonly;return i&&r.push(...Array.from(i.values())),r}getByName(e,t){if(!e)return null;let r=this._getState();if(!r)return null;if(!r)return n.CommonUtils.EmptyArray;let i=e.toUpperCase(),a=this._readonly,o=a?.size?a.get(i):void 0;if(o||=r.itemsByKey.get(i),!o)return null;let s=t?.sheet;if(s!==void 0){let e=this._options.createScopedContext;if(!e)throw Error(`This collection cannot vend sheet-scoped functions (no scoped-context factory).`);if(o instanceof uf||!(o instanceof Wd))throw Error(`This function cannot be sheet-scoped.`);let t=e(s);if(!t)throw Error(`Unknown sheet for function scope. ('${s}')`);return o._withContext(()=>t)}return o}async search(e){let t=await this.searchScored(e),r=t.length;if(r===0)return n.CommonUtils.EmptyArray;let i=Array(r);for(let e=0;e<r;e++)i[e]=t[e].fn;return i}async searchScored(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=e?.name?e.name.toUpperCase():null,i=e?.type?e.type:null,a=e?.category?e.category.toUpperCase():null,o=e?.text?e.text.trim().toUpperCase():null,s=e?.limit;if(s!==void 0&&s<=0)return n.CommonUtils.EmptyArray;let c=e?.includeDeprecated,l=[];if(!(a||o||c!==void 0)){let e=new Set,n=(t,n)=>{r&&n!==r||e.has(n)||(e.add(n),i&&t.getContext()!==i||l.push({fn:t,score:0,name:n}))};return this._readonly?.forEach(n),t.itemsByKey.forEach(n),s!==void 0&&l.length>s?l.slice(0,s):l}let u=await this._index.entries(),d=u.length;for(let e=0;e<d;e++){let t=u[e];if(r&&t.name!==r||i&&t.fn.getContext()!==i||a&&t.categoryUpper!==a||!c&&t.deprecated)continue;let n=0;o&&(n=pf(t,o),n===df)||l.push({fn:t.fn,score:n,name:t.name})}return l.sort(mf),s!==void 0&&l.length>s?l.slice(0,s):l}async getCategories(e){this._getState();let t=e?.type?e.type:null,n=e?.includeDeprecated??!1,r=await this._index.entries(),i=new Map,a=r.length;for(let e=0;e<a;e++){let a=r[e];if(t&&a.fn.getContext()!==t||!n&&a.deprecated)continue;let o=i.get(a.categoryUpper);o?o.count++:i.set(a.categoryUpper,{name:a.category,count:1})}let o=Array.from(i.values());return o.sort((e,t)=>e.name.localeCompare(t.name)),o}getCount(){let e=this._getState();if(!e)return 0;let t=e.itemsByKey.size;return this._readonly&&(t+=this._readonly.size),t}validateName(e){return this._validateName(e)}_validateName(e,t=!1){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`))}async add(e){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e)throw Error(`Item must be specified.`);return typeof e==`string`?this._addFromSource(e):this._addFunction(e)}async _addFromSource(e){let t=await(await import(`@sheetxl/scripting`)).ScriptCompiler.compile({source:e,builtInNames:this._readonly?Array.from(this._readonly.keys()):void 0});if(!t.module)throw Error(`The script did not compile to a module.`);let r=t.diagnostics.filter(e=>e.severity===`error`);if(r.length>0){let e=Error(`The script has ${r.length} compile error${r.length===1?``:`s`}: `+r.map(e=>`${e.code}: ${e.message}`).join(`; `));throw e.diagnostics=r,e}let{jsonToModule:i}=vf,a=(await i(`scripts`,t.module,!1,t.diagnostics)).getFunctions().getItems();if(a.length===0)throw Error(`The script did not define any exported functions.`);for(let e=0;e<a.length;e++){let t=a[e].getName();if(this._readonly?.has(t.toUpperCase()))throw Error((0,n.t)(`error.function.builtInName`,{name:t}))}let o=null;for(let e=0;e<a.length;e++){let t=this._addFunction(a[e]);o||=t}return o}_addFunction(e){let t;if(e.isIFunction){let n=e,r=n._json;t=new(r.context&&r.context!==Rd.Context.Calculation?uf:Wd)(r,n._fn,()=>this._options.context,n._descFn)}else{let n=e;t=new Wd(n.declaration,n.execute,()=>this._options.context,n.descriptor)}let r=this._getState(),i=t.getName().toUpperCase();if(this._readonly?.has(i))throw Error((0,n.t)(`error.function.builtInName`,{name:t.getName()}));return r.itemsByKey.set(i,t),this._index.invalidate(),t}beginCommit(e){return this._beginCommit(e)}_getState(){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));return this._transactions.getState(this._stateId)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_updateState(e,t=(0,n.messageKey)(`op.update`),r){if(!e)return;let i=this._beginCommit(t);try{i.updateState(this._stateId,e),i.commit(r)}catch(e){throw i.rollback(),e}}_initState(){this._updateState(e=>({...e,itemsByKey:new Map}),(0,n.messageKey)(`op.initialize`),{forceAmend:!0})}addListeners(e,t){return this._emitter.addListeners(e,t)}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.())}get isFunctionCollection(){return!0}},Cf=(e,n)=>{let r=Df(e,n),i=r.value;switch(r.op){case`wc`:{let e=i,t=r.match;return n=>typeof n==`string`?t===e.test(n):!t}case`=`:return i===void 0?e=>e==null:i===``?e=>e==null||e===``:typeof i==`string`?t=>typeof t==`string`&&e.compare(t,i)===0:t.FormulaError.isError(i)?e=>!!t.FormulaError.isError(e)&&e.equals(i):typeof i==`number`?t=>typeof t==`number`?e.compare(t,i)===0:typeof t==`string`&&Tf(e,t,i):e=>e===i;case`<>`:return i===void 0?e=>e!=null:typeof i==`string`?t=>typeof t!=`string`||e.compare(t,i)!==0:t.FormulaError.isError(i)?e=>!t.FormulaError.isError(e)||!e.equals(i):typeof i==`number`?t=>typeof t!=`number`||e.compare(t,i)!==0:e=>e!==i;case`>`:return wf(e,i,e=>e>0);case`>=`:return wf(e,i,e=>e>=0);case`<`:return wf(e,i,e=>e<0);case`<=`:return wf(e,i,e=>e<=0);default:return()=>!1}},wf=(e,t,n)=>{if(t===void 0)return()=>!1;let r=Ef(t);return i=>r(i)&&n(e.compare(i,t))},Tf=(e,t,n)=>{try{return e.compare(e.parseAsNumber(t),n)===0}catch{return!1}},Ef=e=>{switch(typeof e){case`string`:return e=>typeof e==`string`;case`number`:return e=>typeof e==`number`;case`boolean`:return e=>typeof e==`boolean`;default:return e=>t.FormulaError.isError(e)}},Df=(e,n)=>{let r=typeof n;if(r===`string`){let r=n,i=e.parseAsLiteral(r);if(i!==void 0)return{op:`=`,value:i};let a=r.match(/^(<>|>=|<=|>|<|=)([\s\S]*)$/);if(a!==null){let n=a[1],r=a[2];if(r===``)return{op:n,value:void 0};let i;if(typeof r==`string`)try{i=e.parseAsNumber(r)}catch{}if(i===void 0){let a=e.parseAsLiteral(r);if(a!==void 0)i=a;else if(i=r,(n===`=`||n===`<>`)&&t.WildCard.isWildCard(i))return{op:`wc`,value:t.WildCard.toRegex(i,`i`,!0),match:n===`=`}}return{op:n,value:i}}try{let t=e.parseAsNumber(r);if(t!==void 0)return{op:`=`,value:t}}catch{}return t.WildCard.isWildCard(r)?{op:`wc`,value:t.WildCard.toRegex(r,`i`,!0),match:!0}:{op:`=`,value:n}}return r===`boolean`||r===`number`||t.FormulaError.isError(n)?{op:`=`,value:n}:n==null?{op:`=`,value:0}:{op:`err`,value:new t.FormulaError.Value(`Criteria.parse: type ${typeof n} not support`)}},Of=`sheet`,kf=`namedFormula`,Af=`table`,jf=`tableColumn`,Mf=`function`,Nf=class{constructor(){this._providers=new Map}registerProvider(e,t){this._providers.set(e,t)}bind(e,t,n={}){return this._providers.get(e)?.bind(t,n)??null}resolve(e,t,n={}){return this._providers.get(e)?.resolve(t,n)??null}},Pf=class{constructor(e,t){this._getId=e,this._getById=t}bind(e,t){let n=this._getById(e);return n===null?this._getId(e):n.stableId}resolve(e,t){let n=this._getById(e);return n===null?null:n}},Ff=class{constructor(e,t,r,i=null,a=null){this.fakeId=n.CommonUtils.uuidV4(),this.lowerName=e,this.displayName=t,this.lowerScope=i,this.viewScope=a,this._real=r}},If=(e,t)=>t?`${t}::${e}`:e,Lf=e=>e?.getScope?.()?.toLowerCase()??null,Rf=class{constructor(e,t){this._getByName=e,this._getById=t,this._byName=new Map,this._byId=new Map,this._byRealId=new Map}bind(e,t){let n=e.toLowerCase(),r=(t?.scope)?.toLowerCase()??null,i=!0===t?.own,a,o=null;i?a=r:(o=this._getByName(n,r)??null,a=Lf(o));let s=If(n,a),c=this._byName.get(s);if(c){c._real||this._adopt(c,o??this._getByName(n,r)??null);let e=c._real??this._getById(c.fakeId);if(!e||e.getName().toLowerCase()===c.lowerName&&Lf(e)===c.lowerScope)return c.fakeId;this._adopt(c,e),this._rekey(c,e.getName().toLowerCase(),Lf(e))}i&&(o=this._getByName(n,r)??null);let l=o&&!i?this._byId.get(o.getId())??this._byRealId.get(o.getId()):void 0;if(l)return this._adopt(l,o),this._rekey(l,n,a),l.fakeId;let u=new Ff(n,e,o,a,r);return this._byName.set(s,u),this._byId.set(u.fakeId,u),o&&this._byRealId.set(o.getId(),u),u.fakeId}_adopt(e,t){e._real=t,t&&this._byRealId.set(t.getId(),e)}_rekey(e,t,n){let r=If(t,n),i=If(e.lowerName,e.lowerScope);r!==i&&(this._byName.get(i)===e&&this._byName.delete(i),e.lowerName=t,e.lowerScope=n,this._byName.set(r,e))}resolve(e,t){let n=this._byId.get(e);if(!n)return null;if(!n._real){let e=this._getByName(n.lowerName,n.viewScope)??null;e&&this._adopt(n,e)}return{stableId:n.fakeId,toString:()=>n._real?.getName()??n.displayName}}getRealById(e){let t=this._byId.get(e);if(!t)return null;if(!t._real){let e=this._getByName(t.lowerName,t.viewScope)??null;e&&this._adopt(t,e)}return t._real}reconcile(){let e=[];for(let t of this._byId.values())if(t._real!==null){let n=t._real.getId();if(this._getById(n)){let n=t._real.getName().toLowerCase(),r=Lf(t._real);n===t.lowerName&&r===t.lowerScope||(this._rekey(t,n,r),e.push(t.fakeId))}else this._byRealId.get(n)===t&&this._byRealId.delete(n),t._real=null,e.push(t.fakeId)}else{let n=this._getByName(t.lowerName,t.viewScope)??null;n&&(this._adopt(t,n),this._rekey(t,t.lowerName,Lf(n)),e.push(t.fakeId))}return e}cloneMaps(){return{byName:new Map(this._byName),byId:new Map(this._byId),byRealId:new Map(this._byRealId)}}},zf=class{constructor(e,t){this._getId=e,this._getById=t}bind(e,t){let n=this._getById(e);if(n!==null)return n.stableId;let r=t?.tableName;return this._getId(e,r)}resolve(e,t){let n=this._getById(e);return n===null?null:n}},Bf=new WeakMap;function Vf(e){let t=ho(),n=t?.functions;if(!n)return;let r=Bf.get(t);if(!r){r=new Map;for(let e in n)r.set(n[e].toUpperCase(),e);Bf.set(t,r)}return r.get(e)}var q,Hf=class{constructor(e){this._deadIds=new Map,this._getCollection=e}bind(e,t){if(this._deadIds.has(e))return e;let r=e.toUpperCase(),i=Vf(r)??r,a=this._getCollection()?.getByName(i);if(a)return a.getName();for(let[e,t]of this._deadIds)if(t===r)return e;let o=n.CommonUtils.uuidV4();return this._deadIds.set(o,r),o}resolve(e,t){let n=this._getCollection()?.getByName(e);if(n){let r=n.getName();return t?.canonical?{stableId:e,toString:()=>r}:{stableId:e,toString:()=>{return e=r,ho()?.functions?.[e]??r;var e}}}let r=this._deadIds.get(e);return r?{stableId:e,toString:()=>r}:null}},Uf=class e{static{this.created=0}constructor(t,n,r){this._inner=t,this._gridId=n,this._onRead=r,e.created++}getInner(){return this._inner}_reportBounds(e){let t=this._inner,n=e?.rowStart,r=e?.colStart,i=e?.rowEnd,a=e?.colEnd;if(n===void 0||r===void 0||i===void 0||a===void 0||n===-(2**53-1)||r===-(2**53-1)||i===2**53-1||a===2**53-1){let e=t.getMaxCoords?.()??t.getCoords();if(!e)return;n!==void 0&&n!==-(2**53-1)||(n=e.rowStart),r!==void 0&&r!==-(2**53-1)||(r=e.colStart),i!==void 0&&i!==2**53-1||(i=e.rowEnd),a!==void 0&&a!==2**53-1||(a=e.colEnd)}this._onRead(this._gridId,n,r,i,a)}getValueAt(e,t){return this._onRead(this._gridId,e,t,e,t),this._inner.getValueAt(e,t)}getRuns(e){return this._reportBounds(e?.bounds),this._inner.getRuns(e)}entries(e){return this._reportBounds(e?.bounds),this._inner.entries(e)}values(e){return this._reportBounds(e?.bounds),this._inner.values(e)}keys(e){return this._reportBounds(e?.bounds),this._inner.keys(e)}getValues(e){return this._reportBounds(e),this._inner.getValues(e)}copyTo(e,t,n){this._reportBounds(n),this._inner.copyTo(e,t,n)}getAxis(){return this._inner.getAxis()}getCount(){return this._inner.getCount()}getCoords(){return this._inner.getCoords()}getMaxCoords(){return this._inner.getMaxCoords?.()??null}clone(e){return this._inner.clone(e)}cloneEmpty(e){return this._inner.cloneEmpty(e)}setValues(e){return this._inner.setValues(e),this}setValueAt(e,t,n){this._inner.setValueAt(e,t,n)}delete(e){return this._inner.delete?.(e)??!1}clear(){this._inner.clear?.()}shift(e,t){return this._inner.shift?.(e,t)??!1}get[Symbol.toStringTag](){return`[ReadObservedGrid]`}},Wf=class e{constructor(e,n=t.IRange.Axis.Column,r){this._onRead=null,this._dynamicRead=null,this._container=e,this._axis=n,this._functionProviders=r}_setInstanceScope(e){this._instanceScope=e}_setReadHook(e){this._onRead=e}_setDynamicReadHook(e){this._dynamicRead=e}async _initialize(e){let n=await jd._validate(!0),r=this._container,i=r.getRuntime();this._runtime=new Br(`Calculation Runtime`,{isDate1904:()=>i.isDate1904(),isR1C1:()=>i.isR1C1(),getNow:()=>hr(new Date(r.getNow()),i.isDate1904()),getLocale:()=>i.getLocale()},n),this._calcScope=r.getScope(),this._coerceToNumber=KO(this._runtime,t.ScalarType.Number,lk);let{initializeFunctions:a}=await Promise.resolve().then(()=>require("./BXtvdT1Z-MsB_o5F.cjs")),o=this,s=Object.freeze(a(()=>o,this._functionProviders)),c=new Sf({transactions:e??new m({transient:!0}),context:this,readonlyFunctions:s,createScopedContext:e=>o._createScoped(e)});return this._functions=c,{functions:c}}_createScoped(t){let n=this._container,r=n.getSymbols().bind(Of,t);if(!r||!n.getGrid(r))return null;let i=new e(n,this._axis,this._functionProviders);return i._runtime=this._runtime,i._functions=this._functions,i._coerceToNumber=this._coerceToNumber,i._instanceScope=this._instanceScope,i._calcScope={gridId:r,rowIndex:0,colIndex:0,node:null,depth:0,activeNames:new Set},i}getFunction(e){let t=Vf(e.toUpperCase());if(t!==void 0){let e=this._functions.getByName(t);if(e)return e}return this._functions.getByName(e)}getNumberFormat(e,t){return ll.getEngine().format(e,t,{date1904:this.getRuntime().isDate1904(),locale:this.getRuntime().getLocale()}).text}getEntireCoords(){return this._container.getGrid(this._calcScope.gridId)?.getEntireCoords()}getFormulaAt(e,t,n){let r=this._container,i;i=n?r.getSymbols().bind(Of,n):this._calcScope.gridId;let a=r.getFormulas();if(!a)return null;Kf.colStart=t,Kf.rowStart=e,Kf.colEnd=t,Kf.rowEnd=e,Kf.scope=i;let o=a.search(Kf);return o.length===0?null:o[0].value.formula.getTextAt(e,t)??null}markVolatile(){let e=this._container.getVolatiles();e&&e.add(this._calcScope.node)}formatResults(e){let n=this._calcScope,r=this._axis===t.IRange.Axis.Column,i=r?n.colIndex:n.rowIndex,a=r?n.rowIndex:n.colIndex,o=this._container.getIncrementalUpdates(n.gridId);o&&(o.formatsConflating||=to(r),o.formatsConflating.append(i,a,e))}filterHidden(e,t){return e}filterTotals(e){let t=e;if(!t?.isIReferenceRange)return e;let n=t.getCoords(),r=this._container.getFormulas();if(!r||r.isEmpty())return e;let i=r.search({rowStart:n.rowStart,rowEnd:n.rowEnd,colStart:n.colStart,colEnd:n.colEnd,scope:n.scope??this._calcScope.gridId}),a=null;for(let e=0;e<i.length;e++){let t=i[e].value;if(!t?.hasTotals())continue;let r=t.ref;(a??=[]).push({rowStart:r.rowStart-n.rowStart,rowEnd:r.rowEnd-n.rowStart,colStart:r.colStart-n.colStart,colEnd:r.colEnd-n.colStart})}if(!a)return e;let o=a.length;return e.filter((e,t)=>{let n=t.rowIndex,r=t.colIndex;for(let e=0;e<o;e++){let t=a[e];if(n>=t.rowStart&&n<=t.rowEnd&&r>=t.colStart&&r<=t.colEnd)return!1}return!0})}getSheetIndex(e){let t;return t=typeof e==`string`?e:e?.getCoords()?.scope??this._container.getSymbols().resolve(Of,this._calcScope.gridId)?.toString(),this._container.getSheetIndex?.(t)??-1}getSheetCount(){return this._container.getSheetCount?.()??1}isValidDate(e,t=!1){return ar(e,t)}fromSerialDate(e,t=!1){return mr(t?Math.floor(e):e,this.getRuntime().isDate1904())}toSerialDate(e,t=!1){let n=hr(e,this.getRuntime().isDate1904());return t?Math.floor(n):n}getDateParts(e,n){let r=dr(e,this.getRuntime().isDate1904(),n);if(r===null)throw t.FormulaError.BuiltIn.Num;return r}getSerialDate(e,t,n,r=0,i=0,a=0,o=0){return pr({year:e,month:t,day:n,hour:r,minute:i,second:a,millis:o,dow:-1,serial:0},this.getRuntime().isDate1904())}getNow(){return this.getRuntime().getNow()}compare(e,t,n){return es.compare(e,t,this.getRuntime().getLocaleProfile(),n)}_fromTuples(e,t=null,n=!1,r=!1){if(!e)return null;let i=Ua(e.bounds,!0),a=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),o=new ro({axis:this._axis,maxCoords:a});o.setValues(e.tuples);let s=t?{type:t}:void 0;return new zk(this._runtime,o,i,s,n,r)}getValueAt(e,r,i=null,a){let o=this._container,s=this._calcScope,c,l;if(c=i?o.getSymbols().bind(Of,i):s.gridId,!c)return t.FormulaError.BuiltIn.Ref;let u=s.node,d=u?u.precedents:n.CommonUtils.EmptyArray,f=u?u.inputs:n.CommonUtils.EmptyArray,p=d.length;for(let n=0;n<p;n++){let i=d[n];if(!i||t.FormulaError.isError(i))continue;let o=i;if(e<o.rowStart||e>o.rowEnd||r<o.colStart||r>o.colEnd||o.scope&&c!==o.scope)continue;let s=f[n];s!==void 0&&(l=s,l!==null&&l.isIRange&&(l=l.getValueAt(0,0,a)));break}return l===void 0&&(this._onRead?.(c,e,r,e,r),l=o.getGridValues(c)?.getValueAt(e,r)??null),a&&a.type,l}getSpillAt(e,t,n){let r=this._container,i=this._calcScope,a;a=n?r.getSymbols().bind(Of,n):i.gridId;let o=a===i.gridId?null:a,s=r.getIncrementalUpdates(a)?.spillSpatial??r.getGrid(a)?.getSpills();if(s){qf.rowStart=e,qf.colStart=t,qf.rowEnd=e,qf.colEnd=t,qf.scope=a;let n=s.search(qf),r=n.length;for(let i=0;i<r;i++){let r=n[i];if(r.rowStart===e&&r.colStart===t)return this.getReference({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,scope:o})}if(r>0)return null}return this.getFormulaAt(e,t,n)===null?null:this.getReference({colStart:t,rowStart:e,colEnd:t,rowEnd:e,scope:o})}createRange(e=0,t=0,n=null){let r=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),i=new ro({axis:this._axis,maxCoords:r}),a=new zk(this._runtime,i,null,void 0,!1);return e>0&&t>0&&(typeof n==`function`?(a=a.resize(e,t),a=a.map(n,Yf)):Array.isArray(n)?(a=a.replace(n),a=a.resize(e,t)):a=a.resize(e,t,n)),a}getRange(e,r=null,i=!1){if(e===null)return null;if(e?.isIRange){if(r!==e.getType()||i!==e.isLiteral()){let t=typeof r==`string`?{type:r}:r;return e.clone(t,i,e.isDirectScalar())}return e}let a,o=Array.isArray(e);if(i??=o,o)if(Array.isArray(e[0]))a=e;else{if(e[0]?.isIRange)throw t.FormulaError.BuiltIn.Value;a=[e]}else a=[[e]];let s=this._axis,c=s===t.IRange.Axis.Column,l=this._fromTuples(Za(a,c,Ha(0,0,void 0,void 0,c),!0),r,i,!o);if(l)return l;let u=this._container.getGrid(this._calcScope.gridId)?.getEntireCoords(),d=new ro({axis:s,maxCoords:u}),f=r?{type:r}:void 0;return new zk(this._runtime,d,n.CoordUtils.EmptyRange,f,i)}getRow(){return this._calcScope.rowIndex}getColumn(){return this._calcScope.colIndex}getReference(e,n){if(!e)throw t.FormulaError.BuiltIn.Ref;let r=this._calcScope,i=this._container,a=r.gridId,o=i.getGrid(a),s=o?.getEntireCoords.bind(o);if(typeof e==`string`){if(n)throw t.FormulaError.BuiltIn.Ref;try{let r=su(e,s?.(),nu,()=>{throw t.FormulaError.BuiltIn.Ref},n);if(r.length>1)throw t.FormulaError.BuiltIn.Ref;e=r[0]}catch{throw t.FormulaError.BuiltIn.Ref}}else e||={colStart:r.colIndex,rowStart:r.rowIndex,colEnd:r.colIndex,rowEnd:r.rowIndex};if(!e)throw t.FormulaError.BuiltIn.Ref;let c=e.scope;if(c){if(c=i.getSymbols().bind(Of,e.scope),!c)return t.FormulaError.BuiltIn.Ref;if(c!==e.scope&&((e={...e}).scope=c),c!==a){if(a=c,o=i.getGrid(a),!o)return t.FormulaError.BuiltIn.Ref;s=o?.getEntireCoords.bind(o)}}let l=i.getGridValues(a),u,d=r.node,f=-1;if(d&&(f=Gf(d.precedents,e)),f!==-1){let n=d.inputs[f];if(n!=null&&n.isIReferenceRange)u=n;else if(n!==void 0){let r=n;r!==null&&r.isIRange&&(r=r.getValueAt(0,0));let i=new ro({axis:this._axis,maxCoords:s?.()});if(r!==null){let n=this._axis===t.IRange.Axis.Column,a=n?e.colStart:e.rowStart,o=n?e.rowStart:e.colStart;i.setValues([[a,[[o,[r]]]]])}u=this._toReference(i,e,s,a,!1)}else u=this._toReference(l,e,s,a,!1)}else i.addDynamicPrecedent(d,e,Zf.Reference),u=this._toReference(l,e,s,a,!0);return u}getResizedReference(e,t,n){let r=e.scope?this._container.getSymbols().bind(Of,e.scope):this._calcScope.gridId,i=r?this._container.getGrid(r)?.getEntireCoords():void 0,a=e.rowStart+t-1,o=e.colStart+n-1;return this.getReference({rowStart:e.rowStart,rowEnd:i?Math.min(a,i.rowEnd):a,colStart:e.colStart,colEnd:i?Math.min(o,i.colEnd):o,scope:e.scope})}_toReference(e,r,i,a,o){let s=this._onRead??(o?this._dynamicRead:null);s&&(e=new Uf(e,a,s));try{return new eA(this._runtime,e,r,void 0,i,this._container.resolveScope)}catch(e){throw e instanceof n.OutOfBoundsError?t.FormulaError.BuiltIn.Ref:e}}getAddress(e,t=!1){e||=(Jf.rowIndex=this._calcScope.rowIndex,Jf.colIndex=this._calcScope.colIndex,Jf.scope=null,Jf);let n=this.getEntireCoords().scope;return e.colIndex===void 0?function(e,t,n=!1){return(n?bu({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart,scope:e.scope},t):Xl({colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart,$rowIndex:e.$rowStart,scope:e.scope},t))+`:`+(n?bu({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd},null):Xl({colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd,$rowIndex:e.$rowEnd},null))}(e,n,t):function(e,t,n=!1){return n?bu(e,t):Xl(e,t)}(e,n,t)}parseAsSerialDate(e,n){if(e===void 0)return;if(typeof e==`number`)return e;if(t.FormulaError.isError(e))throw e;if(typeof e!=`string`)throw t.FormulaError.BuiltIn.Value;let r=Fr(this._runtime,e,n);if(r===null)throw t.FormulaError.BuiltIn.Value;return r}parseAsDate(e,n){if(e!==void 0){if(t.FormulaError.isError(e))throw e;if(typeof e==`number`)return this.fromSerialDate(e);if(typeof e==`string`)return this.fromSerialDate(this.parseAsSerialDate(e,n));if(e instanceof Date)return e;throw t.FormulaError.BuiltIn.Value}}parseAsNumber(e,n){if(e===void 0)return;if(typeof e==`number`)return e;if(t.FormulaError.isError(e))throw e;if(typeof e!=`string`)throw t.FormulaError.BuiltIn.Value;let r=this._coerceToNumber(e,t.ScalarType.String,n);if(typeof r!=`number`)throw t.FormulaError.BuiltIn.Value;return r}createCriteria(e){return Cf(this,e)}parseAsLiteral(e){return yo(e)??bo(e)}toText(e){return function(e,t){return typeof e==`string`?e:e==null?``:typeof e==`boolean`?_o(e):typeof e==`number`?WO(e,t):e?.isFormulaError?vo(e):String(e)}(e,this._runtime)}getRuntime(){return this._runtime}get[Symbol.toStringTag](){return`[CalculationContext]`}toString(){let e=``,t=this._instanceScope,n;return t&&(n=t.toString?.()),n&&n&&(e=`${e}:[${n}]`),e}},Gf=(e,n)=>{if(!e)return-1;let r=e.length;if(r===0)return-1;let i=n.colStart,a=n.rowStart,o=n.colEnd,s=n.rowEnd,c=n.scope;for(let n=0;n<r;n++){let r=e[n];if(r!=null&&!(t.FormulaError.isError(r)||r.colStart!==i||r.rowStart!==a||r.colEnd!==o||r.rowEnd!==s||c&&r.scope!==c))return n}return-1},Kf={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},qf={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},Jf={rowIndex:0,colIndex:0,scope:null},Yf=Object.freeze({includeEmpty:!0}),Xf=class e{constructor(e,t,n,r,i,a){this.registeredPrecedents=null,this.ref=e,this.gridId=t,this._container=r,this.formula=n,this.unanchored=i;let o=e.colStart,s=e.rowStart;this.calcs=a?this._cloneCalcs(a,o,s,t):this._createCalcs(n,t,e)}_createCalcs(e,t,r){let i=r.colStart,a=r.rowStart;if(!e)return[[{block:this,gridId:t,colIndex:i,rowIndex:a,cycleId:0,markId:0,inDegree:0,dependents:n.CommonUtils.EmptyArray,inputs:n.CommonUtils.EmptyArray,precedents:n.CommonUtils.EmptyArray,cachedValue:void 0,pendingPromise:null,demandValue:void 0,cycleGroup:0,cycleNext:null,shownGroup:0,state:Uu}]];let o=e.resolvedPrecedentsAt(a,i),s=o?.length??0,c=rk(r.rowEnd-a+1),l=r.colEnd-i+1,u=c.length;for(let r=0;r<u;r++){let u=rk(l),d=u.length;for(let c=0;c<d;c++){let l=r+a,d=c+i,f=s===0?n.CommonUtils.EmptyArray:r===0&&c===0?o:e.resolvedPrecedentsAt(l,d);u[c]={block:this,gridId:t,colIndex:d,rowIndex:l,cycleId:0,markId:0,inDegree:0,dependents:n.CommonUtils.EmptyArray,inputs:s===0?n.CommonUtils.EmptyArray:Array(s).fill(void 0),precedents:f,cachedValue:void 0,pendingPromise:null,demandValue:void 0,cycleGroup:0,cycleNext:null,shownGroup:0,state:Uu}}c[r]=u}return c}_cloneCalcs(e,t,r,i){let a=this.formula,o=a.resolvedPrecedentsAt(r,t),s=o?.length??0,c=e.length,l=rk(c);for(let u=0;u<c;u++){let c=e[u],d=c.length,f=rk(d);l[u]=f;for(let e=0;e<d;e++){let l=u+r,d=e+t,p=s===0?n.CommonUtils.EmptyArray:u===0&&e===0?o:a.resolvedPrecedentsAt(l,d),m={...c[e]};f[e]=m,m.colIndex=d,m.rowIndex=l,m.block=this,m.inputs=s===0?n.CommonUtils.EmptyArray:ik(s),m.precedents=p,i!==void 0&&(m.gridId=i)}}return l}toJSON(e=!1,t){let n=this.ref;return[Jl(n),this.formula.getTextAt(n.rowStart,n.colStart,e,t,void 0,!0)]}getCoords(){return this.ref}getShifted(r){if(!r.after)return null;let i=n.CoordUtils.sanitizeRange(r.after),a=r.axis!==t.IRange.Axis.Row,o=r.amount,s=r.intersect,c=s.colStart,l=s.rowStart,u=s.colEnd,d=s.rowEnd,f=a?o:0,p=a?0:o,m=this.ref,h=i,g=this._container.getGrid(this.gridId)?.getEntireCoords(),_=this.formula,v=_.getReferences(m.rowStart,m.colStart);for(let e=0;e<v.length;e++){let n=v[e];if(n===null||`nameId`in n||t.FormulaError.isError(n))continue;let r=n,i=r.scope!=null&&r.scope!==this.gridId,s=r,y=r.$colStart?r.colStart:m.colStart+r.colStart,b=r.$rowStart?r.rowStart:m.rowStart+r.rowStart;if(!i&&y>u&&!r.$colStart&&!r.$colEnd)continue;let x=r.$colEnd?r.colEnd:m.colStart+r.colEnd,S=r.$rowEnd?r.rowEnd:m.rowStart+r.rowEnd;if(i)f!==0&&(r.$colStart||(s={...r},s.colStart=y-h.colStart),r.$colEnd||(s=s===r?{...r}:s,s.colEnd=x-h.colStart)),p!==0&&(r.$rowStart||(s=s===r?{...r}:s,s.rowStart=b-h.rowStart),r.$rowEnd||(s=s===r?{...r}:s,s.rowEnd=S-h.rowStart)),s!==r&&(_=_.setReferenceAt(e,s));else{if(o<0){if(a){if(y>=c&&x<=u){_=_.setReferenceAt(e,null);continue}}else if(b>=l&&S<=d){_=_.setReferenceAt(e,null);continue}}f!==0&&(r.$colStart?y>=c&&(s=s===r?{...r}:s,s.colStart+=f,y=s.colStart):y<c?(s=s===r?{...r}:s,s.colStart=y-h.colStart,y=h.colStart+s.colStart):f<0&&y<=u&&(s=s===r?{...r}:s,y=Math.max(c,y+f),s.colStart=y-h.colStart,y=h.colStart+s.colStart),r.$colEnd?x>=c&&(s=s===r?{...r}:s,s.colEnd+=f,x=s.colEnd):x<c?(s=s===r?{...r}:s,s.colEnd=x-h.colStart,x=h.colStart+s.colEnd):f<0&&x<=u&&(s=s===r?{...r}:s,x=Math.max(c-1,x+f),s.colEnd=x-h.colStart,x=h.colStart+s.colEnd)),p!==0&&(r.$rowStart?b>=l&&(s=s===r?{...r}:s,s.rowStart+=p,b=s.rowStart):b<l?(s=s===r?{...r}:s,s.rowStart=b-h.rowStart,b=h.rowStart+s.rowStart):p<0&&b<=d&&(s=s===r?{...r}:s,b=Math.max(l,b+p),s.rowStart=b-h.rowStart,b=h.rowStart+s.rowStart),r.$rowEnd?S>=l&&(s=s===r?{...r}:s,s.rowEnd+=p,S=s.rowEnd):S<l?(s=s===r?{...r}:s,s.rowEnd=S-h.rowStart,S=h.rowStart+s.rowEnd):p<0&&S<=d&&(s=s===r?{...r}:s,S=Math.max(l-1,S+p),s.rowEnd=S-h.rowStart,S=h.rowStart+s.rowEnd)),s!==r&&((x<y||S<b||g&&(y<g.colStart||b<g.rowStart||x>g.colEnd||S>g.rowEnd))&&(s=t.FormulaError.BuiltIn.Ref),_=_.setReferenceAt(e,s))}}let y=new e(i,this.gridId,_,this._container,this.unanchored,this.calcs);return{...r.after,value:y}}getMerged(n,r,i){let a=this.formula,o=n.formula;if(!a.isEquals(o))return;let s=this.calcs,c=n.calcs,l;if(i===t.IRange.Axis.Row)l=[...s,...c];else{let e=s.length;l=rk(e);for(let t=0;t<e;t++)l[t]=[...s[t],...c[t]]}return new e(r,this.gridId,a,this._container,this.unanchored,l)}getSplit(n,r,i){let a=this.formula,o=r===t.IRange.Axis.Column,s,c,l=this.calcs;if(o){let e=l.length;s=rk(e),c=rk(e);for(let t=0;t<e;t++){let e=l[t];s[t]=e.slice(0,i),c[t]=e.slice(i)}}else s=l.slice(0,i),c=l.slice(i);return[new e(n[0],this.gridId,a,this._container,this.unanchored,s),new e(n[1],this.gridId,a,this._container,this.unanchored,c)]}copyTo(n,r){let i=this.formula,a=r?.cutFrom;if(a){let e=this.ref,r=e.colStart-n.colStart,o=e.rowStart-n.rowStart,s=i.getReferences(e.rowStart,e.colStart);for(let n=0;n<s.length;n++){let c=s?s[n]:null;if(!c||`nameId`in c||t.FormulaError.isError(c))continue;let l=c,u,d=l.$colStart?l.colStart:e.colStart+l.colStart,f=l.$rowStart?l.rowStart:e.rowStart+l.rowStart,p=l.$colEnd?l.colEnd:e.colEnd+l.colEnd,m=l.$rowEnd?l.rowEnd:e.rowEnd+l.rowEnd,h=l.scope!=null&&l.scope!==this.gridId,g=!h&&f>=a.rowStart&&m<=a.rowEnd,_=!h&&d>=a.colStart&&p<=a.colEnd;r!==0&&(l.$colStart||g&&d>=a.colStart&&d<=a.colEnd||(u??={...l},u.colStart+=r),l.$colEnd||g&&p>=a.colStart&&p<=a.colEnd||(u??={...l},u.colEnd+=r)),o!==0&&(l.$rowStart||_&&f>=a.rowStart&&f<=a.rowEnd||(u??={...l},u.rowStart+=o),l.$rowEnd||_&&m>=a.rowStart&&m<=a.rowEnd||(u??={...l},u.rowEnd+=o)),u&&(i=i.setReferenceAt(n,u))}}let o=new e(n,this.gridId,i,this._container,this.unanchored);return{colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope,value:o}}canTile(e,t){return!0}onRemove(e){let t=e.value.calcs,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=n.length;for(let e=0;e<r;e++){let t=n[e];t.pendingPromise&&(t.pendingPromise.cancelled=!0)}}}evaluateAt(e,n,r){return this.formula?.evaluateAt(e,n,r)??t.FormulaError.BuiltIn.NA}finalizeValue(e){return this.formula?.finalizeValue(e)??e}finalizeValueForCell(e){return this.formula?.finalizeValueForCell(e)??e}getTokensAt(e,t,r){return this.formula?.getTokensAt(e,t,r)??n.CommonUtils.EmptyArray}getTextAt(e,t,n,r){return this.formula?.getTextAt(e,t,n,r)??``}resolvedPrecedentsAt(e,t,r,i,a){return this.formula?.resolvedPrecedentsAt(e,t,r,i,a)??n.CommonUtils.EmptyArray}getReferences(e,t){return this.formula?.getReferences(e,t)??n.CommonUtils.EmptyArray}getReferenceAt(e,t,n){return this.formula?.getReferenceAt(e,t,n)??null}setReferenceAt(n,r,i){let a=this.ref;if(r&&!t.FormulaError.isError(r)&&!(`nameId`in r)){let e=r,t=a.colStart,n=a.rowStart,i=e.$colStart?e.colStart:t+e.colStart,o=e.$rowStart?e.rowStart:n+e.rowStart,s=e.$colEnd?e.colEnd:t+e.colEnd,c=e.$rowEnd?e.rowEnd:n+e.rowEnd;if(s<i||c<o)r=null;else{let e=this._container.getGrid(this.gridId)?.getEntireCoords();e&&(i<e.colStart||o<e.rowStart||s>e.colEnd||c>e.rowEnd)&&(r=null)}}let o=this.formula.setReferenceAt(n,r,i);return new e(a,this.gridId,o,this._container,this.unanchored,this.calcs)}reanchorReferences(t,n){let r=this.formula,i=r.reanchorReferences(t,n);return r===i&&this.gridId===t?this:new e(this.ref,t,i,this._container,this.unanchored,this.calcs)}replaceSheetReferences(t,n){let r=this.formula,i=r.replaceSheetReferences(t,n);return r===i?this:new e(this.ref,this.gridId,i,this._container,this.unanchored,this.calcs)}wrapImplicit(t,n,r){let i=this.formula,a=i.wrapImplicit(t,n,r);if(i===a)return this;let o=[...this.calcs];return new e(this.ref,this.gridId,a,this._container,this.unanchored,o)}getError(){return this.formula?.getError()??null}getNamedIds(){return this.formula?.getNamedIds()??n.CommonUtils.EmptyArray}getReferencedSymbolIds(){return this.formula?.getReferencedSymbolIds()??n.CommonUtils.EmptyArray}hasTotals(){return this.formula?.hasTotals()??!1}isReferenceOnly(){return this.formula?.isReferenceOnly()??!1}isEquals(e){return this.formula?.isEquals(e)??!1}},Zf={Reference:-1,Spill:-2},Qf=Object.freeze({break:!0});(q||={}).Type={BorderStyle:`borderStyle`,FillStyle:`fillStyle`,ContentStyle:`contentStyle`,Continuous:`continuous`,DateFormat:`dateFormat`,Table:`table`,AutoTable:`autoTable`,DataValidations:`dataValidations`,Merge:`merge`,Hyperlink:`hyperlink`,Comments:`comments`,Unlock:`unlock`,Contentful:`contentful`,Conditionals:`conditionals`,Formula:`formula`,Spills:`spills`,Pending:`pending`,CalcError:`calcError`,Circular:`circular`,Error:`error`,Validation:`dataValidation`};var $f=Object.freeze({contentful:q.Type.Contentful,dateFormat:q.Type.DateFormat,error:q.Type.Error,formula:q.Type.Formula,spills:q.Type.Spills,calcError:q.Type.CalcError,circular:q.Type.Circular,fill:q.Type.FillStyle,border:q.Type.BorderStyle,numberFormat:q.Type.ContentStyle,alignment:q.Type.ContentStyle,font:q.Type.ContentStyle,merge:q.Type.Merge,table:q.Type.Table,autoTable:q.Type.AutoTable,hyperlink:q.Type.Hyperlink,comments:q.Type.Comments,unlock:q.Type.Unlock,conditionals:q.Type.Conditionals,dataValidations:q.Type.DataValidations});function ep(e){let t=function(e){if(e===void 0)return!0;let t=typeof e==`string`?[e]:e;if(t.length===0)return!1;let n={};for(let e=0;e<t.length;e++){let r=$f[t[e]];r&&(n[r]=!1)}return n}(e);if(typeof t==`boolean`)return t;let n={...t};return delete n[q.Type.Contentful],n[q.Type.ContentStyle]!==void 0&&(n[q.Type.Continuous]=!1),n[q.Type.Formula]===void 0&&n[q.Type.CalcError]===void 0||(n[q.Type.Pending]=!1),n}function tp(e,t){switch(t){case`contentful`:case`error`:return null;case`border`:return e.borderSpatial.getContentfulCoords();case`fill`:return e.fillSpatial.getContentfulCoords();case`numberFormat`:case`alignment`:case`font`:return e.contentSpatial.getContentfulCoords();case`dateFormat`:return e.dateFormatSpatial.getBoundingRange();case`merge`:return e.mergeSpatial.getContentfulCoords();case`formula`:return e.calcGrid.getBoundingRange();case`calcError`:return e.calcErrorsSpatial.getBoundingRange();case`circular`:return e.circularSpatial.getBoundingRange();case`spills`:return e.spillSpatial.getBoundingRange();case`table`:return e.tables.getBoundingRange();case`autoTable`:return e.autoTables.getBoundingRange();case`hyperlink`:return e.hyperlinkSpatial.getBoundingRange();case`comments`:return e.commentsSpatial.getBoundingRange();case`unlock`:return e.protectedRanges.getBoundingRange();case`conditionals`:return e.conditionalFormats.getBoundingRange();case`dataValidations`:return e.dataValidations.getBoundingRange()}}var J,np,rp=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.AutoTable]:!1,[q.Type.Table]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1,[q.Type.Spills]:!1,[q.Type.Pending]:!1,[q.Type.CalcError]:!1,[q.Type.Circular]:!1,[q.Type.Contentful]:!1,[q.Type.DataValidations]:!1,[q.Type.Conditionals]:!1,[q.Type.Continuous]:!1}),ip=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.AutoTable]:!1,[q.Type.Table]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1,[q.Type.Spills]:!1,[q.Type.Pending]:!1,[q.Type.CalcError]:!1,[q.Type.Circular]:!1,[q.Type.DataValidations]:!1,[q.Type.Conditionals]:!1,[q.Type.Continuous]:!1}),ap=Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Table]:!0,[q.Type.DataValidations]:!1,[q.Type.Merge]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Formula]:!1}),op=(Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Table]:!1,[q.Type.AutoTable]:!1,[q.Type.DataValidations]:!1,[q.Type.Hyperlink]:!1,[q.Type.Comments]:!1,[q.Type.Unlock]:!1,[q.Type.Contentful]:!1,[q.Type.Formula]:!1}),Object.freeze({[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.Hyperlink]:!1,[q.Type.Continuous]:!1,[q.Type.Merge]:!1,[q.Type.Contentful]:!1}));(np=J||={}).AdjustmentType={Alpha:`alpha`,AlphaOff:`alphaOff`,AlphaMod:`alphaMod`,Hue:`hue`,Sat:`sat`,Lum:`lum`,HueOff:`hueOff`,SatOff:`satOff`,LumOff:`lumOff`,HueMod:`hueMod`,SatMod:`satMod`,LumMod:`lumMod`,Red:`red`,Green:`green`,Blue:`blue`,RedOff:`redOff`,GreenOff:`greenOff`,BlueOff:`blueOff`,RedMod:`redMod`,GreenMod:`greenMod`,BlueMod:`blueMod`,Shade:`shade`,Tint:`tint`,ETint:`eTint`,Gray:`gray`,Comp:`comp`,Inv:`inv`,Gamma:`gamma`,InvGamma:`invGamma`},np.Named={ActiveBorder:`activeBorder`,ActiveCaption:`activeCaption`,CaptionText:`captionText`,AppWorkspace:`appWorkspace`,BtnFace:`btnFace`,BtnShadow:`btnShadow`,DkShadow3d:`3dDkShadow`,BtnHighlight:`btnHighlight`,Light3d:`3dLight`,BtnText:`btnText`,Background:`background`,GrayText:`grayText`,Highlight:`highlight`,HighlightText:`highlightText`,HotLight:`hotLight`,InactiveBorder:`inactiveBorder`,InactiveCaption:`inactiveCaption`,InactiveCaptionText:`inactiveCaptionText`,InfoBk:`infoBk`,InfoText:`infoText`,Menu:`menu`,MenuText:`menuText`,ScrollBar:`scrollBar`,Window:`window`,WindowFrame:`windowFrame`,WindowText:`windowText`,Transparent:`transparent`,AliceBlue:`aliceBlue`,AntiqueWhite:`antiqueWhite`,Aqua:`aqua`,Aquamarine:`aquamarine`,Azure:`azure`,Beige:`beige`,Bisque:`bisque`,Black:`black`,BlanchedAlmond:`blanchedAlmond`,Blue:`blue`,BlueViolet:`blueViolet`,Brown:`brown`,BurlyWood:`burlyWood`,CadetBlue:`cadetBlue`,Chartreuse:`chartreuse`,Chocolate:`chocolate`,Coral:`coral`,CornflowerBlue:`cornflowerBlue`,Cornsilk:`cornsilk`,Crimson:`crimson`,Cyan:`cyan`,DkBlue:`dkBlue`,DkCyan:`dkCyan`,DkGoldenrod:`dkGoldenrod`,DkGray:`dkGray`,DkGreen:`dkGreen`,DkKhaki:`dkKhaki`,DkMagenta:`dkMagenta`,DkOliveGreen:`dkOliveGreen`,DkOrange:`dkOrange`,DkOrchid:`dkOrchid`,DkRed:`dkRed`,DkSalmon:`dkSalmon`,DkSeaGreen:`dkSeaGreen`,DkSlateBlue:`dkSlateBlue`,DkSlateGray:`dkSlateGray`,DkTurquoise:`dkTurquoise`,DkViolet:`dkViolet`,DeepPink:`deepPink`,DeepSkyBlue:`deepSkyBlue`,DimGray:`dimGray`,DodgerBlue:`dodgerBlue`,Firebrick:`firebrick`,FloralWhite:`floralWhite`,ForestGreen:`forestGreen`,Fuchsia:`fuchsia`,Gainsboro:`gainsboro`,GhostWhite:`ghostWhite`,Gold:`gold`,Goldenrod:`goldenrod`,Gray:`gray`,Grey:`grey`,Green:`green`,GreenYellow:`greenYellow`,Honeydew:`honeydew`,HotPink:`hotPink`,IndianRed:`indianRed`,Indigo:`indigo`,Ivory:`ivory`,Khaki:`khaki`,Lavender:`lavender`,LavenderBlush:`lavenderBlush`,LawnGreen:`lawnGreen`,LemonChiffon:`lemonChiffon`,LtBlue:`ltBlue`,LtCoral:`ltCoral`,LtCyan:`ltCyan`,LtGoldenrodYellow:`ltGoldenrodYellow`,LtGray:`ltGray`,LtGreen:`ltGreen`,LtPink:`ltPink`,LtSalmon:`ltSalmon`,LtSeaGreen:`ltSeaGreen`,LtSkyBlue:`ltSkyBlue`,LtSlateGray:`ltSlateGray`,LtSteelBlue:`ltSteelBlue`,LtYellow:`ltYellow`,Lime:`lime`,LimeGreen:`limeGreen`,Linen:`linen`,Magenta:`magenta`,Maroon:`maroon`,MedAquamarine:`medAquamarine`,MedBlue:`medBlue`,MedOrchid:`medOrchid`,MedPurple:`medPurple`,MedSeaGreen:`medSeaGreen`,MedSlateBlue:`medSlateBlue`,MedSpringGreen:`medSpringGreen`,MedTurquoise:`medTurquoise`,MedVioletRed:`medVioletRed`,MidnightBlue:`midnightBlue`,MintCream:`mintCream`,MistyRose:`mistyRose`,Moccasin:`moccasin`,NavajoWhite:`navajoWhite`,Navy:`navy`,OldLace:`oldLace`,Olive:`olive`,OliveDrab:`oliveDrab`,Orange:`orange`,OrangeRed:`orangeRed`,Orchid:`orchid`,PaleGoldenrod:`paleGoldenrod`,PaleGreen:`paleGreen`,PaleTurquoise:`paleTurquoise`,PaleVioletRed:`paleVioletRed`,PapayaWhip:`papayaWhip`,PeachPuff:`peachPuff`,Peru:`peru`,Pink:`pink`,Plum:`plum`,PowderBlue:`powderBlue`,Purple:`purple`,Red:`red`,RosyBrown:`rosyBrown`,RoyalBlue:`royalBlue`,SaddleBrown:`saddleBrown`,Salmon:`salmon`,SandyBrown:`sandyBrown`,SeaGreen:`seaGreen`,SeaShell:`seaShell`,Sienna:`sienna`,Silver:`silver`,SkyBlue:`skyBlue`,SlateBlue:`slateBlue`,SlateGray:`slateGray`,Snow:`snow`,SpringGreen:`springGreen`,SteelBlue:`steelBlue`,Tan:`tan`,Teal:`teal`,Thistle:`thistle`,Tomato:`tomato`,Turquoise:`turquoise`,Violet:`violet`,Wheat:`wheat`,White:`white`,WhiteSmoke:`whiteSmoke`,Yellow:`yellow`,YellowGreen:`yellowGreen`,ButtonFace:`buttonFace`,ButtonHighlight:`buttonHighlight`,ButtonShadow:`buttonShadow`,GradientActiveCaption:`gradientActiveCaption`,GradientInactiveCaption:`gradientInactiveCaption`,MenuBar:`menuBar`,MenuHighlight:`menuHighlight`},np.Scheme={Bg1:`bg1`,Bg2:`bg2`,Tx1:`tx1`,Tx2:`tx2`,Accent1:`accent1`,Accent2:`accent2`,Accent3:`accent3`,Accent4:`accent4`,Accent5:`accent5`,Accent6:`accent6`,Hlink:`hlink`,FolHlink:`folHlink`},np.Type={Scheme:`scheme`,Named:`named`,Index:`index`,Auto:`auto`,HSL:`hsl`,RGB:`rgb`,LRGB:`lrgb`,Hex:`hex`};var sp=[[16777215,J.Named.Transparent,!0],[4290032820,J.Named.ActiveBorder,!0],[4288263377,J.Named.ActiveCaption,!0],[4278190080,J.Named.CaptionText,!0],[4289440683,J.Named.AppWorkspace,!0],[4293980400,J.Named.BtnFace,!0],[4285098345,J.Named.BtnShadow,!0],[4278190080,J.Named.DkShadow3d,!0],[4293125091,J.Named.BtnHighlight,!0],[4293125091,J.Named.Light3d,!0],[4278190080,J.Named.BtnText,!0],[4278190080,J.Named.Background,!0],[4285361517,J.Named.GrayText,!0],[4281571839,J.Named.Highlight,!0],[4294967295,J.Named.HighlightText,!0],[4278216396,J.Named.HotLight,!0],[4294244348,J.Named.InactiveBorder,!0],[4290760155,J.Named.InactiveCaption,!0],[4278190080,J.Named.InactiveCaptionText,!0],[4294967265,J.Named.InfoBk,!0],[4278190080,J.Named.InfoText,!0],[4293980400,J.Named.Menu,!0],[4278190080,J.Named.MenuText,!0],[4291348680,J.Named.ScrollBar,!0],[4294967295,J.Named.Window,!0],[4284769380,J.Named.WindowFrame,!0],[4278190080,J.Named.WindowText,!0],[16777215,J.Named.Transparent],[4293982463,J.Named.AliceBlue],[4294634455,J.Named.AntiqueWhite],[4278255615,J.Named.Aqua],[4286578644,J.Named.Aquamarine],[4293984255,J.Named.Azure],[4294309340,J.Named.Beige],[4294960324,J.Named.Bisque],[4278190080,J.Named.Black],[4294962125,J.Named.BlanchedAlmond],[4278190335,J.Named.Blue],[4287245282,J.Named.BlueViolet],[4289014314,J.Named.Brown],[4292786311,J.Named.BurlyWood],[4284456608,J.Named.CadetBlue],[4286578432,J.Named.Chartreuse],[4291979550,J.Named.Chocolate],[4294934352,J.Named.Coral],[4284782061,J.Named.CornflowerBlue],[4294965468,J.Named.Cornsilk],[4292613180,J.Named.Crimson],[4278255615,J.Named.Cyan],[4278190219,J.Named.DkBlue],[4278225803,J.Named.DkCyan],[4290283019,J.Named.DkGoldenrod],[4289309097,J.Named.DkGray],[4278215680,J.Named.DkGreen],[4290623339,J.Named.DkKhaki],[4287299723,J.Named.DkMagenta],[4283788079,J.Named.DkOliveGreen],[4294937600,J.Named.DkOrange],[4288230092,J.Named.DkOrchid],[4287299584,J.Named.DkRed],[4293498490,J.Named.DkSalmon],[4287609995,J.Named.DkSeaGreen],[4282924427,J.Named.DkSlateBlue],[4281290575,J.Named.DkSlateGray],[4278243025,J.Named.DkTurquoise],[4287889619,J.Named.DkViolet],[4294907027,J.Named.DeepPink],[4278239231,J.Named.DeepSkyBlue],[4285098345,J.Named.DimGray],[4280193279,J.Named.DodgerBlue],[4289864226,J.Named.Firebrick],[4294966e3,J.Named.FloralWhite],[4280453922,J.Named.ForestGreen],[4294902015,J.Named.Fuchsia],[4292664540,J.Named.Gainsboro],[4294506751,J.Named.GhostWhite],[4294956800,J.Named.Gold],[4292519200,J.Named.Goldenrod],[4286611584,J.Named.Gray],[4278222848,J.Named.Green],[4289593135,J.Named.GreenYellow],[4293984240,J.Named.Honeydew],[4294928820,J.Named.HotPink],[4291648604,J.Named.IndianRed],[4283105410,J.Named.Indigo],[4294967280,J.Named.Ivory],[4293977740,J.Named.Khaki],[4293322490,J.Named.Lavender],[4294963445,J.Named.LavenderBlush],[4286381056,J.Named.LawnGreen],[4294965965,J.Named.LemonChiffon],[4289583334,J.Named.LtBlue],[4293951616,J.Named.LtCoral],[4292935679,J.Named.LtCyan],[4294638200,J.Named.LtGoldenrodYellow],[4292072403,J.Named.LtGray],[4287688336,J.Named.LtGreen],[4294948545,J.Named.LtPink],[4294942842,J.Named.LtSalmon],[4280332970,J.Named.LtSeaGreen],[4287090426,J.Named.LtSkyBlue],[4286023833,J.Named.LtSlateGray],[4289774814,J.Named.LtSteelBlue],[4294967264,J.Named.LtYellow],[4278255360,J.Named.Lime],[4281519410,J.Named.LimeGreen],[4294635750,J.Named.Linen],[4294902015,J.Named.Magenta],[4286578688,J.Named.Maroon],[4284927402,J.Named.MedAquamarine],[4278190285,J.Named.MedBlue],[4290401747,J.Named.MedOrchid],[4287852763,J.Named.MedPurple],[4282168177,J.Named.MedSeaGreen],[4286277870,J.Named.MedSlateBlue],[4278254234,J.Named.MedSpringGreen],[4282962380,J.Named.MedTurquoise],[4291237253,J.Named.MedVioletRed],[4279834992,J.Named.MidnightBlue],[4294311930,J.Named.MintCream],[4294960353,J.Named.MistyRose],[4294960309,J.Named.Moccasin],[4294958765,J.Named.NavajoWhite],[4278190208,J.Named.Navy],[4294833638,J.Named.OldLace],[4286611456,J.Named.Olive],[4285238819,J.Named.OliveDrab],[4294944e3,J.Named.Orange],[4294919424,J.Named.OrangeRed],[4292505814,J.Named.Orchid],[4293847210,J.Named.PaleGoldenrod],[4288215960,J.Named.PaleGreen],[4289720046,J.Named.PaleTurquoise],[4292571283,J.Named.PaleVioletRed],[4294963157,J.Named.PapayaWhip],[4294957753,J.Named.PeachPuff],[4291659071,J.Named.Peru],[4294951115,J.Named.Pink],[4292714717,J.Named.Plum],[4289781990,J.Named.PowderBlue],[4286578816,J.Named.Purple],[4294901760,J.Named.Red],[4290547599,J.Named.RosyBrown],[4282477025,J.Named.RoyalBlue],[4287317267,J.Named.SaddleBrown],[4294606962,J.Named.Salmon],[4294222944,J.Named.SandyBrown],[4281240407,J.Named.SeaGreen],[4294964718,J.Named.SeaShell],[4288696877,J.Named.Sienna],[4290822336,J.Named.Silver],[4287090411,J.Named.SkyBlue],[4285160141,J.Named.SlateBlue],[4285563024,J.Named.SlateGray],[4294966010,J.Named.Snow],[4278255487,J.Named.SpringGreen],[4282811060,J.Named.SteelBlue],[4291998860,J.Named.Tan],[4278222976,J.Named.Teal],[4292394968,J.Named.Thistle],[4294927175,J.Named.Tomato],[4282441936,J.Named.Turquoise],[4293821166,J.Named.Violet],[4294303411,J.Named.Wheat],[4294967295,J.Named.White],[4294309365,J.Named.WhiteSmoke],[4294967040,J.Named.Yellow],[4288335154,J.Named.YellowGreen],[4293980400,J.Named.ButtonFace],[4294967295,J.Named.ButtonHighlight],[4288716960,J.Named.ButtonShadow],[4290367978,J.Named.GradientActiveCaption],[4292338930,J.Named.GradientInactiveCaption],[4293980400,J.Named.MenuBar],[4281571839,J.Named.MenuHighlight],[4286611584,J.Named.Grey]],cp=new class{constructor(){this._lookupByName=new Map;let e=sp.length;for(let t=0;t<e;t++){let e=sp[t],n=e[0],r=(n>>24&255)/255,i=n>>16&255,a=n>>8&255,o=255&n,s={id:t,name:e[1],rgbaColor:{r:i,g:a,b:o,a:r},system:e.length>2};this._lookupByName.set(s.name.toLowerCase(),s)}}valueOfName(e){return this._lookupByName.get(e?e.toLowerCase():`transparent`)}getSystemColorDefaults(){let e=e=>e.toString(16).padStart(2,`0`).toUpperCase(),t={};return this._lookupByName.forEach((n,r)=>{if(!n.system)return;let{r:i,g:a,b:o}=n.rgbaColor;t[r]=`#${e(i)}${e(a)}${e(o)}`}),t}},lp=[{scheme:J.Scheme.Tx1,description:`First Text Color`},{scheme:J.Scheme.Tx2,description:`Second Text Color`},{scheme:J.Scheme.Bg1,description:`First Background Color`},{scheme:J.Scheme.Bg2,description:`Second Background Color`},{scheme:J.Scheme.Accent1,description:`Accent 1`},{scheme:J.Scheme.Accent2,description:`Accent 2`},{scheme:J.Scheme.Accent3,description:`Accent 3`},{scheme:J.Scheme.Accent4,description:`Accent 4`},{scheme:J.Scheme.Accent5,description:`Accent 5`},{scheme:J.Scheme.Accent6,description:`Accent 6`},{scheme:J.Scheme.Hlink,description:`Hyperlink`},{scheme:J.Scheme.FolHlink,description:`Followed Hyperlink`},{scheme:`dk1`,description:`Text/Background - Dark 1`},{scheme:`lt1`,description:`Text/Background - Light 1`},{scheme:`dk2`,description:`Text/Background - Dark 2`},{scheme:`lt2`,description:`Text/Background - Light 2`}],up=new Map;for(let e=0;e<lp.length;e++)up.set(lp[e].scheme.toLowerCase(),lp[e]);var dp=`lastclr`,fp=e=>{if(!e)return null;let t=e.replace(`#`,``);if(t.length<6)return null;let n=parseInt(t.substring(0,2),16),r=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16);return isNaN(n)||isNaN(r)||isNaN(i)?null:new bs.RGBA(n,r,i,1)},pp=e=>new bs.HEX(e.red,e.green,e.blue,1).toString(!1).replace(`#`,``),mp=e=>new bs.RGBA(e.rgbaColor.r,e.rgbaColor.g,e.rgbaColor.b,e.rgbaColor.a),hp=(e,t,n)=>{let r=cp.valueOfName(e);if(!r)return null;if(r.system){let e=r.name;return{rgba:(t?t(e,!1):null)?.toRGBA()??n??mp(r),systemName:e}}return{rgba:mp(r),systemName:null}},gp=e=>{if(!e)return null;let t=e.getAdjustments();if(t&&t.length>0)return null;let n=e.getType();return n===J.Type.Auto?J.Named.WindowText:n===J.Type.Named&&Mp.isSystem(e.getVal())?e.getVal():null},_p=e=>e?{srgb:[e.red/255,e.green/255,e.blue/255],alpha:e.alpha===void 0?1:e.alpha}:null,vp=function(e,t,n,r,i){let a,o=null,s=null,c=null,l=J.Type.Named;if(e.toLowerCase()===`auto`){let e=hp(J.Named.WindowText,r,i);a=_p(e.rgba),o=e.systemName,l=J.Type.Auto}else{let t=hp(e,r,i);a=_p(t?.rgba??null),o=t?.systemName??null}if(a===null&&((u=e)===`phClr`&&(u=`dk1`),up.get(u.toLowerCase()))){if(!t)throw Error(`a scheme val was used but a schemeLookup was not provided`);s=e;let n=t(s);c=n.toRGBA(),a=_p(c),o=gp(n),l=J.Type.Scheme}var u;if(a===null){let t=e.match(Os)||e.match(ks);if(t){let e,n=1;t.length===4?e=[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:(e=[parseInt(t[2],16),parseInt(t[3],16),parseInt(t[4],16)],n=Is(parseInt(t[1],16)/255)),e=Ms(e),e=Fs(e),a={srgb:e,alpha:n},l=J.Type.Hex}}if(a===null){let t=e.match(Ss)||e.match(Cs);if(t){let e=js(t[1],t[2],t[3]);e=Ms(e),e=Fs(e),a={srgb:e,alpha:t[4]?Is(parseFloat(t[4])):1},l=J.Type.RGB}}if(a===null){let t=e.match(ws)||e.match(Ts);if(t){let e=js(t[1],t[2],t[3]);e=Ms(e,100),e=zs(e),e=Fs(e),a={srgb:e,alpha:t[4]?Is(parseFloat(t[4])):1},l=J.Type.LRGB}}if(a===null){let t=e.match(Es)||e.match(Ds);if(t){let e=js(t[1],t[2],t[3]);e=Hs(e),e=Fs(e),a={srgb:e,alpha:t[4]?Is(parseFloat(t[4])):1},l=J.Type.HSL}}if(a===null){let t=e.match(As);if(t){let e=parseInt(t[1]),r=n?.(e),i=r?r.toRGBA():Sc(e);i&&(a={srgb:[i.red/255,i.green/255,i.blue/255],alpha:i.alpha},o=r?gp(r):null,l=J.Type.Index)}}if(a===null)throw Error(`Not a valid color format: `+e);return{srgbAlpha:a,key:s,color:c,type:l,systemName:o}},yp=(e,t)=>{let n=[...e.srgb],r=e.alpha===void 0?1:e.alpha,i=t?t.length:0;for(var a=0;a<i;a++){let e=t[a],i=Object.keys(e)[0],o=e[i];i===J.AdjustmentType.Alpha?(r=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.AlphaOff?(r+=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.AlphaMod?(r*=o/100,r=Math.max(0,Math.min(1,r))):i===J.AdjustmentType.Hue?n=ic(Gs,n,o):i===J.AdjustmentType.Sat?n=ic(Ks,n,o):i===J.AdjustmentType.Lum?n=ic(qs,n,o):i===J.AdjustmentType.HueOff?n=ac(Gs,n,o):i===J.AdjustmentType.SatOff?n=ac(Ks,n,o):i===J.AdjustmentType.LumOff?n=ac(qs,n,o):i===J.AdjustmentType.HueMod?n=oc(Gs,n,o):i===J.AdjustmentType.SatMod?n=oc(Ks,n,o):i===J.AdjustmentType.LumMod?n=oc(qs,n,o):i===J.AdjustmentType.Red?n=sc(Js,n,o,Zs):i===J.AdjustmentType.Green?n=sc(Ys,n,o,Zs):i===J.AdjustmentType.Blue?n=sc(Xs,n,o,Zs):i===J.AdjustmentType.RedOff?n=sc(Js,n,o,Qs):i===J.AdjustmentType.GreenOff?n=sc(Ys,n,o,Qs):i===J.AdjustmentType.BlueOff?n=sc(Xs,n,o,Qs):i===J.AdjustmentType.RedMod?n=sc(Js,n,o,$s):i===J.AdjustmentType.GreenMod?n=sc(Ys,n,o,$s):i===J.AdjustmentType.BlueMod?n=sc(Xs,n,o,$s):i===J.AdjustmentType.Shade?n=ec(n,o):i===J.AdjustmentType.Tint?n=rc(n,o):i===J.AdjustmentType.ETint?n=nc(n,o):i===J.AdjustmentType.Gray?n=cc(n):i===J.AdjustmentType.Comp?n=lc(n):i===J.AdjustmentType.Inv?n=uc(n,o):i===J.AdjustmentType.Gamma?n=dc(n):i===J.AdjustmentType.InvGamma?n=fc(n):console.warn(`unknown adjustmentType: `+i)}return{srgb:n,alpha:r}},bp=new Map,xp=Object.keys(J.AdjustmentType),Sp=xp.length;for(let e=0;e<Sp;e++){let t=xp[e];bp.set(J.AdjustmentType[t].toLowerCase(),J.AdjustmentType[t])}var Y,Cp,X,wp,Tp=RegExp(`\\s+\\s*(?![^()]*\\))|,\\s*(?![^()]*\\))`),Ep=RegExp(`\\s*[,]\\s*|\\s+`),Dp=null,Op=null,kp=`--sxl-sys-color-`,Ap=0,jp={[J.Scheme.Bg1]:`window`,[J.Scheme.Bg2]:`E7E6E6`,[J.Scheme.Tx1]:`windowText`,[J.Scheme.Tx2]:`44546A`,[J.Scheme.Accent1]:`4472C4`,[J.Scheme.Accent2]:`ED7D31`,[J.Scheme.Accent3]:`A5A5A5`,[J.Scheme.Accent4]:`FFC000`,[J.Scheme.Accent5]:`5B9BD5`,[J.Scheme.Accent6]:`70AD47`,[J.Scheme.Hlink]:`0563C1`,[J.Scheme.FolHlink]:`954F72`},Mp=class e{constructor(t,n,r,i=null,a){let o=null,s=null,c=i;if(t instanceof e)o=t.getVal(),t.getAdjustments()&&(s=[...t.getAdjustments()]),c??=t._private.last;else if(typeof t==`string`){let e=this._parse(t);o=e.val,s=e.adjs,e.last&&(c=fp(e.last))}else if(t?.val){o=t.val,s=t.adjs;let e=t.last;e&&(c=fp(e))}if(!o)throw Error(`Unable to determine color value`);let l=a??Op;this._private={val:o,last:c,adjs:s,schemeLookup:n,indexedLookup:r,systemLookup:a,parsedVal:vp(o,n,r,l,c),adjusted:null,resolved:null,resolvedEpoch:Ap}}_parse(e){let t=null,n=e.trim(),r=n.split(Tp);if(r&&(t=r[0],n=n.substring(t.length,n.length).trim()),!t)throw Error(`no color key found`);let i=[],a=null,o=n.split(Ep),s=o.length;for(let e=0;e<s;e++){let t=o[e];if(!t)continue;if(t.toLowerCase()===dp){e++,a=o[e];continue}let n=bp.get(t.toLowerCase());if(!n)throw Error(`Invalid adjustment type:`+t);let r=null;if(n!==J.AdjustmentType.Gray&&n!==J.AdjustmentType.Comp&&n!==J.AdjustmentType.Inv&&n!==J.AdjustmentType.Gamma&&n!==J.AdjustmentType.InvGamma){e++;let n=o[e];if(r=parseFloat(n),r==null)throw Error(`Invalid adjustment value: missing value for'${t}'`);if(isNaN(r))throw Error(`Invalid adjustment value:`+n)}i.push({[n]:r})}return{val:t,last:a,adjs:i}}_forceDark(e=!0){this._resolve();let t=this._private.parsedVal,n=this._private.systemLookup??Op;if(t.systemName&&n){let r=n(t.systemName,!0);if(r){let t=yp(_p(r.toRGBA()),this._private.adjs),n=Is(t.alpha);if(e){let e=Ps(Ns([...t.srgb]));return new bs.RGBA(e[0],e[1],e[2],n)}let i=Ws(t.srgb);return new bs.HSLA(i[0],i[1],i[2],n)}}let r=this._private.resolved,i=[r.red,r.green,r.blue];i=((e,t)=>{t=(t%360+360)%360;let n=[1,0,0,0,1,0,0,0,1],r=Math.cos(t*Math.PI/180),i=Math.sin(t*Math.PI/180);n[0]=mc+.7874*r-mc*i,n[1]=hc-hc*r-hc*i,n[2]=gc-gc*r+.9278*i,n[3]=mc-mc*r+.143*i,n[4]=hc+(1-hc)*r+.14*i,n[5]=gc-gc*r-.283*i,n[6]=mc-mc*r-.7874*i,n[7]=hc-hc*r+hc*i,n[8]=gc+.9278*r+gc*i;let a=e=>Math.round(Math.max(0,Math.min(255,e))),o=e[0],s=e[1],c=e[2];return[a(n[0]*o+n[1]*s+n[2]*c),a(n[3]*o+n[4]*s+n[5]*c),a(n[6]*o+n[7]*s+n[8]*c)]})(i,180),i=uc(i,!1);let a=Rs(i),o=Ws(a);if(o[qs]=.95*o[qs],a=Hs(o),i=zs(a),i=Ps(i),i=Fs(i,!1),e)return new bs.RGBA(i[0],i[1],i[2],r.alpha);let s=Ws(Rs(i));return new bs.HSLA(s[0],s[1],s[2],r.alpha)}_resolve(){if(this._private.resolved){let e=this._private.parsedVal;if(!e.key&&!e.systemName)return;if(e.systemName){if(this._private.resolvedEpoch===Ap)return}else{let t=this._private.schemeLookup(e.key)?.toRGBA();if(t===e.color||t?.isEqual(e.color))return}}let e=this._private.systemLookup??Op,t=vp(this._private.val,this._private.schemeLookup,this._private.indexedLookup,e,this._private.last),n=t.srgbAlpha,r=yp(n,this._private.adjs),i=Ns(r.srgb);i=Ps(i);let a=Is(r.alpha);this._private.adjusted=r,this._private.parsedVal=t,this._private.resolved=new bs.RGBA(i[0],i[1],i[2],a),this._private.resolvedEpoch=Ap}static parse(t,n,r,i=null,a){if(t instanceof e)return t;let o=t,s=null,c=o?.trim(),l=null;try{if(!s){let e=c?.split(Tp);e&&(s=e[0],c=c.substring(s.length,c.length).trim())}if(!s)throw Error(`no color found`);let t=[],o=null,u=c.split(Ep),d=u.length;for(let e=0;e<d;e++){let n=u[e];if(!n)continue;if(n.toLowerCase()===dp){e++,o=u[e];continue}let r=bp.get(n.toLowerCase());if(!r)throw Error(`Invalid adjustment type:`+n);let i=null;if(r!==J.AdjustmentType.Gray&&r!==J.AdjustmentType.Comp&&r!==J.AdjustmentType.Inv&&r!==J.AdjustmentType.Gamma&&r!==J.AdjustmentType.InvGamma){e++;let t=u[e];if(i=parseFloat(t),i==null)throw Error(`Invalid adjustment value: missing value for'${n}'`);if(isNaN(i))throw Error(`Invalid adjustment value:`+t)}t.push({[r]:i})}l=new e({val:s,adjs:t,last:o},n,r,i,a)}catch(e){throw e}return l}static isSystem(e){return!!e&&!0===cp.valueOfName(e)?.system}static getDefaultSystemLookup(){return Op}static setDefaultSystemLookup(e){let t=Op;return Op=e??null,Ap++,t}static getSystemEpoch(){return Ap}static invalidateSystemColors(){Ap++}static getSystemColorDefaults(){return cp.getSystemColorDefaults()}static getDefaultSchemeLookup(){if(!Dp){let t=new Map,n=Object.keys(jp),r=n.length;for(let i=0;i<r;i++){let r=n[i];t.set(r.toLowerCase(),e.parse(jp[r],null))}Dp=e=>t.get(e.toLowerCase())}return Dp}isEqual(t){return t instanceof e&&this.toString().toLowerCase()===t.toString().toLowerCase()}getVal(){return this._private.val}getAdjustments(){return this._private.adjs}getBaseColor(){return new e({val:this._private.val,adjs:null},this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}getLastColor(){return this._private.last&&this._private.parsedVal.systemName?pp(this._private.last):null}getType(){return this._resolve(),this._private.parsedVal.type??null}adjust(t){return new e({val:this._private.val,adjs:this._private.adjs?this._private.adjs.concat(t):t},this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}_systemCSSVar(e){this._resolve();let t=this._private.parsedVal;if(!t.systemName||this._private.adjs&&this._private.adjs.length>0)return null;let n=t.systemName.toLowerCase(),r=hp(t.systemName,null,this._private.last).rgba,i=`#`+pp(r),a=`${kp}${n}`;return e?`var(${a}-dark, var(${a}, ${i}))`:`var(${a}, ${i})`}toCSS(e=!1,t=!1){if(e===`adaptive`){let e=this.toCSS(!1,t),n=this.toCSS(!0,t);return e===n?e:`light-dark(${e}, ${n})`}let n=!0===e,r=this._systemCSSVar(n);if(r)return r;let i=n?this._forceDark():this.toRGBA();return i.alpha===0?`none`:i.toString(t)}toRGBA(e=!1){return this._resolve(),e?this._forceDark():this._private.resolved}toHSLA(e=!1){if(this._resolve(),e)return this._forceDark(!1);let t=Ws(this._private.adjusted.srgb);return new bs.HSLA(t[0],t[1],t[2],Is(this._private.adjusted.alpha??1))}toHex(e=!1){this._resolve();let t=e?this._forceDark():this._private.resolved;return new bs.HEX(t.red,t.green,t.blue,t.alpha??1)}toBlackOrWhite(t=!1,n=157){let r=this.toRGBA(t),i=.299*r.red+.587*r.green+.114*r.blue>n;return new e(i?`#000000`:`#FFFFFF`,this._private.schemeLookup,this._private.indexedLookup,this._private.last,this._private.systemLookup)}get[Symbol.toStringTag](){return this.toString()}toString(){let e=this._private.val,t=this._private.adjs,n=t?t.length:0;for(let r=0;r<n;r++){let i=t[r];if(!i)continue;let a=Object.keys(i)[0];e+=` `+a;let o=i[a];typeof o==`number`&&(e+=` `+o),r<n-1&&(e+=`,`)}let r=this.getLastColor();return r&&(e+=` lastClr `+r),e}get isIColor(){return!0}};(Cp=Y||={}).Type={None:`none`,Solid:`solid`,Gradient:`gradient`,Pattern:`pattern`,Image:`pattern`,Background:`background`,Group:`group`,Custom:`custom`},Cp.GradientType={Linear:`linear`,Path:`path`,Rect:`rect`,Shape:`shape`},Cp.TileMirror={None:`none`,Vertical:`v`,Horizontal:`h`,Both:`b`},Cp.BuiltInSheetPattern={None:`none`,Solid:`solid`,DarkGray:`darkGray`,MediumGray:`mediumGray`,LightGray:`lightGray`,Gray0625:`gray0625`,Gray125:`gray125`,DarkHorizontal:`darkHorizontal`,DarkVertical:`darkVertical`,DarkDown:`darkDown`,DarkUp:`darkUp`,DarkGrid:`darkGrid`,DarkTrellis:`darkTrellis`,LightHorizontal:`lightHorizontal`,LightVertical:`lightVertical`,LightDown:`lightDown`,LightUp:`lightUp`,LightGrid:`lightGrid`,LightTrellis:`lightTrellis`,Custom:`custom`},function(e){let t=e.BuiltInName={Normal:`Normal`,RowLevel:`RowLevel_#`,ColLevel:`ColLevel_#`,Comma:`Comma`,Currency:`Currency`,Percent:`Percent`,Comma0:`Comma [0]`,Currency0:`Currency [0]`,Hyperlink:`Hyperlink`,FollowedHyperlink:`Followed Hyperlink`,Note:`Note`,WarningText:`Warning Text`,Unknown12:`??-12`,Unknown13:`??-13`,Unknown14:`??-14`,Title:`Title`,Heading1:`Heading 1`,Heading2:`Heading 2`,Heading3:`Heading 3`,Heading4:`Heading 4`,Input:`Input`,Output:`Output`,Calculation:`Calculation`,CheckCell:`Check Cell`,LinkedCell:`Linked Cell`,Total:`Total`,Good:`Good`,Bad:`Bad`,Neutral:`Neutral`,Accent1:`Accent1`,Accent1_20:`20% - Accent1`,Accent1_40:`40% - Accent1`,Accent1_60:`60% - Accent1`,Accent2:`Accent2`,Accent2_20:`20% - Accent2`,Accent2_40:`40% - Accent2`,Accent2_60:`60% - Accent2`,Accent3:`Accent3`,Accent3_20:`20% - Accent3`,Accent3_40:`40% - Accent3`,Accent3_60:`60% - Accent3`,Accent4:`Accent4`,Accent4_20:`20% - Accent4`,Accent4_40:`40% - Accent4`,Accent4_60:`60% - Accent4`,Accent5:`Accent5`,Accent5_20:`20% - Accent5`,Accent5_40:`40% - Accent5`,Accent5_60:`60% - Accent5`,Accent6:`Accent6`,Accent6_20:`20% - Accent6`,Accent6_40:`40% - Accent6`,Accent6_60:`60% - Accent6`,ExplanatoryText:`Explanatory Text`},n=Object.values(t);e.builtInNameFromId=function(e){return n[e]},e.IconSet={Arrows3:`3Arrows`,ArrowsGray3:`3ArrowsGray`,Flags3:`3Flags`,Signs3:`3Signs`,Symbols3:`3Symbols`,Symbols3_2:`3Symbols2`,TrafficLights3:`3TrafficLights1`,TrafficLights3_2:`3TrafficLights2`,Triangles3:`3Triangles`,Stars3:`3Stars`,Arrows4:`4Arrows`,ArrowsGray4:`4ArrowsGray`,Rating4:`4Rating`,RedToBlack4:`4RedToBlack`,TrafficLights4:`4TrafficLights`,Arrows5:`5Arrows`,ArrowsGray5:`5ArrowsGray`,Quarters5:`5Quarters`,Rating5:`5Rating`,Boxes5:`5Boxes`,NoIcons:`NoIcons`}}(X||={}),(wp||={}).BuiltInFilterType={BuiltIn:`builtIn`,All:`all`,Custom:`custom`};var Np,Pp=[[`Office`,`windowText`,`window`,`0E2841`,`E8E8E8`,`156082`,`E97132`,`196B24`,`0F9ED5`,`A02B93`,`4EA72E`,`467886`,`96607D`],[`Office 2013-2022`,`windowText`,`window`,`44546A`,`E7E6E6`,`4472C4`,`ED7D31`,`A5A5A5`,`FFC000`,`5B9BD5`,`70AD47`,`0563C1`,`954F72`],[`Office 2007-2010`,`windowText`,`window`,`1F497D`,`EEECE1`,`4F81BD`,`C0504D`,`9BBB59`,`8064A2`,`4BACC6`,`F79646`,`0000FF`,`800080`],[`Grayscale`,`windowText`,`window`,`000000`,`F8F8F8`,`DDDDDD`,`B2B2B2`,`969696`,`808080`,`5F5F5F`,`4D4D4D`,`5F5F5F`,`919191`],[`Atlas`,`windowText`,`window`,`454545`,`E0E0E0`,`F81B02`,`FC7715`,`AFBF41`,`50C49F`,`3B95C4`,`B560D4`,`FC5A1A`,`B49E74`],[`Banded`,`2C2C2C`,`FFFFFF`,`099BDD`,`F2F2F2`,`FFC000`,`A5D028`,`08CC78`,`F24099`,`828288`,`F56617`,`005DBA`,`6C606A`],[`Basis`,`000000`,`FFFFFF`,`565349`,`DDDDDD`,`A6B727`,`DF5327`,`FE9E00`,`418AB3`,`D7D447`,`818183`,`F59E00`,`B2B2B2`],[`Berlin`,`windowText`,`window`,`9D360E`,`E7E6E6`,`F09415`,`C1B56B`,`4BAF73`,`5AA6C0`,`D17DF9`,`FA7E5C`,`FFAE3E`,`FCC77E`],[`Celestial`,`windowText`,`window`,`18276C`,`EBEBEB`,`AC3EC1`,`477BD1`,`46B298`,`90BA4C`,`DD9D31`,`E25247`,`C573D2`,`CCAEE8`],[`Circuit`,`windowText`,`window`,`134770`,`82FFFF`,`9ACD4C`,`FAA93A`,`D35940`,`B258D3`,`63A0CC`,`8AC4A7`,`B8FA56`,`7AF8CC`],[`Damask`,`windowText`,`window`,`2A5B7F`,`ABDAFC`,`9EC544`,`50BEA3`,`4A9CCC`,`9A66CA`,`C54F71`,`DE9C3C`,`6BA9DA`,`A0BCD3`],[`Depth`,`windowText`,`window`,`455F51`,`94D7E4`,`41AEBD`,`97E9D5`,`A2CF49`,`608F3D`,`F4DE3A`,`FCB11C`,`FBCA98`,`D3B86D`],[`Dividend`,`windowText`,`window`,`3D3D3D`,`EBEBEB`,`4D1434`,`903163`,`B2324B`,`969FA7`,`66B1CE`,`40619D`,`828282`,`A5A5A5`],[`Droplet`,`windowText`,`window`,`355071`,`AABED7`,`2FA3EE`,`4BCAAD`,`86C157`,`D99C3F`,`CE6633`,`A35DD1`,`56BCFE`,`97C5E3`],[`Facet`,`windowText`,`window`,`2C3C43`,`EBEBEB`,`90C226`,`54A021`,`E6B91E`,`E76618`,`C42F1A`,`918655`,`99CA3C`,`B9D181`],[`Frame`,`000000`,`FFFFFF`,`545454`,`BFBFBF`,`40BAD2`,`FAB900`,`90BB23`,`EE7008`,`1AB39F`,`D5393D`,`90BB23`,`EE7008`],[`Gallery`,`windowText`,`window`,`454545`,`DFDBD5`,`B71E42`,`DE478E`,`BC72F0`,`795FAF`,`586EA6`,`6892A0`,`FA2B5C`,`BC658E`],[`Integral`,`windowText`,`window`,`335B74`,`DFE3E5`,`1CADE4`,`2683C6`,`27CED7`,`42BA97`,`3E8853`,`62A39F`,`6B9F25`,`B26B02`],[`Ion Boardroom`,`windowText`,`window`,`3B3059`,`EBEBEB`,`B31166`,`E33D6F`,`E45F3C`,`E9943A`,`9B6BF2`,`D53DD0`,`8F8F8F`,`A5A5A5`],[`Ion`,`windowText`,`window`,`1E5155`,`EBEBEB`,`B01513`,`EA6312`,`E6B729`,`6AAC90`,`54849A`,`9E5E9B`,`58C1BA`,`9DFFCB`],[`Madison`,`windowText`,`window`,`1F2D29`,`C5FAEB`,`A1D68B`,`5EC795`,`4DADCF`,`CDB756`,`E29C36`,`8EC0C1`,`6D9D9B`,`6D8583`],[`Main Event`,`windowText`,`window`,`424242`,`C8C8C8`,`B80E0F`,`A6987D`,`7F9A71`,`64969F`,`9B75B2`,`80737A`,`F21213`,`B6A394`],[`Mesh`,`windowText`,`window`,`363D46`,`EBEBEB`,`6F6F6F`,`BFBFA5`,`DCD084`,`E7BF5F`,`E9A039`,`CF7133`,`F28943`,`F1B76C`],[`Metropolitan`,`windowText`,`window`,`162F33`,`EAF0E0`,`50B4C8`,`A8B97F`,`9B9256`,`657689`,`7A855D`,`84AC9D`,`2370CD`,`877589`],[`Organic`,`windowText`,`window`,`212121`,`DADADA`,`83992A`,`3C9770`,`44709D`,`A23C33`,`D97828`,`DEB340`,`A8BF4D`,`B4CA80`],[`Parallax`,`windowText`,`window`,`212121`,`CDD0D1`,`30ACEC`,`80C34F`,`E29D3E`,`D64A3B`,`D64787`,`A666E1`,`3085ED`,`82B6F4`],[`Parcel`,`000000`,`FFFFFF`,`4A5356`,`E8E3CE`,`F6A21D`,`9BAFB5`,`C96731`,`9CA383`,`87795D`,`A0988C`,`00B0F0`,`738F97`],[`Quotable`,`windowText`,`window`,`212121`,`636363`,`00C6BB`,`6FEBA0`,`B6DF5E`,`EFB251`,`EF755F`,`ED515C`,`8F8F8F`,`A5A5A5`],[`Retrospect`,`000000`,`window`,`637052`,`CCDDEA`,`E48312`,`BD582C`,`865640`,`9B8357`,`C2BC80`,`94A088`,`2998E3`,`8C8C8C`],[`Savon`,`windowText`,`window`,`1485A4`,`E3DED1`,`1CADE4`,`2683C6`,`27CED7`,`42BA97`,`3E8853`,`62A39F`,`F49100`,`739D9B`],[`Slate`,`windowText`,`window`,`212123`,`DADADA`,`BC451B`,`D3BA68`,`BB8640`,`AD9277`,`A55A43`,`AD9D7B`,`E98052`,`F4B69B`],[`Slice`,`windowText`,`window`,`146194`,`76DBF4`,`052F61`,`A50E82`,`14967C`,`6A9E1F`,`E87D37`,`C62324`,`0D2E46`,`356A95`],[`Vapor Trail`,`windowText`,`window`,`454545`,`DADADA`,`DF2E28`,`FE801A`,`E9BF35`,`81BB42`,`32C7A9`,`4A9BDC`,`F0532B`,`F38B53`],[`View`,`000000`,`FFFFFF`,`46464A`,`D6D3CC`,`6F6F74`,`92A9B9`,`A7B789`,`B9A489`,`8D6374`,`9B7362`,`67AABF`,`ABAFA5`],[`Wisp`,`windowText`,`window`,`766F54`,`E3EACF`,`A53010`,`DE7E18`,`9F8351`,`728653`,`92AA4C`,`6AAC91`,`FB4A18`,`FB9318`],[`Wood Type`,`windowText`,`window`,`696464`,`E9E5DC`,`D34817`,`9B2D1F`,`A28E6A`,`956251`,`918485`,`855D5D`,`CC9900`,`96A9A9`]],Fp=[[`Office`,`Calibri Light`,`Calibri`],[`Office 2013-2022`,`Calibri Light`,`Calibri`],[`Office 2007-2010`,`Calibri Light`,`Calibri`],[`Grayscale`,`Calibri Light`,`Calibri`],[`Atlas`,`Calibri Light`,`Rockwell`],[`Banded`,`Corbel`,`Corbel`],[`Basis`,`Corbel`,`Corbel`],[`Berlin`,`Trebuchet MS`,`Trebuchet MS`],[`Celestial`,`Calibri Light`,`Calibri`],[`Circuit`,`Tw Cen MT`,`Tw Cen MT`],[`Damask`,`Bookman Old Style`,`Rockwell`],[`Depth`,`Corbel`,`Corbel`],[`Madison`,`Arial`,`Arial`],[`Main Event`,`Impact`,`Impact`],[`Mesh`,`Century Gothic`,`Century Gothic`],[`Metropolitan`,`Calibri Light`,`Calibri Light`],[`Organic`,`Garamond`,`Garamond`],[`Parallax`,`Corbel`,`Corbel`],[`Parcel`,`Gill Sans MT`,`Gill Sans MT`],[`Quotable`,`Century Gothic`,`Century Gothic`],[`Retrospect`,`Calibri Light`,`Calibri`],[`Savon`,`Century Gothic`,`Century Gothic`],[`Slate`,`Calisto MT`,`Calisto MT`],[`Slice`,`Century Gothic`,`Century Gothic`],[`Vapor Trail`,`Century Gothic`,`Century Gothic`],[`View`,`Century Schoolbook`,`Century Schoolbook`],[`Wisp`,`Century Gothic`,`Century Gothic`],[`Wood Type`,`Rockwell Condensed`,`Rockwell`]],Ip=[[`Office`,`Office`,`Office`],[`2013-2022`,`Office 2013-2022`,`Office 2013-2022`],[`Atlas`,`Atlas`,`Atlas`],[`Banded`,`Banded`,`Banded`],[`Basis`,`Basis`,`Basis`],[`Berlin`,`Berlin`,`Berlin`],[`Celestial`,`Celestial`,`Celestial`],[`Circuit`,`Circuit`,`Circuit`],[`Damask`,`Damask`,`Damask`],[`Depth`,`Depth`,`Depth`],[`Dividend`,`Dividend`,`Dividend`],[`Droplet`,`Droplet`,`Droplet`],[`Facet`,`Facet`,`Facet`],[`Frame`,`Frame`,`Frame`],[`Gallery`,`Gallery`,`Gallery`],[`Grayscale`,`Grayscale`,`Grayscale`],[`Integral`,`Integral`,`Integral`],[`Ion Boardroom`,`Ion Boardroom`,`Ion Boardroom`],[`Ion`,`Ion`,`Ion`],[`Madison`,`Madison`,`Madison`],[`Main Event`,`Main Event`,`Main Event`],[`Mesh`,`Mesh`,`Mesh`],[`Metropolitan`,`Metropolitan`,`Metropolitan`],[`Organic`,`Organic`,`Organic`],[`Parallax`,`Parallax`,`Parallax`],[`Parcel`,`Parcel`,`Parcel`],[`Quotable`,`Quotable`,`Quotable`],[`Retrospect`,`Retrospect`,`Retrospect`],[`Savon`,`Savon`,`Savon`],[`Slate`,`Slate`,`Slate`],[`Slice`,`Slice`,`Slice`],[`Vapor Trail`,`Vapor Trail`,`Vapor Trail`],[`View`,`View`,`View`],[`Wisp`,`Wisp`,`Wisp`],[`Wood Type`,`Wood Type`,`Wood Type`],[`Office 2007-2010`,`Office 2007-2010`,`Office 2007-2010`]],Lp=`Themes is readonly. To make modifications create a new DocsThemes instance.`,Rp={[J.Scheme.Bg1]:`lt1`,[J.Scheme.Bg2]:`lt2`,[J.Scheme.Tx1]:`dk1`,[J.Scheme.Tx2]:`dk2`,[J.Scheme.Accent1]:`accent1`,[J.Scheme.Accent2]:`accent2`,[J.Scheme.Accent3]:`accent3`,[J.Scheme.Accent4]:`accent4`,[J.Scheme.Accent5]:`accent5`,[J.Scheme.Accent6]:`accent6`,[J.Scheme.Hlink]:`hlink`,[J.Scheme.FolHlink]:`folHlink`},zp=`Office`,Bp=[zp,`Calibri Light`,`Calibri`],Vp=[`dk1`,`lt1`,`dk2`,`lt2`,`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`,`hlink`,`folHlink`],Hp=e=>{let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r],i=n[0],a={name:i};t[i]=a;let o=Vp.length;for(let e=0;e<o;e++){let t=Vp[e],r=n[e+1];if(!r)continue;let i=Mp.parse(r);i&&(a[t]=i.toString())}}return t},Up=e=>{let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r],i=n[0],a={name:i};t[i]=a,a.majorFont=n[1]??Bp[1],a.minorFont=n[2]??Bp[2]}return t},Wp=Hp([[zp,`windowText`,`window`,`44546A`,`E7E6E6`,`4472C4`,`ED7D31`,`A5A5A5`,`FFC000`,`5B9BD5`,`70AD47`,`0563C1`,`954F72`]]),Gp=Up([Bp]),Kp=Wp[zp],qp=Gp[zp],Jp=null,Yp=new class{constructor(){this._colors={};let e=Vp.length;for(let t=0;t<e;t++){let e=Vp[t],n=Mp.parse(Kp[e]);this._colors[e]=n}}getName(){return Kp.name}getDk1(){return this._colors.dk1}getLt1(){return this._colors.lt1}getDk2(){return this._colors.dk2}getLt2(){return this._colors.lt2}getAccent1(){return this._colors.accent1}getAccent2(){return this._colors.accent2}getAccent3(){return this._colors.accent3}getAccent4(){return this._colors.accent4}getAccent5(){return this._colors.accent5}getAccent6(){return this._colors.accent6}getHlink(){return this._colors.hlink}getFolHlink(){return this._colors.folHlink}toJSON(){return null}},Xp=class{constructor(e,t=Yp){this._delegate=t,this._fromJSON(e)}_fromJSON(e){if(this._overrides={},!e)return;let t=Object.keys(e),n=t.length;if(n!==0)for(let r=0;r<n;r++){let n=t[r];this._overrides[n]=n===`name`?e[n]:Mp.parse(e[n])}}_value(e,t){return this._overrides&&this._overrides[e]!==null&&this._overrides[e]!==void 0?this._overrides[e]:this._delegate?.[t]?.()}getName(){return this._value(`name`,`getName`)}getDk1(){return this._value(`dk1`,`getDk1`)}getLt1(){return this._value(`lt1`,`getLt1`)}getDk2(){return this._value(`dk2`,`getDk2`)}getLt2(){return this._value(`lt2`,`getLt2`)}getAccent1(){return this._value(`accent1`,`getAccent1`)}getAccent2(){return this._value(`accent2`,`getAccent2`)}getAccent3(){return this._value(`accent3`,`getAccent3`)}getAccent4(){return this._value(`accent4`,`getAccent4`)}getAccent5(){return this._value(`accent5`,`getAccent5`)}getAccent6(){return this._value(`accent6`,`getAccent6`)}getHlink(){return this._value(`hlink`,`getHlink`)}getFolHlink(){return this._value(`folHlink`,`getFolHlink`)}toJSON(){let e=n.CommonUtils.toSafeJSON(this._overrides),t=this.getName();return t&&(e.name=t),e}},Zp=new class{constructor(){this._colors={};let e=Vp.length;for(let t=0;t<e;t++){let e=Vp[t],n=Mp.parse(Kp[e]);this._colors[e]=n}}getName(){return qp.name}getMajorFont(){return qp.majorFont}getMinorFont(){return qp.minorFont}getMajorFallbacks(){return qp.majorFallbacks}getMinorFallbacks(){return qp.minorFallbacks}},Qp=class{constructor(e,t=Zp){this._delegate=t,this._fromJSON(e)}_fromJSON(e){if(this._overrides={},!e)return;let t=Object.keys(e),n=t.length;if(n!==0)for(let r=0;r<n;r++){let n=t[r];this._overrides[n]=e[n]}}_value(e,t){return this._overrides&&this._overrides[e]!==null&&this._overrides[e]!==void 0?this._overrides[e]:this._delegate?.[t]?.()}getName(){return this._value(`name`,`getName`)}getMajorFont(){return this._value(`majorFont`,`getMajorFont`)}getMinorFont(){return this._value(`minorFont`,`getMinorFont`)}getMajorFallbacks(){return this._value(`majorFallbacks`,`getMajorFallbacks`)}getMinorFallbacks(){return this._value(`minorFallbacks`,`getMinorFallbacks`)}toJSON(){let e=n.CommonUtils.toSafeJSON(this._overrides),t=this.getName();return t&&(e.name=t),e}},$p=class{constructor(e,t=null,n=null){if(this._cacheColors=new Map,this._cacheEpoch=Mp.getSystemEpoch(),!t&&e?.name){let n=Jp?Jp.get(e.name.toLowerCase()):null;n&&(t=n)}!t&&Jp&&(t=Jp.get(zp.toLowerCase())??null),this._name=e?.name??t?.getName(),this._builtInID=n,this._delegate=t,this._formatSchemeXml=e?.formatSchemeXml,this._fillStyleLst=e?.fillStyleLst,this._lnStyleLst=e?.lnStyleLst,this._effectStyleLst=e?.effectStyleLst,this._bgFillStyleLst=e?.bgFillStyleLst,this._colors=new Xp(e?.colors,this._delegate?.getColorScheme()),this._fonts=new Qp(e?.fonts,this._delegate?.getFontScheme());let r=Rp,i={},a=Object.keys(r),o=a.length;for(let e=0;e<o;e++){let t=a[e];i[t]=`get${x(r[t])}`}i.dk1=`getDk1`,i.dk2=`getDk2`,i.lt1=`getLt1`,i.lt2=`getLt2`,i.folhlink=`getFolHlink`,this._colorMap=i;let s=this;this._schemeLookup=e=>{let t=Mp.getSystemEpoch();s._cacheEpoch!==t&&(s._cacheColors=new Map,s._cacheEpoch=t);let n=s._cacheColors.get(e);if(n)return n;e===`phClr`&&(e=J.Scheme.Tx1);let r=s._colorMap[e];if(!r)throw Error(`Invalid color scheme key: ${e}`);let i=s.getColorScheme(),a=i[r].bind(i)();return a||=Kp[Rp[e]??e],n=new Mp(a),s._cacheColors.set(e,n),n}}get builtInID(){return this._builtInID??null}getName(){return(this._name??this._delegate?.getName())||`Custom`}isCustom(){return this._builtInID!==null&&this._builtInID!==void 0}getColorScheme(){return this._colors}getFontScheme(){return this._fonts}schemeLookup(){return this._schemeLookup}parseColor(e){return Mp.parse(e,this._schemeLookup)}toJSON(){let e={name:this.getName()},t=this._colors.toJSON();t&&(Object.keys(t).length>1||t.name&&t.name!==e.name)&&(e.colors=t);let n=this._fonts.toJSON();return n&&(Object.keys(n).length>1||n.name&&n.name!==e.name)&&(e.fonts=n),this._fillStyleLst&&(e.fillStyleLst=this._fillStyleLst),this._lnStyleLst&&(e.lnStyleLst=this._lnStyleLst),this._effectStyleLst&&(e.effectStyleLst=this._effectStyleLst),this._bgFillStyleLst&&(e.bgFillStyleLst=this._bgFillStyleLst),this._formatSchemeXml&&(e.formatSchemeXml=this._formatSchemeXml),Object.keys(e).length===1&&e.name===zp?null:e}},em=()=>{if(Jp)return Jp;let e=((e,t,n)=>{let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a],o=i[0],s=t[i[1]]??Kp,c=n[i[2]]??qp;r.push({name:o,colors:s,fonts:c})}return r})(Ip,Hp(Pp),Up(Fp)),t=new Map,n=e.length;for(let r=0;r<n;r++){let n=new $p(null,new $p(e[r]),r+1);t.set(n.getName().toLowerCase(),n)}return Jp=t,t},tm=class{constructor(e=null,t=!1){em(),this._isReadOnly=t,this._customMap=new Map,this._defaultTheme=this.getByName(`Office`)}getDefaultTheme(){return this._defaultTheme}setDefaultTheme(e){if(this._isReadOnly)throw Error(Lp);if(!e)throw Error(`Theme cannot be null.`);let t=this.getDefaultTheme();return this.getByName(e.getName())||this.setCustomTheme(e),this._defaultTheme=e,t}getByName(e){return e=e.toLowerCase(),this._customMap.get(e)||(Jp.get(e)??null)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=e?.type??wp.BuiltInFilterType.All,r=new Map;return t!==wp.BuiltInFilterType.BuiltIn&&t!==wp.BuiltInFilterType.All||Jp.forEach((e,t)=>r.set(t,e)),t!==wp.BuiltInFilterType.Custom&&t!==wp.BuiltInFilterType.All||this._customMap.forEach((e,t)=>r.set(t,e)),e?.selected&&r.set(e.selected.getName().toLowerCase(),e.selected),(e=>{let t=[...e];return t.sort((e,t)=>n.CommonUtils.isDefined(e.builtInID)&&!n.CommonUtils.isDefined(t.builtInID)?1:!n.CommonUtils.isDefined(e.builtInID)&&n.CommonUtils.isDefined(t.builtInID)?-1:n.CommonUtils.isDefined(e.builtInID)&&n.CommonUtils.isDefined(t.builtInID)?e.builtInID-t.builtInID:e.getName().localeCompare(t.getName())),t})(Array.from(r.values()))}getCount(){return this._customMap.size+Jp.size}setCustomTheme(e){if(this._isReadOnly)throw Error(Lp);let t=e.getName().toLowerCase(),n=this._customMap.get(t);return this._customMap.set(t,e),n??null}deleteCustomTheme(e){if(this._isReadOnly)throw Error(Lp);let t=null;t=typeof e==`string`?e.toLowerCase():e.getName().toLowerCase();let n=this._customMap.get(t);return this._customMap.delete(t),n??null}};(Np||={}).ElementType={WholeTable:`wholeTable`,FirstColumnStripe:`firstColumnStripe`,SecondColumnStripe:`secondColumnStripe`,FirstRowStripe:`firstRowStripe`,SecondRowStripe:`secondRowStripe`,LastColumn:`lastColumn`,FirstColumn:`firstColumn`,HeaderRow:`headerRow`,TotalRow:`totalRow`,FirstHeaderCell:`firstHeaderCell`,LastHeaderCell:`lastHeaderCell`,FirstTotalCell:`firstTotalCell`,LastTotalCell:`lastTotalCell`},(Np||={}).Empty=class{constructor(e){this._normalStyle=e}getName(){return`None`}isShownInTableStyles(){return!1}isShownInPivotStyles(){return!1}getRanged(e){return null}getProperties(){return n.CommonUtils.EmptyObject}isBuiltIn(){return!0}delete(){}toJSON(){return null}get isITableStyle(){return!0}};var nm=Object.freeze({fallbacks:n.CommonUtils.EmptyArray,weight:400,style:U.Style.Normal,color:J.Scheme.Tx1,letterSpacing:null,underline:U.UnderlineStyle.None,strike:!1,scheme:U.Scheme.None,verticalAlign:U.VerticalAlignment.Baseline,shadow:!1,outline:!1,extend:!1}),rm=Object.freeze({style:W.StrokeStyle.None,color:J.Scheme.Tx1}),im=Object.freeze({[W.Edge.Top]:rm,[W.Edge.Left]:rm,[W.Edge.Bottom]:rm,[W.Edge.Right]:rm,[W.Edge.Horizontal]:rm,[W.Edge.Vertical]:rm,[W.Edge.DiagonalUp]:rm,[W.Edge.DiagonalDown]:rm}),am=Object.freeze({horizontal:o.HorizontalAlignment.General,vertical:o.VerticalAlignment.Bottom,indent:0,relativeIndent:0,overflow:o.Overflow.Visible,rotation:0,stacked:!1,justifyLastLine:!1,readingDirection:o.ReadingDirection.Auto}),om=Object.freeze({locked:!1,formulaHidden:!1}),sm=Object.freeze({fill:Object.freeze({type:Y.Type.None}),numberFormat:`General`,alignment:am,font:nm,border:im,protection:om,quotePrefix:!1,namedStyle:null}),cm=(()=>{let e=[{named:X.BuiltInName.Normal},{named:X.BuiltInName.RowLevel},{named:X.BuiltInName.ColLevel},{named:X.BuiltInName.Comma,numberFormat:`_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)`},{named:X.BuiltInName.Currency,numberFormat:`_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)`},{named:X.BuiltInName.Percent,numberFormat:`0%`},{named:X.BuiltInName.Comma0,numberFormat:`_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)`},{named:X.BuiltInName.Currency0,numberFormat:`_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)`},{named:X.BuiltInName.Hyperlink,font:{color:J.Scheme.Hlink,underline:U.UnderlineStyle.Single}},{named:X.BuiltInName.FollowedHyperlink,font:{color:J.Scheme.FolHlink,underline:U.UnderlineStyle.Single}},{named:X.BuiltInName.Note,fill:`FFFFFFCC`,font:{style:U.Style.Normal,color:J.Scheme.Tx1},border:{left:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},top:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},right:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`},bottom:{style:W.StrokeStyle.Thin,color:`FFB2B2B2`}}},{named:X.BuiltInName.WarningText,font:{color:`FFFF0000`}},{named:X.BuiltInName.Unknown12},{named:X.BuiltInName.Unknown13},{named:X.BuiltInName.Unknown14},{named:X.BuiltInName.Title,font:{size:18,color:J.Scheme.Tx2}},{named:X.BuiltInName.Heading1,font:{size:15,weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Thick,color:J.Scheme.Accent1}}},{named:X.BuiltInName.Heading2,font:{size:13,weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Thick,color:`accent1 lumMod 40, lumOff 60`}}},{named:X.BuiltInName.Heading3,font:{weight:700,color:J.Scheme.Tx2},border:{bottom:{style:W.StrokeStyle.Medium,color:`accent1 lumMod 40, lumOff 60`}}},{named:X.BuiltInName.Heading4,font:{weight:700,color:J.Scheme.Tx2}},{named:X.BuiltInName.Input,fill:`FFFFCC99`,font:{color:`FF3F3F76`},border:{left:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},top:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},right:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},bottom:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`}}},{named:X.BuiltInName.Output,fill:`FFF2F2F2`,font:{color:`FF3F3F3F`},border:{left:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},top:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},right:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`},bottom:{style:W.StrokeStyle.Thin,color:`FF3F3F3F`}}},{named:X.BuiltInName.Calculation,fill:`FFF2F2F2`,font:{color:`FFFA7D00`},border:{left:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},top:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},right:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`},bottom:{style:W.StrokeStyle.Thin,color:`FF7F7F7F`}}},{named:X.BuiltInName.CheckCell,fill:`FFA5A5A5`,font:{color:J.Scheme.Bg1},border:{left:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},top:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},right:{style:W.StrokeStyle.Double,color:`FF3F3F3F`},bottom:{style:W.StrokeStyle.Double,color:`FF3F3F3F`}}},{named:X.BuiltInName.LinkedCell,font:{color:`FFFA7D00`},border:{bottom:{style:W.StrokeStyle.Double,color:`FFFF8001`}}},{named:X.BuiltInName.Total,font:{weight:700,color:J.Scheme.Tx1},border:{top:{style:W.StrokeStyle.Thin,color:J.Scheme.Accent1},bottom:{style:W.StrokeStyle.Double,color:J.Scheme.Accent1}}},{named:X.BuiltInName.Good,fill:`FFC6EFCE`,font:{color:`FF006100`}},{named:X.BuiltInName.Bad,fill:`FFFFC7CE`,font:{color:`FF9C0006`}},{named:X.BuiltInName.Neutral,fill:`FFFFEB9C`,font:{color:`FF9C5700`}},{named:X.BuiltInName.Accent1},{named:X.BuiltInName.Accent1_20},{named:X.BuiltInName.Accent1_40},{named:X.BuiltInName.Accent1_60},{named:X.BuiltInName.Accent2},{named:X.BuiltInName.Accent2_20},{named:X.BuiltInName.Accent2_40},{named:X.BuiltInName.Accent2_60},{named:X.BuiltInName.Accent3},{named:X.BuiltInName.Accent3_20},{named:X.BuiltInName.Accent3_40},{named:X.BuiltInName.Accent3_60},{named:X.BuiltInName.Accent4},{named:X.BuiltInName.Accent4_20},{named:X.BuiltInName.Accent4_40},{named:X.BuiltInName.Accent4_60},{named:X.BuiltInName.Accent5},{named:X.BuiltInName.Accent5_20},{named:X.BuiltInName.Accent5_40},{named:X.BuiltInName.Accent5_60},{named:X.BuiltInName.Accent6},{named:X.BuiltInName.Accent6_20},{named:X.BuiltInName.Accent6_40},{named:X.BuiltInName.Accent6_60},{named:X.BuiltInName.ExplanatoryText,font:{style:U.Style.Italic,color:`FF7F7F7F`}}];for(let t=29;t<=52;t++){let n=(t-29)%4,r=Math.floor((t-29)/4),i=``;n===1?i=` lumMod 20, lumOff 80`:n===2?i=` lumMod 40, lumOff 60`:n===3&&(i=` lumMod 60, lumOff 40`),e[t].fill=`accent${r+1}${i}`,e[t].font={color:n===0?J.Scheme.Bg1:J.Scheme.Tx1}}return n.CommonUtils.deepFreeze(e)})(),lm=null,um=`TableStyleMedium2`;function dm(e){return!/^(-?\d|--)/.test(e)}function fm(e){let t=[],n=``,r=``,i=7;for(let a,o=0;a=e.charAt(o);o++)if(/[a-zA-Z\d\xa0-\uffff_-]/.test(a)&&i===7)n+=a;else if(a===`\\`&&i===7)i=6;else if(a===` `&&i===7){if(n!==``){if(!dm(n))return null;t.push(n),n=``}}else if(i===6)/[0-9a-f]/i.test(a)?(r+=a,i=8):(n+=a,i=7);else{if(i!==8)return null;/[0-9a-f]/i.test(a)&&r.length<6?r+=a:(n+=String.fromCodePoint(parseInt(r,16)),n+=a,r=``,i=7)}if(n!==``){if(!dm(n))return null;t.push(n)}return t.join(` `)}function pm(e,t){let n=t,r=``,i={"font-family":[]};for(let t,a=0;t=e.charAt(a);a+=1)if(n!==4||t!==`"`&&t!==`'`)if(n===3&&t===`,`)n=4,r=``;else if(n===4&&t===`,`){let e=fm(r);e&&i[`font-family`].push(e),r=``}else if(n===5&&t===` `)/^(?:\+|-)?(?:[0-9]*\.)?[0-9]+(?:deg|grad|rad|turn)$/.test(r)?(i[`font-style`]+=` `+r,r=``):--a,n=1;else if(n!==1||t!==` `&&t!==`/`)n===2&&t===` `?(/^(?:\+|-)?([0-9]*\.)?[0-9]+(?:em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|%)?$/.test(r)&&(i[`line-height`]=r),n=4,r=``):r+=t;else{if(/^(?:(?:xx|x)-large|(?:xx|s)-small|small|large|medium)$/.test(r)||/^(?:larg|small)er$/.test(r)||/^(?:\+|-)?(?:[0-9]*\.)?[0-9]+(?:em|ex|ch|rem|vh|vw|vmin|vmax|px|mm|cm|in|pt|pc|%)$/.test(r))n=t===`/`?2:4,i[`font-size`]=r;else if(/^italic$/.test(r))i[`font-style`]=r;else if(/^oblique$/.test(r))i[`font-style`]=r,n=5;else if(/^small-caps$/.test(r))i[`font-variant`]=r;else if(/^(?:bold(?:er)?|lighter|normal)$/.test(r))i[`font-weight`]=r;else if(/^[+-]?(?:[0-9]*\.)?[0-9]+(?:e[+-]?(?:0|[1-9][0-9]*))?$/.test(r)){let e=parseFloat(r);e>=1&&e<=1e3&&(i[`font-weight`]=r)}else/^(?:(?:ultra|extra|semi)-)?(?:condensed|expanded)$/.test(r)&&(i[`font-stretch`]=r);r=``}else{let o=a+1;do if(o=e.indexOf(t,o)+1,!o)return null;while(e.charAt(o-2)===`\\`);i[`font-family`].push(e.slice(a+1,o-1).replace(/\\('|")/g,`$1`)),a=o-1,n=3,r=``}if(n===3&&!/^\s*$/.test(r))return null;if(n===4){let e=fm(r);e&&i[`font-family`].push(e)}return i}function mm(e){let t=parseFloat(e);return isNaN(t)||(t%=360,t>0?t=360-t:t<0&&(t*=-1)),t}function hm(e){if(typeof e!=`string`)return null;let t=function(e){let t=pm(e,4);return t===null?null:t[`font-family`]}(e);Array.isArray(t)&&t.length===0&&(t=null),t=t?{"font-family":t}:function(e){let t=pm(e,1);return t!==null&&t[`font-size`]&&t[`font-family`].length?t:null}(e);let n=null,r=null,i=null;if(t){let e=t[`font-family`],a=e.shift();a&&(n=a),e.length>0&&(r=e),t[`font-size`]!==void 0&&(i=t[`font-size`])}return{family:n,fallbacks:r,size:i}}function gm(e,t=!1){return t===`adaptive`?e?.toCSS(`adaptive`)??null:function(e,t=!1){return e?.toHex(t)?.toString(!1).toLowerCase()??null}(e,t)}function _m(e){return e==null?null:n.CommonUtils.roundAccurately(e,2)+`pt`}function vm(e,t){let n=``,r=e&&e!==U.UnderlineStyle.None;return t&&(n+=`line-through`),r&&t&&(n+=` `),r&&(n+=`underline`,!0!==e&&e!==U.UnderlineStyle.Single&&e!==U.UnderlineStyle.SingleAccounting||(n+=` solid`),e!==U.UnderlineStyle.Double&&e!==U.UnderlineStyle.DoubleAccounting||(n+=` double`)),n}var ym=Object.freeze({underline:U.UnderlineStyle.None,strike:!1});function bm(e){if(!e)return ym;let t=U.UnderlineStyle.None,n=!1;return(e=e.toLowerCase()).includes(`underline`)&&(t=U.UnderlineStyle.Single),(e.includes(`line-through`)||e.includes(`linethrough`))&&(n=!0),{underline:t,strike:n}}function xm(e){return e?(e=e.toLowerCase())===`single`?U.UnderlineStyle.Single:e===`double`?U.UnderlineStyle.Double:e===`single-accounting`||e===`singleaccounting`?U.UnderlineStyle.SingleAccounting:e===`double-accounting`||e===`doubleaccounting`?U.UnderlineStyle.DoubleAccounting:U.UnderlineStyle.None:U.UnderlineStyle.None}function Sm(e){return e?e.toLowerCase():null}function Cm(e){return e?e===o.Overflow.Visible||e===o.Overflow.Clip||e===o.Overflow.Shrink?`nowrap`:e===o.Overflow.Wrap?`normal`:void 0:null}function wm(e,t){let n=``;if(e&&(e.includes(` `)&&(e=`"`+e+`"`),n=e),t)for(let e=0;e<t.length;e++)n.length>0&&(n+=`, `),n+=t[e];return n}function Tm(e){let t=``,n=!1,r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);n&&a!==`]`&&a!==`"`?t+=a:a===`"`?(t+=`\\0022`,n=!n):[`[`,`]`,`,`,`#`,`.`,`@`,`/`,`:`,`;`,`-`,` `].includes(a)?(t+=`\\`+a,a===`[`?n=!0:a===`]`&&(n=!1)):[`(`,`)`].includes(a)?t+=r===`_`?`\\`+a:`\\\\\\`+a:[`$`].includes(a)?t+=`\\0022`+a+`\\0022`:t+=a,r=a}return`"`+t+`"`}function Em(e){let t=e.replace(/(\\[0-9]{4})/g,e=>String.fromCharCode(parseInt(e.replace(/\\/g,``),16)));return t=t.replace(/(\\.{1})/g,e=>e.substring(e.length-1,e.length)),t.includes(`\\`)&&(t=t.replace(/(\\.{1})/g,e=>e.substring(e.length-1,e.length))),t=t.replace(/^"(.*)"$/,`$1`),t}var Dm=`Thin`,Om=`Hairline`,km=`Extra Light`,Am=`Ultra Light`,jm=`Light`,Mm=`Normal`,Nm=`Regular`,Pm=`Medium`,Fm=`Semi Bold`,Im=`Demi Bold`,Lm=`Bold`,Rm=`Extra Bold`,zm=`Ultra Bold`,Bm=`Black`,Vm=`Heavy`,Hm=`Extra Black`,Um=`Ultra Black`,Wm=`lighter`,Gm=`normal`,Km=`bold`,qm=`bolder`,Jm=new Map;Jm.set(n.CommonUtils.textToKey(Dm),100),Jm.set(n.CommonUtils.textToKey(Om),100),Jm.set(n.CommonUtils.textToKey(km),200),Jm.set(n.CommonUtils.textToKey(Am),200),Jm.set(n.CommonUtils.textToKey(jm),300),Jm.set(n.CommonUtils.textToKey(Mm),400),Jm.set(n.CommonUtils.textToKey(Nm),400),Jm.set(n.CommonUtils.textToKey(Pm),500),Jm.set(n.CommonUtils.textToKey(Fm),600),Jm.set(n.CommonUtils.textToKey(Im),600),Jm.set(n.CommonUtils.textToKey(Mm),400),Jm.set(n.CommonUtils.textToKey(Lm),700),Jm.set(n.CommonUtils.textToKey(Rm),800),Jm.set(n.CommonUtils.textToKey(zm),800),Jm.set(n.CommonUtils.textToKey(Bm),900),Jm.set(n.CommonUtils.textToKey(Vm),900),Jm.set(n.CommonUtils.textToKey(Hm),950),Jm.set(n.CommonUtils.textToKey(Um),950),Jm.set(n.CommonUtils.textToKey(Wm),100),Jm.set(n.CommonUtils.textToKey(Gm),400),Jm.set(n.CommonUtils.textToKey(Km),700),Jm.set(n.CommonUtils.textToKey(qm),700);var Ym=`xx-small`,Xm=`x-small`,Zm=`small`,Qm=`medium`,$m=`large`,eh=`x-large`,th=`xx-large`,nh=`xxx-large`,rh=`smaller`,ih=`larger`,ah=`math`,oh=RegExp(`^[0-9]*[.]?[0-9]+$`,`g`),sh=new Map;function ch(e,t=11,r=`pt`){if(!e)return null;let i=t;e=e.trim().toLowerCase();let a=r===`pt`?U.getDeviceScale():1,o=r===`pt`?1:U.getDeviceScale();if(oh.test(e)){let t=parseFloat(e);isNaN(t)||(e=t+r)}if(e.endsWith(`pt`))i=parseFloat(e.substring(0,e.length-2).trim())*o;else if(e.endsWith(`px`))i=parseFloat(e.substring(0,e.length-2).trim())/a;else if(e.endsWith(`em`))i=parseFloat(e.substring(0,e.length-2).trim())*t;else if(e.endsWith(`rem`))i=parseFloat(e.substring(0,e.length-3).trim())*t;else if(e.endsWith(`%`))i=parseFloat(e.substring(0,e.length-1).trim())/100*t;else if(typeof e==`string`){let r=n.CommonUtils.textToKey(e),i=sh.get(r);if(i)return i(t)}return isNaN(i)?null:i}sh.set(n.CommonUtils.textToKey(Ym),e=>.4*e),sh.set(n.CommonUtils.textToKey(Xm),e=>.5*e),sh.set(n.CommonUtils.textToKey(Zm),e=>.6*e),sh.set(n.CommonUtils.textToKey(Qm),e=>e),sh.set(n.CommonUtils.textToKey($m),e=>1.1*e),sh.set(n.CommonUtils.textToKey(eh),e=>1.25*e),sh.set(n.CommonUtils.textToKey(th),e=>1.5*e),sh.set(n.CommonUtils.textToKey(nh),e=>2*e),sh.set(n.CommonUtils.textToKey(rh),e=>.9*e),sh.set(n.CommonUtils.textToKey(ih),e=>1.1*e),sh.set(n.CommonUtils.textToKey(ah),e=>e);var lh=new Map;lh.set(Y.BuiltInSheetPattern.None,{description:`None`,cssKey:`none`}),lh.set(Y.BuiltInSheetPattern.Solid,{description:`Solid`,cssKey:`solid`}),lh.set(Y.BuiltInSheetPattern.DarkGray,{description:`75% gray`,cssKey:`gray-75`}),lh.set(Y.BuiltInSheetPattern.MediumGray,{description:`50% gray`,cssKey:`gray-50`}),lh.set(Y.BuiltInSheetPattern.LightGray,{description:`25% gray`,cssKey:`gray-25`}),lh.set(Y.BuiltInSheetPattern.Gray125,{description:`12.5% Gray`,cssKey:`gray-125`}),lh.set(Y.BuiltInSheetPattern.Gray0625,{description:`6.25% Gray`,cssKey:`gray-0625`}),lh.set(Y.BuiltInSheetPattern.DarkHorizontal,{description:`Horizontal Strip`,cssKey:`horz-stripe`}),lh.set(Y.BuiltInSheetPattern.DarkVertical,{description:`Vertical Strip`,cssKey:`vert-stripe`}),lh.set(Y.BuiltInSheetPattern.DarkDown,{description:`Reverse Diagonal Stripe`,cssKey:`reverse-diag-stripe`}),lh.set(Y.BuiltInSheetPattern.DarkUp,{description:`Diagonal Strip`,cssKey:`diag-stripe`}),lh.set(Y.BuiltInSheetPattern.DarkGrid,{description:`Diagonal Crosshatch`,cssKey:`diag-cross`}),lh.set(Y.BuiltInSheetPattern.DarkTrellis,{description:`Thick Diagonal Crosshatch`,cssKey:`thick-diag-cross`}),lh.set(Y.BuiltInSheetPattern.LightHorizontal,{description:`Thin Horizontal Stripe`,cssKey:`thin-horz-stripe`}),lh.set(Y.BuiltInSheetPattern.LightVertical,{description:`Thin Vertical Stripe`,cssKey:`thin-vert-stripe`}),lh.set(Y.BuiltInSheetPattern.LightDown,{description:`Thin Reverse Diagonal Stripe`,cssKey:`thin-reverse-diag-stripe`}),lh.set(Y.BuiltInSheetPattern.LightUp,{description:`Thin Diagonal Stripe`,cssKey:`thin-diag-stripe`}),lh.set(Y.BuiltInSheetPattern.LightGrid,{description:`Thin Horizontal Cross`,cssKey:`thin-horz-cross`}),lh.set(Y.BuiltInSheetPattern.LightTrellis,{description:`Thin Diagonal Cross`,cssKey:`thin-diag-cross`});var uh=``,dh=new Map;lh.forEach((e,t)=>{uh.length>0&&(uh+=`|`),uh+=`\\b`+e.cssKey+`\\b`,dh.set(e.cssKey,t)});var fh=RegExp(`(\\s*(?:${uh}))`,`g`);function ph(e){if(!e)return null;let t=e.toLowerCase();t=t.replace(/;/,``);let n=t.match(fh);if(!n)return null;let r=null;n&&n.length>0&&(r=(e=>{if(!e)return null;let n=t.indexOf(e);return t=t.substring(0,n)+t.substring(n+e.length,t.length),e.trim()})(n[0])),t=t.trim();let i=t?t.trim():null;return r||i?{patternType:dh.get(r??`solid`),foreground:i}:null}var mh=(e,t=!1,n=null)=>{if(!e)return null;let r=e.getStops();if(!r||r.length<1)return null;let i=r.length;if(i===1)return gm(r[0].getColor(),t);let a=``;for(let e=0;e<i;e++){let n=r[e],o=n.getOffset(),s=o===void 0?e/(i-1)*100:100*o;a+=`${gm(n.getColor(),t)} ${s}%${e<i-1?`, `:``}`}if(e.getGradientType()===Y.GradientType.Linear){let t=e.getAngle()??0;if(n&&n.width>0&&n.height>0&&t%90!=0){let e=n.width,r=n.height,i=(90-t)*(Math.PI/180),a=Math.cos(i)*r,o=Math.sin(i)*e;t=(90-180*Math.atan2(o,a)/Math.PI+360)%360}return`linear-gradient(${t}deg, ${a})`}return e.getGradientType()===Y.GradientType.Path||e.getGradientType()===Y.GradientType.Rect||e.getGradientType()===Y.GradientType.Shape?function(e,t,n){let r=t??qh,i=hh(r.left??0),a=hh(r.right??0),o=hh(r.top??0),s=hh(r.bottom??0);if(i>a||o>s)return null;let c=(i+a)/2,l=(o+s)/2,u=(100*c).toFixed(3),d=(100*l).toFixed(3);if(!n||n.width<=0||n.height<=0)return`radial-gradient(ellipse farthest-corner at ${u}% ${d}%, ${e})`;let f=n.width,p=n.height,m=Math.max(c,1-c),h=Math.max(l,1-l),g=Math.sqrt(m*m+h*h);return`radial-gradient(ellipse ${(g*f).toFixed(3)}px ${(g*p).toFixed(3)}px at ${u}% ${d}%, ${e})`}(a,e.getFocus(),n)||gm((r[i-1]??r[0]).getColor(),t):null},hh=e=>Math.max(0,Math.min(1,e)),gh=new Map;function _h(e){if(!e)return`none`;let t=gh.get(e.getStyle());if(!t)return null;if(t.cssKey===`none`)return t.cssKey;let n=function(e,t=!1){return e?.toRGBA(t).toString(!1)??null}(e?.getColor());return n=n?` `+n:``,`${t.size===null?``:`${t.size}pt `}${t.cssKey}${n}`}gh.set(W.StrokeStyle.None,{size:null,cssKey:`none`}),gh.set(W.StrokeStyle.DashDot,{size:.5,cssKey:`dot-dash`}),gh.set(W.StrokeStyle.DashDotDot,{size:.5,cssKey:`dot-dot-dash`}),gh.set(W.StrokeStyle.Dashed,{size:.5,cssKey:`dashed`}),gh.set(W.StrokeStyle.MediumDashed,{size:1,cssKey:`dashed`}),gh.set(W.StrokeStyle.Dotted,{size:.5,cssKey:`dotted`}),gh.set(W.StrokeStyle.MediumDashDot,{size:1,cssKey:`dot-dash`}),gh.set(W.StrokeStyle.MediumDashDotDot,{size:1,cssKey:`dot-dot-dash`}),gh.set(W.StrokeStyle.Hair,{size:.5,cssKey:`hairline`}),gh.set(W.StrokeStyle.Thin,{size:.5,cssKey:`solid`}),gh.set(W.StrokeStyle.Thick,{size:1.5,cssKey:`solid`}),gh.set(W.StrokeStyle.Medium,{size:1,cssKey:`solid`}),gh.set(W.StrokeStyle.Double,{size:2,cssKey:`double`}),gh.set(W.StrokeStyle.SlantDashDot,{size:1,cssKey:`dot-dash-slanted`});var vh=[],yh=new Set,bh=new Map,xh=(e,t)=>{let n=e.size===null?e.cssKey:`${e.size.toString()} ${e.cssKey}`;bh.set(n,t),yh.has(e.cssKey)||(vh.push(e.cssKey),yh.add(e.cssKey))};gh.forEach(xh);var Sh=Object.keys(W.StrokeStyle);for(let e=0;e<Sh.length;e++)xh({size:null,cssKey:Sh[e].toLowerCase()},W.StrokeStyle[Sh[e]]);xh({size:null,cssKey:`double`},W.StrokeStyle.Double),xh({size:null,cssKey:`solid`},W.StrokeStyle.Medium),xh({size:null,cssKey:`hidden`},W.StrokeStyle.None),vh.sort((e,t)=>t.length-e.length);var Ch=``,wh=vh.length;for(let e=0;e<wh;e++)Ch.length>0&&(Ch+=`|`),Ch+=`\\b`+vh[e]+`\\b`;var Th=RegExp(`(\\s*(?:${Ch}))`,`g`),Eh=RegExp(`(\\s*[0-9]*[.]?[0-9]+(?:pt|px){0,1})`,`g`);function Dh(e,t){if(!e)return null;let n=e.toLowerCase(),r=n.match(Th);if(!r){let e=t?.(n);return e?{color:e,style:W.StrokeStyle.Medium}:null}let i=e=>{if(!e)return null;let t=n.indexOf(e);return n=n.substring(0,t)+n.substring(t+e.length,n.length).trim(),e.trim()},a=null;if(r&&r.length>0&&(a=i(r[0])),!a)return null;let o=null;if(r=n.match(Eh),r&&r.length>0){let e=i(r[0]);o=parseFloat(e.substring(0,e.length-2))}n=n.trim();let s=n?n.trim():null,c=o===null?a:`${o.toString()} ${a}`,l=bh.get(c);return l||=bh.get(a),l?{color:s,style:l}:null}var Oh=`start`,kh=`end`,Ah=`left`,jh=`right`,Mh=`center`,Nh=`justify`,Ph=`justify-all`,Fh=`baseline`,Ih=`top`,Lh=`middle`,Rh=`bottom`,zh=`sub`,Bh=`text-top`,Vh=`justify`,Hh=`distributed`,Uh=new Map;function Wh(e){let t=n.CommonUtils.textToKey(e);return Uh.get(t)||null}Uh.set(n.CommonUtils.textToKey(Oh),o.HorizontalAlignment.Left),Uh.set(n.CommonUtils.textToKey(Ah),o.HorizontalAlignment.Left),Uh.set(n.CommonUtils.textToKey(kh),o.HorizontalAlignment.Right),Uh.set(n.CommonUtils.textToKey(jh),o.HorizontalAlignment.Right),Uh.set(n.CommonUtils.textToKey(Mh),o.HorizontalAlignment.Center),Uh.set(n.CommonUtils.textToKey(Nh),o.HorizontalAlignment.Justify),Uh.set(n.CommonUtils.textToKey(Ph),o.HorizontalAlignment.Justify);var Gh=new Map;Gh.set(n.CommonUtils.textToKey(Fh),o.VerticalAlignment.Bottom),Gh.set(n.CommonUtils.textToKey(Ih),o.VerticalAlignment.Top),Gh.set(n.CommonUtils.textToKey(Lh),o.VerticalAlignment.Center),Gh.set(n.CommonUtils.textToKey(Rh),o.VerticalAlignment.Bottom),Gh.set(n.CommonUtils.textToKey(zh),o.VerticalAlignment.Bottom),Gh.set(n.CommonUtils.textToKey(Bh),o.VerticalAlignment.Top),Gh.set(n.CommonUtils.textToKey(Vh),o.VerticalAlignment.Justify),Gh.set(n.CommonUtils.textToKey(Hh),o.VerticalAlignment.Distributed);var Kh=e=>{let t=n.CommonUtils.textToKey(e);return Gh.get(t)||null},qh=Object.freeze({left:0,right:0,top:0,bottom:0}),Jh=e=>{if(e instanceof Mp)return{color:e.toString()};if(typeof e==`string`)try{return{color:e===`none`||e===`transparent`?null:e}}catch(e){throw e}return e},Yh=n.TypedObject.PassThrough,Xh={shorthand:(e,t)=>{if(!e||e===`none`||e===`transparent`)return null;try{return t.parseColor(e).toString()}catch(e){console.warn(`error`,e)}return e},merge:(e,t,n)=>e},Zh={shorthand:(e,t)=>{if(e.isIStroke)return e.getProperties();if(typeof e==`string`&&(e=Dh(e,e=>{try{return t.parseColor(e).toString()}catch{}return null})),!e)return null;let n={};return e.style&&(n.style=e.style),e.color&&(n.color=e.color),n},properties:{color:Xh,style:Yh}},Qh={shorthand:(e,t)=>{if(e.isIBorder)return e.getProperties();if(typeof e==`string`){let n=Dh(e,e=>{try{return t.parseColor(e).toString()}catch{}return null});return{left:n,right:n,top:n,bottom:n,horizontal:null,vertical:null,diagonalUp:null,diagonalDown:null}}return e},properties:{top:Zh,left:Zh,right:Zh,bottom:Zh,horizontal:Zh,vertical:Zh,diagonalUp:Zh,diagonalDown:Zh}},$h={shorthand:(e,t)=>{if(typeof e==`string`){let t=ll.Styles.lookupDefault(e);return t===void 0?e:t}return typeof e==`number`?qc(e):null}},eg={shorthand:(e,t)=>{if(e.isIStyledFont)return e.toJSON();if(typeof e==`string`){let t=hm(e);if(t){let e={};if(t.family&&(e.family=t.family),t.fallbacks&&(e.fallbacks=t.fallbacks),t.size&&(e.size=ch(t.size)),Object.keys(t).length>0)return e}return e}return e&&(e=>{let{bold:t,italic:n,...r}=e;if(t===void 0&&n===void 0)return e;let i=r;return t!==void 0&&i.weight===void 0&&(i.weight=t===null?null:t?700:400),n!==void 0&&i.style===void 0&&(i.style=n===null?null:n?U.Style.Italic:U.Style.Normal),i})(e)},properties:{family:{shorthand:(e,t)=>hm(e)?.family??null},fallbacks:{shorthand:(e,t)=>{if(typeof e!=`string`)return e;let n=hm(e);if(!n)return null;let r=[n.family];return n.fallbacks&&(r=r.concat(n.fallbacks)),r}},size:{shorthand:(e,t)=>{let r=e;return typeof e==`string`&&(r=ch(e,t.getNormal().getFont().getSize())),isNaN(r)||typeof r!=`number`?null:(r=Math.max(1,Math.min(n.CommonUtils.roundAccurately(r,1),409)),r)}},weight:{shorthand:(e,t)=>{if(typeof e!=`string`)return e;let r=function(e){let t=400;if(t=typeof e==`number`?e:parseFloat(e),!isNaN(t))return t;if(typeof e==`string`){let t=n.CommonUtils.textToKey(e),r=Jm.get(t);if(r)return r}return t}(e);return isNaN(r)||typeof r!=`number`?null:r}},style:Yh,color:Xh,letterSpacing:Yh,underline:{shorthand:(e,t)=>e?!0===e?U.UnderlineStyle.Single:xm(e):U.UnderlineStyle.None},strike:Yh,scheme:Yh,verticalAlign:Yh,shadow:Yh,outline:Yh,extend:Yh,charset:{shorthand:(e,t)=>{if(e==null)return null;let n=typeof e==`string`?parseInt(e,10):e;return typeof n==`number`&&Number.isFinite(n)?n:null}}}},tg={properties:{horizontal:Yh,vertical:Yh,indent:{shorthand:(e,t)=>{let n=e;return typeof e==`string`&&(n=parseFloat(e)),isNaN(n)||typeof n!=`number`?null:n}},relativeIndent:Yh,overflow:Yh,rotation:{shorthand:(e,t)=>{let n=e;return typeof e==`string`&&(n=parseFloat(e)),isNaN(n)||typeof n!=`number`?null:(n%=360,n<0&&(n+=360),n)}},stacked:Yh,justifyLastLine:Yh,readingDirection:Yh}},ng={shorthand:(e,t)=>e===`none`||e===`transparent`||typeof e==`object`&&Object.keys(e).length===0?{type:Y.Type.None}:(e.getType?.(),Y.Type.None,e)},rg={shorthand:e=>{let t=Jh(e);return typeof t==`object`&&t.color&&(t.type=Y.Type.Solid),t},merge:(e,t)=>{let n=e,r=t;return n&&`color`in n&&n.color===null?{type:Y.Type.None}:n.color?n:(r?.toJSON&&(r=r.toJSON()),r?.type===Y.Type.Solid?{...r}:r?.type===Y.Type.Gradient?{type:Y.Type.Solid,color:r?.stops?.[0]?.color??J.Scheme.Bg1}:r?.type===Y.Type.Pattern?{type:Y.Type.Solid,color:r?.foreground??J.Scheme.Bg1}:n?{...n}:null)},properties:{color:Xh,type:Yh,isRotatedWithShape:Yh}},ig={shorthand:e=>(typeof e==`object`&&e.stops&&(e.type=Y.Type.Gradient),e),merge:(e,t,n)=>{let r=e,i=t;return r.stops?r:(i?.toJSON&&(i=i.toJSON()),i?.type===Y.Type.Gradient?{...i}:i?.type===Y.Type.Solid?{type:Y.Type.Gradient,stops:[{offset:0,color:i?.color??J.Scheme.Accent1},{offset:1,color:J.Scheme.Bg1}]}:i?.type===Y.Type.Pattern?{type:Y.Type.Gradient,stops:[{offset:0,color:i?.foreground??J.Scheme.Bg1},{offset:1,color:i?.background??J.Scheme.Accent1}]}:r?{...r}:null)},properties:{type:Yh,stops:{shorthand:e=>(typeof e==`string`&&(e=e.split(`,`).map(e=>e.trim())),Array.isArray(e)?e.map((e,t)=>{if(!e)return;let n=e;return typeof e==`string`&&(n=Jh(e)),e.isIColor&&(n={color:e.toString()}),n}):e),arrayType:{shorthand:e=>Jh(e),properties:{color:Xh,offset:Yh}}},gradientType:Yh,angle:Yh,focus:Yh,isRotatedWithShape:Yh}},ag={shorthand:(e,t)=>{if(typeof e==`object`){let t=e;(t.foreground||t.background||t.patternType)&&(t.type=Y.Type.Pattern,t.patternType=t.patternType??Y.BuiltInSheetPattern.Solid)}return e},merge:(e,t,n)=>{let r=e,i=t;if(r.background&&r.foreground)return r;i?.toJSON&&(i=i.toJSON());let a=Y.BuiltInSheetPattern.MediumGray;if(i?.type===Y.Type.Pattern){let e={type:Y.Type.Pattern,patternType:r.patternType??i.patternType};return i.foreground&&(e.foreground=i.foreground),i.background&&(e.background=i.background),r.foreground&&(e.foreground=r.foreground),r.background&&(e.background=r.background),e}return i?.type===Y.Type.Solid?{patternType:a,foreground:i?.color??J.Named.WindowText,background:J.Scheme.Bg1,...r}:i?.type===Y.Type.Gradient?{patternType:a,foreground:i?.stops?.[0]?.color??J.Named.WindowText,background:i?.stops?.[1]?.color??J.Scheme.Bg1,...r}:r?{type:Y.Type.Pattern,patternType:Y.BuiltInSheetPattern.Solid,foreground:J.Named.WindowText,background:J.Scheme.Bg1,...r}:null},properties:{type:Yh,patternType:Yh,foreground:Xh,background:Xh,isRotatedWithShape:Yh}},og=[ng,rg,ig,ag],sg=[];for(let e=0;e<og.length;e++){let t=og[e]?.shorthand;sg.push(t)}var cg=sg.length,lg={properties:{font:eg,fill:{shorthand:(e,t)=>{e.isIFill&&(e=e.toJSON());for(let n=0;n<cg;n++){let r=sg[n](e,t);if(r?.type)return r}return e},getSubType:(e,t)=>{let n=e.type??t?.type;return n===Y.Type.None?ng:n===Y.Type.Solid?rg:n===Y.Type.Gradient?ig:n===Y.Type.Pattern?ag:null}},alignment:tg,border:Qh,numberFormat:$h,quotePrefix:Yh,named:Yh,insets:Yh}},ug=Object.freeze([`font`,`fill`,`alignment`,`border`,`numberFormat`,`quotePrefix`,`insets`]),dg={shorthand:(e,t)=>{if(!e||typeof e!=`object`)return;let n=e.named;if(!n||(n.isINamed&&(n=n.getName()),typeof n!=`string`))return;let r=null;if(n.toLowerCase()===X.BuiltInName.Normal.toLowerCase())r=ug;else{let e=t?.getNamed(n)?.getRanged().getPropertiesAt(0,0,null);e&&(r=Object.keys(e))}let i={...e,named:n},a=r?r.length:0;for(let e=0;e<a;e++){let t=r[e];t!==`named`&&i[t]===void 0&&(i[t]=null)}return i},properties:lg.properties},fg={properties:{style:dg,name:Yh,hidden:Yh,iLevel:Yh}},pg=(e,t,n)=>{let r=e.border;if(!r)return e;let i=((e,t,n)=>{if(!e)return e;let r=null;return(e.top||e.horizontal)&&(t.rowIndex!==n.rowStart||t.colIndex<n.colStart||t.colIndex>n.colEnd)&&(r??={...e},delete r.top,e.horizontal&&(r.top=e.horizontal)),(e.bottom||e.horizontal)&&(t.rowIndex!==n.rowEnd||t.colIndex<n.colStart||t.colIndex>n.colEnd)&&(r??={...e},delete r.bottom,e.horizontal&&(r.bottom=e.horizontal)),(e.left||e.vertical)&&(t.colIndex!==n.colStart||t.rowIndex<n.rowStart||t.rowIndex>n.rowEnd)&&(r??={...e},delete r.left,e.vertical&&(r.left=e.vertical)),(e.right||e.vertical)&&(t.colIndex!==n.colEnd||t.rowIndex<n.rowStart||t.rowIndex>n.rowEnd)&&(r??={...e},delete r.right,e.vertical&&(r.right=e.vertical)),e.horizontal&&(r??={...e},delete r.horizontal),e.vertical&&(r??={...e},delete r.vertical),r??e})(r,t,n),a=e;return i!==e.border&&(a={...e},Object.keys(i).length>0?a.border=i:delete a.border),a},mg=class{constructor(e,t,n){this._permCache=null,this._table=e,this._styles=t,this._properties=n}_resolveProperties(e){let t={name:e.name},r=this._styles,i=Object.values(Np.ElementType),a=i.length;for(let o=0;o<a;o++){let a=i[o],s=e[a];s&&n.CommonUtils.isObject(s)&&(t[a]=n.TypedObject.resolveTypedUpdates(Object.freeze(s),lg,r))}return Object.freeze(t)}getCoords(){return this._table.getRange().getCoords()}getPropertiesAt(e,t){let r=this._table,i=this._styles,a=this._properties;gg.rowIndex=e,gg.colIndex=t;let o=r.getVisibleCellCoords(gg),s=r.getVisibleRefRangeCoords();if(!s)return null;let c=Math.max(0,s.colEnd-s.colStart)+1,l=Math.max(0,s.rowEnd-s.rowStart)+1,u=Math.max(0,o.rowIndex-s.rowStart),d=Math.max(0,o.colIndex-s.colStart),f=r.getStyleOptions(),p=!1,m=0;r.isHeaderVisible()&&(m=+!!r.isShowHeaders(),p=m>u);let h=!1,g=0;r.isTotalVisible()&&(g=+!!r.isShowTotals(),h=l-g<=u);let _=d===c-1&&f.showLastColumn;r.isLastColumnVisible()||(_=!1);let v=d===0&&f.showFirstColumn;r.isFirstColumnVisible()||(v=!1);let y=!p&&!h,b=y&&f.showColumnStripes,x=0,S=0,C=0,w=!1,T=0;b&&(x=a.firstColumnStripe?.size??1,S=a.secondColumnStripe?.size??1,C=d%(x+S),w=C<x,w||(C-=x),T=Math.min(c-d,w?x:S));let E=y&&f.showRowStripes,D=0,O=0,k=0,A=!1,j=0;E&&(D=a.firstRowStripe?.size??1,O=a.secondRowStripe?.size??1,k=(u-m)%(D+O),A=k<D,A||(k-=D),j=Math.min(l-u,A?D:O));let M=!1;if(p&&a.headerRow){let e=r.getColumnAt(d);M=!!e&&!e.isHiddenButton()}let N=0;p&&(N|=1),h&&(N|=2),v&&(N|=4),_&&(N|=8),u===0&&(N|=16),u===l-1&&(N|=32),d===0&&(N|=64),d===c-1&&(N|=128),u===m&&(N|=256),u===l-g-1&&(N|=512),M&&(N|=1024),m>0&&(N|=2048),g>0&&(N|=4096);let P=`${N}`+(b?`|c${w?`f`:`s`}${C},${T}`:``)+(E?`|r${A?`f`:`s`}${k},${j}`:``),F=this._permCache?.get(P);if(F!==void 0)return F;let I={rowIndex:u,colIndex:d},L={};if(a.wholeTable&&(L=a.wholeTable,L.border&&(L=pg(L,I,{rowStart:0,rowEnd:l-1,colStart:0,colEnd:c-1}))),b){let e=w?a.firstColumnStripe:a.secondColumnStripe;if(e){let t=e,r=e.border;r&&(t=pg(t,{rowIndex:u,colIndex:C},{rowStart:m,rowEnd:l-g-1,colStart:0,colEnd:T}),w&&C===0&&d>0&&r?.left&&a.secondColumnStripe?.border?.right&&(r={...t.border},t.border=r,r.left=null),w&&C===x-1&&d<c-1&&r?.right&&a.secondColumnStripe?.border?.left&&(r={...t.border},t.border=r,r.right=null)),L=n.TypedObject.resolveTypedUpdates(t,lg,i,L)}}if(E){let e=m,t=l-g-1,r=A?a.firstRowStripe:a.secondRowStripe;if(r){let o=r,s=r.border;if(s){o=pg(o,{colIndex:d,rowIndex:k},{colStart:0,colEnd:c-1,rowStart:0,rowEnd:j}),A&&k===0&&u>=e&&r.border?.top&&a.secondRowStripe?.border?.bottom&&(s={...o.border},o.border=s,s.top=null);let n=r.border?.bottom;(n&&A&&k===D-1&&u<t&&a.secondRowStripe?.border?.top||n&&u===t)&&(s={...o.border},o.border=s,s.bottom=null)}L=n.TypedObject.resolveTypedUpdates(o,lg,i,L)}}if(_&&a.lastColumn){let e=a.lastColumn;e.border&&(e=pg(e,I,{rowStart:0,rowEnd:l-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(v&&a.firstColumn){let e=a.firstColumn;e.border&&(e=pg(e,I,{rowStart:0,rowEnd:l-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(p&&a.headerRow){let e=a.headerRow;e.border&&(e=pg(e,I,{rowStart:0,rowEnd:m-1,colStart:0,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(h&&a.totalRow){let e=a.totalRow;e.border&&(e=pg(e,I,{rowStart:l-g,rowEnd:l-1,colStart:0,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(p&&v&&a.firstHeaderCell){let e=a.firstHeaderCell;e.border&&(e=pg(e,I,{rowStart:0,rowEnd:m-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(p&&_&&a.lastHeaderCell){let e=a.lastHeaderCell;e.border&&(e=pg(e,I,{rowStart:0,rowEnd:m-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(h&&v&&a.firstTotalCell){let e=a.firstTotalCell;e.border&&(e=pg(e,I,{rowStart:l-g,rowEnd:l-1,colStart:0,colEnd:0})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}if(h&&_&&a.lastTotalCell){let e=a.lastTotalCell;e.border&&(e=pg(e,I,{rowStart:l-g,rowEnd:l-1,colStart:c-1,colEnd:c-1})),L=n.TypedObject.resolveTypedUpdates(e,lg,i,L)}M&&(L.insets={right:15});let ee=this._permCache;return ee||=this._permCache=new Map,ee.set(P,Object.freeze(L)),L}},hg=class{constructor(e,t,r,i){this._styles=e,this._isBuiltIn=r,this._doDelete=i,this._properties=n.CommonUtils.deepFreeze(this._resolveProperties(t)),this.isShownInTableStyles()}_resolveProperties(e){let t={name:e.name};e.table!==void 0&&(t.table=e.table),e.pivot!==void 0&&(t.pivot=e.pivot);let r=this._styles,i=Object.values(Np.ElementType),a=i.length;for(let o=0;o<a;o++){let a=i[o],s=e[a];s&&n.CommonUtils.isObject(s)&&(t[a]=n.TypedObject.resolveTypedUpdates(Object.freeze(s),lg,r))}return Object.freeze(t)}delete(){if(!this._doDelete)throw Error(`Not able to delete builtin style.`);this._doDelete(this._properties.name)}getRanged(e){return new mg(e,this._styles,this._properties)}getProperties(){return this._properties}getName(){return this._properties.name}isShownInTableStyles(){return!1!==this._properties.table}isShownInPivotStyles(){return this._properties.pivot??!1}isBuiltIn(){return this._isBuiltIn}toJSON(){let e=n.CommonUtils.cloneObject(this._properties);return e.name=this._properties.name,e}get isITableStyle(){return!0}},gg={rowIndex:0,colIndex:0};function _g(e,t){if(!e||!t)return e===t;if(e===t)return!0;if(e.style!==t.style)return!1;if(e.color===t.color)return!0;let n=e.color;(e&&e.color).isIColor&&(n=e.color.toString());let r=t.color;return(t&&t.color).isIColor&&(r=t.color.toString()),n===r}function vg(e,t,n,r){let i=r?W.Edge.Left:W.Edge.Top,a=r?W.Edge.Right:W.Edge.Bottom,o=r?W.Edge.Vertical:W.Edge.Horizontal,s=r?t.colStart:t.rowStart,c=r?t.colEnd:t.rowEnd,l=r?n.colStart:n.rowStart,u=r?n.colEnd:n.rowEnd,d=s===l,f=c===u,p={...e};return d&&f?e:(delete p[i],delete p[a],delete p[o],d?e[i]!==void 0&&(p[i]=e[i]):e[o]!==void 0&&(p[i]=e[o]),f?e[a]!==void 0&&(p[a]=e[a]):e[o]!==void 0&&(p[a]=e[o]),u-l>0&&e[o]!==void 0&&(p[o]=e[o]),Object.keys(p).length===0?null:p)}function yg(e,t,n){let r=e.colEnd-e.colStart+1,i=e.rowEnd-e.rowStart+1,a=t.border;if(r===1&&i===1||!a)return[[e,t]];let o=n!==void 0&&e.colEnd>=n.colEnd,s=n!==void 0&&e.rowEnd>=n.rowEnd;if((o||s)&&(a={...a},o&&(a[W.Edge.Vertical]===void 0?delete a[W.Edge.Right]:a[W.Edge.Right]=a[W.Edge.Vertical]),s&&(a[W.Edge.Horizontal]===void 0?delete a[W.Edge.Bottom]:a[W.Edge.Bottom]=a[W.Edge.Horizontal]),Object.keys(a).length===0)){let n={...t};return delete n.border,Object.keys(n).length>0?[[e,n]]:[]}let c=r===1||_g(a[W.Edge.Left],a[W.Edge.Vertical])&&_g(a[W.Edge.Right],a[W.Edge.Vertical]),l=i===1||_g(a[W.Edge.Top],a[W.Edge.Horizontal])&&_g(a[W.Edge.Bottom],a[W.Edge.Horizontal]);if(c&&l)return[[e,a===t.border?t:{...t,border:a}]];let u=[],d=(e,t,n,r,a)=>{let o=vg(n,e,t,a);if(!o)return;if(!a||i===1){let e={...r};e.border=o,u.push([t,e]);return}let c={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowStart};if(d(t,c,o,r,!1),i>2||s){let e={colStart:t.colStart,rowStart:t.rowStart+1,colEnd:t.colEnd,rowEnd:s?t.rowEnd:t.rowEnd-1};d(t,e,o,r,!1)}if(!s){let e={colStart:t.colStart,rowStart:t.rowEnd,colEnd:t.colEnd,rowEnd:t.rowEnd};d(t,e,o,r,!1)}};return r===1?d(e,e,a,t,!0):(d(e,{colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colStart,rowEnd:e.rowEnd},a,t,!0),(r>2||o)&&d(e,{colStart:e.colStart+1,rowStart:e.rowStart,colEnd:o?e.colEnd:e.colEnd-1,rowEnd:e.rowEnd},a,t,!0),o||d(e,{colStart:e.colEnd,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd},a,t,!0)),u}var bg=(e,t,n,r)=>{let i=t,a=[],o=e[i],s=o.value;for(;o;){if(r){let e=o.rowEnd-o.rowStart+1;a.push({min:o.colStart,max:o.colEnd,value:e,touchMax:o.rowEnd})}else{let e=o.colEnd-o.colStart+1;a.push({min:o.rowStart,max:o.rowEnd,value:e,touchMax:o.colEnd})}i++,o=e[i],o&&o.value!==s&&(o=null)}let c=a.length;if(c===0)return i;if(c===1)return n.push(a[0]),i;a.sort((e,t)=>e.min===t.min?e.max-t.max:e.min-t.min);let l={...a[0]};for(let e=1;e<c;e++){let t=a[e],r=l.max,i=t.min;if(i<=r+1)if(i<=r){let e=t.max,a=t.value,o=l.value,s=l.min,c=Math.min(r,e);i>s&&n.push({min:s,max:i-1,value:o,touchMax:l.touchMax});let u=o+a,d=Math.max(l.touchMax,t.touchMax);c<Math.max(r,e)?(n.push({min:i,max:c,value:u,touchMax:d}),l=e>c?{min:c+1,max:e,value:a,touchMax:t.touchMax}:{min:c+1,max:r,value:o,touchMax:l.touchMax}):l={min:i,max:c,value:u,touchMax:d}}else n.push(l),l={...t};else n.push(l),l={...t}}return n.push(l),i},xg={onUpdate:(e,t)=>({...e,s:t}),onSplit:e=>[e.value,e.value],onMerge:(e,t,r,i)=>{if(e.s===t.s)return n.CommonUtils.deepEqual(e,t)?e:void 0}},Sg=(e,t,n,r,i)=>{let a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd,l=i?c-o+1:s-a+1,u=Math.floor(.5*l),d=i?c:s,f=e.length,p=0;do{let t=e[p].value,a=[];p=bg(e,p,a,i);let o=a.length;for(let e=0;e<o;e++){let o=a[e];o.value<u||o.touchMax<d||!i&&o.min>=c||(i||n===null||n!==t)&&(r=qr(Kr(r??[],{min:o.min,max:o.max,value:t},xg)))}}while(p<f);return r};function Cg(e,r){let i=e.before,a=e.after;if(i&&r){let o=e.amount,s=e.axis===t.IRange.Axis.Column,c=s?`colStart`:`rowStart`,l=s?`colEnd`:`rowEnd`,u=r[c],d=r[l],f=i[c]<=u,p=i[l]>=d,m=a?a[c]:-1;if(f&&p)return i;if(f&&o>0&&m!==u)a={...a},a[c]=u;else if(p)if(o>0){if(m>d)throw new n.OutOfBoundsError(``);a={...a},a[l]=d}else a?(a={...a},a[l]=d):(a={...i},a[c]=e.intersect[c])}if(!a)return null;if(r&&!n.CoordUtils.isRangeWithinRange(a,r))throw new n.OutOfBoundsError(``);return n.CoordUtils.sanitizeRange(a)}var wg=e=>{if(e==null)return null;let t,n=Object.keys(e),r=n.length;for(let i=0;i<r;i++){let r=n[i],a=e[r],o=a;if(a===null)o=void 0;else if(a&&typeof a==`object`&&!Array.isArray(a)){let e=wg(a);o=e===null?void 0:e}if(o!==a){if(t===void 0){t={};for(let r=0;r<i;r++)t[n[r]]=e[n[r]]}o!==void 0&&(t[r]=o)}else t!==void 0&&(t[r]=a)}return t===void 0?r===0?null:e:Object.keys(t).length===0?null:t},Tg=class e{constructor(e,n,r,i,a,o){this._c=e,this._getEntireRange=n,this._r=r,this._p=i??null,this._t=a??null,this._o=o??t.IRange.AxisSelection.Both,this._e=this._p===null||Object.keys(this._p).length===1&&this._p.named===X.BuiltInName.Normal}isEmpty(){return this._e}getProperties(){return this._p}getCoords(){return this._r}getUpdateProperties(){return this._u}static{this.BorderKeys=[`border`]}static{this.FillKeys=[`fill`]}static{this.ContentKeys=[`font`,`numberFormat`,`alignment`,`quotePrefix`,`named`,`insets`]}splitByFeature(){let t=(e,t)=>{if(!e)return;let n;for(let r=0;r<t.length;r++){let i=t[r];e[i]!==void 0&&((n??={})[i]=e[i])}return n},n=n=>{let r=t(this._p,n),i=t(this._u,n);if(r===void 0&&i===void 0)return null;let a=new e(this._c,this._getEntireRange,this._r,r??null,this._t,this._o);return i!==void 0&&(a._u=i),a};return{border:n(e.BorderKeys),fill:n(e.FillKeys),content:n(e.ContentKeys)}}static compose(t,n,r){if(!t&&!n&&!r)return null;if(t&&!n&&!r)return t;if(!t&&n&&!r)return n;if(!t&&!n&&r)return r;let i=t??r??n,a={...r?r._p:null,...n?n._p:null,...t?t._p:null};return new e(i._c,i._getEntireRange,i._r,a,i._t,i._o)}static mergeOverlay(t,n){if(!t)return n??null;if(!n)return t;let r=n._p?.border?n:t,i={...t._p,...n._p};return new e(r._c,r._getEntireRange,r._r,i,r._t,r._o)}cloneWithUpdate(t,r=!1){if(t===void 0)return this;let i=this._c,a=this._r,o=this._p,s=n.TypedObject.resolveTypedUpdates(t,dg,i,o,r);if(r){let t=wg(s),n=new e(i,this._getEntireRange,a,t,this._t,this._o);return t!==s&&(n._u=s),n}return new e(i,this._getEntireRange,a,s,this._t,this._o)}copyTo(t,r){let i=this._c,a=this._r,o=t.rowStart-a.rowStart,s=t.colStart-a.colStart,c=null;return n.CoordUtils.isEqualRanges(a,this._t)||(c=n.CoordUtils.translateRange(a,o,s)),{...t,value:new e(i,this._getEntireRange,t,this._p,c,this._o)}}canTile(e,t){return!(this._u??this._p)?.border}_createShifted(t){return new e(this._c,this._getEntireRange,t,this._p,this._t,this._o)}getShifted(e){let t=this._getEntireRange?.(),n=Cg(e,t);return n?{...n,value:this._createShifted(n)}:null}getSplit(n,r){let i=this._c,a=this._u,o=a??this._p,s=this._r,c=o,l=n[0],u=o,d=n[1],f=o?o.border:null;if(f){let e=r===t.IRange.Axis.Column;if(e?f.left!==void 0||f.right!==void 0||f.vertical!==void 0:f.top!==void 0||f.bottom!==void 0||f.horizontal!==void 0){c={...c};let t=vg(f,s,l,e);t?c.border=t:t===null&&delete c.border,u={...u};let n=vg(f,s,d,e);n?u.border=n:n===null&&delete u.border}}let p=this._t,m=this._o,h=this._getEntireRange;if(a){let t=new e(i,h,n[0],wg(c),p,m);t._u=c;let r=new e(i,h,n[1],wg(u),p,m);return r._u=u,[t,r]}return[new e(i,h,n[0],c,p,m),new e(i,h,n[1],u,p,m)]}getMerged(r,i,a){let o=a===t.IRange.Axis.Column,s=this._p,c=r._p;if(s&&!c||c&&!s||!s&&!c)return;let l=Object.keys(s),u=Object.keys(c),d=l.length;if(d!==u.length)return;for(let e=0;e<d;e++){let t=l[e];if(t===`border`)continue;let r=s[t],i=c[t];if(!n.CommonUtils.deepEqual(r,i))return}let f=s.border,p=c.border;if(f&&!p||p&&!f)return;let m=this._c;if(f||p){let t=o?W.Edge.Top:W.Edge.Left,a=o?W.Edge.Bottom:W.Edge.Right;if(!_g(f[t],p[t])||!_g(f[a],p[a]))return;let c=this._r,l=r._r,u=1+(o?c.rowEnd-c.rowStart:c.colEnd-c.colStart),d=1+(o?c.colEnd-c.colStart:c.rowEnd-c.rowStart),h=1+(o?l.colEnd-l.colStart:l.rowEnd-l.rowStart),g=o?W.Edge.Horizontal:W.Edge.Vertical;if(u>1&&!_g(f[g],p[g]))return;let _=o?W.Edge.Right:W.Edge.Bottom,v=o?W.Edge.Left:W.Edge.Top;if(!_g(f[_],p[v]))return;let y=o?W.Edge.Vertical:W.Edge.Horizontal,b=f[_];if(d>1&&!_g(b,f[y]))return;let x=h===1?p[v]:p[y];if(h>1&&!_g(x,p[y])||!_g(b,x))return;let S={border:{[t]:f[t],[a]:f[a],[g]:f[g],[y]:b,[v]:f[v],[_]:p[_]}},C=n.TypedObject.resolveTypedUpdates(S,lg,m,s);return new e(m,this._getEntireRange,i,C,this._t,this._o)}return new e(m,this._getEntireRange,i,this._p,this._t,this._o)}hasTrailingEdge(){return!0}isMergeOnShift(){return!0}getInnerBorder(e){let t=this._p?.border;if(!t)return null;let r=this._t??this._r;if(!r||!n.CoordUtils.isRangeWithinRange(e,r))return null;let i=this._localizeBorderRange(t,r,e);return i?i.horizontal===void 0&&i.vertical===void 0?null:i:null}_localizeBorderRange(e,t,n){if(!e)return;let r=null,i=t.rowStart,a=t.rowEnd,o=n.rowStart,s=n.rowEnd;e.top&&o===i&&(r??={},r.top=e.top),e.bottom&&s===a&&(r??={},r.bottom=e.bottom),e.horizontal&&(s-o>0&&(r??={},r.horizontal=e.horizontal),o>i&&(r??={},r.top=e.horizontal),s<a&&(r??={},r.bottom=e.horizontal));let c=t.colStart,l=t.colEnd,u=n.colStart,d=n.colEnd;return e.left&&u===c&&(r??={},r.left=e.left),e.right&&d===l&&(r??={},r.right=e.right),e.vertical&&(d-u>0&&(r??={},r.vertical=e.vertical),u>c&&(r??={},r.left=e.vertical),d<l&&(r??={},r.right=e.vertical)),r}_localizeBorder(e,t,n,r){if(!e)return;let i=null,a=t.rowStart,o=t.rowEnd;e.top&&n===a&&(i??={},i.top=e.top),e.bottom&&n===o&&(i??={},i.bottom=e.bottom),e.horizontal&&(n>a&&(i??={},i.top=e.horizontal),n<o&&(i??={},i.bottom=e.horizontal));let s=t.colStart,c=t.colEnd;return e.left&&r===s&&(i??={},i.left=e.left),e.right&&r===c&&(i??={},i.right=e.right),e.vertical&&(r>s&&(i??={},i.left=e.vertical),r<c&&(i??={},i.right=e.vertical)),i}getPropertiesAt(e,t,n){let r=this._p,i=r,a=this._t;if(a){let n=this._r,r=a.colEnd-a.colStart+1,i=a.rowEnd-a.rowStart+1;t=n.colStart+(t-n.colStart+(a.colStart-n.colStart))%r,e=n.rowStart+(e-n.rowStart+(a.rowStart-n.rowStart))%i}let o=i?.border;if(o&&i){let n=a??this._r,s=this._localizeBorder(o,n,e,t);s!==void 0&&(i===r&&(i={...i}),s===null?delete i.border:i.border=s)}return i}toJSON(){let e=n.CommonUtils.toSafeJSON(this._p);if(!e)return e;let t=e.border;return t&&(t.top?.style===W.StrokeStyle.None&&delete t.top,t.bottom?.style===W.StrokeStyle.None&&delete t.bottom,t.left?.style===W.StrokeStyle.None&&delete t.left,t.right?.style===W.StrokeStyle.None&&delete t.right,t.horizontal?.style===W.StrokeStyle.None&&delete t.horizontal,t.vertical?.style===W.StrokeStyle.None&&delete t.vertical,Object.keys(t).length===0&&delete e.border),e}},Eg=class extends Tg{constructor(e,t){super(e,null,n.CoordUtils.EmptyRange,t)}isEmpty(){return this._p===null}getCoords(){return this._r}cloneWithUpdate(e){if(e===void 0)return this;let t=this._c,r=this._r;return new Tg(t,null,r,n.TypedObject.resolveTypedUpdates(e,lg,t,this._p))}_createShifted(e){return new Tg(this._c,null,e,this._p)}getShifted(e){return e.after?{...e.after,value:this._createShifted(n.CoordUtils.sanitizeRange(e.after))}:null}getSplit(e,t){let n=this._c,r=this._p;return[new Tg(n,null,e[0],r),new Tg(n,null,e[1],r)]}getMerged(e,t,r){let i=this._p,a=e._p;if(i&&!a||a&&!i||!i&&!a)return;let o=Object.keys(i),s=Object.keys(a);if(i.named===X.BuiltInName.Normal&&(o=o.filter(e=>e.toLowerCase()!==X.BuiltInName.Normal)),a.named===X.BuiltInName.Normal&&(s=s.filter(e=>e.toLowerCase()!==X.BuiltInName.Normal)),o.length!==s.length)return;for(let e=0;e<o.length;e++){let t=o[e],r=i[t],s=a[t];if(!n.CommonUtils.deepEqual(r,s))return}let c=this._c;return new Tg(c,null,t,this._p)}getPropertiesAt(e,t){return this._p}toJSON(){return n.CommonUtils.toSafeJSON(this._p)}},Dg=class{constructor(e,t,n,r=null){this._name=t.name,this._properties=t,this._rangeStyle=new Eg(e,t.style),this._doDelete=n,this._builtInID=r}getRanged(){return this._rangeStyle}getName(){return this._name}isHidden(){return this._properties.hidden??!1}getILevel(){return this._properties.iLevel??null}getBuiltInID(){return this._builtInID}delete(){this._doDelete?.(this)}toJSON(){return this._properties?n.CommonUtils.toSafeJSON(this._properties):null}get isINamed(){return!0}},Og=class{constructor(e,t,r,i,a){this._state=e,this._normalJSON=t??{},this._toJSONInternal=r,this._fromJSONInternal=i,this._onLastEnd=a,this._state.openScopes.add(this),this._isClosed=!1,this._state.byJSONs.set(n.BufferUtils.JSONStableStringify(this._normalJSON),0),this._state.byIds.set(0,this._normalJSON)}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}getElementID(e){if(this._isClosed)throw Error(`PersistScope is closed.`);e??={};let t=n.BufferUtils.JSONStableStringify(e),r=this._state.byJSONs.get(t);return r!==void 0||(r=this._state.byJSONs.size,this._state.byJSONs.set(t,r),this._state.byIds.set(r,e)),r}getElementJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=JSON.parse(JSON.stringify(e||{}));this._fromJSONInternal(t);let r=t.direct,i=r?r.length:0;for(let e=0;e<i;e++){let t=e,i=r[e],a=n.BufferUtils.JSONStableStringify(i);this._state.byIds.set(t,i),this._state.byJSONs.set(a,t)}}toJSON(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byIds.forEach((t,n)=>{e[n]=t}),e.length===1&&e.splice(0,1),this._toJSONInternal(e)}},kg=class{constructor(e=null,t=null,n=11){this._defaultTableStyle=null,this._theme=e??new tm().getDefaultTheme(),this._defaultFontSize=n;let r=this;this._emitter=new v(this),this._schemeLookup=e=>r._theme.schemeLookup()(e),this._customIndexedColors=this._fromJSONIndexedColors(t),this._indexedLookup=e=>this._customIndexedColors[e]??null,this._initializeBuiltIns(),this._customCellStyles=new Map,this._customTableStyles=new Map,this._customIndexedColors=[],this._mruColors=[],this._persistCache=null}_initializeNamedStyles(e,t){let r=e?e.length:0;for(let i=0;i<r;i++){let r=e[i],a={...r},o=r.named;delete a.named;let s=n.TypedObject.resolveTypedUpdates(a,lg,this),c=new Dg(this,{name:o,style:s},this._hideOrRemoveNamed.bind(this),i);o===X.BuiltInName.Normal&&(this._normalRanged=c.getRanged(),this._normalStyle=v_(void 0,this,null)),t.set(o.toLowerCase(),c)}}_initializeTableStyles(){let e=(()=>{if(lm)return lm;let e=new Map;lm=e;let t=(e,t)=>{if(t===0)return`TableStyleNone`;let n=`Custom`;return e===`l`?n=`Light`:e===`m`?n=`Medium`:e===`d`&&(n=`Dark`),`TableStyle${n}${t}`},n=(e,t=0)=>t>0?`${e} lumMod ${100-t}, lumOff ${t}`:t<0?`${e} lumMod ${100+t}`:e,r=e=>({type:Y.Type.Pattern,patternType:Y.BuiltInSheetPattern.Solid,foreground:e,background:e}),i=(e,t=!1)=>{let n={color:e};return t&&(n.weight=700),n},a=(e,t=W.StrokeStyle.Thin)=>({style:t,color:e}),o=(e,t)=>{for(let n=0;n<7;n++)e.push(t(`accent${n+1}`))},s=0,c=[];c.push([`dk1`,n(`bg1`,-15),`dk1`]),o(c,e=>[n(e,-25),n(e,80),e]),s=1;for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1]??l,d=c[n][2]??l;e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(l),border:{top:a(d),bottom:a(d)}},headerRow:{font:i(l,!0),border:{bottom:a(d)}},totalRow:{font:i(l,!0),border:{top:a(d)}},firstColumn:{font:i(l,!0)},lastColumn:{font:i(l,!0)},firstRowStripe:{fill:r(u)},firstColumnStripe:{fill:r(u)}}))}s+=7,c=[],c.push([`dk1`,`dk1`,`lt1`]),o(c,e=>[`dk1`,e,`lt1`]);for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(l),border:{left:a(u),right:a(u),top:a(u),bottom:a(u)}},headerRow:{font:i(d,!0),fill:r(u)},totalRow:{font:i(l,!0),border:{top:a(u,W.StrokeStyle.Double)}},firstColumn:{font:i(l,!0)},lastColumn:{font:i(l,!0)},firstRowStripe:{border:{top:a(u)}},secondRowStripe:{border:{top:a(u)}},firstColumnStripe:{border:{left:a(u)}},secondColumnStripe:{border:{left:a(u)}}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15)]),o(c,e=>[e,n(e,80)]);for(let n=0;n<7;n++){let o=t(`l`,n+s),l=c[n][0],u=c[n][1];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),border:{left:a(l),right:a(l),top:a(l),bottom:a(l),horizontal:a(l),vertical:a(l)}},headerRow:{font:i(`dk1`,!0)},totalRow:{font:i(`dk1`,!0),border:{top:a(l,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(u)},firstColumnStripe:{fill:r(u)}}))}s=1,c=[],c.push([`dk1`,`dk1`,n(`bg1`,-15)]),o(c,e=>[e,n(e,40),n(e,80)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),border:{left:a(u),right:a(u),top:a(u),bottom:a(u),horizontal:a(u)}},headerRow:{font:i(`lt1`,!0),fill:r(l)},totalRow:{font:i(`dk1`,!0),border:{top:a(l,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35)]),o(c,e=>[e,n(e,80),n(e,60)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(u),border:{horizontal:a(`lt1`),vertical:a(`lt1`)}},headerRow:{font:i(`lt1`,!0),fill:r(l),border:{bottom:a(`lt1`,W.StrokeStyle.Thick)}},totalRow:{font:i(`lt1`,!0),fill:r(l),border:{top:a(`lt1`,W.StrokeStyle.Thick)}},firstColumn:{font:i(`lt1`,!0),fill:r(l)},lastColumn:{font:i(`lt1`,!0),fill:r(l)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35)]),o(c,e=>[e,n(e,80),n(e,60)]);for(let o=0;o<7;o++){let l=t(`m`,o+s),u=c[o][0],d=n(`bg1`,-15);e.set(l.toLocaleLowerCase(),Object.freeze({name:l,wholeTable:{font:i(`dk1`),border:{top:a(`dk1`,W.StrokeStyle.Medium),bottom:a(`dk1`,W.StrokeStyle.Medium),left:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,right:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,horizontal:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0,vertical:o===0?a(`dk1`,W.StrokeStyle.Thin):void 0}},headerRow:{font:i(`lt1`,!0),fill:r(u),border:{bottom:a(`dk1`,W.StrokeStyle.Medium)}},totalRow:{border:{top:a(`dk1`,W.StrokeStyle.Double)}},firstColumn:{font:i(`lt1`,!0),fill:r(u)},lastColumn:{font:i(`lt1`,!0),fill:r(u)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([`dk1`,n(`bg1`,-15),n(`bg1`,-35),`dk1`]),o(c,e=>[e,n(e,80),n(e,60),n(e,40)]);for(let n=0;n<7;n++){let o=t(`m`,n+s),l=c[n][0],u=c[n][1],d=c[n][2],f=c[n][3];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(u),border:{top:a(f),right:a(f),left:a(f),bottom:a(f),vertical:a(f),horizontal:a(f)}},headerRow:{font:i(`dk1`),fill:r(u)},totalRow:{font:i(`dk1`),border:{top:a(l,W.StrokeStyle.Medium)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s=1,c=[],c.push([`dk1`,n(`dk1`,15),n(`dk1`,25),n(`dk1`,50)]),o(c,e=>[`dk1`,n(e,-50),n(e,-25),e]);for(let n=0;n<7;n++){let o=t(`d`,n+s),l=c[n][0],u=c[n][1],d=c[n][2],f=c[n][3];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`lt1`),fill:r(f)},headerRow:{font:i(`lt1`,!0),fill:r(l),border:{bottom:a(`lt1`,W.StrokeStyle.Medium)}},totalRow:{font:i(`lt1`,!0),fill:r(u),border:{top:a(`lt1`,W.StrokeStyle.Medium)}},firstColumn:{font:i(`lt1`,!0),fill:r(d),border:{right:a(`lt1`,W.StrokeStyle.Medium)}},lastColumn:{font:i(`lt1`,!0),fill:r(d),border:{left:a(`lt1`,W.StrokeStyle.Medium)}},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}s+=7,c=[],c.push([n(`bg1`,-15),`dk1`,n(`bg1`,-35)]),c.push([n(`accent1`,80),`accent2`,n(`accent1`,60)]),c.push([n(`accent3`,80),`accent4`,n(`accent3`,60)]),c.push([n(`accent5`,80),`accent6`,n(`accent5`,60)]);for(let n=0;n<4;n++){let o=t(`d`,n+s),l=c[n][0],u=c[n][1],d=c[n][2];e.set(o.toLocaleLowerCase(),Object.freeze({name:o,wholeTable:{font:i(`dk1`),fill:r(l)},headerRow:{font:i(`lt1`,!0),fill:r(u)},totalRow:{font:i(`dk1`,!0),border:{top:a(`dk1`,W.StrokeStyle.Double)}},firstColumn:{font:i(`dk1`,!0)},lastColumn:{font:i(`dk1`,!0)},firstRowStripe:{fill:r(d)},firstColumnStripe:{fill:r(d)}}))}return e})(),t=new Map;return e.forEach((e,n)=>{let r=e.name.toLowerCase(),i=new hg(this,e,!0);t.set(r,i)}),t}_initializeBuiltIns(){let e=new Map;this._builtInsCellStyles=e,this._initializeNamedStyles(cm,e),this._builtInsTableStyles=this._initializeTableStyles(),this._emptyTableStyle=new Np.Empty(this._normalStyle)}getNormal(){return this._normalStyle}getNormalRanged(){return this._normalRanged}setTheme(e){this._theme=e,this._emitter.notify(`onThemeChange`),this._emitter.notify(`onAnyChange`)}getTheme(){return this._theme}setDefaultFontSize(e){this._defaultFontSize=e,this._emitter.notify(`onDefaultFontChange`),this._emitter.notify(`onAnyChange`)}getDefaultFontSize(){return this._defaultFontSize}beginPersist(){return this._persistCache||={byIds:new Map,byJSONs:new Map,openScopes:new Set},new Og(this._persistCache,{},this._toJSONInternal.bind(this),this._fromJSONInternal.bind(this),()=>{this._persistCache=null})}getNamed(e){if(!e)return null;e=e.toLowerCase();let t=null;return this._customCellStyles&&(t=this._customCellStyles.get(e)),t||=this._builtInsCellStyles.get(e),t??null}getCustomNamed(){let e=Array.from(this._customCellStyles.values());return e.sort((e,t)=>e.getName().localeCompare(t.getName())),e}setNamed(e,t=!1){if(!e||!e.name||!e.style)throw new n.NullNotAllowedError;this.validateStyleName(e.name,!1);let r=this._setCustomCellStyleInternal(e,t);return this._emitter.notify(`onNamedStylesChange`),this._emitter.notify(`onAnyChange`),r}_setCustomCellStyleInternal(e,t=!1,r=0){let i=e.name.toLowerCase(),a=this._builtInsCellStyles.get(i),o=a?.getBuiltInID()??null,s=null;t&&(s=(this._customCellStyles.get(i)??a)?._properties??null);let c=n_(e.style,this.getNormal());e={...e,style:c};let l=n.TypedObject.resolveTypedUpdates(e,fg,this,s),u=l.style,d=u?.named;if(typeof d==`string`&&d.toLowerCase()!==i){let e={...u};delete e.named;let t=d.toLowerCase()===X.BuiltInName.Normal.toLowerCase()?null:this.getNamed(d)?.getRanged().getPropertiesAt(0,0,null),r=t?n.TypedObject.resolveTypedUpdates(e,lg,this,t):e;l={...l,style:r}}let f=new Dg(this,l,this._hideOrRemoveNamed.bind(this),o);return l.name===X.BuiltInName.Normal&&(this._normalRanged=f.getRanged(),this._normalStyle=v_(void 0,this,null)),this._customCellStyles.set(i,f),f}_setCustomTableStyleInternal(e,t){let n=e.toLowerCase(),r=this._customTableStyles.get(n)??this._builtInsTableStyles.get(n);r&&(e=r.getName());let i=new hg(this,{...t,name:e},!1,this._deleteCustomTableStyle.bind(this));return this._customTableStyles.set(n,i),i}_hideOrRemoveNamed(e){let t=null;if(t=typeof e==`string`?e:e?.getName?.(),!t||(t=t.toLowerCase(),t===X.BuiltInName.Normal.toLowerCase()))return!1;let n=this._builtInsCellStyles.get(t),r=!1;if(n&&!n.isHidden()){let e=n.toJSON();this.setNamed({...e,hidden:!0}),r=!0}else t=t.toLowerCase(),r=this._customCellStyles.delete(t);return r&&(this._emitter.notify(`onNamedStylesChange`),this._emitter.notify(`onAnyChange`)),r}getTableStyle(e){if(!e)return this._emptyTableStyle;let t=this._customTableStyles.get(e.toLowerCase());return t||=this._builtInsTableStyles.get(e.toLowerCase()),t??null}getCustomTableStyles(){let e=Array.from(this._customTableStyles.values());return e.sort((e,t)=>e.getName().localeCompare(t.getName())),e}setDefaultTableStyle(e){let t=e?.toLowerCase();return this._defaultTableStyle=this._customTableStyles.get(t)??this._builtInsTableStyles.get(t)??this._builtInsTableStyles.get(`tablestylemedium2`),this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),e===this._defaultTableStyle.getName()}getDefaultTableStyle(){return this._defaultTableStyle||=this._builtInsTableStyles.get(um.toLowerCase()),this._defaultTableStyle}_deleteCustomTableStyle(e){let t=this._customTableStyles.get(e?.toLowerCase());return!!t&&(this._customTableStyles.delete(e.toLowerCase()),this._defaultTableStyle?.getName()===t.getName()&&(this._defaultTableStyle=this._builtInsTableStyles.get(um.toLowerCase())),this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),!0)}setCustomTableStyle(e,t){let n=this._setCustomTableStyleInternal(e,t);return this._emitter.notify(`onTableStylesChange`),this._emitter.notify(`onAnyChange`),n}validateStyleName(e,t=!1){if(!e||e.trim().length===0)throw Error(`Style name cannot be empty.`);if(t&&this.getNamed(e)!==null)throw Error(`Style name is already taken.`)}normalize(e,t){if(!e)return null;let r=n.TypedObject.resolveTypedUpdates(e,lg,this);if(!r)return null;let i=null,a=t??r.named??X.BuiltInName.Normal;i=a===X.BuiltInName.Normal?this._normalRanged.getPropertiesAt(0,0,null):this.getNamed(a)?.getRanged().getPropertiesAt(0,0,null);let o=this.getTheme().getFontScheme(),s={font:{size:this.getDefaultFontSize(),family:o.getMinorFont(),fallbacks:o.getMinorFallbacks()}};return n.CommonUtils.removeEqualValuesLayered(r,[i,s,sm]),r}resolve(e,t){if(!e)return null;let r=t??e.named??X.BuiltInName.Normal,i=r===X.BuiltInName.Normal?this._normalRanged.getPropertiesAt(0,0,null):this.getNamed(r)?.getRanged().getPropertiesAt(0,0,null),a={...e};delete a.named;let o=n.TypedObject.resolveTypedUpdates(a,lg,this,i??void 0);return o?(typeof e.named==`string`&&(o.named=e.named),o):null}schemeLookup(){return this._schemeLookup}indexedLookup(){return this._indexedLookup}parseColor(e){return Mp.parse(e,this._schemeLookup,this._indexedLookup)}recentColors(){return this._mruColors}addRecentColor(e){if(!e)return;let t=this._mruColors,n=[],r=e.toString(),i=t.length;for(let e=0;e<i&&e<10;e++){let i=t[e];i.toString()!==r&&n.push(i)}return n.unshift(e),this._mruColors=Object.freeze(n),this._mruColors}clearRecentColors(){this._mruColors=n.CommonUtils.EmptyArray}getCustomIndexedColors(){return this._customIndexedColors}setCustomIndexedColors(e){this._customIndexedColors=(e?.length??0)>0?[...e]:[]}getIndexedColors(){let e=this._customIndexedColors,t=Math.max(e?.length,66),n=[];for(let r=0;r<t;r++){let t=e[r];if(t!==null){let e=t??Sc(r);if(!e)continue;n.push(t??new Mp(e.toString()))}}return n}addListeners(e,t){return this._emitter.addListeners(e,t)}_toJSONInternal(e){let t={};e.length>0&&(t.direct=e);let n=this.getCustomNamed(),r=n.length,i=Array(r);for(let e=0;e<r;e++)i[e]=n[e].toJSON();i.length>0&&(t.named=i);let a={};this._defaultTableStyle&&this._defaultTableStyle.getName()!==`TableStyleMedium2`&&(a.defaultTableStyle=this._defaultTableStyle.getName());let o={},s=this.getCustomTableStyles(),c=s.length;for(let e=0;e<c;e++){let t=s[e],n=t.toJSON();delete n.name,n&&Object.keys(n).length>0&&(o[t.getName()]=n)}Object.keys(o).length>0&&(a.styles=o),Object.keys(a).length>0&&(t.tables=a);let l=this._customIndexedColors,u=l.length??0;if(u>0){let e=Array(u);for(let t=0;t<u;t++)e[t]=l[t].toString();t.indexedColors=e}let d=this._mruColors,f=d.length;if(f>0){let e=Array(f);for(let t=0;t<f;t++)e[t]=d[t].toString();t.mruColors=e}return Object.keys(t).length===0?null:t}_fromJSONIndexedColors(e){if(!e||e.length===0)return n.CommonUtils.EmptyArray;let t=e.length,r=Array(t);if(t>0)for(let n=0;n<t;n++){let t=e[n];try{r[n]=this.parseColor(t)}catch{console.warn(`Unable to parse color: `+t)}}return r}_fromJSONInternal(e){this._customIndexedColors=this._fromJSONIndexedColors(e.indexedColors);let t=e.named,n=t?t.length:0;for(let e=0;e<n;e++)this._setCustomCellStyleInternal(t[e]);let r=e.direct,i=r?r.length:0;for(let e=0;e<i;e++)r[e]=this.normalize(r[e])??{};let a=um;if(this._defaultTableStyle=null,e.tables){e.tables.defaultTableStyle&&(a=e.tables.defaultTableStyle);let t=e.tables.styles,n=t?Object.keys(t):null,r=n?n.length:0;for(let e=0;e<r;e++){let r=n[e],i=t[r];this._setCustomTableStyleInternal(r,i)}}this._defaultTableStyle=this.getTableStyle(a);let o=e.mruColors,s=o?o.length:0,c=Array(s);if(s>0)for(let e=0;e<s;e++){let t=o[e];try{c[e]=this.parseColor(t)}catch{console.warn(`Unable to parse color: `+t)}}this._mruColors=c}},Ag=class e{constructor(e,t,r,i=null,a=null,s=null){this._private={wrapped:!0,insets:n.TypesUtils.EmptyRect,orientation:o.Orientation.Horizontal,autoFit:o.Autofit.None,fontScale:1,vertical:!1,columnCount:1,columnSpacing:0,verticalAlignment:o.VerticalAlignment.Center,horizontalCentered:!1,lineReduction:0,isSpaceFirstLastPara:!1,presetTextWarp:null,paragraphs:n.CommonUtils.EmptyArray},this._bounds=null,this._textBounds=null,this._lines=null,this._lastLayoutSize=void 0,this._lastLayout=void 0,this._private=Object.assign(this._private,e||{}),this._defaultFont=t,this._alignment=r,this._lines=i,this._bounds=Object.freeze(a),this._textBounds=Object.freeze(s)}visitParas(e){e?.visitTextFrame?.(this);let t=this.paragraphs,n=t.length;for(let r=0;r<n;r++){let i=t[r];e?.visitTextParagraph?.(i,r,n);let a=i.runs,o=a.length;for(let t=0;t<o;t++)e?.visitTextRun?.(a[t],t,o)}}visitLines(e){e?.visitTextFrame?.(this);let t=this.lines,n=t.length;for(let r=0;r<n;r++){let i=t[r];e?.visitTextLine?.(i,r,n);let a=i.runs,o=a.length;for(let t=0;t<o;t++)e?.visitTextRun?.(a[t],t,o)}}layout(e=null){return this._lastLayout&&this._lastLayoutSize?.width===e?.width&&this._lastLayoutSize?.height===e?.height||(this._lastLayout=Yg(this,this._defaultFont,this._alignment,e),this._lastLayoutSize=e),this._lastLayout}clone(t){let n=t?.visitTextFrame?.(this),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r,this._defaultFont,this._alignment)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}createTextFrame(e,t){return Zg(e,this._defaultFont,this._alignment,t??this._private.wrapped)}get bounds(){if(this._bounds===null)throw Error(jg);return this._bounds}get textBounds(){if(this._textBounds===null)throw Error(jg);return this._textBounds}get lines(){return this._lines}get wrapped(){return this._private.wrapped}get insets(){return this._private.insets}get orientation(){return this._private.orientation}get autoFit(){return this._private.autoFit}get fontScale(){return this._private.fontScale}get vertical(){return this._private.vertical}get columnCount(){return this._private.columnCount}get columnSpacing(){return this._private.columnSpacing}get verticalAlignment(){return this._private.verticalAlignment}get horizontalCentered(){return this._private.horizontalCentered}get lineReduction(){return this._private.lineReduction}get isSpaceFirstLastPara(){return this._private.isSpaceFirstLastPara}get presetTextWarp(){return this._private.presetTextWarp??null}get paragraphs(){return this._private.paragraphs}},jg=`bounds can not be used until layout`,Mg=class{static{this.NL=`
|
|
3
|
+
`}static{this.DefaultLineSpacing=100}static{this.DefaultTabWidth=72}},Ng=class e{constructor(e){this._private={defaultFontSize:11,defaultTabSize:Mg.DefaultTabWidth,tabOverrides:n.CommonUtils.EmptyArray,spacingBefore:0,spacingAfter:0,lineSpacing:Mg.DefaultLineSpacing,align:o.HorizontalAlignment.Left,endParagraphSize:0,indentLevel:0,leadingIndent:0,hangingIndent:0,rightMargin:0,bullet:null},this._private=Object.assign(this._private,e||{})}clone(t){let n=t?.visitTextParagraph?.(this,0,1),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}get bounds(){return this._bounds}get defaultFontSize(){return this._private.defaultFontSize}get defaultTabSize(){return this._private.defaultTabSize}get tabOverrides(){return this._private.tabOverrides}get spacingBefore(){return this._private.spacingBefore}get spacingAfter(){return this._private.spacingAfter}get lineSpacing(){return this._private.lineSpacing}get align(){return this._private.align}get endParagraphSize(){return this._private.endParagraphSize}get indentLevel(){return this._private.indentLevel}get leadingIndent(){return this._private.leadingIndent}get hangingIndent(){return this._private.hangingIndent}get rightMargin(){return this._private.rightMargin}get bullet(){return this._private.bullet??null}get runs(){return this._private.runs}},Pg=class e{constructor(e,t=null){this._private={text:null,fontName:`Arial`,bold:!1,italic:!1,superSub:!1,fontSize:11,letterSpacing:0,kerningMin:10,smallCaps:i.SmallCaps.None,offset:0,strikeStyle:i.StrikeStyle.None},this._private={...this._private,...e},this._bounds=t}clone(t){let n=t?.visitTextRun?.(this,0,1),r=Object.assign({},this._private,n||{});return delete r.bounds,new e(r)}equals(e){return n.CommonUtils.deepEqual(this._private,e._private)}get bounds(){return this._bounds}get text(){return this._private.text}get fontName(){return this._private.fontName}get bold(){return this._private.bold}get italic(){return this._private.italic}get fontSize(){return this._private.fontSize}get superSub(){return this._private.superSub}get letterSpacing(){return this._private.letterSpacing}get kerningMin(){return this._private.kerningMin}get smallCaps(){return this._private.smallCaps}get offset(){return this._private.offset}get strikeStyle(){return this._private.strikeStyle}},Fg=class{constructor(e,t,n){this._private={},this._private={bounds:e,baseline:t,runs:n}}get bounds(){return this._private.bounds}get baseline(){return this._private.baseline}get runs(){return this._private.runs}get bullet(){return null}},Ig=e.t((e,t)=>{function n(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function r(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new n,this.dtree=new n}var i=new n,a=new n,o=new Uint8Array(30),s=new Uint16Array(30),c=new Uint8Array(30),l=new Uint16Array(30),u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new n,f=new Uint8Array(320);function p(e,t,n,r){var i,a;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(a=r,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}var m=new Uint16Array(16);function h(e,t,n,r){var i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)m[i]=a,a+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[m[t[n+i]]++]=i)}function g(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function _(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function v(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=0,r=0,i=0,a=e.tag;do r=2*r+(1&a),a>>>=1,++i,n+=t.table[i],r-=t.table[i];while(r>=0);return e.tag=a,e.bitcount-=i,t.trans[n+r]}function y(e,t,n){var r,i,a,o,s,c;for(r=_(e,5,257),i=_(e,5,1),a=_(e,4,4),o=0;o<19;++o)f[o]=0;for(o=0;o<a;++o){var l=_(e,3,0);f[u[o]]=l}for(h(d,f,0,19),s=0;s<r+i;){var p=v(e,d);switch(p){case 16:var m=f[s-1];for(c=_(e,2,3);c;--c)f[s++]=m;break;case 17:for(c=_(e,3,3);c;--c)f[s++]=0;break;case 18:for(c=_(e,7,11);c;--c)f[s++]=0;break;default:f[s++]=p}}h(t,f,0,r),h(n,f,r,i)}function b(e,t,n){for(;;){var r,i,a,u,d=v(e,t);if(d===256)return 0;if(d<256)e.dest[e.destLen++]=d;else for(r=_(e,o[d-=257],s[d]),i=v(e,n),u=a=e.destLen-_(e,c[i],l[i]);u<a+r;++u)e.dest[e.destLen++]=e.dest[u]}}function x(e){for(var t,n;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,n=t;n;--n)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}(function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n})(i,a),p(o,s,4,3),p(c,l,2,1),o[28]=0,s[28]=258,t.exports=function(e,t){var n,o,s=new r(e,t);do{switch(n=g(s),_(s,2,0)){case 0:o=x(s);break;case 1:o=b(s,i,a);break;case 2:y(s,s.ltree,s.dtree),o=b(s,s.ltree,s.dtree);break;default:o=-3}if(o!==0)throw Error(`Data error`)}while(!n);return s.destLen<s.dest.length?typeof s.dest.slice==`function`?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}}),Lg=e.t((e,t)=>{var n=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,r=(e,t,n)=>{let r=e[t];e[t]=e[n],e[n]=r};t.exports={swap32LE:e=>{n&&(e=>{let t=e.length;for(let n=0;n<t;n+=4)r(e,n,n+3),r(e,n+1,n+2)})(e)}}}),Rg=e.t((e,t)=>{var n=Ig(),{swap32LE:r}=Lg();t.exports=class{constructor(e){let t=typeof e.readUInt32BE==`function`&&typeof e.slice==`function`;if(t||e instanceof Uint8Array){let i;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),i=e.readUInt32LE(8),e=e.slice(12);else{let t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),i=t.getUint32(8,!0),e=e.subarray(12)}e=n(e,new Uint8Array(i)),e=n(e,new Uint8Array(i)),r(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}}}),zg=e.t(e=>{(function(e){"use strict";var t=typeof Uint8Array<`u`?Uint8Array:Array,n=43,r=47,i=48,a=97,o=65,s=45,c=95;function l(e){var t=e.charCodeAt(0);return t===n||t===s?62:t===r||t===c?63:t<i?-1:t<i+10?t-i+26+26:t<o+26?t-o:t<a+26?t-a+26:void 0}e.toByteArray=function(e){var n,r,i,a,o,s;if(e.length%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var c=e.length;o=e.charAt(c-2)===`=`?2:+(e.charAt(c-1)===`=`),s=new t(3*e.length/4-o),i=o>0?e.length-4:e.length;var u=0;function d(e){s[u++]=e}for(n=0,r=0;n<i;n+=4,r+=3)d((16711680&(a=l(e.charAt(n))<<18|l(e.charAt(n+1))<<12|l(e.charAt(n+2))<<6|l(e.charAt(n+3))))>>16),d((65280&a)>>8),d(255&a);return o===2?d(255&(a=l(e.charAt(n))<<2|l(e.charAt(n+1))>>4)):o===1&&(d((a=l(e.charAt(n))<<10|l(e.charAt(n+1))<<4|l(e.charAt(n+2))>>2)>>8&255),d(255&a)),s},e.fromByteArray=function(e){var t,n,r,i=e.length%3,a=``;function o(e){return`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charAt(e)}function s(e){return o(e>>18&63)+o(e>>12&63)+o(e>>6&63)+o(63&e)}for(t=0,r=e.length-i;t<r;t+=3)a+=s(n=(e[t]<<16)+(e[t+1]<<8)+e[t+2]);switch(i){case 1:a+=o((n=e[e.length-1])>>2),a+=o(n<<4&63),a+=`==`;break;case 2:a+=o((n=(e[e.length-2]<<8)+e[e.length-1])>>10),a+=o(n>>4&63),a+=o(n<<2&63),a+=`=`}return a}})(e===void 0?e.base64js={}:e)}),Bg=e.r(Rg(),1),Vg=e.r(zg(),1),Hg={},Ug=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],Wg=new Bg.default(Vg.default.toByteArray(`AAgOAAAAAAAQ4QAAAQ0P8vDtnQuMXUUZx+eyu7d7797d9m5bHoWltKVUlsjLWE0VJNigQoMVqkStEoNQQUl5GIo1KKmogEgqkKbBRki72lYabZMGKoGAjQRtJJDaCCIRiiigREBQS3z+xzOTnZ3O+3HOhd5NfpkzZx7fN9988zivu2M9hGwB28F94DnwEngd/Asc1EtIs9c/bIPDwCxwLDgezHcodyo4w5C+CCwBS8FnwSXgCnA1uFbI93XwbXAbWAfWgx+CzWAb+An4KfgFeAzsYWWfYuFz4CXwGvgb+Dfo6yNkEEwGh4CZYB44FpwI3g1OY+kfBItZOo2fB84Hy8DF4HJwNbiWpV8PVoO1LH4n2NRXyN+KcAd4kNVP9XsY4aPgcfAbsBfs6SniL4K/sPjfEf6HlanXCRkCw2BGvUh/keWfXS/CY+pFXs7x9XHmM94LTmWIeU2cgbxnS/k/B3kf86jDhU8L9V2E40vAFWAlWFUfb++NOL4F3C7JX4/4GiE+hvgWsF0oS7mXldspnN+F493gyXrh9xTav0cg3EvzgVfBG6wsmVSEkxBOBgdPGpd7JI6PnqRvJ68/xlbHof53gPeA94OzwLngk+ACsAwsByvASrAK3MB0Ws3CtQjvBJvAVrADPMDSHkb4CNijaccTwvnf4fiPEs8Lxy+D18A/QU8/xjgYBjPAbDAKTgYLwOngTHAO+EQ/8wuEF4EvsPiVCFf2+9tsFStzA8LVHuXXBsi6QyqzUYiPMR/7Mc7dAx7oL8bzw/3u/Bw8Bp4Az4AXwCtgHzsmDXP5fiF9iiVvly5d0sHngar16NKlS5cuXbp06fLmYlqHXrcd3ph4P0THUY3iXh49novju4S0tzfs5d+JPKewfAsRntZb3K9ZhOMlrO6lCC8An28U9+OuovcPcPxlVu5rCL/VmHh/iHIrzn3fIPu7SN8Axmg+8AOwEWwCm7tp3bRuWjetm5Y8bSu4B9zbKO6ZVsnORrVU3f4uXTqZ2H3sLoyx3eDXjfDndE9qyj6L838CfwVvgFpzYnof4oNgOhgBc8Fos9DrZIQLmtXPP1MmF6wGj4H+KXoWguvADkXaPil+YpuQy8Am8Ey7ODdtmJDF4HowBp4De6HDTNjhfHAHeBr0DBBy0kDxfPbcgSIusgrcWhtnJ8vL+TPix7UIOQtcBq4C28Cr4KRBnANbwSuDE+s50JgyNNFuXbp06XIgsXjIvPafjvXozKY+fVFz/z0LT1uCtKVSWbrOLWPnztG8e0Xfy7ol8XtZJi7WtG+5od2UFXQ/A12vUeS7jp27yVKHjdsU9lXB869TyNvAzt0lpP2oWbwLdjiO78bx/Sz+EMJHwK9Y/LcIfw+eZ3F67/Hl5vh9xX80J+rwX8SvRDhpgL17iPAQMHNArfPrqHPewLheI+AERV6efwV418B4nOZ/H+IfYHV8GOF5LJ3eAz0fx8sM9S0fUNud39O9CulfGZhY5huI3wzWgNvBelbHZoTbNPVpfYjKQpkHwUNgl0LWblbnk0LbbDxr0OMFpL3iqWdu9nWYPlVAWkXY39LnGdCkDbeqv1YNbfcMQ3t9oe8lzm6NH9N1ZB6Ln4BwfkJZJk7RyFnYKt6b/JDQXx9p5X+eFdqOjzM9P9MB/lUlFzr20aXIdzlY4dmn9F3YqtvoO76/2hp/D/xA5Zue88nNyL8GbFbs075X0tyUig3Qd2MCnf//HjnzpbsR3g9+1kHzzVjdnE71/qVBX9rGPUh/ysNWe1neFzvIDi5zAufV1sT0N0poR22wkFUfTOPfA4N2mbZ5fSrqOHSw+IbkSBbOGSzSRgf91/GTUWYBOB2cIZQ/G8cfBZ8CFwrnL8XxF8FKcA24jqXdiPA7Qr61OF7H4mMItwzuv2/YLth1ISt3Hzu3k4W7EH5JqPdRHD/O4k+z8A8IX5Lq3y7Z4nXE9xn6kX6vQ4bKfy+ok+hH+xf3hq9dnTTHhjKd2GmDuWA242iHMq4cC7A8kJ7i8o1+skSa7Jieo38HCWnoNjKFhdSFBxzpZ7QE6lI8N4S14aASZcryaV/WWHw66f6NHuCoxuQxmvM56GX9QMd8Q4D65ywGP+ZzRJuM+zQvx/MOS2VFeqQ4IXnH26zM9Xe6/E6D+4foAzzuajPZp8Qyw5ayZVDWuH0z0BtYRkeIDqH9KO9VbH1btd/lhNqCzvl8zeLnG0S/hnU6baHfpiuO6yy0rd+DHURo/zYF5H26j03rQsip2ndzz82u1z9N4VjWKWeb68Tedpt95HRVXp7H1R6p+/Wt4FPy/PpWwscOLRJ+PVWF/+W0iVyGzs18TIvXkOJ1Wxm66vSXz+vylenrZcj1ub439W+K8RNCGTJi2p/TJ1K23VaXr35tRpnzmjxequgfcfyk6B/TGBVlyedsNgpdd/h+W1U3P99QyFPNo1X3TwpM/WLTIWYfoBqXrv6iskHZ/RFr79R6hIyHBrH3f1nrUVnjP8SnZZ+rYtzr9Exld5MNbPNErusAPg+77u/eDOPftU9yj39TH7rezxd1LvsZQJlzkWlOirG/79zjMj/mtHUKu7vKy+3/LnXr9okyKedjX5/0He9iP/j63LwOQdarEVlfy8OO/Lqw023j6xcqmwxLiOd6heM2i9cV9LJy8jMJ23yQ+rpbfu7EQ/pXE8KYvUSqvVnb4XzZa6LrHMXHR+zcLvqWbm/Bn0/HzIs6fWPHoat8XfnDKmZGxRxeMbn2UqZ5Q94nmcZRbqqUXbZ8+lcjE+cPX11t814orvvAXNcG8vqj2vvk1MGn3anlj0bIT72v47bvE+Lc98T9b6r7AKn6j+8Duf7D0nnZx/j7Zjn0j9nbpSTndaLr9WNLivP+iN23xF7L+fqv6ZouFyb78jxVXvv5jJ9YUs9/sddO8h7KNg5jrhfaJGztT6G7KF+1d6yCmD5Kdb2fan60rSc552fZr3zeQ9DpnPp+Si5cx5Ktv2QfSzF/mMbWdOm46rFI4XstnU9xeqX4NKb7TKEdcr6pZOK3ID1k/LvFHkVczEuZLEDr499YqvqBym1aEHWgcvoYOtv0M91qQl5TfpO/in6rWx8OVpT1Wedkv3f5xom3T/xeR/6Gx6V86PWAOB4bBpqWdN+yTcVxjIyGRz/FrDGu6w/3d7kPm8StX8RyPu+uuvpNju/vTLJV37GpvoM0oZPnW87VLnL/5pDno1NoW1R6yedU6TyUv3u19a3KFnIbTLYz+ZCLP4T0tU1uivFgso0pnsJ/UtXvarNY28Xq5cvkBDrQP/E5ZaiuQwwfmTlsOiQRU1fMuqrDd/3ISSuwjOwXOfTyGUMpZIXq4GpLn3pUcdfzch2x7XO1u2uZHOPb1G6b3Xg9PH1IIWeEpJlPQtqos2EKW8b0u8rnuP1UeVLoXJb9be0uG9nnbchjU+XTszT5VeNBThPHnc5OKj1U9aj0GTHIVaGy1YhEWT4ixns00DT+XEzWn/7VAsIc63Cov3OdyhwjrnaqQqZvWKXdypRdlq+k8msZ031U+Rm4fA+3TtyeR9hwfW9G9yxDN0fZMN33F+9TE6md4hwoxumfaUzI9fN3PFT3xVV2msrQ3UsnChm6Nulk8TndpS28D3zX9tTIPsF/z7Am5OkTjm1tI1JZW74+4VgsZ0N3L1yXV3WeP5uR7TGHHdvC3JQlxybfpd22tDlk/2eofRK8TzrN/qnar/K/OUTth6I/+jAnEptNbPvFHP2gs40N3+dfMWtwqvVct7/wfd8gtQ7imifial9ZJ9/3IHLYU6eDj3+4PhsNhX+vwvcWLnu6kGfEMe8DuciPfUfGZB8X/7HJy/Gefe5n+VRGFd/wyP2ta7/LO4yh/sbLV/k9lev6kfO9Dt/5U67b1/6u/epqB1U9Me23jfHY9sscAg4tkbLl+e4/U36rJ9ddxfd6sg5vq5ice42Wpk/pb9FOJ36/W9tpv4kbC79nUbZceX8Zu6/qJ+P3WvhvA8v3reh7Jbn2d6rrNC7XNZTLma4Ba0JI9efX2uLzF5scG/w9UNU1ZxW+ymUfzELeTllXlQ1rUuhzjS5fp9c964iFBOqeSz63bU065nZKdU+mDEz3qHIjjifquw0pnb/raRtvrnsYcb46ihT3taoYz6brdNW9l6rWRnE/navdPn1XlR1km7hcz1WlH/elKuSOSvLLuE8U6m8uzwRdfcGl73VyTHuyMvzJ1Sa2cWDTP/Z63Kc94n2B1PYr24dz1JlyHLlcP+S4B6vD1c9EW4q2LWstCvUjeVy63k/LMYdUNd5D1xQfvVTzX1VjkMsUv88N8VH5fReVn/Fjn++/h6X6Q8a6b1/q3g/i/ewi0/Scs8zxXeV6mWIOUPlPzBgdFerW+bZrm2P18dnjuK6HunEp+rHvPMXbr+sHVb/lnL+pTP57jPw9Cvk3PW178JD9qChfzuvTf7Htl38L1QUf/VKu9SFjwWbTWPvFEvu7Uq76y7+31g6QlYPc669pbsm9Xur2LWI9Pu8ypfDXqm3A2z8s1FWGn4ntL9NfQu2oSlftX9uetvTtv7J8Ql4zxfXGZ3zk8PeQ9w59x2uMfqI8/q5eKh/l9cb2rwsu9rSNl06ZP2Pmxtz+rNMx93yno0n2/82rVH7rQ+y9P15H6FyRun9ViH81ATmffI7nJ5r8uXXW6enbP6b/B8/l5OifVHYLnb9S39s2zcc+Ph+rh8+eQgVPS72elzGWY/tUtbbabBpDiI7yN1q6/4th2y+ErAc5+9BVvu/7KamJbWNZeuqI/R4tRf+YyD1HmOZM1bMV3/14Sn10c0Xu+Sj1nOXb5jL73ncdy02uvlXZNde65dOHYl7Vs4KYuS6FzWLn2zJlpZqPXPVPOa5yzKOyn1VhT9lmMfdbfH7D11Wf2PXN5h9y+dD287+qxgSnaYmnIrRtIb8pJe6/Uv9OVer6Whn0zfGO/BEloZI9ojmfAlUflClDd178bTmVHVTpZXOkAlk/lb42UujmI89HH5V+cl7XtowY6vTxLVWok6UrGzoGTHN+bB+6ri05687VNpvfuvRfaP2uMlNQth1D5JjGelm/8yn+9p3p/7qk9gnfeddXZmq/Sm333PJT659Kv1zjNbZ9uv2Oi//67CV8/N1nj1DmviyXDNVeJkaeaX8UsyesYg8cu2+NvdaPfb+lLDu5tvt/`)),Gg=function(e){switch(e){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return e}},Kg=function(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}},qg=class{constructor(e,t=!1){this.position=e,this.required=t}};Hg=class{nextCodePoint(){let e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos);return 55296<=e&&e<=56319&&56320<=t&&t<=57343?(this.pos++,1024*(e-55296)+(t-56320)+65536):e}nextCharClass(){return Gg(Wg.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(e){let t=!1;switch(Ug[this.curClass][this.nextClass]){case 0:t=!0;break;case 1:t=e===41;break;case 2:if(t=e===41,!t)return t=!1,t;break;case 3:if(e!==41)return t}return this.LB8a&&(t=!1),!this.LB21a||this.curClass!==16&&this.curClass!==17?this.LB21a=this.curClass===13:(t=!1,this.LB21a=!1),this.curClass===28?(this.LB30a++,this.LB30a==2&&this.nextClass===28&&(t=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,t}nextBreak(){if(this.curClass==null){let e=this.nextCharClass();this.curClass=Kg(e),this.nextClass=e,this.LB8a=e===31,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;let e=this.nextClass;if(this.nextClass=this.nextCharClass(),this.curClass===34||this.curClass===36&&this.nextClass!==37)return this.curClass=Kg(Gg(this.nextClass)),new qg(this.lastPos,!0);let t=this.getSimpleBreak();if(t===null&&(t=this.getPairTableBreak(e)),this.LB8a=this.nextClass===31,t)return new qg(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new qg(this.string.length)):null}constructor(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};var Jg=class{constructor(e){this._textMeasurer=e}_measureText(e){let t=this._fontSize,n=this._fontName,r=this._metricOptions;if(this._isSuperSub){let i=this._textMeasurer(e,.6*t,n,r);return{...this._textMeasurer(`M`,t,n,r),width:i.width}}return this._textMeasurer(e,t,n,r)}_breakWord(e,t,n){let r=0;for(;r<e.length;){let i={startPosition:this._charactersRead+r,text:``,x:0,y:0,width:0,widthWhitespace:0,height:0,baseline:0},a=!1,o=0,s=this._maxWidth;do{a=!1;let t=e.substring(r,r+o+1),n=t.replace(/\s+$/,``),c=this._measureText(n),l=c;t.length!==n.length&&(l=this._measureText(t)),(i.x+c.width<=s||t.length<=1)&&(i.text=t,i.width=c.width,i.widthWhitespace=l.width,i.height=Math.max(i.height,c.lineHeight),i.baseline=Math.max(i.baseline,c.baseline),a=!0,o++)}while(a&&r+o<e.length);if(a){let n=e.substring(r,e.length),i=n.replace(/\s+$/,``),a=this._measureText(i),o=a;n.length!==i.length&&(o=this._measureText(n)),t.startPosition=this._charactersRead+r,t.width=a.width,t.widthWhitespace=o.width,t.height=Math.max(t.height,a.lineHeight),t.baseline=Math.max(t.baseline,a.baseline),t.text=n}else if(!1===n?.(i))return!1;r+=o}}_breakWhiteSpace(e,t=null){for(;e&&this._charactersRead<e.length;){let n={startPosition:this._charactersRead,text:``,x:0,y:0,width:0,widthWhitespace:0,height:0,baseline:0},r=!1,i=this._maxWidth,a=this._indent,o=this._breaker;do if(r=!1,n.startPosition===0&&n.text.length===0&&(n.x=a,this._lastBreak=o.nextBreak()),this._lastBreak){let a=e.substring(n.startPosition,this._lastBreak.position),s=a.replace(/\s+$/,``),c=this._measureText(s),l=c;a.length!==s.length&&(l=this._measureText(a)),n.x+c.width<=i?(n.text=a,n.width=c.width,n.widthWhitespace=l.width,n.height=Math.max(n.height,c.lineHeight),n.baseline=Math.max(n.baseline,c.baseline),r=!0,this._charactersRead=this._lastBreak.position):n.text.length===0&&!1!==this._breakWord(a,n,t)&&(r=!0,this._charactersRead=this._lastBreak.position),(r||a.indexOf(`
|
|
4
|
+
`)===-1)&&this._lastBreak.required&&(this._lastBreak=o.nextBreak(),r=!1)}while(r&&(this._lastBreak=o.nextBreak()));if(!1===t?.(n))return!1}}wrap(e,t=null){this._breaker=new Hg(e),this._linesRead=[],this._charactersRead=0,this._maxXRead=0,this._maxXWhitespaceRead=0,this._maxYRead=0,this._fontName=t?.fontName??`Arial`,this._fontSize=t?.fontSize??12,this._metricOptions={isBold:t?.bold??!1,isItalic:t?.italic??!1,letterSpacing:t?.letterSpacing??0},this._isSuperSub=t?.superSub??!1,this._indent=t?.indent??0,this._maxWidth=t?.maxWidth??2**53-1,this._maxWidth<=0&&(this._maxWidth=2**53-1),this._maxHeight=t?.maxHeight??2**53-1,this._maxHeight<=0&&(this._maxHeight=2**53-1);let n=e=>{if(this._linesRead.length>0){let t=this._linesRead[this._linesRead.length-1];e.y=t.y+t.height}if(e.y+e.height>this._maxHeight)return!1;this._maxXRead=Math.max(this._maxXRead,e.x+e.width),this._maxXWhitespaceRead=Math.max(this._maxXWhitespaceRead,e.x+e.widthWhitespace),this._maxYRead=Math.max(this._maxYRead,e.y+e.height),this._linesRead.push(e)};if(e===``){let t=this._measureText(e);n({startPosition:0,text:``,x:0,y:0,width:0,widthWhitespace:0,height:t.lineHeight,baseline:t.baseline})}else if(this._breakWhiteSpace(e,n),new Hg(e.charAt(e.length-1).repeat(2)).nextBreak().required){let t=this._measureText(e);n({startPosition:e.length,text:``,x:0,y:0,width:0,widthWhitespace:0,height:t.lineHeight,baseline:t.baseline})}let r={bounds:{x:0,y:0,width:this._maxXRead,widthWhitespace:this._maxXWhitespaceRead,height:this._maxYRead},lines:this._linesRead};return this._breaker=null,this._linesRead=[],r}};function Yg(e,t,r,i=null,a=U.getSharedMeasurer()){let o=``,s=null,c=null,l=e.paragraphs,u=l.length;for(let e=0;e<u;e++){let t=l[e].runs,n=t.length;for(let e=0;e<n;e++){let n=t[e];o+=n.text,e===0&&(s=n)}e===0&&(c=l[e])}let d=e.insets??n.TypesUtils.EmptyRect,f=new Jg(a),p=i?.width?i.width-d.right-d.left:i?.width,m=i?.height?i.height-d.bottom-d.top:void 0,h=f.wrap(o,{fontName:s.fontName,fontSize:s.fontSize*U.getDeviceScale(),bold:s.bold,italic:s.italic,superSub:s.superSub,letterSpacing:s.letterSpacing,maxWidth:e.wrapped&&p?p:void 0,maxHeight:m}),g=[],_=h.lines,v=_.length,y=Array(v);for(let e=0;e<v;e++){let t=_[e],n={x:t.x,y:t.y,width:t.width,height:t.height},r=new Pg({text:t.text,fontName:s.fontName,fontSize:s.fontSize,bold:s.bold,italic:s.italic,superSub:s.superSub,letterSpacing:s.letterSpacing},n);g.push(r),y[e]=new Fg(n,t.baseline,[r])}return new Ag({paragraphs:[new Ng({runs:g,align:c.align})],wrapped:e.wrapped,verticalAlignment:e.verticalAlignment},t,r,y,{x:h.bounds.x,y:h.bounds.y,width:h.bounds.widthWhitespace,height:h.bounds.height},{x:h.bounds.x,y:h.bounds.y,width:h.bounds.width,height:h.bounds.height})}function Xg(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i>=65&&i<=90?t=!0:i>=97&&i<=122&&(n=!0),t&&n)return 0}return t?1:n?-1:0}function Zg(e,t,n,r,i=!1){if(e==null)return null;let a=new Pg({text:e,fontName:t.toCSS().fontFamily,fontSize:t.getSize(),bold:t.getWeight()>400,italic:t.getStyle()===U.Style.Italic,superSub:!i&&(t.getVerticalAlignment()===U.VerticalAlignment.Sub||t.getVerticalAlignment()===U.VerticalAlignment.Super),letterSpacing:t.getLetterSpacing()}),s=i?o.HorizontalAlignment.Left:n.getHorizontal(),c=n.getVertical(),l=new Ng({runs:[a],align:s}),u=[];return u.push(new Fg(null,t.getSize(),[a])),new Ag({paragraphs:[l],wrapped:r&&(n.getOverflow()===o.Overflow.Wrap||s===o.HorizontalAlignment.Justify||s===o.HorizontalAlignment.Distributed||c===o.VerticalAlignment.Justify||c===o.VerticalAlignment.Distributed),verticalAlignment:c},t,n,u)}var Qg={[Y.BuiltInSheetPattern.Gray0625]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 4.5 L 0.5 5.5 M 4.5 2.5 L 4.5 3.5 M 4.5 6.5 L 4.5 7.5`,size:8},[Y.BuiltInSheetPattern.LightGray]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 2.5 L 0.5 3.5 M 2.5 -0.5 L 2.5 0.5 M 2.5 1.5 L 2.5 2.5 M 2.5 3.5 L 2.5 4.5`,size:4},[Y.BuiltInSheetPattern.MediumGray]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 1.5 L 1.5 2.5 M 1.5 -0.5 L 1.5 0.5 M -0.5 -0.5 L -0.5 0.5`,size:2},[Y.BuiltInSheetPattern.DarkGray]:{path:`M 0 0 L 0 4 M 1 1 L 1 2 M 1 3 L 1 4 M 2 0 L 2 4 M 3 0.5 L 3 1.5 M 3 2.5 L 3 3.5 M 4 0 L 4 4`,size:4},[Y.BuiltInSheetPattern.LightHorizontal]:{path:`M 0 2 L 4 2`,size:4},[Y.BuiltInSheetPattern.DarkHorizontal]:{path:`M 0 2 L 4 2 M 0 3 L 4 3`,size:4},[Y.BuiltInSheetPattern.LightVertical]:{path:`M 2 0 L 2 4`,size:4},[Y.BuiltInSheetPattern.DarkVertical]:{path:`M 2 0 L 2 4 M 3 0 L 3 4`,size:4},[Y.BuiltInSheetPattern.LightUp]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 3.5 L 1.5 4.5 M 1.5 -0.5 L 1.5 0.5 M 2.5 2.5 L 2.5 3.5 M 3.5 1.5 L 3.5 2.5`,size:4},[Y.BuiltInSheetPattern.DarkUp]:{path:`M 0.5 -0.5 L 0.5 1.5 M 0.5 3.5 L 0.5 4.5 M 1.5 2.5 L 1.5 4.5 M 2.5 1.5 L 2.5 3.5 M 3.5 0.5 L 3.5 2.5 M 1.5 -0.5 L 1.5 0.5`,size:4},[Y.BuiltInSheetPattern.LightDown]:{path:`M 0.5 0 L 0.5 1 M 1.5 1 L 1.5 2 M 2.5 2 L 2.5 3 M 3.5 3 L 3.5 4`,size:4},[Y.BuiltInSheetPattern.DarkDown]:{path:`M 0.5 -0.5 L 0.5 2 M 1.5 1 L 1.5 3 M 2.5 2 L 2.5 4 M 3.5 3 L 3.5 5 M 3.5 -0.5 L 3.5 1.0`,size:4},[Y.BuiltInSheetPattern.LightGrid]:{path:`M 1.5 -0.5 L 1.5 4.5 M -0.5 1.5 L 4.5 1.5`,size:4},[Y.BuiltInSheetPattern.DarkGrid]:{path:`M 0.5 -0.5 L 0.5 1.5 M 1.5 -0.5 L 1.5 1.5 M 2.5 1.5 L 2.5 3.5 M 3.5 1.5 L 3.5 3.5 M 0.5 3.5 L 0.5 4.5 M 1.5 3.5 L 1.5 4.5`,size:4},[Y.BuiltInSheetPattern.LightTrellis]:{path:`M 0.5 0.5 L 0.5 1.5 M 1.5 3.5 L 1.5 4.5 M 1.5 -0.5 L 1.5 0.5 M 2.5 2.5 L 2.5 3.5 M 3.5 1.5 L 3.5 2.5 M 1.5 1.5 L 1.5 2.5 M 3.5 3.5 L 3.5 4.5 M 3.5 -0.5 L 3.5 0.5`,size:4},[Y.BuiltInSheetPattern.DarkTrellis]:{path:`M 0 0 L 4 0 M 0 1 L 2 1 M 0 2 L 4 2 M 2 3 L 4 3 M 0 4 L 4 4`,size:4},[Y.BuiltInSheetPattern.Gray125]:{path:`M 0.5 0.5 L 0.5 1.5 M 0.5 4.5 L 0.5 5.5 M 2.5 2.5 L 2.5 3.5 M 2.5 6.5 L 2.5 7.5 M 4.5 0.5 L 4.5 1.5 M 4.5 4.5 L 4.5 5.5 M 6.5 2.5 L 6.5 3.5 M 6.5 6.5 L 6.5 7.5`,size:8}},$g=Qg[Y.BuiltInSheetPattern.Gray125],e_=(e,t,n)=>`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${t}' viewBox='0 0 ${t} ${t}' shape-rendering='crispEdges' %3E%3Cpath d='${e}' stroke='${n}' %3E%3C/path%3E%3C/svg%3E")`,t_=new class{_svgImage(e,t,n){let{path:r,size:i}=n;return{backgroundImage:e_(r,i,e),backgroundRepeat:`repeat`,backgroundSize:`${i}px ${i}px`,backgroundPositionX:`0px`,backgroundPositionY:`0px`,backgroundPosition:``+-i,backgroundColor:t}}toCSS(e,t,n){return e&&e!==Y.BuiltInSheetPattern.None?e===Y.BuiltInSheetPattern.Solid?{background:n}:this._svgImage(t,n,Qg[e]??$g):{background:`none`}}toCSSMask(e,t,n){if(!e||e===Y.BuiltInSheetPattern.None||e===Y.BuiltInSheetPattern.Solid)return null;let{path:r,size:i}=Qg[e]??$g;return{base:{backgroundColor:n},marks:{backgroundColor:t,maskImage:e_(r,i,`black`),maskRepeat:`repeat`,maskSize:`${i}px ${i}px`,maskPosition:`0px 0px`}}}};function n_(e,t){if(e===void 0)return;if(e===null)return null;if(e.isIStyle)return e.getAuthoredProperties();let n;return n=typeof e==`function`?e(typeof t==`function`?t():t):e,n}var r_=class{constructor(e){this._p=Object.freeze(Array.isArray(e)?e:[e??null])}value(e){let t=this._p;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!r)continue;let i=r[e];if(i!==void 0)return i}}values(e){let t=this._p,n=t.length,r;for(let i=0;i<n;i++){let n=t[i];if(!n)continue;let a=n[e];a!==void 0&&(r===void 0&&(r=[]),r.push(a))}return r}getProperties(){let e=this._p;return e?e[e.length-1]:null}toJSON(){let e=this._p,t=e.length,r={};for(let i=0;i<t;i++){let t=e[i];r=n.CommonUtils.deepMerge(r,t)}return r}},i_=class{constructor(e,t){this._o=e,this._c=e.styles,this._p=Object.freeze(t)}_setValue(e,t){let n={[e]:t};this._o.updater(n)}_value(e){let t=this._p;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!r)continue;let i=r[e];if(i!==void 0)return i}}_values(e){let t=this._p,n=t.length,r;for(let i=0;i<n;i++){let n=t[i];if(!n)continue;let a=n[e];a!==void 0&&(r===void 0&&(r=[]),r.push(a))}return r}getProperties(){let e=this._p;return e?e[e.length-1]:null}toJSON(){return null}},a_=e=>{switch(e){case`top`:return(0,n.messageKey)(`op.setTopBorderStyle`);case`right`:return(0,n.messageKey)(`op.setRightBorderStyle`);case`bottom`:return(0,n.messageKey)(`op.setBottomBorderStyle`);case`horizontal`:return(0,n.messageKey)(`op.setHorizontalBorderStyle`);case`vertical`:return(0,n.messageKey)(`op.setVerticalBorderStyle`);case`diagonalUp`:return(0,n.messageKey)(`op.setDiagonalUpBorderStyle`);case`diagonalDown`:return(0,n.messageKey)(`op.setDiagonalDownBorderStyle`);default:return(0,n.messageKey)(`op.setLeftBorderStyle`)}},o_=e=>{switch(e){case`top`:return(0,n.messageKey)(`op.setTopBorderColor`);case`right`:return(0,n.messageKey)(`op.setRightBorderColor`);case`bottom`:return(0,n.messageKey)(`op.setBottomBorderColor`);case`horizontal`:return(0,n.messageKey)(`op.setHorizontalBorderColor`);case`vertical`:return(0,n.messageKey)(`op.setVerticalBorderColor`);case`diagonalUp`:return(0,n.messageKey)(`op.setDiagonalUpBorderColor`);case`diagonalDown`:return(0,n.messageKey)(`op.setDiagonalDownBorderColor`);default:return(0,n.messageKey)(`op.setLeftBorderColor`)}},s_=class extends i_{constructor(e,t,n){super(t,n),this._edge=e}getStyle(){return this._value(`style`)}setStyle(e,t){let n=this._edge,r=n.charAt(0).toUpperCase()+n.slice(1);return this._o.updater({border:{[n]:{style:e}}},{description:a_(n),...t}).getBorder()[`get`+r]()}getColor(){let e=this._value(`color`);return e?this._c.parseColor(e):null}setColor(e,t){let n=this._edge,r=n.charAt(0).toUpperCase()+n.slice(1);return this._o.updater({border:{[n]:{color:e}}},{description:o_(n),...t}).getBorder()[`get`+r]()}isNone(){return this.getStyle()===W.StrokeStyle.None}toCSS(){let e=_h(this);switch(this._edge){case W.Edge.Left:return{borderLeft:e};case W.Edge.Right:return{borderRight:e};case W.Edge.Top:return{borderTop:e};case W.Edge.Bottom:return{borderBottom:e};case W.Edge.DiagonalUp:case W.Edge.DiagonalDown:return{borderDiagonalUp:e}}}get[Symbol.toStringTag](){return`[CellBorderStroke]`}toString(){return`[CellBorderStroke]`}get isIStroke(){return!0}},c_=class extends i_{getLeft(){return this._left||=new s_(W.Edge.Left,this._o,this._values(W.Edge.Left)),this._left}setLeft(e,t){return this._o.updater({border:{left:e}},{description:(0,n.messageKey)(`op.setLeftBorder`),...t}).getBorder()}getRight(){return this._right||=new s_(W.Edge.Right,this._o,this._values(W.Edge.Right)),this._right}setRight(e,t){return this._o.updater({border:{right:e}},{description:(0,n.messageKey)(`op.setRightBorder`),...t}).getBorder()}getTop(){return this._top||=new s_(W.Edge.Top,this._o,this._values(W.Edge.Top)),this._top}setTop(e,t){return this._o.updater({border:{top:e}},{description:(0,n.messageKey)(`op.setTopBorder`),...t}).getBorder()}getBottom(){return this._bottom||=new s_(W.Edge.Bottom,this._o,this._values(W.Edge.Bottom)),this._bottom}setBottom(e,t){return this._o.updater({border:{bottom:e}},{description:(0,n.messageKey)(`op.setBottomBorder`),...t}).getBorder()}getHorizontal(){return this._inner(W.Edge.Horizontal)}getVertical(){return this._inner(W.Edge.Vertical)}_inner(e){let t=this._o.extent;if(!t)return null;let n=this._o.direct;if(!(n instanceof Tg))return null;let r=n.getInnerBorder(t)?.[e];return r?new s_(e,this._o,[r]):null}getDiagonalUp(){return this._diagUp||=new s_(W.Edge.DiagonalUp,this._o,this._values(W.Edge.DiagonalUp)),this._diagUp}setDiagonalUp(e,t){return this._o.updater({border:{diagonalUp:e}},{description:(0,n.messageKey)(`op.setDiagonalUpBorder`),...t}).getBorder()}getDiagonalDown(){return this._diagDown||=new s_(W.Edge.DiagonalDown,this._o,this._values(W.Edge.DiagonalDown)),this._diagDown}setDiagonalDown(e,t){return this._o.updater({border:{diagonalDown:e}},{description:(0,n.messageKey)(`op.setDiagonalDownBorder`),...t}).getBorder()}setVertical(e,t){return this._o.updater({border:{vertical:e}},{description:(0,n.messageKey)(`op.setVerticalBorder`),...t}).getBorder()}setHorizontal(e,t){return this._o.updater({border:{horizontal:e}},{description:(0,n.messageKey)(`op.setHorizontalBorder`),...t}).getBorder()}setOutline(e,t){return this._o.updater({border:{top:e,bottom:e,left:e,right:e}},{description:(0,n.messageKey)(`op.setOutlineBorder`),...t}).getBorder()}_edgeStyleIsNone(e){let t=this._values(e);if(!t)return!0;for(let e=t.length-1;e>=0;e--){let n=t[e]?.style;if(n!==void 0)return n===W.StrokeStyle.None}return!0}isEmpty(){return this._isEmpty!==void 0||(this._isEmpty=this._edgeStyleIsNone(W.Edge.Top)&&this._edgeStyleIsNone(W.Edge.Bottom)&&this._edgeStyleIsNone(W.Edge.Left)&&this._edgeStyleIsNone(W.Edge.Right)&&this._edgeStyleIsNone(W.Edge.DiagonalUp)&&this._edgeStyleIsNone(W.Edge.DiagonalDown)),this._isEmpty}get[Symbol.toStringTag](){return`[CellBorder]`}toString(){return`[CellBorder]`}get isIBorder(){return!0}},l_=class extends i_{getHorizontal(){return this._value(`horizontal`)}setHorizontal(e,t){return this._o.updater({alignment:{horizontal:e}},{description:(0,n.messageKey)(`op.setHorizontalAlignment`),...t}).getAlignment()}getVertical(){return this._value(`vertical`)}setVertical(e,t){return this._o.updater({alignment:{vertical:e}},{description:(0,n.messageKey)(`op.setVerticalAlignment`),...t}).getAlignment()}getIndent(){return this._value(`indent`)}setIndent(e,t){return this._o.updater({alignment:{indent:e}},{description:(0,n.messageKey)(`op.setIndent`),...t}).getAlignment()}getRelativeIndent(){return this._value(`relativeIndent`)}setRelativeIndent(e,t){return this._o.updater({alignment:{relativeIndent:e}},{description:(0,n.messageKey)(`op.setRelativeIndent`),...t}).getAlignment()}getOverflow(){return this._value(`overflow`)}setOverflow(e,t){return this._o.updater({alignment:{overflow:e}},{description:(0,n.messageKey)(`op.setOverflow`),...t}).getAlignment()}getRotation(){return this._value(`rotation`)}setRotation(e,t){return this._o.updater({alignment:{rotation:e}},{description:(0,n.messageKey)(`op.setRotation`),...t}).getAlignment()}getStacked(){return this._value(`stacked`)}setStacked(e,t){return this._o.updater({alignment:{stacked:e}},{description:(0,n.messageKey)(`op.setStacked`),...t}).getAlignment()}getJustifyLastLine(){return this._value(`justifyLastLine`)}setJustifyLastLine(e,t){return this._o.updater({alignment:{justifyLastLine:e}},{description:(0,n.messageKey)(`op.setJustifyLastLine`),...t}).getAlignment()}getReadingDirection(){return this._value(`readingDirection`)}setReadingDirection(e,t){return this._o.updater({alignment:{readingDirection:e}},{description:(0,n.messageKey)(`op.setReadingDirection`),...t}).getAlignment()}get[Symbol.toStringTag](){return`[CellAlignment]`}toString(){return`[CellAlignment]`}get isITextBoxAlignment(){return!0}},u_=class extends i_{isEqualMeasure(e){return!!e&&this.getFamily()===e.getFamily()&&!!n.CommonUtils.isEqualArrays(this.getFallbacks(),e.getFallbacks())&&this.getSize()===e.getSize()&&this.getWeight()===e.getWeight()&&this.getStyle()===e.getStyle()&&this.getStrike()===e.getStrike()&&this.getScheme()===e.getScheme()&&this.getShadow()===e.getShadow()&&this.getOutline()===e.getOutline()&&this.getLetterSpacing()===e.getLetterSpacing()&&this.getVerticalAlignment()===e.getVerticalAlignment()}toCSS(e,t=1,r=!1){let i={fontFamily:wm(this.getFamily(),this.getFallbacks()),letterSpacing:`${this.getLetterSpacing()}px`,fontWeight:this.getWeight(),fontStyle:this.getStyle(),textDecoration:vm(this.getUnderline(),this.getStrike()),color:this.getColor().toCSS(e),fontSize:`${n.CommonUtils.roundAccurately(this.getSize()*U.getDeviceScale()*t,2)}px`,textRendering:`geometricPrecision`};if(r){let r=this._c.getNormal().getFont().toCSS(e,t,!1),a=i.textDecoration,o=i.fontWeight;n.CommonUtils.removeEqualValues(i,r),a&&(i.textDecoration=a),o&&(i.fontWeight=o)}return i}isSuperSub(){let e=this.getVerticalAlignment();return e===U.VerticalAlignment.Sub||e===U.VerticalAlignment.Super}isSuperScript(){let e=this.getVerticalAlignment();return e===U.VerticalAlignment.Sub||e===U.VerticalAlignment.Super}getSuperSubScale(){return this.getFamily(),this.getSize(),this.getVerticalAlignment(),.6}getSuperSubShift(){return this.getFamily(),e=this.getSize(),(t=this.getVerticalAlignment())===U.VerticalAlignment.Super?-e/3:t===U.VerticalAlignment.Sub?e/5:0;var e,t}_schemeFamily(){let e=this._value(`scheme`);if(e!==U.Scheme.Major&&e!==U.Scheme.Minor)return;let t=this._c.getTheme().getFontScheme();return e===U.Scheme.Major?t.getMajorFont():t.getMinorFont()}getFamily(){return this._schemeFamily()??this._value(`family`)??this._c.getTheme().getFontScheme().getMinorFont()}setFamily(e,t){return this._o.updater({font:{family:e,scheme:e?U.Scheme.None:null}},{description:(0,n.messageKey)(`op.setFontFamily`),...t}).getFont()}getFallbacks(){let e=this._value(`fallbacks`)??this._c.getTheme().getFontScheme().getMinorFallbacks()??n.CommonUtils.EmptyArray,t=this.getFamily();t===`Aptos Narrow`&&(e=[`Calibri`,...e]);let r=this._schemeFamily()?this._value(`family`):void 0;return r&&r!==t&&!e.includes(r)&&(e=[r,...e]),e}setFallbacks(e,t){return this._o.updater({font:{fallbacks:e}},{description:(0,n.messageKey)(`op.setFontFallbacks`),...t}).getFont()}getSize(){return this._value(`size`)??this._c.getDefaultFontSize()??11}setSize(e,t){return this._o.updater({font:{size:e}},{description:(0,n.messageKey)(`op.setFontSize`),...t}).getFont()}getWeight(){return this._value(`weight`)}setWeight(e,t){return this._o.updater({font:{weight:e}},{description:(0,n.messageKey)(`op.setFontWeight`),...t}).getFont()}getBold(){return this.getWeight()>400}setBold(e,t){let r=e===null?null:e?700:400;return this.setWeight(r,{description:(0,n.messageKey)(`op.setFontBold`),...t})}getStyle(){return this._value(`style`)}setStyle(e,t){return this._o.updater({font:{style:e}},{description:(0,n.messageKey)(`op.setFontStyle`),...t}).getFont()}getItalic(){return this.getStyle()===U.Style.Italic}setItalic(e,t){let r=e===null?null:e?U.Style.Italic:U.Style.Normal;return this.setStyle(r,{description:(0,n.messageKey)(`op.setFontItalic`),...t})}getColor(){let e=this._value(`color`);return this._c.parseColor(e??J.Scheme.Bg1)}setColor(e,t){return this._o.updater({font:{color:e}},{description:(0,n.messageKey)(`op.setFontColor`),...t}).getFont()}getLetterSpacing(){return this._value(`letterSpacing`)??this.getSize()/-25}setLetterSpacing(e,t){return this._o.updater({font:{letterSpacing:e}},{description:(0,n.messageKey)(`op.setFontLetterSpacing`),...t}).getFont()}getUnderline(){return this._value(`underline`)}setUnderline(e,t){return this._o.updater({font:{underline:e}},{description:(0,n.messageKey)(`op.setFontUnderline`),...t}).getFont()}getStrike(){return this._value(`strike`)}setStrike(e,t){return this._o.updater({font:{strike:e}},{description:(0,n.messageKey)(`op.setFontStrike`),...t}).getFont()}getScheme(){return this._value(`scheme`)}setScheme(e,t){let r=e===U.Scheme.Major||e===U.Scheme.Minor?{scheme:e,family:null}:{scheme:e};return this._o.updater({font:r},{description:(0,n.messageKey)(`op.setFontScheme`),...t}).getFont()}getVerticalAlignment(){return this._value(`verticalAlign`)}setVerticalAlignment(e,t){return this._o.updater({font:{verticalAlign:e}},{description:(0,n.messageKey)(`op.setFontVerticalAlignment`),...t}).getFont()}getShadow(){return this._value(`shadow`)}setShadow(e,t){return this._o.updater({font:{shadow:e}},{description:(0,n.messageKey)(`op.setFontShadow`),...t}).getFont()}getOutline(){return this._value(`outline`)}setOutline(e,t){return this._o.updater({font:{outline:e}},{description:(0,n.messageKey)(`op.setFontOutline`),...t}).getFont()}getExtend(){return this._value(`extend`)}setExtend(e,t){return this._o.updater({font:{extend:e}},{description:(0,n.messageKey)(`op.setFontExtend`),...t}).getFont()}getCharset(){return this._value(`charset`)??null}setCharset(e,t){return this._o.updater({font:{charset:e}},{description:(0,n.messageKey)(`op.setFontCharset`),...t}).getFont()}get[Symbol.toStringTag](){return`[StyledFont]`}toString(){return`[StyledFont]`}get isIStyledFont(){return!0}},d_=Object.freeze({background:`none`}),f_=class extends i_{getType(){return Y.Type.None}getColor(){return null}setColor(e,t){return e===null?this:this._o.updater({fill:{color:e}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}toCSS(e){return d_}hasVisibleStyling(){return!1}isEqual(e){return!!e&&e.getType()===Y.Type.None}toJSON(){return{type:Y.Type.None}}get[Symbol.toStringTag](){return`[NoneFill]`}toString(){return`[NoneFill]`}get isIFill(){return!0}},p_=class extends i_{getType(){return Y.Type.Solid}getColor(){return this._c.parseColor(this._value(`color`)??J.Scheme.Bg1)}setColor(e,t){return this._o.updater({fill:{color:e}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}toCSS(e){return{background:this.getColor().toCSS(e)}}hasVisibleStyling(){let e=this._o.styles?.getNormal();return!e||!e.getFill().isEqual(this)}isEqual(e){return!!e&&e.getType()===Y.Type.Solid&&!!e.getColor().isEqual(this.getColor())}toJSON(){return{type:Y.Type.Solid,color:this.getColor()?.toString()??null}}get[Symbol.toStringTag](){return`[SolidFill]`}toString(){return`[SolidFill]`}get isIFill(){return!0}},m_=class extends i_{constructor(e,t,n,r){super(n,r),this._i=e,this._l=t}getOffset(){return this._value(`offset`)??this._i/this._l*100}getColor(){return this._c.parseColor(this._value(`color`)??J.Scheme.Bg1)}},h_=class extends i_{getType(){return Y.Type.Gradient}getColor(){let e=this._value(`stops`)??n.CommonUtils.EmptyArray,t=e.length;return t===0?null:new m_(0,t,this._o,[e[0]]).getColor()}setColor(e,t){let r=this._value(`stops`)??n.CommonUtils.EmptyArray,i=r.length>0?{...r[0]}:{offset:0,color:null},a=[...r];return a[0]=i,i.color=e,this._o.updater({fill:{stops:a}},{description:(0,n.messageKey)(`op.setFillColor`),...t}).getFill()}getStops(){let e=this._value(`stops`)??n.CommonUtils.EmptyArray,t=e.length,r=t===0?n.CommonUtils.EmptyArray:Array(t);for(let n=0;n<t;n++){let i=e[n];r[n]=new m_(n,t,this._o,[i])}return r}setStops(e,t){return this._o.updater({fill:{stops:e}},{description:(0,n.messageKey)(`op.setStops`),...t}).getFill()}getGradientType(){return this._value(`gradientType`)??Y.GradientType.Linear}setGradientType(e,t){return this._o.updater({fill:{gradientType:e}},{description:(0,n.messageKey)(`op.setGradientType`),...t}).getFill()}getAngle(){return this._value(`angle`)??0}setAngle(e,t){return this._o.updater({fill:{angle:e}},{description:(0,n.messageKey)(`op.setAngle`),...t}).getFill()}getFocus(){return this._value(`focus`)??null}setFocus(e,t){return this._o.updater({fill:{focus:e}},{description:(0,n.messageKey)(`op.setFocus`),...t}).getFill()}toCSS(e,t){let n=mh(this,e,t);return n?{background:n}:null}hasVisibleStyling(){return!0}isEqual(e){return!1}toJSON(){let e={type:Y.Type.Gradient},t=this._value(`stops`)??n.CommonUtils.EmptyArray,r=t.length;if(r>0){let n=Array(r);for(let e=0;e<r;e++){let r=t[e],i={color:r.color.toString()},a=r.offset;a!==void 0&&(i.offset=a),n[e]=i}e.stops=n}return this.getAngle()!==0&&(e.angle=this.getAngle()),this.getGradientType()!==Y.GradientType.Linear&&(e.gradientType=this.getGradientType()),this.getFocus()&&(e.focus=this.getFocus()),e}get[Symbol.toStringTag](){return`[GradientFill]`}toString(){return`[GradientFill]`}get isIFill(){return!0}},g_=class extends i_{getType(){return Y.Type.Pattern}getColor(){return this.getBackground()}setColor(e,t){return this.setBackground(e,t)}getBackground(){let e=this._value(`background`)??J.Named.Window;return this._c.parseColor(e)}setBackground(e,t){return this._o.updater({fill:{background:e}},{description:(0,n.messageKey)(`op.setBackgroundColor`),...t}).getFill()}getForeground(){return this._c.parseColor(this._value(`foreground`)??J.Scheme.Tx1)}setForeground(e,t){return this._o.updater({fill:{foreground:e}},{description:(0,n.messageKey)(`op.setForegroundColor`),...t}).getFill()}getPatternType(){return this._value(`patternType`)??Y.BuiltInSheetPattern.None}setPatternType(e,t){return this._o.updater({fill:{patternType:e}},{description:(0,n.messageKey)(`op.setPatternType`),...t}).getFill()}toCSS(e){if(this.getPatternType()===Y.BuiltInSheetPattern.None)return{background:`none`};if(this.getPatternType()===Y.BuiltInSheetPattern.Solid)return{background:this.getForeground().toCSS(e)};let t=e!==`adaptive`&&e,n=this.getBackground().toCSS(t),r=this.getForeground().toCSS(t);return t_.toCSS(this.getPatternType(),r,n)}toCSSMask(e){return t_.toCSSMask(this.getPatternType(),this.getForeground().toCSS(e),this.getBackground().toCSS(e))}hasVisibleStyling(){return!0}isEqual(e){if(!e||e.getType()!==Y.Type.Pattern)return!1;let t=e;return t.getPatternType()===this.getPatternType()&&!!t.getForeground().isEqual(this.getForeground())&&!!t.getBackground().isEqual(this.getBackground())}toJSON(){let e={type:Y.Type.Pattern};this.getPatternType()!==Y.BuiltInSheetPattern.None&&(e.patternType=this.getPatternType());let t=this.getForeground();t&&(e.foreground=t.toString());let n=this.getBackground();return n&&(e.background=n.toString()),e}get[Symbol.toStringTag](){return`[PatternFill]`}toString(){return`[PatternFill]`}get isIFill(){return!0}},__=class{constructor(e){this._o=e,this._p=new r_(e.properties)}toJSON(){let e=this._p.toJSON(),t=e.namedStyle??X.BuiltInName.Normal;return delete e.namedStyle,e.named=t,e}hasVisibleStyling(){if(this._hasVisibleStyling!==void 0)return this._hasVisibleStyling;let e=this.getFill();return this._hasVisibleStyling=!e||e.getType()!==Y.Type.None||!this.getBorder().isEmpty(),this._hasVisibleStyling}isNormal(){return!1}getAuthoredProperties(){let e=this._o,t=e.direct;if(!t)return null;let r=e.range,i=r?.rowStart??n.CoordUtils.EmptyCell.rowIndex,a=r?.colStart??n.CoordUtils.EmptyCell.colIndex;return t.getAuthoredPropertiesAt?t.getAuthoredPropertiesAt(i,a,null):t.getPropertiesAt(i,a,null)}createStyle(e){let t=this._o,n=n_(e,this),r=t.range,i=t.direct.cloneWithUpdate(n);return v_(void 0,t.styles,i,r)}measureText(e,t=this.getFont().getSize(),n,r){let i=this.getFont();n||=i.getFamily();let a=i.getFallbacks();n===`Aptos Narrow`&&(a=[`Calibri`,...a]);let o=wm(n,a);return U.getSharedMeasurer()(e,t*U.getDeviceScale(),o,{isBold:i.getWeight()>400,isItalic:i.getStyle().includes(`italic`),letterSpacing:i.getLetterSpacing(),...r})}createTextFrame(e,t=!1){return Zg(e,this.getFont(),this.getAlignment(),t)}update(e,t){return this._o.updater(e,t)}clear(){return this._o.updater(null,{description:(0,n.messageKey)(`op.clearStyle`)})}getBestFit(){if(this._bestFit!==void 0)return this._bestFit;let e=this.getInsets(),t=this.measureText(`My`);return this._bestFit={width:null,height:t.lineHeight+e.top+e.bottom},this._bestFit}getInsets(){if(this._insets!==void 0)return this._insets;this.getFont().getSize();let e=(t=this.getFont().getSize(),Math.max(3,Math.round(t<225?t/5:t/3.5)));var t;let n={top:1,left:e,bottom:1,right:e},r=this._p?.value(`insets`);return r&&(r.top!==void 0&&(n.top+=r.top),r.left!==void 0&&(n.left+=r.left),r.bottom!==void 0&&(n.bottom+=r.bottom),r.right!==void 0&&(n.right+=r.right)),this._insets=Object.freeze(n),this._insets}getBorder(){return this._border||=new c_(this._o,this._p.values(`border`)),this._border}setBorder(e,t){return this._o.updater({border:e},{description:(0,n.messageKey)(`op.setBorder`),...t})}getFont(){return this._font||=new u_(this._o,this._p.values(`font`)),this._font}setFont(e,t){return this._o.updater({font:e},{description:(0,n.messageKey)(`op.setFont`),...t})}getFill(){if(this._fill)return this._fill;let e=this._p,t,n=e.values(`fill`);for(let e=n.length-1;t===void 0&&e>=0;e--)t=n[e]?.type;let r=e.value(`fill`);return t===Y.Type.None?this._fill=new f_(this._o,n):t===Y.Type.Solid||!t&&r.color?this._fill=new p_(this._o,n):t===Y.Type.Gradient?this._fill=new h_(this._o,n):t===Y.Type.Pattern?this._fill=new g_(this._o,n):this._fill=new f_(this._o,n)}setFill(e,t){return this._o.updater({fill:e},{description:(0,n.messageKey)(`op.setFill`),...t})}setFillSolid(e){return this._o.updater({fill:{type:Y.Type.Solid}},{description:(0,n.messageKey)(`op.setFillSolid`),...e}).getFill()}setFillGradient(e){return this._o.updater({fill:{type:Y.Type.Gradient}},{description:(0,n.messageKey)(`op.setFillGradient`),...e}).getFill()}setFillPattern(e){return this._o.updater({fill:{type:Y.Type.Pattern}},{description:(0,n.messageKey)(`op.setFillPattern`),...e}).getFill()}setFillNone(e){return this._o.updater({fill:{type:Y.Type.None}},{description:(0,n.messageKey)(`op.setFillNone`),...e}).getFill()}getAlignment(){return this._alignment||=new l_(this._o,this._p.values(`alignment`)),this._alignment}setAlignment(e,t){return this._o.updater({alignment:e},{description:(0,n.messageKey)(`op.setAlignment`),...t})}getNumberFormat(){let e=this._p.value(`numberFormat`);return typeof e==`number`?qc(e):e}setNumberFormat(e,t){return this._o.updater({numberFormat:e},{description:(0,n.messageKey)(`op.setNumberFormat`),...t})}getQuotePrefix(){return this._p.value(`quotePrefix`)}setQuotePrefix(e,t){return this._o.updater({quotePrefix:e},{description:(0,n.messageKey)(`op.setQuotePrefix`),...t})}getNamed(){let e=this._p.value(`named`)??X.BuiltInName.Normal;return this._o.styles.getNamed(e)}setNamed(e,t){let r=e==null?null:typeof e==`string`?e:e.getName();return this._o.updater({named:r},{description:(0,n.messageKey)(`op.setNamedStyle`),...t})}get[Symbol.toStringTag](){return`[SheetCellStyle]`}toString(){return`Style: ${Jl(this._o.range)}`}get isIStyle(){return!0}};function v_(e,t,r,i,a=b_,o){let s=i?.rowStart??n.CoordUtils.EmptyCell.rowIndex,c=i?.colStart??n.CoordUtils.EmptyCell.colIndex,l=[sm],u=t.getNormalRanged(),d=u.getPropertiesAt(s,c,e);d&&l.push(d);let f=(e,t)=>a(e,t,i);if(!r)return new y_({styles:t,range:i,properties:l,direct:u,extent:o,updater:f});let p=r.getPropertiesAt(s,c,e);return p?(l.push(p),new __({styles:t,range:i,properties:l,direct:r,extent:o,updater:f})):new y_({styles:t,range:i,properties:l,direct:u,extent:o,updater:f})}var y_=class extends __{isNormal(){return!0}getAuthoredProperties(){return null}};function b_(e){throw Error(`Style is read-only and cannot be updated`)}async function x_(){return globalThis.crypto}var S_=async(e,t,...n)=>{let r=C_(...n);return e.subtle.digest(t,r)},C_=(...e)=>{let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;return e.forEach(e=>{n.set(new Uint8Array(e),r),r+=e.byteLength}),n.buffer},w_=e=>{let t=new Uint8Array(e),n=``,r=t.byteLength;for(let e=0;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)},T_=class e{static{this.DefaultAlgo=`SHA-512`}static{this.DefaultSpinCount=1e5}static async generateSaltAndHash(t,n=e.DefaultAlgo,r=e.DefaultSpinCount){if(!t)return null;let i=w_((await x_()).getRandomValues(new Uint8Array(16)).buffer);return{salt:i,hash:await e._convertPasswordToHash(t,i,n,r)}}static async verifyPassword(t,r,i=e.DefaultAlgo,a=e.DefaultSpinCount){if(!t||!r)throw new n.NullNotAllowedError;return((e,t)=>{let n=e.length,r=t.length,i=n===r?0:1,a=Math.max(n,r);for(let o=0;o<a;o++)i|=e.charCodeAt(o%n)^t.charCodeAt(o%r);return i===0})(await e._convertPasswordToHash(t,r.salt,i,a),r.hash)}static async _convertPasswordToHash(e,t,n,r){let i=await x_();n=n.toUpperCase();let a=(e=>{let t=e.length,n=new ArrayBuffer(2*t),r=new DataView(n);for(let n=0;n<t;n++)r.setUint16(2*n,e.charCodeAt(n),!0);return new Uint8Array(n)})(e),o=(e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer})(t),s=await S_(i,n,o,a.buffer);for(let e=0;e<r;e++){let t=new Uint32Array([e]).buffer;s=await S_(i,n,s,t)}return w_(s)}},E_=class{constructor(e,t=!1){this._isPaused=!1,this._password=null,this._identities=null,this._properties=null,this._emitter=new v(this),this.fromJSON(e),this._isReadOnly=t}async lock(e,t,n,r){if(this._isReadOnly)return this;if(this.isLocked()&&!this._isPaused)throw Error(`Cannot lock an already locked object. Use unlock first.`);try{this._validatePassword()}catch{throw Error(`A password is already set. Unlock first to change.`)}let i;if(t){let e=await T_.generateSaltAndHash(t,n,r);i={salt:e.salt,hash:e.hash},n&&(i.algorithm=n),r&&(i.spinCount=r)}else i=null;return e??={},this._updateProperties(e),this._properties=e,this._password=i,this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),this}async unlock(e){if(this._isReadOnly)throw Error(`Cannot unlock a readonly workbook.`);return await this._validatePassword(e),this._clearProperties(),this._password=null,this._identities=null,this._password=null,this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),this}checkPassword(e){return this._validatePassword(e)}hasPassword(){return this._password!==null}async pause(e){return this._emitter.notify(`onLockChange`),this._emitter.notify(`onChange`),await this._validatePassword(e),this._password&&(this._isPaused=!0),this}resume(){return this._isPaused=!1,this}isPaused(){return this._isPaused}isLocked(){return this._properties!==null&&!this._isPaused}isReadOnly(){return this._isReadOnly}async _validatePassword(e){let t=this._password;if(!t||!t.hash)return!0;if(!e||e.length===0)throw Error(`Password is required.`);if(!await T_.verifyPassword(e,{salt:t.salt,hash:t.hash},t.algorithm,t.spinCount))throw Error(`Invalid password.`);return!0}getProperties(){return this._properties}_isPropertyAllowed(e){if(this._isReadOnly)return!1;if(!this.isLocked())return!0;let t=this._properties[e];return typeof t==`boolean`&&t}_updateProperties(e){this._properties={...e,...this._properties??{}}}_clearProperties(){this._properties=null}addListeners(e,t){return this._emitter.addListeners(e,t)}fromJSON(e){this._password=null,this._identities=null,this._isPaused=!1,this._properties=null,this._fromJSON(e??null),e&&(e.password&&(this._password=e.password),e.identities&&(this._identities=e.identities))}_fromJSON(e){}_toJSON(e){return e}toJSON(){if(!this._properties)return null;let e={};return e=this._toJSON(e)??{},this._password&&(e.password=this._password),this._identities&&(e.identities=this._identities),e}},D_=Object.freeze({selectLockedCells:!0,selectUnlockedCells:!0,autoTable:!1,deleteColumns:!1,deleteRows:!1,formatCells:!1,formatColumns:!1,formatRows:!1,insertColumns:!1,insertHyperlinks:!1,insertRows:!1,objects:!1,pivotTables:!1,scenarios:!1,sheet:!1,sort:!1,verifier:null}),O_=class extends E_{isAutoTableAllowed(){return this._isPropertyAllowed(`autoTable`)}isDeleteColumnsAllowed(){return this._isPropertyAllowed(`deleteColumns`)}isDeleteRowsAllowed(){return this._isPropertyAllowed(`deleteRows`)}isFormatCellsAllowed(){return this._isPropertyAllowed(`formatCells`)}isFormatColumnsAllowed(){return this._isPropertyAllowed(`formatColumns`)}isFormatRowsAllowed(){return this._isPropertyAllowed(`formatRows`)}isInsertColumnsAllowed(){return this._isPropertyAllowed(`insertColumns`)}isInsertHyperlinksAllowed(){return this._isPropertyAllowed(`insertHyperlinks`)}isInsertRowsAllowed(){return this._isPropertyAllowed(`insertRows`)}isObjectsAllowed(){return this._isPropertyAllowed(`objects`)}isPivotTablesAllowed(){return this._isPropertyAllowed(`pivotTables`)}isScenariosAllowed(){return this._isPropertyAllowed(`scenarios`)}isSortAllowed(){return this._isPropertyAllowed(`sort`)}isSelectLockedCellsAllowed(){return!1}isSelectUnlockedCellsAllowed(){return!1}_updateProperties(e){super._updateProperties(e),this._properties=e}_clearProperties(){super._clearProperties(),this._properties=null}_fromJSON(e){super._fromJSON(e),this._properties=e}_toJSON(e){let t=this._properties;if(t){e={...e,...t};let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=t[n[r]];i!=null&&i!==D_[n[r]]&&(e[n[r]]=i)}}return super._toJSON(e)}get[Symbol.toStringTag](){return`[SheetProtection]`}toString(){return null}},k_=e=>typeof e==`string`?(0,n.t)(`error.address.invalidRangeAddress`,{address:e}):(0,n.t)(`error.address.invalidRangeAddressAny`),Z=()=>{throw Error((0,n.t)(`error.address.invalidRangeEmpty`))},A_={hasSubscribers:!1},j_=A_,M_=A_,N_=typeof performance==`object`&&performance&&typeof performance.now==`function`?performance:Date,P_=()=>j_.hasSubscribers||M_.hasSubscribers,F_=new Set,I_=typeof process==`object`&&process?process:{},L_=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),R_=e=>L_(e)?e<=2**8?Uint8Array:e<=2**16?Uint16Array:e<=2**32?Uint32Array:e<=2**53-1?z_:null:null,z_=class extends Array{constructor(e){super(e),this.fill(0)}},B_=class e{heap;length;static#e=!1;static create(t){let n=R_(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw TypeError(`instantiate Stack using Stack.create(n)`);this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},V_=class e{#e;#t;#n;#r;#i;#a;#o;#s;get perf(){return this.#s}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#x,autopurgeTimers:e.#S,sizes:e.#y,keyMap:e.#u,keyList:e.#d,valList:e.#f,next:e.#p,prev:e.#m,get head(){return e.#h},get tail(){return e.#g},free:e.#_,isBackgroundFetch:t=>e.#W(t),backgroundFetch:(t,n,r,i)=>e.#U(t,n,r,i),moveToTail:t=>e.#X(t),indexes:t=>e.#I(t),rindexes:t=>e.#L(t),isStale:t=>e.#j(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#a}get memoMethod(){return this.#o}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:o,updateAgeOnHas:s,allowStale:c,dispose:l,onInsert:u,disposeAfter:d,noDisposeOnSet:f,noUpdateTTL:p,maxSize:m=0,maxEntrySize:h=0,sizeCalculation:g,fetchMethod:_,memoMethod:v,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:x,allowStaleOnFetchAbort:S,ignoreFetchAbort:C,backgroundFetchSize:w=1,perf:T}=t;if(this.backgroundFetchSize=w,T!==void 0&&typeof T?.now!=`function`)throw TypeError(`perf option must have a now() method if specified`);if(this.#s=T??N_,n!==0&&!L_(n))throw TypeError(`max option must be a nonnegative integer`);let E=n?R_(n):Array;if(!E)throw Error(`invalid max value: `+n);if(this.#e=n,this.#t=m,this.maxEntrySize=h||this.#t,this.sizeCalculation=g,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw TypeError(`cannot set sizeCalculation without setting maxSize or maxEntrySize`);if(typeof this.sizeCalculation!=`function`)throw TypeError(`sizeCalculation set to non-function`)}if(v!==void 0&&typeof v!=`function`)throw TypeError(`memoMethod must be a function if defined`);if(this.#o=v,_!==void 0&&typeof _!=`function`)throw TypeError(`fetchMethod must be a function if specified`);if(this.#a=_,this.#w=!!_,this.#u=new Map,this.#d=Array.from({length:n}).fill(void 0),this.#f=Array.from({length:n}).fill(void 0),this.#p=new E(n),this.#m=new E(n),this.#h=0,this.#g=0,this.#_=B_.create(n),this.#c=0,this.#l=0,typeof l==`function`&&(this.#n=l),typeof u==`function`&&(this.#r=u),typeof d==`function`?(this.#i=d,this.#v=[]):(this.#i=void 0,this.#v=void 0),this.#C=!!this.#n,this.#E=!!this.#r,this.#T=!!this.#i,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!x,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!C,this.maxEntrySize!==0){if(this.#t!==0&&!L_(this.#t))throw TypeError(`maxSize must be a positive integer if specified`);if(!L_(this.maxEntrySize))throw TypeError(`maxEntrySize must be a positive integer if specified`);this.#M()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!s,this.ttlResolution=L_(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=r||0,this.ttl){if(!L_(this.ttl))throw TypeError(`ttl must be a positive integer if specified`);this.#D()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw TypeError(`At least one of max, maxSize, or ttl is required`);if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t=`LRU_CACHE_UNBOUNDED`;(e=>!F_.has(e))(t)&&(F_.add(t),((e,t,n,r)=>{typeof I_.emitWarning==`function`?I_.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})(`TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.`,`UnboundedCacheWarning`,t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#D(){let e=new z_(this.#e),t=new z_(this.#e);this.#x=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#S=n,this.#A=(n,i,a=this.#s.now())=>{t[n]=i===0?0:a,e[n]=i,r(n,i)},this.#O=n=>{t[n]=e[n]===0?0:this.#s.now(),r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&t!==0&&n){let i=setTimeout(()=>{this.#j(e)?(this.#Z(this.#d[e],`expire`),n[e]=void 0):r(e,o(e))},t+1);i.unref&&i.unref(),n[e]=i}}:()=>{};this.#k=(n,r)=>{if(e[r]){let o=e[r],s=t[r];if(!o||!s)return;n.ttl=o,n.start=s,n.now=i||a(),n.remainingTTL=o-(n.now-s)}};let i=0,a=()=>{let e=this.#s.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=e=>{let t=this.#u.get(e);return t===void 0?0:o(t)};let o=n=>{let r=e[n],o=t[n];return r&&o?r-((i||a())-o):1/0};this.#j=n=>{let r=t[n],o=e[n];return!!o&&!!r&&(i||a())-r>o}}#O=()=>{};#k=()=>{};#A=()=>{};#j=()=>!1;#M(){let e=new z_(this.#e);this.#l=0,this.#y=e,this.#N=t=>{this.#l-=e[t],e[t]=0},this.#F=(e,t,n,r)=>{if(!L_(n)){if(this.#W(t))return this.backgroundFetchSize;if(!r)throw TypeError(`invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.`);if(typeof r!=`function`)throw TypeError(`sizeCalculation must be a function`);if(n=r(t,e),!L_(n))throw TypeError(`sizeCalculation return invalid (expect positive integer)`)}return n},this.#P=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#B(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#N=e=>{};#P=(e,t,n)=>{};#F=(e,t,n,r)=>{if(n||r)throw TypeError(`cannot set size without setting maxSize or maxEntrySize on cache`);return 0};*#I({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#h);)t=this.#m[t]}*#L({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#h;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#g);)t=this.#p[t]}#R(e){return e!==void 0&&this.#u.get(this.#d[e])===e}*entries(){for(let e of this.#I())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*rentries(){for(let e of this.#L())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*keys(){for(let e of this.#I()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*rkeys(){for(let e of this.#L()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*values(){for(let e of this.#I())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}*rvalues(){for(let e of this.#L())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]=`LRUCache`;find(e,t={}){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;if(i!==void 0&&e(i,this.#d[n],this))return this.#J(this.#d[n],t)}}forEach(e,t=this){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}rforEach(e,t=this){for(let n of this.#L()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}purgeStale(){let e=!1;for(let t of this.#L({allowStale:!0}))this.#j(t)&&(this.#Z(this.#d[t],`expire`),e=!0);return e}info(e){let t=this.#u.get(e);if(t===void 0)return;let n=this.#f[t],r=this.#W(n)?n.__staleWhileFetching:n;if(r===void 0)return;let i={value:r};if(this.#x&&this.#b){let e=this.#x[t],n=this.#b[t];e&&n&&(i.ttl=e-(this.#s.now()-n),i.start=Date.now())}return this.#y&&(i.size=this.#y[t]),i}dump(){let e=[];for(let t of this.#I({allowStale:!0})){let n=this.#d[t],r=this.#f[t],i=this.#W(r)?r.__staleWhileFetching:r;if(i===void 0||n===void 0)continue;let a={value:i};if(this.#x&&this.#b){a.ttl=this.#x[t];let e=this.#s.now()-this.#b[t];a.start=Math.floor(Date.now()-e)}this.#y&&(a.size=this.#y[t]),e.unshift([n,a])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#s.now()-e}this.#z(t,n.value,n)}}set(e,t,n={}){let{status:r=j_.hasSubscribers?{}:void 0}=n;n.status=r,r&&(r.op=`set`,r.key=e,t!==void 0&&(r.value=t),r.cache=this);let i=this.#z(e,t,n);return r&&j_.hasSubscribers&&j_.publish(r),i}#z(e,t,n,r){let{ttl:i=this.ttl,start:a,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:c}=n,l=this.#W(t);if(t===void 0)return c&&(c.set=`deleted`),this.delete(e),this;let{noUpdateTTL:u=this.noUpdateTTL}=n;c&&!l&&(c.value=t);let d=this.#F(e,t,n.size||0,s,c);if(this.maxEntrySize&&d>this.maxEntrySize)return this.#Z(e,`set`),c&&(c.set=`miss`,c.maxEntrySizeExceeded=!0),this;let f=this.#c===0?void 0:this.#u.get(e);if(f===void 0)f=this.#c===0?this.#g:this.#_.length===0?this.#c===this.#e?this.#B(!1):this.#c:this.#_.pop(),this.#d[f]=e,this.#f[f]=t,this.#u.set(e,f),this.#p[this.#g]=f,this.#m[f]=this.#g,this.#g=f,this.#c++,this.#P(f,d,c),c&&(c.set=`add`),u=!1,this.#E&&!l&&this.#r?.(t,e,`add`);else{this.#X(f);let n=this.#f[f];if(t!==n){if(!o)if(this.#W(n)){n!==r&&n.__abortController.abort(Error(`replaced`));let{__staleWhileFetching:i}=n;i!==void 0&&i!==t&&(this.#C&&this.#n?.(i,e,`set`),this.#T&&this.#v?.push([i,e,`set`]))}else this.#C&&this.#n?.(n,e,`set`),this.#T&&this.#v?.push([n,e,`set`]);if(this.#N(f),this.#P(f,d,c),this.#f[f]=t,!l){let r=n&&this.#W(n)?n.__staleWhileFetching:n,i=r===void 0?`add`:t===r?`update`:`replace`;c&&(c.set=i,r!==void 0&&(c.oldValue=r)),this.#E&&this.onInsert?.(t,e,i)}}else l||(c&&(c.set=`update`),this.#E&&this.onInsert?.(t,e,`update`))}if(i!==0&&!this.#x&&this.#D(),this.#x&&(u||this.#A(f,i,a),c&&this.#k(c,f)),!o&&this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#f[this.#h];if(this.#B(!0),this.#W(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}}}#B(e){let t=this.#h,n=this.#d[t],r=this.#f[t],i=this.#W(r);i&&r.__abortController.abort(Error(`evicted`));let a=i?r.__staleWhileFetching:r;return(this.#C||this.#T)&&a!==void 0&&(this.#C&&this.#n?.(a,n,`evict`),this.#T&&this.#v?.push([a,n,`evict`])),this.#N(t),this.#S?.[t]&&(clearTimeout(this.#S[t]),this.#S[t]=void 0),e&&(this.#d[t]=void 0,this.#f[t]=void 0,this.#_.push(t)),this.#c===1?(this.#h=this.#g=0,this.#_.length=0):this.#h=this.#p[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=j_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`has`,n.key=e,n.cache=this);let r=this.#V(e,t);return j_.hasSubscribers&&j_.publish(n),r}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(i!==void 0){let e=this.#f[i];if(this.#W(e)&&e.__staleWhileFetching===void 0)return!1;if(!this.#j(i))return n&&this.#O(i),r&&(r.has=`hit`,this.#k(r,i)),!0;r&&(r.has=`stale`,this.#k(r,i))}else r&&(r.has=`miss`);return!1}peek(e,t={}){let{status:n=P_()?{}:void 0}=t;n&&(n.op=`peek`,n.key=e,n.cache=this),t.status=n;let r=this.#H(e,t);return j_.hasSubscribers&&j_.publish(n),r}#H(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(i===void 0||!r&&this.#j(i))return void(n&&(n.peek=i===void 0?`miss`:`stale`));let a=this.#f[i],o=this.#W(a)?a.__staleWhileFetching:a;return n&&(o===void 0?n.peek=`miss`:(n.peek=`hit`,n.value=o)),o}#U(e,t,n,r){let i=t===void 0?void 0:this.#f[t];if(this.#W(i))return i;let a=new AbortController,{signal:o}=n;o?.addEventListener(`abort`,()=>a.abort(o.reason),{signal:a.signal});let s={signal:a.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:o}=a.signal,c=n.ignoreFetchAbort&&r!==void 0,d=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||r===void 0);if(n.status&&(o&&!i?(n.status.fetchAborted=!0,n.status.fetchError=a.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),o&&!c&&!i)return l(a.signal.reason,d);let f=u,p=this.#f[t];return(p===u||p===void 0&&c&&i)&&(r===void 0?f.__staleWhileFetching===void 0?this.#Z(e,`fetch`):this.#f[t]=f.__staleWhileFetching:(n.status&&(n.status.fetchUpdated=!0),this.#z(e,r,s.options,f))),r},l=(r,i)=>{let{aborted:o}=a.signal,s=o&&n.allowStaleOnFetchAbort,c=s||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,d=u;if(this.#f[t]===u&&(!l||!i&&d.__staleWhileFetching===void 0?this.#Z(e,`fetch`):s||(this.#f[t]=d.__staleWhileFetching)),c)return n.status&&d.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),d.__staleWhileFetching;if(d.__returned===d)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let o=this.#a?.(e,i,s);a.signal.addEventListener(`abort`,()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),o&&o instanceof Promise?o.then(e=>t(e===void 0?void 0:e),r):o!==void 0&&t(o)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),d=Object.assign(u,{__abortController:a,__staleWhileFetching:i,__returned:void 0});return t===void 0?(this.#z(e,d,{...s.options,status:void 0}),t=this.#u.get(e)):this.#f[t]=d,d}#W(e){if(!this.#w)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty(`__staleWhileFetching`)&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=M_.hasSubscribers,{status:r=P_()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#G(e,t);return r&&n&&(r.trace=!0,M_.tracePromise(()=>i,r).catch(()=>{})),i}async#G(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:s=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:f=this.ignoreFetchAbort,allowStaleOnFetchAbort:p=this.allowStaleOnFetchAbort,context:m,forceRefresh:h=!1,status:g,signal:_}=t;if(g&&(g.op=`fetch`,g.key=e,h&&(g.forceRefresh=!0),g.cache=this),!this.#w)return g&&(g.fetch=`get`),this.#J(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let v={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:a,noDisposeOnSet:o,size:s,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:p,ignoreFetchAbort:f,status:g,signal:_},y=this.#u.get(e);if(y===void 0){g&&(g.fetch=`miss`);let t=this.#U(e,y,v,m);return t.__returned=t}{let t=this.#f[y];if(this.#W(t)){let e=n&&t.__staleWhileFetching!==void 0;return g&&(g.fetch=`inflight`,e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#j(y);if(!h&&!i)return g&&(g.fetch=`hit`),this.#X(y),r&&this.#O(y),g&&this.#k(g,y),t;let a=this.#U(e,y,v,m),o=a.__staleWhileFetching!==void 0&&n;return g&&(g.fetch=i?`stale`:`refresh`,o&&i&&(g.returnedStale=!0)),o?a.__staleWhileFetching:a.__returned=a}}forceFetch(e,t={}){let n=M_.hasSubscribers,{status:r=P_()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#K(e,t);return r&&n&&(r.trace=!0,M_.tracePromise(()=>i,r).catch(()=>{})),i}async#K(e,t={}){let n=await this.#G(e,t);if(n===void 0)throw Error(`fetch() returned undefined`);return n}memo(e,t={}){let{status:n=j_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`memo`,n.key=e,t.context&&(n.context=t.context),n.cache=this);let r=this.#q(e,t);return n&&(n.value=r),j_.hasSubscribers&&j_.publish(n),r}#q(e,t={}){let n=this.#o;if(!n)throw Error(`no memoMethod provided to constructor`);let{context:r,status:i,forceRefresh:a,...o}=t;i&&a&&(i.forceRefresh=!0);let s=this.#J(e,o),c=a||s===void 0;if(i&&(i.memo=c?`miss`:`hit`,c||(i.value=s)),!c)return s;let l=n(e,s,{options:o,context:r});return i&&(i.value=l),this.#z(e,l,o),l}get(e,t={}){let{status:n=j_.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`get`,n.key=e,n.cache=this);let r=this.#J(e,t);return n&&(r!==void 0&&(n.value=r),j_.hasSubscribers&&j_.publish(n)),r}#J(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:a}=t,o=this.#u.get(e);if(o===void 0)return void(a&&(a.get=`miss`));let s=this.#f[o],c=this.#W(s);return a&&this.#k(a,o),this.#j(o)?c?(a&&(a.get=`stale-fetching`),n&&s.__staleWhileFetching!==void 0?(a&&(a.returnedStale=!0),s.__staleWhileFetching):void 0):(i||this.#Z(e,`expire`),a&&(a.get=`stale`),n?(a&&(a.returnedStale=!0),s):void 0):(a&&(a.get=c?`fetching`:`hit`),this.#X(o),r&&this.#O(o),c?s.__staleWhileFetching:s)}#Y(e,t){this.#m[t]=e,this.#p[e]=t}#X(e){e!==this.#g&&(e===this.#h?this.#h=this.#p[e]:this.#Y(this.#m[e],this.#p[e]),this.#Y(this.#g,e),this.#g=e)}delete(e){return this.#Z(e,`delete`)}#Z(e,t){j_.hasSubscribers&&j_.publish({op:`delete`,delete:t,key:e,cache:this});let n=!1;if(this.#c!==0){let r=this.#u.get(e);if(r!==void 0)if(this.#S?.[r]&&(clearTimeout(this.#S[r]),this.#S[r]=void 0),n=!0,this.#c===1)this.#Q(t);else{this.#N(r);let n=this.#f[r];if(this.#W(n)?n.__abortController.abort(Error(`deleted`)):(this.#C||this.#T)&&(this.#C&&this.#n?.(n,e,t),this.#T&&this.#v?.push([n,e,t])),this.#u.delete(e),this.#d[r]=void 0,this.#f[r]=void 0,r===this.#g)this.#g=this.#m[r];else if(r===this.#h)this.#h=this.#p[r];else{let e=this.#m[r];this.#p[e]=this.#p[r];let t=this.#p[r];this.#m[t]=this.#m[r]}this.#c--,this.#_.push(r)}}if(this.#T&&this.#v?.length){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#Q(`delete`)}#Q(e){for(let t of this.#L({allowStale:!0})){let n=this.#f[t];if(this.#W(n))n.__abortController.abort(Error(`deleted`));else{let r=this.#d[t];this.#C&&this.#n?.(n,r,e),this.#T&&this.#v?.push([n,r,e])}}if(this.#u.clear(),this.#f.fill(void 0),this.#d.fill(void 0),this.#x&&this.#b){this.#x.fill(0),this.#b.fill(0);for(let e of this.#S??[])e!==void 0&&clearTimeout(e);this.#S?.fill(void 0)}if(this.#y&&this.#y.fill(0),this.#h=0,this.#g=0,this.#_.length=0,this.#l=0,this.#c=0,this.#T&&this.#v){let e,t=this.#v;for(;e=t?.shift();)this.#i?.(...e)}}},H_=`Resource is closed.`,U_=class{constructor(e){if(this._listeners=new Set,this._arrayBuffer=null,this._type=null,this._sourceResolved=null,this._externalURI=null,this._name=e?.name??null,this._source=e.source,!e.source)throw Error(`Source undefined`);this._refs=new Set,this._isClosed=!1}async _resolveSource(){let e=this._sourceResolved;return e||(e=this._source,typeof e==`function`&&(e=e()),e&&typeof e==`object`&&typeof e.then==`function`&&(e=await Promise.resolve(e)),this._sourceResolved=e,e)}async _resolveArrayBuffer(){let e=await this._resolveSource();if(e.base64){let t=e.base64;return n.BufferUtils.base64ToArrayBuffer(t)}if(e.fetch||e.external){let t=e.fetch??e.external,n,r;n=typeof t==`string`?t:e.input;try{let e=await fetch(n,r),t=await e.arrayBuffer(),i=e.headers.get(`Content-Type`);if(i){let e=await W_(t);e&&(this._type={mime:i,ext:e.ext},e.mime!==i&&console.warn(`Resource fetch detected mime type ${e.mime} does not match response mime type ${i}. Using response mime type.`))}return t}catch(e){throw Error(`Unable to fetch '${n}'`,{cause:e.message})}}if(e.buffer)return e.buffer;if(e.file)return await e.file.arrayBuffer();throw Error(`BinaryResource must have an initial data value.`)}getName(){return this._name}async toJSONAsync(){let e={},t=await this.getExternalURI();if(t)e.uri=t;else{let t=await this.toBuffer();e.base64=n.BufferUtils.arrayBufferToBase64(t)}return this._name&&(e.name=this._name),e}async toBuffer(){if(this._arrayBuffer)return this._arrayBuffer;try{this._arrayBuffer=this._resolveArrayBuffer()}catch(e){throw e}return this._arrayBuffer}async getType(){if(this._type)return this._type;let e=await W_(await this.toBuffer());return this._type=e,e}async getExternalURI(){if(this._externalURI)return this._externalURI;let e=await this._resolveSource(),t=Promise.resolve(null),n=e.fetch??e.external;if(n)if(typeof n==`string`)t=Promise.resolve(n);else{let e=n.input;typeof e==`string`?t=Promise.resolve(e):e instanceof URL?t=Promise.resolve(e.href):e instanceof Request&&(t=Promise.resolve(e.url))}return this._externalURI=t,t}addReference(e){if(this._isClosed)throw Error(H_);this._refs.add(e)}deleteReference(e){if(this._isClosed)throw Error(H_);if(this._refs.size===0||!this._refs.has(e))return;this._refs.delete(e);let t=this;if(this._refs.size===0){let e=this._listeners;e.forEach(n=>{n.onUnload?.(t),e.delete(n)}),this._arrayBuffer=null,this._isClosed=!0}}addUnloadListener(e){if(this._isClosed)throw Error(H_);this._listeners.add(e)}get isIResource(){return!0}isClosed(){return this._isClosed}};async function W_(e){return function(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):e;if(t.length<4)return null;if(t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71)return{mime:`image/png`,ext:`png`};if(t[0]===255&&t[1]===216&&t[2]===255)return{mime:`image/jpeg`,ext:`jpeg`};if(t[0]===71&&t[1]===73&&t[2]===70&&t[3]===56)return{mime:`image/gif`,ext:`gif`};if(t[0]===66&&t[1]===77)return{mime:`image/bmp`,ext:`bmp`};if(t[0]===73&&t[1]===73&&t[2]===42&&t[3]===0||t[0]===77&&t[1]===77&&t[2]===0&&t[3]===42)return{mime:`image/tiff`,ext:`tif`};if(t.length>=44&&t[0]===1&&t[1]===0&&t[2]===0&&t[3]===0&&t[40]===32&&t[41]===69&&t[42]===77&&t[43]===70)return{mime:`image/x-emf`,ext:`emf`};if(t[0]===215&&t[1]===205&&t[2]===198&&t[3]===154||t[0]===1&&t[1]===0&&t[2]===9&&t[3]===0)return{mime:`image/x-wmf`,ext:`wmf`};if(t.length>=100){let e=new TextDecoder(`utf-8`,{fatal:!1}).decode(t.slice(0,100));if(e.includes(`<svg`)||e.includes(`<?xml`)&&e.includes(`svg`))return{mime:`image/svg+xml`,ext:`svg`}}return null}(e)||null}var G_,K_=class{constructor(e,t,n){this._state=e,this._fromJSON=t,this._onLastEnd=n,this._state.openScopes.add(this),this._isClosed=!1}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}toResourceId(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=this._state.byRefs.get(e);return t!==void 0||(t=this._state.byRefs.size,this._state.byRefs.set(e,t),this._state.byIds.set(t,e)),t}fromResourceId(e){return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);if(!e||e.length===0)return;let t=this._state.byRefs.size;for(let n=0;n<e.length;n++){let r=e[n],i=this._fromJSON(r);this._state.byRefs.set(i,t+n),this._state.byIds.set(t+n,i)}}toJSONAsync(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byRefs.forEach((t,n)=>{e[t]=Promise.resolve(n.toJSONAsync())}),Promise.all(e)}},q_=class{constructor(){this._persistOpen=null,this._resources=new Set}add(e){if(typeof e==`string`){let t=!1;this._resources.forEach(n=>{n.getName()===e&&(t=!0,e=n)}),t||(e=new U_({name:e,source:{fetch:e}}))}let t;t=e instanceof U_?e:new U_({...e});let n=this;return this._resources.has(t)||(t.addUnloadListener({onUnload:e=>{n._resources.delete(t)}}),this._resources.add(t)),t}*[Symbol.iterator](){yield*this.getItems()}getItems(e){return Array.from(this._resources)}getCount(){return this._resources.size}beginPersist(){this._persistOpen||={byRefs:new Map,byIds:new Map,openScopes:new Set};let e={},t=new Set,n=this;return new K_(this._persistOpen,r=>{let i=r.base64,a=r.uri,o={};i?o.base64=i:a&&(o.external=a);let s=n.add({name:r.name,source:o});return s.addReference(e),t.add(s),s},()=>{t.forEach(t=>{t.deleteReference(e)}),n._persistOpen=null})}},J_=class{constructor(){this._persistOpen=null,this._nextId=0,this._lastReadId=-1,this._lastReadValue=null,this._stringsByText=new Map,this._stringsById=new Map}addMultiple(e,t=!1){let n=this._stringsByText,r=this._stringsById,i=e.length,a=this._nextId;for(let o=0;o<i;o++){let i=e[o];n.get(i)!==void 0&&t||(n.set(i,a),r.set(a,i),a++)}this._lastReadId=-1,this._nextId=a}add(e){let t=this._stringsByText,n=t.get(e);if(n!==void 0)return n;let r=this._nextId++;return t.set(e,r),this._stringsById.set(r,e),this._lastReadId=-1,r}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e?.id!==void 0){let t=this.getById(e.id);return t?[t]:[]}return Array.from(this._stringsById.values())}getById(e){if(this._lastReadId===e)return this._lastReadValue;let t=this._stringsById.get(e)??null;return this._lastReadId=e,this._lastReadValue=t,t}getCount(){return this._stringsById.size}beginPersist(){this._persistOpen||={byRefs:new Map,byIds:new Map,openScopes:new Set};let e=this;return new Y_(this._persistOpen,t=>(Array.isArray(t)?e.addMultiple(t):e.add(t),t),()=>{e._persistOpen=null})}},Y_=class{constructor(e,t,n){this._state=e,this._fromJSON=t,this._onLastEnd=n,this._state.openScopes.add(this),this._isClosed=!1}endPersist(){if(!this._state.openScopes.delete(this))throw Error(`PersistScope is closed.`);this._isClosed=!0,this._state.openScopes.size===0&&this._onLastEnd()}add(e){if(this._isClosed)throw Error(`PersistScope is closed.`);let t=this._state.byRefs.get(e);return t!==void 0||(t=this._state.byRefs.size,this._state.byRefs.set(e,t),this._state.byIds.set(t,e)),t}at(e){return this._state.byIds.get(e)??null}fromJSON(e){if(this._isClosed)throw Error(`PersistScope is closed.`);e&&e.length!==0&&this._fromJSON(e)}toJSONAsync(){if(this._isClosed)throw Error(`PersistScope is closed.`);let e=[];return this._state.byRefs.forEach((t,n)=>{e[t]=Promise.resolve(n.toJSONAsync?n.toJSONAsync():n)}),Promise.all(e)}},X_=/^(mailto|tel|sms):/i,Z_=e=>X_.test(e),Q_=class{constructor(e,t,r){if(!r)throw new n.NullNotAllowedError;if(typeof r==`string`&&(r={address:r}),typeof r.address!=`string`)throw Error((0,n.t)(`error.hyperlink.invalidHyperlink`));this._t=e,this._r=t,this._p=r}open(e,t){return this._r(this.getAddress(),null,e??this.getTarget(),t)}getTarget(){let e=this._p.target;if(e)return e;let t=this._p.address;return t.startsWith(`#`)||Z_(t)?`_self`:`_blank`}getTextToDisplay(){return this._t()||this.getAddress()}getAddress(){return this._p.address??``}getScreenTip(){return this._p.screenTip??null}get isIHyperlink(){return!0}};(G_||={}).Type={Absolute:`absolute`,OneCell:`oneCell`,TwoCell:`twoCell`};var $_,ev=class e{constructor(e){this._cacheSearchRange={colStart:0,rowStart:0,colEnd:0,rowEnd:0},this._cacheSearchFullyContained=!1,this._cacheSearchResults=null,this._init(e)}_init(e){this._options=Object.freeze({getEntireCoords:FO,...e}),this._isEmpty=!0,this._spatial=new Ta,this._mapModelToEntries=new Map,this._setIndexToModel([]),this._mapNameToModel=new Map,this._nextOrder=0,this._createEntry=null,this._mapModelToMeta=new Map}_allocateOrder(){let e=this._nextOrder;return this._nextOrder=e+nv,e}_createSpatialEntry(e,t){let n=(this._createEntry??cv)(e,t);return n.order=this._allocateOrder(),n.orderSpan=nv,n.getSplit||=av,{colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:n}}_entriesOf(e){return this._mapModelToEntries.get(e)??n.CommonUtils.EmptyArray}all(){return this._indexToModel}_setIndexToModel(e){this._indexToModel=Object.freeze(e)}search(e,t=!1,r,i){if(this._isEmpty)return i??n.CommonUtils.EmptyArray;let a=this._cacheSearchRange,o=this._cacheSearchResults;if(o!==null&&n.CoordUtils.isEqualRanges(e,a)&&t===this._cacheSearchFullyContained||(this._cacheSearchFullyContained=t,a.colStart=e.colStart,a.rowStart=e.rowStart,a.colEnd=e.colEnd,a.rowEnd=e.rowEnd,o=this._searchModels(e,t),this._cacheSearchResults=o),!i)return o;let s=o.length;for(let e=0;e<s;e++)i.push(o[e]);return i}_searchModels(e,t){let r=this._spatial.search(e,t),i=r.length;if(i===0)return n.CommonUtils.EmptyArray;let a=this._mapModelToMeta,o=i>1?[...r].sort((e,t)=>{let n=a.get(e.value.model).index,r=a.get(t.value.model).index;return n===r?e.value.order-t.value.order:n-r}):r,s=Array(i);for(let e=0;e<i;e++){let t=o[e];s[e]={...t,value:t.value.model}}return s}getByName(e){if(this._isEmpty)return null;let t=e.toLocaleLowerCase();return this._mapNameToModel.get(t)??null}setName(e,t){let n=this._mapModelToMeta,r=n.get(e);if(!r)return this;let i=new Map(n),a=new Map(this._mapNameToModel),o=r?.name;o&&a.delete(o.toLocaleLowerCase());let s={...r};s.name=t,i.set(e,s);let c=t.toLocaleLowerCase();a.set(c,e);let l=this._shallowClone();return l._mapNameToModel=a,l._mapModelToMeta=i,l}getByIndex(e){return this._isEmpty?null:this._indexToModel[e]||null}setIndex(e,t){let n=this._indexToModel,r=n.length;t<0?t=0:t>r-1&&(t=r-1);let i=this._mapModelToMeta,a=i.get(e);if(a.index===t)return this;let o=[...n],s=new Map(i),c=a.index;o.splice(c,1),o.splice(t,0,e);let l=Math.min(c,t);this._reIndexMeta(o,s,l);let u=this._shallowClone();return u._mapModelToMeta=s,u._setIndexToModel(o),u}getIndex(e){let t=this._mapModelToMeta.get(e);return t?t.index:-1}getCoords(e){let t=this._entriesOf(e);return t.length===0?null:n.CoordUtils.sanitizeRangeArray(t)}setCoords(e,t){let r=this._mapModelToEntries,i=this._entriesOf(e);if(i.length===0)return this;let a=t?t.length:0;if(a===0)return this.deleteModel(e);let o=this._spatial.clone(),s=i.length;for(let e=0;e<s;e++)o.remove(i[e],rv);let c=this._shallowClone(),l=Array(a);for(let n=0;n<a;n++)l[n]=c._createSpatialEntry(e,t[n]);o.load(l);let u=new Map(r);u.set(e,l),c._spatial=o,c._mapModelToEntries=u;let d=n.CoordUtils.sanitizeRangeArray(i),f=n.CoordUtils.sanitizeRangeArray(l);return sv(d,f)||this._mapModelToMeta.get(e)?.callbacks?.processAfterShift?.(d,f),c}clone(){let t=new e(n.CommonUtils.EmptyObject);return t._options=this._options,t._spatial=this._spatial.clone(),t._mapModelToEntries=new Map(this._mapModelToEntries),t._mapModelToMeta=new Map(this._mapModelToMeta),t._mapNameToModel=new Map(this._mapNameToModel),t._setIndexToModel([...this._indexToModel]),t._isEmpty=this._isEmpty,t._nextOrder=this._nextOrder,t._createEntry=this._createEntry,t}size(){return this._mapModelToEntries.size}isEmpty(){return this._isEmpty}has(e){return!this._isEmpty&&this._spatial.has(e)}shift(e){if(this._isEmpty)return this;let t=e?.ranges,r=e?.direction,i=e?.coordValidator,a=t.length,o=this._spatial,s=o,c=this._mapModelToEntries,l=c,u=this._mapModelToMeta,d=u,f=this._mapNameToModel,p=f,m=new Set,h=new Map,g=e=>{let t=h.get(e);return t||(t=[...c.get(e)??n.CommonUtils.EmptyArray],h.set(e,t)),t},_=(e,t)=>{let n=t?t.length:0;for(let e=0;e<n;e++){let n=t[e],r=n.value.model;m.add(r);let i=g(r),a=i.indexOf(n);a>=0&&i.splice(a,1)}let r=e?e.length:0;for(let t=0;t<r;t++){let n=e[t],r=n.value.model;m.add(r),g(r).push(n)}},v=e=>{let t=e.before.value.model;m.add(t),u.get(t)?.callbacks?.processShift?.(e)};for(let e=0;e<a;e++){let n=t[e];s=s.shift({range:n,direction:r,cloneIfUpdate:s===o,coordValidator:i,onShift:v,onUpdates:_})}if(m.size===0)return this;l=new Map(c),d=new Map(u),p=new Map(f);let y=[...this._indexToModel];this._applyEntryDeltas(h,c,l,d,p,y);let b=this._shallowClone();return b._spatial=s,b._mapModelToEntries=l,b._mapNameToModel=p,b._setIndexToModel(y),b._mapModelToMeta=d,b._isEmpty=l.size===0,b}_applyEntryDeltas(e,t,r,i,a,o){let s=2**53-1;e.forEach((e,c)=>{let l=i.get(c);if(!l)return;let u=t.get(c),d=u?n.CoordUtils.sanitizeRangeArray(u):null,f;if(e.length===0){f=null,r.delete(c),i.delete(c);let e=l.name;e&&a.delete(e.toLocaleLowerCase()),s=Math.min(s,l.index),o[l.index]=null}else e.sort(iv),r.set(c,e),f=n.CoordUtils.sanitizeRangeArray(e);sv(d,f)||l.callbacks.processAfterShift?.(d,f),f||l.callbacks.processDelete?.()}),s!==2**53-1&&this._reIndexMeta(o,i,s,!0)}deleteRanges(e,t=!1){if(this._isEmpty)return this;let n=this._spatial,r=e.length,i=[];for(let a=0;a<r;a++){let r=e[a];n.search(r,t,!1,i)}if(i.length===0)return this;let a=this._shallowClone(),o=this._spatial.clone(),s=this._mapModelToEntries,c=new Map(s),l=new Map(this._mapNameToModel),u=new Map(this._mapModelToMeta),d=[...this._indexToModel],f=new Map,p=i.length;for(let e=0;e<p;e++){let t=i[e],n=t.value.model,r=f.get(n);r||(r=new Set,f.set(n,r)),r.add(t),o.remove(t,rv)}let m=new Map;return f.forEach((e,t)=>{let n=s.get(t);n&&m.set(t,n.filter(t=>!e.has(t)))}),this._applyEntryDeltas(m,s,c,u,l,d),a._spatial=o,a._mapModelToEntries=c,a._mapNameToModel=l,a._setIndexToModel(d),a._mapModelToMeta=u,a._isEmpty=c.size===0,a}_reIndexMeta(e,t,n=0,r=!1){if(r)for(let t=e.length-1;t>=n;t--)e[t]||e.splice(t,1);let i=e.length;for(let r=n;r<i;r++){let n=e[r],i=t.get(n);if(i.index===r)continue;let a={...i};a.index=r,t.set(n,a)}}deleteModel(e){if(this._isEmpty)return this;let t=new Map(this._mapModelToEntries),n=this._mapNameToModel,r=new Map(this._mapModelToMeta),i=r.get(e);i.callbacks.processDelete?.();let a=i?.name;a&&(n=new Map(n),n.delete(a.toLocaleLowerCase()));let o=t.get(e),s=o?o.length:0,c=this._spatial;if(o&&s>0){c=this._spatial.clone();for(let e=0;e<s;e++){let t=o[e];c.remove(t,rv)}}r.delete(e),t.delete(e);let l=[...this._indexToModel],u=i.index;l[u]=null,this._reIndexMeta(l,r,u,!0);let d=this._shallowClone();return d._spatial=c,d._mapModelToEntries=t,d._mapNameToModel=n,d._mapModelToMeta=r,d._setIndexToModel(l),d._isEmpty=t.size===0,d}_onLoadFailure(e,t){let r=t?.message??(t?String(t):void 0);if(tv)throw Error(r?`${e} ${r}`:e);n.Notifier.warn(e,{meta:{type:`error`,detail:r}})}load(e,t){let r=e?e.length:0;if(r===0)return this;let i=this._options.getRanges,a=this._options.getEntireRange,o=t.createModel,s=t.addListeners,c=t.setContainerCoords,l=t.setContainerName,u=t.setContainerIndex,d=t.getContainerIndex,f=t.deleteFromContainer,p=t.invalidate,m=new Map(this._mapModelToEntries),h=new Map(this._mapModelToMeta),g=new Map(this._mapNameToModel),_=[],v=this._shallowClone();v._createEntry=t.createEntry??this._createEntry;let y=(e,t,r)=>{let m={model:null,callbacks:n.CommonUtils.EmptyObject,name:null,index:t},h,g=null,_=e,y=!1,b={getRanges:i,getEntireRange:a,invalidate:p,setContainerCallbacks:e=>{if(g)throw Error(`Cannot set container callbacks after model creation.`);m.callbacks={...m.callbacks,...e}},setContainerCoords:(e,t)=>{let n=i(e).getCoords();if(g)return c?.(g,n,t),n;_=[...n]},setContainerName:(e,t)=>{g?l?.(g,e,t):m.name=e},setContainerIndex:(e,t)=>{if(!g)throw Error(`Cannot set container index curring initializations.`);u?.(g,e,t)},getContainerIndex:()=>g?d?.(g):m.index,deleteFromContainer:e=>{g?(f?.(g,e),h?.()):y=!0},coords:e,json:r};if(y)return null;if(g=o(b),m.model=g,!m.name){let e=g.getName?.();e&&(m.name=e)}m.index;let x=[],S=_.length;for(let e=0;e<S;e++)x.push(v._createSpatialEntry(g,_[e]));return s&&(h=s(g)),{entries:x,meta:m}},b=[...this._indexToModel],x=b.length,S=a().getCoords();for(let t=0;t<r;t++){let n=e[t],r=Eu(n,S);if(!r){this._onLoadFailure(`Invalid ref '${n?.r}'.`,null);continue}let i;try{i=y(r.coords,t+x,r.value)}catch(e){this._onLoadFailure(`Unable to load anchored item at '${n?.r}'.`,e)}if(!i)continue;let a=i.entries,o=i.meta,s=o.model;m.set(s,a);let c=o.name;c&&g.set(c.toLocaleLowerCase(),s),h.set(s,o),b.push(s);let l=a.length;for(let e=0;e<l;e++)_.push(a[e])}let C=this._spatial.clone();return C.load(_),v._spatial=C,v._mapModelToEntries=m,v._mapNameToModel=g,v._mapModelToMeta=h,v._setIndexToModel(b),v._isEmpty=m.size===0,v}getBoundingRange(){return this._spatial.getBoundingRange()}toJSON(){let e=this.all(),t=e.length;if(t===0)return null;let n=this._options.getEntireRange().getCoords(),r=[];for(let i=0;i<t;i++){let t=e[i];if(t.toJSON===void 0)continue;let a=this._entriesOf(t);if(a.length===0)continue;let o=t.toJSON();r.push({r:Fu(a,n),v:o})}return r}processCallbacks(e){this._mapModelToMeta.forEach((t,n)=>{e(n,t.callbacks)})}close(){let e=this._mapModelToMeta.keys();for(let t of e)t.close()}_shallowClone(){let t=new e(n.CommonUtils.EmptyObject);return t._options=this._options,t._spatial=this._spatial,t._mapModelToEntries=this._mapModelToEntries,t._mapModelToMeta=this._mapModelToMeta,t._mapNameToModel=this._mapNameToModel,t._indexToModel=this._indexToModel,t._isEmpty=this._isEmpty,t._nextOrder=this._nextOrder,t._createEntry=this._createEntry,t}},tv=!1;($_=ev||={}).setStrictLoad=function(e){tv=e},$_.isStrictLoad=function(){return tv};var nv=1024,rv=(e,t)=>{let n=e.value,r=t.value;return n.model===r.model&&n.order===r.order},iv=(e,t)=>e.value.order-t.value.order;function av(e,t,n){let r=this.order,i=this.orderSpan,a=i/2>0?i/2:0;return[{...this,order:r,orderSpan:a},{...this,order:r+a,orderSpan:i-a}]}var Q,ov,sv=(e,t)=>{let r=e?e.length:0;if(r!==(t?t.length:0))return!1;for(let i=0;i<r;i++)if(!n.CoordUtils.isEqualRanges(e[i],t[i]))return!1;return!0},cv=(e,t)=>({model:e,order:0,orderSpan:nv}),lv=class{constructor(e){this._subscriptions=[],this._getSheets=e.getSheets,this._addSheetsListener=e.addSheetsListener??null}getItems(){this._syncSubscriptions();let e=this._getSheets()??n.CommonUtils.EmptyArray,t=e.length;if(t===0)return n.CommonUtils.EmptyArray;let r=null;for(let i=0;i<t;i++){let t=e[i]?.getTables().getItems()??n.CommonUtils.EmptyArray,a=t.length;for(let e=0;e<a;e++){let n=t[e]?.getNamed?.();n&&(r||=[],r.push(n))}}return r??n.CommonUtils.EmptyArray}addListeners(e,t){let r=()=>{e.onCollectionChange?.()},i={notify:r,sheets:n.CommonUtils.EmptyArray,removes:[],options:t};this._subscriptions.push(i),this._syncSubscription(i);let a=this._addSheetsListener?.(()=>{this._syncSubscription(i),r()},t);return()=>{for(let e=0;e<i.removes.length;e++)i.removes[e]?.();i.removes=[],i.sheets=n.CommonUtils.EmptyArray,this._subscriptions=this._subscriptions.filter(e=>e!==i),a?.()}}_syncSubscription(e){let t=this._getSheets()??n.CommonUtils.EmptyArray,r=e.sheets;if(t.length===r.length){let e=!0;for(let n=0;n<t.length;n++)if(t[n]!==r[n]){e=!1;break}if(e)return}for(let t=0;t<e.removes.length;t++)e.removes[t]?.();e.removes=[],e.sheets=t;for(let n=0;n<t.length;n++){let r=t[n];r&&e.removes.push(r.addListeners({onTablesChange:e.notify},e.options))}}_syncSubscriptions(){for(let e=0;e<this._subscriptions.length;e++)this._syncSubscription(this._subscriptions[e])}};(ov=Q||={}).BuiltInSelectorNames={List:`list`,Logical:`logical`,Date:`date`,DateTime:`dateTime`,Time:`time`,Text:`text`,TextLength:`textLength`,Number:`number`,Whole:`wholeNumber`},ov.BuiltInOperatorNames={And:`and`,Average:`average`,Between:`between`,Color:`color`,EqualTo:`equalTo`,GreaterThan:`greaterThan`,GreaterThanEqualTo:`greaterThanEqualTo`,LessThan:`lessThan`,LessThanEqualTo:`lessThanEqualTo`,After:`after`,AfterEqualTo:`afterEqualTo`,Before:`before`,BeforeEqualTo:`beforeEqualTo`,Unique:`unique`,Blank:`blank`,Error:`error`,InSet:`inSet`,Icon:`icon`,Not:`not`,TextEmail:`textEmail`,TextIsUrl:`textUrl`,TextStartsWith:`textStartsWith`,TextEndsWith:`textEndsWith`,TextContains:`textContains`,Expression:`expression`,TimePeriod:`timePeriod`,TopN:`topN`,Or:`or`},ov.AverageType={Above:`above`,Below:`below`,AboveOrEqual:`aboveOrEqual`,BelowOrEqual:`belowOrEqual`},ov.TimePeriodType={Last7Days:`last7Days`,LastMonth:`lastMonth`,LastQuarter:`lastQuarter`,LastWeek:`lastWeek`,LastYear:`lastYear`,M1:`M1`,M2:`M2`,M3:`M3`,M4:`M4`,M5:`M5`,M6:`M6`,M7:`M7`,M8:`M8`,M9:`M9`,M10:`M10`,M11:`M11`,M12:`M12`,NextMonth:`nextMonth`,NextQuarter:`nextQuarter`,NextWeek:`nextWeek`,Null:`null`,Q1:`Q1`,Q2:`Q2`,Q3:`Q3`,Q4:`Q4`,ThisMonth:`thisMonth`,ThisQuarter:`thisQuarter`,ThisWeek:`thisWeek`,Today:`today`,Tomorrow:`tomorrow`,YearToDate:`yearToDate`,Yesterday:`yesterday`},ov.DateItemGroupingType={Day:`day`,Hour:`hour`,Minute:`minute`,Month:`month`,Second:`second`,Year:`year`},wo();var uv=class{constructor(e){this._name=e.name,this._title=e.title,this._description=e.description,e.acceptTypes&&e.acceptTypes.length>0?this._acceptTypes=Object.freeze([...e.acceptTypes]):this._acceptTypes=null,this._paramType=e.paramType}getName(){return this._name}getAcceptsTypes(){return this._acceptTypes}acceptsList(){return!1}getParamType(e){if(this._paramType!==void 0)return this._paramType;if(e)return e.getName();let n=this._acceptTypes;if(!n)return null;for(let e of n)switch(e){case t.InteropScalarType.Number:return`number`;case t.InteropScalarType.String:return`text`;case t.InteropScalarType.Date:return`dateTime`;case t.InteropScalarType.Boolean:return`logical`}return null}isCombinator(){return!1}createDefaultParam(e){return null}getTitle(){return this._title?(0,n.t)(this._title):n.CommonUtils.camelToPrettyCase(this.getName())}getDescription(){return this._description?(0,n.t)(this._description):null}doBatch(e,t,n){return null}async _resolveOperand(e,r){if(typeof e!=`string`||!e.startsWith(`=`))return()=>e;let i=e.slice(1),a=await r.watchFormula(i);if(!a)return null;let o=r.getCoords(),s=!1,c=this.getName();return e=>{let r=e.getPosition(),l;try{l=a.getValueAt(r.rowIndex-o.rowStart,r.colIndex-o.colStart)}catch(e){if(!t.FormulaError.isError(e))throw e;l=e}return!t.FormulaError.isError(l)&&l?.isIRange&&(l=l.getValueAt(0,0)),t.FormulaError.isError(l)&&!s&&(s=!0,n.Notifier.warn(`Condition operand '=${i}' resolves to ${l.getLabel()}; '${c}' matches nothing there.`,{onceKey:`condition.operand.error.${i}`,meta:{type:`condition`}})),l}}async _createComparePredicate(e,n,r){let i=await this._resolveOperand(e,n);return i?(e,n)=>{let a=i(n);return!t.FormulaError.isError(a)&&r(e,a)}:null}toString(e,t){let r=this.getTitle(),i=e;return i==null?r:(0,n.t)(`condition.operator.titleWithParam`,{title:r,param:i})}},dv=()=>!1,fv=class e{constructor(e,t,n,r,i,a,o){this._groups=e,this._keyFn=t,this._compareFn=n,this._reverseBuild=r,this._visitedCount=i,this._totalCount=a,this._truncated=o}*getUniqueValues(){let e=this._groups,t=this._getValueOrderAscending();if(this._reverseBuild)for(let n=t.length-1;n>=0;n--)yield e.get(t[n]).value;else for(let n=0;n<t.length;n++)yield e.get(t[n]).value}getFrequency(e){return this._groups.get(this._keyFn(e))?.count??0}*getValueCounts(e){let t=this._groups,n=e?.sortBy??`frequency`,r=e?.descending??!0,i;if(n===`value`)i=this._getValueOrderAscending().slice(),r&&i.reverse();else{let e=r?-1:1;i=Array.from(t.keys()),i.sort((n,r)=>e*(t.get(n).count-t.get(r).count))}for(let e=0;e<i.length;e++){let n=t.get(i[e]);yield[n.value,n.count]}}getUniqueCount(){return this._groups.size}getVisitedCount(){return this._visitedCount}getTotalCount(){return this._totalCount}isTruncated(){return this._truncated}_getValueOrderAscending(){let e=this._valueOrderAscending;if(!e){let t=this._groups,n=this._compareFn,r=Array.from(t.keys());r.sort((e,r)=>n(t.get(e).value,t.get(r).value)),e=Object.freeze(r),this._valueOrderAscending=e}return e}static fromGrid(n,r,i,a,o,s,c){let l=a?.keyFn??pv,u=a?.filterFn,d=a?.limit,f=new Map,p=0,m=!1;if(n.getCount()!==0){let e=n.getAxis()===t.IRange.Axis.Column,a=r.length,o=(i?{...mv,...i}:mv).bounds;e:for(let t=0;t<a;t++){let i=r[t];if(!i)continue;let a=e?i.colStart:i.rowStart,s=e?i.rowStart:i.colStart,c=e?i.colEnd:i.rowEnd,h=e?i.rowEnd:i.colEnd;o.colStart=e?a:s,o.rowStart=e?s:a,o.colEnd=e?c:h,o.rowEnd=e?h:c;let g=n.getRuns(mv),_=g.next();for(;!_.done;){let[,e,t]=_.value;_=g.next();let n=t.length,r=Math.max(0,s-e),i=Math.min(n-1,h-e);if(!(r>i))for(let e=r;e<=i;e++){let n=t.at(e);if(u&&!u(n))continue;let r=l(n),i=f.get(r);if(i)i.count++;else{if(d!==void 0&&f.size>=d){m=!0;break e}f.set(r,{value:n,count:1})}p++}}}}return s>0&&f.set(l(null),{value:null,count:s}),new e(f,l,a?.compareFn??o,a?.reverse??!1,p,c??p+s,m)}static fromGroups(t,n,r,i,a,o,s){return new e(t,n,r?.compareFn??i,r?.reverse??!1,a,o,s)}};function pv(e){if(e===null)return`\0`;let n=typeof e;return n===`number`?``+e.toString():n===`string`?``+Zo(e.normalize(`NFC`),!0):n===`boolean`?``+(e?`1`:`0`):t.FormulaError.isError(e)?``+e.getCode():``+String(e)}var mv={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},hv=()=>!1,gv=(e,t)=>(t.year===void 0||t.year===e.year)&&(t.month===void 0||t.month===e.month)&&(t.day===void 0||t.day===e.day)&&(t.hour===void 0||t.hour===e.hour)&&(t.minute===void 0||t.minute===e.minute)&&(t.second===void 0||t.second===e.second),_v=()=>!1,vv=()=>!0,yv={Blank:new class extends uv{constructor(e){super({name:Q.BuiltInOperatorNames.Blank,title:(0,n.messageKey)(`condition.operator.blank.title`),acceptTypes:[t.InteropScalarType.Null],paramType:null,...e})}createPredicate(e,t){return e=>e===null}},Error:new class extends uv{constructor(e){super({name:Q.BuiltInOperatorNames.Error,title:(0,n.messageKey)(`condition.operator.error.title`),acceptTypes:[t.InteropScalarType.Error],paramType:null,...e})}createPredicate(e,n){return e=>e&&t.FormulaError.isError(e)}},Average:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Average,title:(0,n.messageKey)(`condition.operator.average.title`),acceptTypes:[t.InteropScalarType.Number],paramType:`average`,description:(0,n.messageKey)(`condition.operator.average.desc`)})}async createPredicate(e,t){let n=t.getRange().getStats().getAggregates(),r=n.average,i=n.stdDev;if(r==null)return dv;let a=Q.AverageType.Above,o=e.type??a,s=e.stdDevs??0,c=s!==0&&i!=null?r+s*i*(o===a?1:-1):r;if(o===a||o===Q.AverageType.AboveOrEqual){let e=o===Q.AverageType.AboveOrEqual;return t=>e?t>=c:t>c}{let e=o===Q.AverageType.BelowOrEqual;return t=>e?t<=c:t<c}}createDefaultParam(e){return{type:Q.AverageType.Above,stdDevs:0}}toString(e,t){let r={...this.createDefaultParam(t),...e},i=r.type===Q.AverageType.Above||r.type===Q.AverageType.AboveOrEqual,a=r.type===Q.AverageType.AboveOrEqual||r.type===Q.AverageType.BelowOrEqual;return(0,n.t)(`condition.operator.average.toString`,{dir:i?`above`:`below`,eq:a?`yes`:`no`,stdDevs:r.stdDevs??0})}},Between:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Between,title:(0,n.messageKey)(`condition.operator.between.title`),acceptTypes:[t.InteropScalarType.Number,t.InteropScalarType.Date],paramType:`between`,description:(0,n.messageKey)(`condition.operator.between.desc`)})}async createPredicate(e,n){let r=await this._resolveOperand(e?.from??0,n),i=await this._resolveOperand(e?.to??0,n);return r&&i?(e,n)=>{let a=r(n),o=i(n);return t.FormulaError.isError(a)||t.FormulaError.isError(o)?!1:e>=(a??0)&&e<=(o??0)}:null}createDefaultParam(e){return{from:0,to:0}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.between.toString`,{from:r.from??0,to:r.to??0})}},EqualTo:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.EqualTo,acceptTypes:[t.InteropScalarType.String,t.InteropScalarType.Number,t.InteropScalarType.Date,t.InteropScalarType.Boolean],title:(0,n.messageKey)(`condition.operator.equalTo.title`)})}async createPredicate(e,n){if(typeof e!=`string`||!e.startsWith(`=`)){if(typeof e==`string`){let t=Qo(e);return e=>typeof e==`string`&&Qo(e)===t}return t=>t===e}let r=await this._resolveOperand(e,n);return r?(e,n)=>{let i=r(n);return!t.FormulaError.isError(i)&&(typeof i==`string`?typeof e==`string`&&Qo(e)===Qo(i):e===i)}:null}createDefaultParam(e){return e?e.getSelectType()===t.InteropScalarType.String?``:e.getSelectType()===t.InteropScalarType.Number?0:e.getSelectType()===t.InteropScalarType.Boolean||(e.getSelectType()===t.InteropScalarType.Date?0:void 0):null}},GreaterThan:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.GreaterThan,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.greaterThan.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>t)}},GreaterThanEqualTo:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.GreaterThanEqualTo,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.greaterThanEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>=t)}},LessThan:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.LessThan,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.lessThan.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<t)}},LessThanEqualTo:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.LessThanEqualTo,acceptTypes:[t.InteropScalarType.Number],title:(0,n.messageKey)(`condition.operator.lessThanEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<=t)}},After:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.After,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.after.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>t)}},AfterOrEqualTo:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.AfterEqualTo,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.afterEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e>=t)}},Before:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Before,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.before.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<t)}},BeforeOrEqualTo:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.BeforeEqualTo,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.beforeEqualTo.title`)})}createPredicate(e,t){return this._createComparePredicate(e,t,(e,t)=>e<=t)}},Unique:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Unique,title:(0,n.messageKey)(`condition.operator.unique.title`),paramType:null,acceptTypes:null,description:(0,n.messageKey)(`condition.operator.unique.desc`)})}async createPredicate(e,t){let n=t.getRange().getStats().getFrequencies();return e=>n.getFrequency(e)===1}},Expression:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Expression,title:(0,n.messageKey)(`condition.operator.expression.title`),paramType:Q.BuiltInOperatorNames.Expression,description:(0,n.messageKey)(`condition.operator.expression.desc`)})}createDefaultParam(e){return``}async createPredicate(e,t){let n=await t.watchFormula(e);if(!n)return null;let r=t.getCoords();return(e,t)=>{let i=t.getPosition(),a=n.getValueAt(i.rowIndex-r.rowStart,i.colIndex-r.colStart);return!0===a||typeof a==`number`&&a!==0}}},InSet:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.InSet,title:(0,n.messageKey)(`condition.operator.inSet.title`),description:(0,n.messageKey)(`condition.operator.inSet.desc`)})}acceptsList(){return!0}createPredicate(e,t){let n=e?.blank??!1,r=Array.isArray(e?.items)?e.items:[],i=e?.dateGroups??[],a=i.length;if(r.length===0&&a===0&&!n)return hv;let o=r.length>0?new Set(r.map(pv)):void 0,s=a>0?{year:0,month:0,day:0,hour:0,minute:0,second:0,millis:0,dow:0,serial:0}:void 0;return e=>{if(e===null||e===``)return n;if(o?.has(pv(e)))return!0;if(a>0&&typeof e==`number`){let n=t.getDateParts(e,s);for(let e=0;e<a;e++)if(gv(n,i[e]))return!0}return!1}}createDefaultParam(e){return{items:[]}}toString(e,t){let r={...this.createDefaultParam(t),...e},i=this.getTitle(),a=r.items;if(a)return(0,n.t)(`condition.operator.inSet.items`,{title:i,count:a?a.length:0});let o=r.dateGroups;return o?(0,n.t)(`condition.operator.inSet.dateGroups`,{title:i,count:o?o.length:0}):i}},Icon:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Icon,title:(0,n.messageKey)(`condition.operator.icon.title`),description:(0,n.messageKey)(`condition.operator.icon.desc`)})}createPredicate(e,t){return e=>!1}},Color:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Color,title:(0,n.messageKey)(`condition.operator.color.title`),description:(0,n.messageKey)(`condition.operator.color.desc`)})}createPredicate(e,t){return e=>!1}},TextStartsWith:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TextStartsWith,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textStartsWith.title`)})}createPredicate(e,t){let n=Qo(e);return e=>Qo(e).startsWith(n)}},TextEndsWith:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TextEndsWith,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textEndsWith.title`)})}createPredicate(e,t){let n=Qo(e);return e=>Qo(e).endsWith(n)}},TextContains:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TextContains,acceptTypes:[t.InteropScalarType.String],title:(0,n.messageKey)(`condition.operator.textContains.title`)})}createPredicate(e,t){let n=Qo(e);return e=>Qo(e).includes(n)}},TextEmail:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TextEmail,acceptTypes:[t.InteropScalarType.String],paramType:null,title:(0,n.messageKey)(`condition.operator.textEmail.title`)})}createPredicate(e,t){return ee}},TextIsUrl:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TextIsUrl,acceptTypes:[t.InteropScalarType.String],paramType:null,title:(0,n.messageKey)(`condition.operator.textIsUrl.title`)})}createPredicate(e,t){return I}},TimePeriod:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TimePeriod,acceptTypes:[t.InteropScalarType.Date],title:(0,n.messageKey)(`condition.operator.timePeriod.title`),paramType:`timePeriod`,description:(0,n.messageKey)(`condition.operator.timePeriod.desc`)})}async createPredicate(e,t){let{min:n,max:r}=this._computeRange(e,t);return e=>{if(typeof e!=`number`)return!1;let t=Math.floor(e);return t>=n&&t<=r}}createDefaultParam(e){return{type:Q.TimePeriodType.Today}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.timePeriod.toString`,{title:this.getTitle(),period:n.CommonUtils.camelToPrettyCase(r.type)})}_computeRange(e,t){let n=e.type??Q.TimePeriodType.Today,r=e.anchorDate??t.getNow(),i=Math.floor(r),a=t.fromSerialDate(i),o=a.getFullYear(),s=a.getMonth(),c=a.getDay();switch(n){case`today`:return{min:i,max:i};case`yesterday`:return{min:i-1,max:i-1};case`tomorrow`:return{min:i+1,max:i+1};case`last7Days`:return{min:i-6,max:i};case`thisWeek`:{let e=new Date(a);e.setDate(a.getDate()-c);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`lastWeek`:{let e=new Date(a);e.setDate(a.getDate()-c-7);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`nextWeek`:{let e=new Date(a);e.setDate(a.getDate()-c+7);let n=new Date(e);return n.setDate(e.getDate()+6),{min:t.toSerialDate(e),max:t.toSerialDate(n)}}case`thisMonth`:return{min:t.toSerialDate(new Date(o,s,1)),max:t.toSerialDate(new Date(o,s+1,0))};case`lastMonth`:return{min:t.toSerialDate(new Date(o,s-1,1)),max:t.toSerialDate(new Date(o,s,0))};case`nextMonth`:return{min:t.toSerialDate(new Date(o,s+1,1)),max:t.toSerialDate(new Date(o,s+2,0))};case`M1`:case`M2`:case`M3`:case`M4`:case`M5`:case`M6`:case`M7`:case`M8`:case`M9`:case`M10`:case`M11`:case`M12`:{let e=parseInt(n.substring(1))-1;return{min:t.toSerialDate(new Date(o,e,1)),max:t.toSerialDate(new Date(o,e+1,0))}}case`Q1`:return this._quarterRange(t,o,0);case`Q2`:return this._quarterRange(t,o,1);case`Q3`:return this._quarterRange(t,o,2);case`Q4`:return this._quarterRange(t,o,3);case`thisQuarter`:{let e=Math.floor(s/3);return this._quarterRange(t,o,e)}case`lastQuarter`:{let e=Math.floor(s/3)-1,n=e<0?o-1:o,r=e<0?3:e;return this._quarterRange(t,n,r)}case`nextQuarter`:{let e=Math.floor(s/3)+1,n=e>3?o+1:o,r=e>3?0:e;return this._quarterRange(t,n,r)}case`lastYear`:return{min:t.toSerialDate(new Date(o-1,0,1)),max:t.toSerialDate(new Date(o-1,11,31))};case`yearToDate`:return{min:t.toSerialDate(new Date(o,0,1)),max:i};default:return{min:1/0,max:-1/0}}}_quarterRange(e,t,n){let r=3*n;return{min:e.toSerialDate(new Date(t,r,1)),max:e.toSerialDate(new Date(t,r+3,0))}}},TopN:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.TopN,title:(0,n.messageKey)(`condition.operator.topN.title`),acceptTypes:[t.InteropScalarType.Number],paramType:`topN`,description:(0,n.messageKey)(`condition.operator.topN.desc`)})}createPredicate(e,t){let n=t.getRange().getStats(),r=e?.top??!0,i=e?.limit??10;if(e?.percent){let e=n.getAggregates().numericalCount;if(!e)return _v;i=Math.max(1,Math.floor(i/100*e))}else if(i<1)return _v;let a=n.getSortedNumbers(),o=r?a.getLarge(i):a.getSmall(i);return o===null?vv:r?e=>e>=o:e=>e<=o}createDefaultParam(e){return{top:!0,limit:10,percent:!1}}toString(e,t){let r={...this.createDefaultParam(t),...e};return(0,n.t)(`condition.operator.topN.toString`,{edge:r.top?`top`:`bottom`,limit:r.limit??10,unit:r.percent?`percent`:`items`})}},And:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.And,title:(0,n.messageKey)(`condition.operator.and.title`),description:(0,n.messageKey)(`condition.operator.and.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=e?e.length:0,r=Array(n),i=Array(n);for(let a=0;a<n;a++){let n=e[a],o=await t.resolveInput(n);r[a]=await o.getSelector()?.createTransformer(t),i[a]=await o.getOperator().createPredicate(o.getParam(),t)}return e=>{for(let r=0;r<n;r++)if(!(0,i[r])(e,t))return!1;return!0}}toString(e,t){let n=this.getTitle();if(!e)return n;let r=``,i=e.length,a=n.toLowerCase();for(let t=0;t<i;t++){let n=e[t],i=Rv.resolveInput(n),o=i.getOperator(),s=o.toString(i.getParam(),i.getSelector())??o.getTitle?.()??``;r.length>0&&(r+=` ${a} `),r+=`${s}`}return r}},Or:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Or,title:(0,n.messageKey)(`condition.operator.or.title`),description:(0,n.messageKey)(`condition.operator.or.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=e?e.length:0,r=Array(n),i=Array(n);for(let a=0;a<n;a++){let n=e[a],o=await t.resolveInput(n);r[a]=await o.getSelector()?.createTransformer(t),i[a]=await o.getOperator().createPredicate(o.getParam(),t)}return e=>{for(let r=0;r<n;r++)if((0,i[r])(e,t))return!0;return!1}}toString(e,t){let n=this.getTitle();if(!e)return n;let r=``,i=e.length,a=n.toLowerCase();for(let t=0;t<i;t++){let n=e[t],i=Rv.resolveInput(n),o=i.getOperator(),s=o.toString(i.getParam(),i.getSelector())??o.getTitle?.()??``;r.length>0&&(r+=` ${a} `),r+=`${s}`}return r}},Not:new class extends uv{constructor(){super({name:Q.BuiltInOperatorNames.Not,title:(0,n.messageKey)(`condition.operator.not.title`),description:(0,n.messageKey)(`condition.operator.not.desc`)})}isCombinator(){return!0}async createPredicate(e,t){let n=await t.resolveInput(e);await n.getSelector()?.createTransformer(t);let r=await n.getOperator().createPredicate(n.getParam(),t);return r?e=>!r(e,t):null}toString(e,t){let r=this.getTitle();if(!e)return r;let i=Rv.resolveInput(e),a=i.getOperator();return(0,n.t)(`condition.operator.not.toString`,{title:r,condition:a.toString(i.getParam(),i.getSelector())??a.getTitle?.()??r})}}};wo();var bv=class{constructor(e){this._name=e.name,this._title=e.title,this._description=e.description,this._type=e.type??null,this._inputType=e.inputType??this._type,this._renderingHints=null,e.renderingHints&&(Array.isArray(e.renderingHints)?this._renderingHints=Object.freeze([...e.renderingHints]):this._renderingHints=Object.freeze([e.renderingHints]))}createTransformer(e){return null}getName(){return this._name}getSelectType(){return this._type}getInputType(){return this._inputType}getTitle(){return this._title?(0,n.t)(this._title):n.CommonUtils.camelToPrettyCase(this.getName())}getDescription(){return this._description?(0,n.t)(this._description):(0,n.t)(`condition.selector.ruleDescription`,{title:this.getTitle()})}getRenderHints(){return this._renderingHints}},xv={List:new class extends bv{constructor(e){super({renderingHints:`list`,...e})}get isList(){return!0}}({name:Q.BuiltInSelectorNames.List,title:(0,n.messageKey)(`condition.selector.list.title`),type:null,description:(0,n.messageKey)(`condition.selector.list.desc`)}),Logical:new bv({name:Q.BuiltInSelectorNames.Logical,title:(0,n.messageKey)(`condition.selector.logical.title`),type:t.InteropScalarType.Boolean,description:(0,n.messageKey)(`condition.selector.logical.desc`)}),DateTime:new bv({name:Q.BuiltInSelectorNames.DateTime,title:(0,n.messageKey)(`condition.selector.dateTime.title`),type:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.dateTime.desc`)}),Date:new class extends bv{constructor(){super({name:Q.BuiltInSelectorNames.Date,title:(0,n.messageKey)(`condition.selector.date.title`),type:t.InteropScalarType.Date,inputType:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.date.desc`),renderingHints:[`date`,`calendar`]})}createTransformer(e){return e=>Math.floor(e)}},Time:new class extends bv{constructor(){super({name:Q.BuiltInSelectorNames.Time,title:(0,n.messageKey)(`condition.selector.time.title`),type:t.InteropScalarType.Date,inputType:t.InteropScalarType.Date,description:(0,n.messageKey)(`condition.selector.time.desc`),renderingHints:[`time`,`clock`]})}createTransformer(e){return e=>e-Math.floor(e)}},Text:new bv({name:Q.BuiltInSelectorNames.Text,title:(0,n.messageKey)(`condition.selector.text.title`),type:t.InteropScalarType.String,description:(0,n.messageKey)(`condition.selector.text.desc`)}),TextLength:new class extends bv{constructor(){super({name:Q.BuiltInSelectorNames.TextLength,title:(0,n.messageKey)(`condition.selector.textLength.title`),type:t.InteropScalarType.Number,inputType:t.InteropScalarType.String,description:(0,n.messageKey)(`condition.selector.textLength.desc`)})}createTransformer(e){return e=>e?.length??0}},Number:new bv({name:Q.BuiltInSelectorNames.Number,title:(0,n.messageKey)(`condition.selector.number.title`),type:t.InteropScalarType.Number,description:(0,n.messageKey)(`condition.selector.number.desc`)}),Whole:new class extends bv{constructor(){super({name:Q.BuiltInSelectorNames.Whole,title:(0,n.messageKey)(`condition.selector.whole.title`),type:t.InteropScalarType.Number,inputType:t.InteropScalarType.Number,description:(0,n.messageKey)(`condition.selector.whole.desc`)})}createTransformer(e){return e=>Math.floor(e)}}},Sv=class{constructor(e){this._delegate=e,this._types=e.getAcceptsTypes?e.getAcceptsTypes():null}getName(){return this._delegate.getName()}createPredicate(e,t){return this._delegate.createPredicate(e,t)}getAcceptsTypes(){return this._types?this._types:null}acceptsList(){return this._delegate.acceptsList?.()??!1}getParamType(e){return e?e.getName():null}isCombinator(){return!1}getTitle(){return this._delegate.getTitle?.()}getDescription(){return this._delegate.getDescription?.()??null}createDefaultParam(e){return this._delegate.createDefaultParam?.(e)}doBatch(e,t,n){return this._delegate.doBatch?.(e,t,n)}toString(e,t){return this._delegate.toString?.(e,t)}get[Symbol.toStringTag](){return`[Condition]: ${this.getName()}`}};function Cv(e){if(t.FormulaError.isError(e))return{t:`e`,v:e.getCode()};if(!e||typeof e!=`object`)return e;if(e.isICondition)return e.toJSON();if(Array.isArray(e)){let t=!1,n=e.map(e=>{let n=wv(e);return n!==e&&(t=!0),n});return t?n:e}if(typeof e.operator==`string`)return wv(e);if(t.FormulaError.isError(e.from)||t.FormulaError.isError(e.to)){let n={...e};return t.FormulaError.isError(n.from)&&(n.from={t:`e`,v:n.from.getCode()}),t.FormulaError.isError(n.to)&&(n.to={t:`e`,v:n.to.getCode()}),n}return e}function wv(e){if(!e||typeof e!=`object`)return e;if(e.isICondition)return e.toJSON();let t=Cv(e.param);return t===e.param?e:{...e,param:t}}function Tv(e){if(e&&typeof e==`object`&&e.t===`e`&&typeof e.v==`number`)return t.FormulaError.getBuiltInByCode(e.v)}function Ev(e){if(!e)return null;if(e.isICondition)return e;if(typeof e==`function`){let t=e;return new Rv(null,new Sv({getName:()=>`Predicate`,createPredicate:e=>t}))}if(typeof e==`string`){let t=e.trim(),n=/^(<=|>=|<>|=|<|>)(.*)$/i.exec(t);if(n){let[,e,t]=n,r=t.trim(),i=r===``?NaN:Number(r),a=Number.isFinite(i)?i:r,o={"<":Q.BuiltInOperatorNames.LessThan,"<=":Q.BuiltInOperatorNames.LessThanEqualTo,">":Q.BuiltInOperatorNames.GreaterThan,">=":Q.BuiltInOperatorNames.GreaterThanEqualTo,"=":Q.BuiltInOperatorNames.EqualTo},s=e===`<>`,c=s?Q.BuiltInOperatorNames.Not:o[e],l=Rv.Operators.get(c);if(!l)throw Error(`Unknown operator for shorthand: ${e}`);return new Rv(null,l,s?{operator:Q.BuiltInOperatorNames.EqualTo,param:a}:a)}}if(typeof e==`object`){let t={...e},n=null,r=t.selector;if(r)if(typeof r==`string`){if(n=Rv.Selectors.get(r)??null,!n)throw Error(`Unknown selector name: ${r}`)}else n=r;let i=t.operator;if(typeof i==`function`&&(i=i()),typeof i==`string`){let e=Rv.Operators.get(i);if(!e)throw Error(`Unknown operator name: ${i}`);i=e}let a=t.includeBlanks,o=function(e){let t=Tv(e);if(t)return t;if(!e||typeof e!=`object`||Array.isArray(e))return e;let n=Tv(e.from),r=Tv(e.to);return n||r?{...e,from:n??e.from,to:r??e.to}:e}(t.param);if(i||n||a!==void 0)return new Rv(n,i,o,a)}return null}var Dv=class{constructor(e,t){this._resolved=null,this._json={...e},this._reason=t}resolve(){let e=this._resolved;if(e)return e;try{e=Ev(this._json)}catch(e){return this._reason=e?.message??this._reason,null}return this._resolved=e,e}getUnresolvedReason(){return this._reason}getSelector(){return this.resolve()?.getSelector()??null}getOperator(){return this.resolve()?.getOperator()??null}getParam(){return this._json.param??null}isIncludeBlanks(){return this._json.includeBlanks??!1}toString(){return this.resolve()?.toString()??this._reason}toJSON(){let e=this._resolved;return e?e.toJSON():{...this._json}}get isICondition(){return!0}};function Ov(e){if(!e)return null;try{return Ev(e)}catch(t){let r=t?.message??`Unresolvable condition.`;return n.Notifier.debug(`Condition kept unresolved: ${r}`,{onceKey:`condition.unresolved.${r}`,meta:{type:`condition`}}),new Dv(e,r)}}function kv(e){return e.getOperator()?.getName()===Q.BuiltInOperatorNames.Expression||Av(e.getParam())}function Av(e){return typeof e==`string`?e.startsWith(`=`):!(!e||typeof e!=`object`)&&(Array.isArray(e)?e.some(jv):e.isICondition||e.operator!==void 0?jv(e):!(typeof e.from!=`string`||!e.from.startsWith(`=`))||!(typeof e.to!=`string`||!e.to.startsWith(`=`)))}function jv(e){if(!e||typeof e!=`object`)return!1;if(e.isICondition)return kv(e);let t=e.operator;return(typeof t==`string`?t:t?.getName?.())===Q.BuiltInOperatorNames.Expression||Av(e.param)}var Mv=(e,n)=>e===n||e===t.InteropScalarType.Date&&n===t.InteropScalarType.Number;async function Nv(e,n){let r=n.coords,i=n.values,a=n.cellValuesOptions,o=i.entries(a),s={position:null},c=new Lv(n.runtime,s,n.values,r,n.calculation??null,n.visibleCoords);c.setWatchFormula(n.watchFormula??null);let l=e.getSelector(),u=l?await l.createTransformer(c):null,d=l?.getInputType()??null,f=l?.getSelectType()??null,p=e.getOperator(),m=p?.getAcceptsTypes?.()??null,h=await p?.createPredicate(e.getParam(),c);if(!h)return;c.setBatchCapable(typeof p?.doBatch==`function`);let g=n.onBlank;if(g){let e=i.getCount();if((r.rowEnd-r.rowStart+1)*(r.colEnd-r.colStart+1)>e){c.beginPredicateCall();let e=h(null,c);c.wasDeferred()||g(e)}}let _=n.onTrue,v=n.onFalse,y=[],b=o.next();for(;!b.done;){let e=b.value;b=o.next();let t=e[1],n=e[0];if(d!==null&&!Mv(d,RO(t))){v&&v(n,t);continue}let r=u?u(t,c):t;if(m!==null){let e=f??RO(r);if(!m.includes(e)){v&&v(n,t);continue}}s.position=n,c.beginPredicateCall();let i=h(r,c);c.wasDeferred()?y.push([n,t]):i?_&&_(n,t):v&&v(n,t)}if(y.length>0){let n=await p.doBatch(c.getDeferredKeys(),e.getParam(),c);for(let[e,i]of y){let a;try{a=n?.getValueAt(e.rowIndex-r.rowStart,e.colIndex-r.colStart)??null}catch(e){if(!t.FormulaError.isError(e))throw e;a=e}!t.FormulaError.isError(a)&&a?_&&_(e,i):v&&v(e,i)}}}async function Pv(e){let r=e.coords,i={bounds:r,axis:e.axis??t.IRange.Axis.Column},a=e.getHiddenRuns;if(a){let n=e.includeHidden;!0!==n&&n!==t.IRange.Axis.Row&&(i.processRowSkip=ai(a(t.IRange.Axis.Row))),!0!==n&&n!==t.IRange.Axis.Column&&(i.processColumnSkip=ai(a(t.IRange.Axis.Column)))}let o=e.conditions[0];if(!o)return;let s=Rv.resolveInput(o);if(!s)return void n.Notifier.debug(`No condition to evaluate.`,{onceKey:`condition.none`,meta:{type:`condition`}});let c=e.calculation;c&&kv(s)&&await c.ready(),await Nv(s,{runtime:e.runtime,values:e.values,coords:r,cellValuesOptions:i,calculation:e.calculation,watchFormula:e.watchFormula,onTrue:e.onTrue,onFalse:e.onFalse,onBlank:e.onBlank})}function Fv(e,t,n){if(t>n)return[];let r=Yr(e.map(e=>({min:e.min,max:e.max,value:!0}))),i=[];return ei(r,e=>{!0!==e.value&&i.push({min:e.min,max:e.max})},t,n),i}function Iv(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(let e=0;e<r.length;e++)t.push({min:r[e].min,max:r[e].max})}return t.length===0?[]:qr(Jr(Yr(t)))}var Lv=class{constructor(e,t,n,r,i=null,a){this._coords=null,this._values=null,this._range=null,this._watchFormula=null,this._batchCapable=!1,this._deferredCall=!1,this._deferredKeys=null,this._runtime=e,this._scope=t,this._values=n,this._coords=Object.freeze(r),this._calculation=i,this._visibleCoords=a}setBatchCapable(e){this._batchCapable=e,this._deferredKeys=null}beginPredicateCall(){this._deferredCall=!1}wasDeferred(){return this._deferredCall}getDeferredKeys(){return this._deferredKeys??new Set}getType(e){return RO(e)}getPosition(){return this._scope.position}getCoords(){return this._coords}getRange(){let e=this._range;if(!e){let t=this._visibleCoords;e=t?new Bk(this._runtime,this._values,this._coords,t):new zk(this._runtime,this._values,this._coords),this._range=e}return e}toType(e,t){return qO(this._runtime,e,RO(e),t,!1)}async resolveInput(e){return Rv.resolveInput(e)}fromSerialDate(e){return mr(e,this._runtime.isDate1904())}getDateParts(e,t){return dr(e,this._runtime.isDate1904(),t)}toSerialDate(e){return hr(e,this._runtime.isDate1904())}getNow(){return this._runtime.getNow()}deferBatch(e){if(!this._batchCapable)throw Error(`ICondition.IContext.deferBatch was called but the active operator does not implement doBatch.`);this._deferredCall=!0,(this._deferredKeys??=new Set).add(e)}setWatchFormula(e){this._watchFormula=e}async watchFormula(e){if(!e||!e.trim())return null;let t=this._watchFormula;if(t)return t(e);let n=this.createFormula(e);return n?await n.evaluate({block:this._coords,alwaysReturnRange:!0}):null}createFormula(e,t){return this._calculation?this._calculation.createFormula(e,t??{rowIndex:this._coords.rowStart,colIndex:this._coords.colStart}):null}async resolveFormula(e){if(typeof e!=`string`||!e.startsWith(`=`))return e;let t=this.createFormula(e);if(!t)return null;let n=await t.evaluate();return n?.isIRange?n.getValueAt(0,0):n}},Rv=class{constructor(e,t,n=void 0,r=!1){this._selector=e,this._operator=t,this._param=n,this._includeBlanks=r}getSelector(){return this._selector}getOperator(){return this._operator}getParam(){return this._param??null}isIncludeBlanks(){return this._includeBlanks}toString(){let e=this._selector,t=e?e.getTitle():(0,n.t)(`condition.anySelector`),r=this._operator,i;return r&&(i=r.toString?.(this.getParam(),e)??r.getTitle?.()??n.CommonUtils.camelToPrettyCase(r.getName())),i?(0,n.t)(`condition.selectorWithOperator`,{selector:t,operator:i}):t}toJSON(){let e=this.getOperator(),t=this.getSelector(),n=this.getParam(),r={};return t&&(r.selector=t.getName()),e&&(r.operator=e.getName()),n!=null&&(typeof n.toJSON==`function`&&(n=n.toJSON()),r.param=Cv(n)),this.isIncludeBlanks()&&(r.includeBlanks=!0),r}get isICondition(){return!0}};(function(e){let t=e.BuiltInSelectors=xv,n=e.BuiltInOperators=yv;e.Selectors=new c(t),e.Operators=new c(n),e.resolveInput=Ev,e.fromJSON=Ov})(Rv||={});var zv=`Item has been closed. No further operations are allowed.`,Bv=class{constructor(e){this._closed=!1,this._range=null,this._ranges=null,this._options=e,e=this._initializeOptions(e),this._options=e;let t=this;this._transactions=this._options.transactions??new m({transient:!0}),this._id=this._transactions.create(),this._emitter=new v(this,this._transactions);let r=this._options.coords;r=Array.isArray(r)?n.CoordUtils.sanitizeRangeArray(r):n.CoordUtils.sanitizeRange(r),this._options.setContainerCallbacks?.({processShift:e=>t._processContainerShift(e),processAfterShift:(e,n)=>t._processAfterContainerShift(e,n),processDelete(){t._processContainerDelete()},processLayout(){t._processContainerLayout()},processProtection(){t._processContainerProtection()}}),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onBeforeCommitStart(e,n,r){t._processBeforeCommitStart(e,n,r)},onAfterStateChange(e,n,r){t._processAfterStateChange(e,n,r)},onRestoreOrRevert(e,n,r){t._processRestoreOrRevert(e,n,r)}}),this._updateState({isDeleted:!1,anchorCoords:r},(0,n.messageKey)(`op.createAnchoredItem`)),this._initialize(e)}_initializeOptions(e){if(!e)throw Error(`Anchored.ConstructorOptions is required`);if(!(e={...e}).coords)throw Error(`coords is required`);return e}_initialize(e){}_getEmitter(){return this._emitter}delete(e){this._delete()}isProtected(){return this._options.isProtected?.()??!1}getAnchorCoords(){let e=this._getState()?.anchorCoords;return e?Array.isArray(e)?e.length===0?null:e:[e]:null}getFirstAnchorCoords(){let e=this._getState()?.anchorCoords;return e?Array.isArray(e)?e[0]??null:e:null}_invalidateRangeCache(){this._range=null,this._ranges=null}_isAnchorAbsolute(){return!1}getRanges(e){if(!e&&this._ranges)return this._ranges;let t=this._getState()?.anchorCoords,n=t?this._options.getRanges(t,e):new XD(null);return t&&this._isAnchorAbsolute()&&(n=n.getFixed(!0)),e||(this._ranges=n),n}getRange(e){if(!e&&this._range)return this._range;let t=this.getRanges(e),n=t.isInvalid()?YD:t.at(0);return e||(this._range=n),n}_setAnchorRanges(e,t){let r=this._options.getRanges(e).getCoords();if(r.length===0)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let i=this._options.setContainerCoords;return i?(i(e,t),this):(this._updateState({anchorCoords:[...r]},{description:(0,n.messageKey)(`op.setRanges`),...t}),this._processAnchorCoords(),this._emitter.notify(`onAnchorCoordsChange`),this)}getAnchorType(){return this._getState()?.anchorType??G_.Type.TwoCell}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}beginCommit(e){return this._beginCommit(e)}doBatch(e,t){let n=this;return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t,e=>{n._processTransactionDone(e)})}_processTransactionDone(e){}_getState(){if(this._closed)throw Error(zv);return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_getTransactions(){return this._transactions}_updateState(e,t,r,i=!1){if(this._closed)throw Error(zv);if(!e)return;if(typeof t==`string`&&(t={description:t}),!i&&this.isProtected())throw new n.ExpectedError(((e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.anchor.protected`,{description:(0,n.t)(e)}))(t?.description));let a=this._beginCommit(t?.description);e&&`anchorCoords`in e&&this._invalidateRangeCache();try{let t=this._getState(),n=a.updateState(this._id,e),i=!1;if(r){let e=r.length;for(let t=0;t<e;t++){let e=r[t];i||=e===`onAnyChange`,this._emitter.notify(e)}}!i&&r&&r.length>0&&this._emitter.notify(`onAnyChange`),this._processUpdateState(t,n),a.commit()}catch(e){throw a.rollback(),e}return this}_notify(e){if(!e)return;Array.isArray(e)||(Vv[0]=e,e=Vv);let t=e?e.length:0;if(t===0)return;let n=!1;for(let r=0;r<t;r++){let t=e[r];n||=t!==`onAnyChange`,this._emitter.notify(t)}n||this._emitter.notify(`onAnyChange`)}_processAfterContainerShift(e,t){let r=t?t.length:0;if(!Hv(this._getState()?.anchorCoords,t)){let e=null,i={anchorCoords:r===0?null:t};r===0&&(i.isDeleted=!0,e=[`onDelete`]),this._updateState(i,{description:(0,n.messageKey)(`op.updateAnchor`)},e),this._processAnchorCoords()}this._emitter.notify(`onAnchorCoordsChange`)}_processContainerShift(e){let t=this._getState()?.anchorCoords;if(Array.isArray(t)&&t.length>1)return e.after;let r=null,i={anchorCoords:e.after};return e.after||(i.isDeleted=!0,r=[`onDelete`]),this._updateState(i,{description:(0,n.messageKey)(`op.updateAnchor`)},r),this._processAnchorCoords(),e.after}_processBeforeCommitStart(e,t,n){}_processAfterStateChange(e,t,n){}_processUpdateState(e,t){}_processRestoreOrRevert(e,t,n){this._invalidateRangeCache(),this._emitter.notify(`onInvalidated`)}_processAnchorCoords(){this._invalidateRangeCache()}_processContainerLayout(){}_getActionDescription(e){return null}_delete(){if(this._getState().isDeleted)return;let e={description:this._getActionDescription(`delete`)??(0,n.messageKey)(`op.delete`)},t=this._beginCommit(e?.description);try{this._processDelete(),this._updateState({isDeleted:!0}),this._options.deleteFromContainer?.(e),t.commit()}catch(e){throw t.rollback(),e}}_processContainerDelete(){this._processAnchorCoords(),this._processDelete()}_processDelete(){this._invalidateRangeCache(),this._emitter.notify(`onDelete`)}_processContainerProtection(){this._emitter.notify(`onProtectedChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}isClosed(){return this._closed}isDeleted(){return this._closed||(this._getState()?.isDeleted??!1)}_processClose(){this._closed=!0,this._invalidateRangeCache(),this._emitter.notify(`onClose`),this._transactionsRemoveListener?.(),this._transactions.remove(this._id)}close(){this._closed||this._processClose()}get isIAnchored(){return!0}},Vv=[null],Hv=(e,t)=>{let r=t?t.length:0;if(!e)return r===0;let i=Array.isArray(e)?e:[e];if(i.length!==r)return!1;for(let e=0;e<r;e++)if(!n.CoordUtils.isEqualRanges(i[e],t[e]))return!1;return!0};function Uv(e,t,r){let i=(0,n.t)(e,r);return i===e?t:i}function Wv(e=1){return Uv((0,n.messageKey)(`table.defaultName`),`Table${e}`,{n:e})}function Gv(){return Uv((0,n.messageKey)(`table.emptyColumnName`),`Column`)}function Kv(e,t){return`${e}${t+1}`}function qv(e){return e?e.trim().toLocaleLowerCase():null}var Jv=Object.freeze({showRowStripes:!0,showColumnStripes:!1,showFirstColumn:!1,showLastColumn:!1});function Yv(e){if(!e)return n.CommonUtils.EmptyArray;let t=e.length,r=e;for(let n=0;n<t;n++){let t=e[n];typeof t==`string`&&(r===e&&(r=[...e]),r[n]={name:t})}return r}var Xv=(e,t=Gv(),n=Kv)=>{let r=new Set,i=e.length;for(let t=0;t<i;t++){let n=e[t]?.name;if(!n)continue;let i=qv(n);r.add(i)}let a=-1,o=qv(t);return()=>{let e;do a++,e=n(o,a);while(r.has(e));return a}};function Zv(e,t,n=0,r,i=Gv(),a=Kv){let o=e?e.length:0,s=Yv(e),c=t?t.length:0,l=Yv(t),u=Math.max(c,o),d=Array(u);for(let e=0;e<u;e++){let t=e>=n?l[e-n]:void 0;t===void 0&&(t=s[e]),d[e]=t}let f=0,p=0,m=0,h=0,g=!0,_=Xv(d,i),v=new Map;for(let e=0;e<n;e++){let t=d[e]?.name,n=qv(t);n&&v.set(n,1)}let y,b,x=n+c;for(let e=n;e<u;e++){let t=d[e],n=t?.name,o=n,c=qv(o);if(c)h++,y=c,b=n,g=!1;else{if(e>=x&&(h=0,m=0),g||(m=h),r||m<=1){let t=_();o=a(i,t),o!==s[e]?.name&&(p=t+1),c=qv(o)}else f++,c=y,o=b;h=0,g=!0}let l=v.get(c)??0;l===1&&(l+=Math.max(0,Math.max(p+f,m)-1)),l>0&&(o=a(o,l)),l++,v.set(c,l),o!==n&&(d[e]={...t,name:o})}return d}var Qv,$v,ey=class{constructor(e,t,n,r,i){this._table=e,this._id=t,this._getProps=n,this._updateProps=r,this._deleteSelf=i}getTable(){return this._table}getName(){return this._getProps(this._id).name??null}setName(e){return this._updateProps(this._id,{name:e},(0,n.messageKey)(`op.setColumnName`)),this}getId(){return this._getProps(this._id).id??null}getIndex(){return this._getProps(this._id).index??-1}setTotalsRowLabel(e){return this._updateProps(this._id,{totalsRowLabel:e},(0,n.messageKey)(`op.setTotalsRowLabel`)),this}getTotalsRowLabel(){return this._getProps(this._id).totalsRowLabel||null}setTotalsRowFormula(e){return this._updateProps(this._id,{totalsRowFormula:e},(0,n.messageKey)(`op.setTotalsRowFormula`)),this}getTotalsRowFormula(){return this._getProps(this._id).totalsRowFormula??null}getSort(){return this._table.getSortAt(this._getProps(this._id).index)}getFilter(){return this._table.getFilterAt(this._getProps(this._id).index)}isHiddenButton(){return this._table.isHiddenButtonAt(this._getProps(this._id).index)}setHiddenButton(e){return this._table.setHiddenButtonAt(this._getProps(this._id).index,e),this}getRange(){let e=this._table.getRange(),t=e?.getCoords(),n=this._getProps(this._id).index;return e.getIntersect({colStart:t.colStart+n,rowStart:t.rowStart,colEnd:t.colStart+n,rowEnd:t.rowEnd})}delete(e){this._deleteSelf(this._id,e)}toJSON(){let e=n.CommonUtils.cloneObject(this._getProps(this._id));return delete e.index,delete e.sortProps,delete e.filterProps,e}get[Symbol.toStringTag](){return`[TableColumn]`}toString(){return this.getName()??``}get isIColumn(){return!0}},ty=class{constructor(e){this._closed=!1,this._options={...e};let t=this;this._transactions=this._options?.transactions??new m({transient:!0}),this._id=this._transactions.create({isDeleted:!1}),this._emitter=new v(this,this._transactions),e?.json&&this._fromJSON(e.json),this._options?.setContainerReadOnlyCallback?.(()=>{t._processOnContainerReadOnly()}),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onAfterStateChange(e,n,r){t._processAfterStateChange(e,n,r)},onRestoreOrRevert(e,n,r){t._processRestoreOrRevert(e,n,r)}}),this._processInit()}_fromJSON(e){}isReadOnly(){return this._options.isReadOnly?.()??!1}isDeleted(){return this._getState().isDeleted??!1}getType(){return this._options.type}get isIModel(){return!0}_processTransactionDone(e){}_getActionDescription(e){return null}_getState(){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_getTransactions(){return this._transactions}_updateState(e,t,r){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e)return this;let i=this._beginCommit(t?.description);try{i.updateState(this._id,e);let n=!1,a=r?r.length:0;for(let e=0;e<a;e++){let t=r[e];n||=t===`onAnyChange`,this._emitter.notify(t)}!n&&r&&a>0&&this._emitter.notify(`onAnyChange`),i.commit(t)}catch(e){throw i.rollback(),e}return this}_getEmitter(){return this._emitter}_processInit(){}_processAfterStateChange(e,t,n){}_processRestoreOrRevert(e,t,n){this._emitter.notify(`onInvalidated`)}delete(e){this._getState().isDeleted||this._delete(e)}_delete(e){e={description:this._getActionDescription(`delete`)??(0,n.messageKey)(`op.delete`),...e};let t=this._beginCommit(e?.description);try{this._options.deleteFromContainer&&this._options.deleteFromContainer?.(e),this._processDelete(),t.commit()}catch(e){throw t.rollback(),e}}_processOnContainerDeleted(){this._processDelete()}_processDelete(){this._updateState({isDeleted:!0},void 0,[`onDelete`])}_processOnContainerReadOnly(){this._emitter.notify(`onReadOnlyChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}beginCommit(e){return this._beginCommit(e)}doBatch(e,t){let n=this;return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t,e=>{n._processTransactionDone(e)})}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.(),this._transactions.remove(this._id))}},ny=class extends ty{_fromJSON(e){let t={};if(t.name=e?.name??null,!t.name)throw Error((0,n.t)(`error.model.nameRequired`));t.comment=e?.comment??null,t.hidden=e?.hidden??!1,t.scope=e?.scope??null,this._updateState(t,{description:t.name?(0,n.t)(`op.createItemNamed`,{name:t.name}):(0,n.messageKey)(`op.createItem`)})}_toJSON(){let e=this._getState(),t={name:e.name};return e.comment&&(t.comment=e.comment),e.hidden&&(t.hidden=e.hidden),e.hidden&&(t.hidden=e.hidden),e.scope&&(t.scope=e.scope),t}getName(){return this._getState().name}setName(e,t){if(!e)throw Error((0,n.t)(`error.model.nameRequired`));return this._updateState({name:e},{description:(0,n.t)(`op.updateNamed`,{name:e}),...t})}getComment(){return this._getState().comment}setComment(e,t){return this._updateState({comment:e},{description:(0,n.messageKey)(`op.setComment`),...t})}isHidden(){return this._getState().hidden}getScope(){return this._getState().scope}get isINamed(){return!0}},ry=class extends ny{constructor(e,t,n){super({...n,type:`namedTable`}),this._sheet=e,this._table=t;let r=this;this._table.addListeners({onDelete:()=>{r._options.deleteFromContainer?r._options.deleteFromContainer?.():r._delete()},onAnyChange:()=>{r._emitter.notify(`onAnyChange`)},onAnchorCoordsChange:()=>{r._emitter.notify(`onAnyChange`)}},{transactional:!0})}async select(e){return await this._table.select(e),this}getRanges(){let e=this._table;return(this._sheet.getWorkbook()??this._sheet).getRanges(e.getDataRange()).getFixed(!0)}getPartReference(e){if(e?.length!==1)return null;let t=e[0],n=this._table.getName();if(t.scope&&t.scope!==this._sheet.getName())return null;let r=this._rowBand(t);if(!r)return null;let i=this._columnSpan(t);if(!i||i.kind===`all`&&r.length===1&&r[0]===`#Data`)return null;let a=i.kind!==`all`&&r.length===1&&r[0]===`#Data`?[]:r,o=null,s=null;i.kind===`one`?(o=i.name,s=`[${i.name}]`):i.kind===`span`&&(o=s=`[${i.first}]:[${i.last}]`);let c=a.map(e=>`[${e}]`);return s&&c.push(s),c.length===1?`${n}[${a.length===1?a[0]:o}]`:`${n}[${c.join(this._listSeparator())}]`}_rowBand(e){let t=this._table,n=e=>e?.getCoords()??null,r=t=>{let r=n(t);return!!r&&r.rowStart===e.rowStart&&r.rowEnd===e.rowEnd};if(r(t.getDataRange()))return[`#Data`];if(t.isShowHeaders()&&r(t.getHeaderRowRange()))return[`#Headers`];if(t.isShowTotals()&&r(t.getTotalRowRange()))return[`#Totals`];if(r(t.getRange()))return[`#All`];let i=n(t.getDataRange()),a=t.isShowHeaders()?n(t.getHeaderRowRange()):null,o=t.isShowTotals()?n(t.getTotalRowRange()):null;return i&&a&&e.rowStart===a.rowStart&&e.rowEnd===i.rowEnd?[`#Headers`,`#Data`]:i&&o&&e.rowStart===i.rowStart&&e.rowEnd===o.rowEnd?[`#Data`,`#Totals`]:null}_columnSpan(e){let t=this._table,n=t.getRange()?.getCoords();if(n&&e.colStart===n.colStart&&e.colEnd===n.colEnd)return{kind:`all`};let r=t.getColumns(),i=null,a=null;for(let t=0;t<r.length;t++){let n=r[t].getRange()?.getCoords();n&&(n.colStart===e.colStart&&(i=r[t]),n.colEnd===e.colEnd&&(a=r[t]))}return i&&a?i===a?{kind:`one`,name:i.getName()}:{kind:`span`,first:i.getName(),last:a.getName()}:null}_listSeparator(){return $n(this._sheet.getWorkbook()?.getLocale()??`en`).listSeparator}getScope(){return null}getType(){return`table`}getName(){return this._table.getName()}getValue(){return this._table}},iy=class{constructor(e,t,n,r){this._table=e,this._id=t,this._getProps=n,this._getColumnProps=r}sort(e){this.setCriteria({reverse:e??!1},!1)}getCriteria(){return this._getProps(this._id).criteria??null}setCriteria(e,t,r){let i,a={};if(e&&(e.reverse!==void 0&&(a.reverse=e.reverse),e.collatorOptions!==void 0&&(a.collatorOptions=e.collatorOptions),e.sortOn!==void 0&&(a.sortOn=e.sortOn),e.iconSet!==void 0&&(a.iconSet=e.iconSet),e.iconId!==void 0&&(a.iconId=e.iconId),e.dxfId!==void 0&&(a.dxfId=e.dxfId),e.customList!==void 0&&(a.customList=e.customList)),t){let t=this._table.getActiveSorts(),o=t.length,s=this.getIndex(),c=!1,l=[];for(let e=0;e<o;e++){let n=t[e],r=n.getIndex(),i=r===s;c||=i,i||(l[e]={index:r,criteria:n.getCriteria()})}e!==null&&l.push({index:this.getIndex(),criteria:a}),i={sorts:l,description:(0,n.t)(`op.sortColumn`,{name:this._getColumnProps(this._id).name}),...r}}else i={sorts:[{index:this.getIndex(),criteria:a}],description:(0,n.t)(`op.sortColumn`,{name:this._getColumnProps(this._id).name}),...r};this._table.sort(i)}apply(){this._table.applySorts()}getIndex(){return this._getColumnProps(this._id).index}getRange(){let e=this._table,t=e.getRange(),n=t.getCoords(),r=e.isShowTotals(),i=n.colStart+this.getIndex();return t.getIntersect({colStart:i,rowStart:n.rowStart,colEnd:i,rowEnd:n.rowEnd-+!!r})}getLevel(){return this._getProps(this._id).level??-1}delete(e){this.getLevel()!==-1&&this.setCriteria(null,!0,{description:(0,n.messageKey)(`op.clearSort`),...e})}},ay=class{constructor(e,t,n,r){this._table=e,this._id=t,this._getProps=n,this._getColumnProps=r}filter(e,t){return this.setCondition(e,!1,t),this}getCondition(){return this._getProps(this._id).condition??null}setCondition(e,t,r){let i=this.getIndex(),a=Rv.resolveInput(e),o=a===null?null:{index:i,...a.toJSON()},s=[],c=!1;if(t){let e=this._table.getActiveFilters(),t=e.length;for(let n=0;n<t;n++){let t=e[n],r=t.getIndex();if(r===i){o&&s.push(o),c=!0;continue}let a=t.getCondition();a&&s.push({index:r,...a.toJSON()})}}o&&!c&&s.push(o);let l={conditions:s,description:(0,n.t)(`op.filterColumn`,{name:this._getColumnProps(this._id).name}),...r};this._table.filter(l)}apply(){this._table.applyFilters()}getIndex(){return this._getColumnProps(this._id).index}getRange(){let e=this._table,t=e.getRange(),n=t.getCoords(),r=e.isShowTotals(),i=n.colStart+this.getIndex();return t.getIntersect({colStart:i,rowStart:n.rowStart,colEnd:i,rowEnd:n.rowEnd-+!!r})}getLevel(){return this._getProps(this._id).level??-1}delete(e){this.getLevel()!==-1&&this.setCondition(null,!1,{description:(0,n.messageKey)(`op.deleteFilter`),...e})}},oy=class extends Bv{constructor(e){super(e)}_initializeOptions(e){let t=e?.coords;return Array.isArray(t)&&(e={...e,coords:t[0]}),super._initializeOptions(e)}initializeColumnCreator(e,t,n,r){return i=>new ey(e,i,t,n,r)}initializeSortCreator(e,t,n){return r=>new iy(e,r,t,n)}initializeFilterCreator(e,t,n){return r=>new ay(e,r,t,n)}_initialize(e){super._initialize(e),this._emptyColumnName=Gv(),this._emptyColumnNamer=Kv;let t=this;this._styles=e.styles??e?.sheet?.getStyles()??new kg,this._names=e?.names,this._sheet=e?.sheet,this._processTableUpdate=e?.processTableUpdate,this._setContainerName=e?.setContainerName,this._lastTransactionId=this._getTransactions().getCurrentCommit().getId(),this._colHeadersSizeUnlistener=null,this._rowHeadersSizeUnlistener=null,this._visibleRange=null,this._isHeaderVisible=!0,this._isTotalVisible=!0,this._isFirstColumnVisible=!0,this._isLastColumnVisible=!0,this._styleCache=null,this._stylePropsCache=null,this._stylesRemoveListener=this._styles.addListeners({onTableStylesChange(){t._styleCache=null,t._stylePropsCache=null,t._notify(`onStyleChange`),t._notify(`onAnyChange`)}}),this._createColumn=this.initializeColumnCreator(this,e=>t._getState().mapColumnPropsById.get(e),(e,r,i)=>{let a=t._getState(),o=a.mapColumnPropsById.get(e),s;if(i=typeof i==`string`?{description:i}:{description:(0,n.t)(`op.updateColumnNamed`,{name:o.name}),...i},r){if(r.id)throw Error(`Table column ID is immutable and can not be changed.`);if(s={...o,...r},r.name||r.totalsRowFormula||r.totalsRowLabel){let e=a.orderedColumnsProps,n=[...e];n[o.index]=s,n=Zv(e,n,0,!0,this._emptyColumnName,this._emptyColumnNamer);let r=t._beginCommit(i);try{this._updateColumnsState(n),this._writeSyncSheet(!1),r.commit()}catch(e){throw r.rollback(),e}return}}else s={id:o.id,index:o.index,name:o.name,sortProps:null,filterProps:null};this._updateState(s,i)},(e,n)=>{t._deleteColumn(e,n)});let r=e=>t._getState().mapColumnPropsById.get(e);this._createSort=this.initializeSortCreator(this,e=>t._getState().mapColumnPropsById.get(e)?.sortProps||ly,r),this._createFilter=this.initializeFilterCreator(this,e=>t._getState().mapColumnPropsById.get(e)?.filterProps||uy,r),this._updateState({name:Wv(),headerRowCount:1,totalsRowCount:0,mapColumnById:cy,mapColumnByIndex:cy,mapColumnByName:cy,orderedColumns:n.CommonUtils.EmptyArray,mapColumnPropsById:cy,orderedColumnsProps:n.CommonUtils.EmptyArray,sortsActive:n.CommonUtils.EmptyArray,filtersActive:n.CommonUtils.EmptyArray,mapHiddenButtons:cy,lastColId:0,description:``},(0,n.messageKey)(`op.initializeTable`));let i=e?.sheet;if(i&&e?.syncSheet){let t=this._getState(),n=t.anchorCoords,r=t.headerRowCount,i=t.totalsRowCount;this._ensureHeightForHeaderTotals(n,r,i,e?.json?.headerRowCount,e?.json?.totalsRowCount)}try{this._fromJSON(e?.json)}catch(e){throw console.error(`Error creating Table from JSON`,e),e}if(i){if(e?.syncSheet){let e=this._readSyncSheet(!0);e&&(this._updateColumnsState(e.columns,(0,n.messageKey)(`op.updateColumnsFromSheet`)),this._writeSyncSheet())}this._setupAutoExpand(),this._columnListener=e=>{if(this._lastTransactionId===e.getTransactionId()||e.isUndo)return;let t=this._readSyncSheet();if(!t)return;let r=t.columns;this._updateColumnsState(r,(0,n.messageKey)(`op.updateColumnsFromSheet`)),t.converted&&this._writeSyncSheet()},this._processHeaderListener(),this._processTotalsListener();let t=this,r={onSizesChange:()=>{t._calcVisible()}};this._colHeadersSizeUnlistener=i.getColumnHeaders().addListeners(r),this._rowHeadersSizeUnlistener=i.getRowHeaders().addListeners(r),this._calcVisible()}if(this._names){let t=this._createNamed();t&&e.setContainerName?.(t.getName()),this._namedItem=t}}getNamed(){return this._namedItem??null}_ensureVisible(){this._calcVisible()}_calcVisible(){let e=this.getFirstAnchorCoords(),t=this._sheet,n=0,r=0;e&&t&&(n=t.getColumnHeaders().getVisibleIndex(e.colEnd).min,r=t.getRowHeaders().getVisibleIndex(e.rowEnd).min);let i=this.isShowHeaders(),a=this.isShowTotals();if(e&&t&&(n<e.colEnd||r<e.rowEnd)){let o=t.getColumnHeaders(),s=t.getRowHeaders(),c=o.getVisibleIndex(e.colStart).max,l=s.getVisibleIndex(e.rowStart).max;this._visibleRange={colStart:c,colEnd:n,rowStart:l,rowEnd:r},this._isHeaderVisible=i&&!s.at(e.rowStart).isHidden(),this._isTotalVisible=a&&!s.at(e.rowEnd).isHidden(),this._isFirstColumnVisible=!o.at(e.colStart).isHidden(),this._isLastColumnVisible=!o.at(e.colEnd).isHidden()}else this._visibleRange=null,this._isFirstColumnVisible=!0,this._isLastColumnVisible=!0,this._isHeaderVisible=i,this._isTotalVisible=a}getSnapshot(e){let t=this.toJSON(),n=this.getFirstAnchorCoords(),r=this.getName(),i={...t},a=this,o=Object.freeze({...e}),s=!1;return{async copyTo(e,t){let r=e.tables,c=e.range;({...o,...t}).isCut&&!s&&(a.delete(),s=!0);let l={colStart:c.colStart,rowStart:c.rowStart,colEnd:n.colEnd-n.colStart+c.colStart,rowEnd:n.rowEnd-n.rowStart+c.rowStart};return r.add(l,{properties:i,disabledAutofit:!0,hasHeader:!0}),l},getCoords:()=>n,getSource:()=>a,getName:()=>r,getMarkOptions:()=>o,isISnapshot:!0}}getAnchorType(){return G_.Type.TwoCell}getStyle(){if(this._styleCache)return this._styleCache;let e=this._getState();return e?(this._styleCache=this._styles.getTableStyle(e.style.name)??this._styles.getDefaultTableStyle(),this._styleCache):this._styles.getTableStyle(null)}addRow(e,t){return this.addRows(e??2**53-1,1,t)}_ensureHeightForHeaderTotals(e,r,i,a,o){let s=this._sheet;if(!s)return!1;let c=e,l=a??r,u=l-r;if(l>r){let e=s.getEntireRange().getCoords().rowStart,r=c.rowStart-u,i={colStart:c.colStart,rowStart:r,colEnd:c.colEnd,rowEnd:c.rowStart-1};if(r<e){let n=e-r;i.rowStart=e,i.rowEnd=n-1,s.getRange(i).insert(t.IRange.Axis.Row),i.rowEnd=c.rowEnd+n,c=i}else{let e=s.getRange(i);if(c=n.CoordUtils.unionRanges(i,c),e.isContentful()){let n=e.getOffsetBy(u,0);n.insert(t.IRange.Axis.Row),i=n.getCoords(),c.rowStart+=u,c.rowEnd+=u}}}else if(u!==0){let e={...c};e.rowEnd=c.rowStart+u+1,s.doBatch(()=>{s.getRange(e).clear()},{}),c={...c},c.rowStart-=u}let d=o??i,f=d-i;if(d>i){let e={colStart:c.colStart,rowStart:c.rowEnd+1,colEnd:c.colEnd,rowEnd:c.rowEnd+f},r=s.getRange(e);r.isContentful()&&r.insert(t.IRange.Axis.Row),c=n.CoordUtils.unionRanges(e,c)}else if(f!==0){let e={...c};e.rowStart=c.rowEnd+f+1,s.doBatch(()=>{s.getRange(e).clear()},{}),c={...c},c.rowEnd+=f}let p=n.CoordUtils.isEqualRanges(c,e);return p||(this._updateState({anchorCoords:c}),this._options.setContainerCoords?.(c),this._calcVisible(),this._styleCache=null),u!==0&&this._processHeaderListener(),f!==0&&this._processTotalsListener(),p||u!==0||f!==0}addRows(e,r=1,i){let a=this._getState(),o={...a.anchorCoords},s=this._sheet,c=o.rowEnd,l=a.headerRowCount,u=a.totalsRowCount,d=c-o.rowStart+1-l-u;e=Math.max(0,Math.min(e??2**53-1,d-1));let f=o.rowStart+l+e,p=this._beginCommit({description:r>1?(0,n.messageKey)(`op.addTableRows`):(0,n.messageKey)(`op.addTableRow`),...i});try{if(s){let n={colStart:o.colStart,rowStart:f,colEnd:o.colEnd,rowEnd:f+r-1};if(s.getRange(n).insert(t.IRange.Axis.Row),e===0&&l===0){let e={...this._getState().anchorCoords,rowStart:o.rowStart};this._updateState({anchorCoords:e}),this._options.setContainerCoords?.(e),this._calcVisible(),this._styleCache=null}}(!s||f>c)&&this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd,rowEnd:o.rowEnd+r},i),p.commit()}catch(e){throw p.rollback(),e}return this}deleteRowsAt(e,r=1,i){let a=this._getState(),o={...a.anchorCoords},s=this._sheet,c=a.headerRowCount,l=o.rowStart+c+e,u=o.rowEnd-l+1;if(c>0&&u<0)throw Error((0,n.t)(`error.table.tableNoBody`));r=Math.max(1,Math.min(r,u));let d=this._beginCommit({description:r>1?(0,n.messageKey)(`op.deleteTableRows`):(0,n.messageKey)(`op.deleteTableRow`),...i});try{if(s){let e={colStart:o.colStart,rowStart:l,colEnd:o.colEnd,rowEnd:l+r-1};s.getRange(e).delete(t.IRange.Axis.Row)}else this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd,rowEnd:o.rowEnd-r},i);d.commit()}catch(e){throw d.rollback(),e}return this}_deleteColumn(e,r){let i=this._getState(),a=i.mapColumnPropsById.get(e);if(!a)return;let o=this._beginCommit({description:(0,n.t)(`op.deleteColumnNamed`,{name:a.name}),...r});try{let e=a.index,n=this._sheet;if(n){let r=i.anchorCoords,a=r.colStart+e,o={colStart:a,rowStart:r.rowStart,colEnd:a,rowEnd:r.rowEnd};n.getRange(o).delete(t.IRange.Axis.Column)}let s=i.orderedColumnsProps,c=[...s.slice(0,e),...s.slice(e+1)];this._updateColumnsState(c,r),o.commit()}catch(e){throw o.rollback(),e}}addColumn(e=-1,r,i,a){let o=this._getState().anchorCoords,s=e,c=o.colEnd-o.colStart+1;s===-1&&(s=c),s=Math.min(Math.max(0,s),c);let l=this._beginCommit({description:(0,n.messageKey)(`op.addTableColumn`),...a});try{let e=o.colStart+s,n=o.rowStart,a=o.rowEnd,u={colStart:e,rowStart:n,colEnd:e,rowEnd:a},d=this._sheet;if(d&&d.getRange(u).insert(t.IRange.Axis.Column),(!d||s===0||s>=c)&&this._resize({colStart:o.colStart,rowStart:o.rowStart,colEnd:o.colEnd+1,rowEnd:o.rowEnd}),i!==void 0){let e=this._getState().orderedColumnsProps,t=[...e.slice(0,s),{name:i},...e.slice(s)];t=Zv(e,t,0,!0,this._emptyColumnName,this._emptyColumnNamer),this._updateColumnsState(t)}if(d&&r&&r.length>0){if(!Array.isArray(r))throw Error(`Values must be an 1D array if provided.`);let i=a-n+1;if(r.length>i)throw Error(`Values length ${r.length} exceeds table data row count of ${i}.`);d.getRange({colStart:e,rowStart:n,colEnd:e,rowEnd:n+r.length-1}).setValues([r],{axis:t.IRange.Axis.Column})}l.commit()}catch(e){throw l.rollback(),e}return this.getColumnAt(s)}getColumns(){return this._getState()?.orderedColumns??n.CommonUtils.EmptyArray}getColumn(e){let t=this.getColumnByName(e);return t===null?this.getColumnById(e):t}getColumnById(e){let t=this._getState()?.mapColumnById;return t?t.get(e)??null:null}getColumnByName(e){let t=this._getState()?.mapColumnByName;return t?t.get(e?.toLocaleLowerCase())??null:null}convertToRange(e=2**53-1,r){let i=this._beginCommit((0,n.messageKey)(`op.convertToRange`));try{if(this._sheet){let n=this.getFirstAnchorCoords(),r=(n.colEnd-n.colStart+1)*(n.rowEnd-n.rowStart+1);if(r>e)throw Error(`There are ${r} and there is a limit of ${e}.`);let i=this._sheet.getRange(n),a=i.createSparseBuilder({axis:t.IRange.Axis.Column});i.forEach((e,t)=>{let n=t.getCoords(),r=t.getCell();a.pushAt(n.rowIndex,n.colIndex,{style:r.getStyle(!1)})},{includeEmpty:!0,axis:t.IRange.Axis.Column}),a.apply()}this.delete(r)}catch{i.rollback(),i=null}return i&&i.commit(),this._sheet.getRange(this._getState().anchorCoords)}resizeTo(e,t,n){let r=this._getState().anchorCoords,i=r.colStart,a=r.rowStart;return this._resize({colStart:i,rowStart:a,colEnd:i+t-1,rowEnd:a+e-1},n)}resize(e,t){return this._resize(e,t)}_resize(e,t,r=(0,n.messageKey)(`op.resizeTable`)){let i=this._sheet.getRange(e).getCoords();if(!i)throw Error(k_(e));let a=this._getState(),o=a.anchorCoords,s=a.headerRowCount,c=a.totalsRowCount;if(o.rowStart!==i.rowStart||i.colEnd<o.colStart||i.colStart>o.colEnd||i.rowEnd<o.rowStart+s+c+1)throw new n.ExpectedError((0,n.t)(`error.table.tableResizeInvalidBounds`));let l=this._beginCommit({description:r,...t});try{n.CoordUtils.isEqualRanges(i,o)||this._modifyTable({anchorCoords:i},t,r,!0),l.commit()}catch(e){throw l.rollback(),e}return this._sheet.getRange(i)}getName(){return this._getState()?.name}setName(e,t){return this._modifyTable({name:e},t,(0,n.t)(`op.setTableNameNamed`,{name:e}))}getDescription(){return this._getState()?.description}setDescription(e,t){return this._modifyTable({description:e},t,(0,n.messageKey)(`op.setTableDescription`))}select(e){return this.getDataRange().select(e)}_processRestoreOrRevert(e,t,n){this._styleCache=null,super._processRestoreOrRevert(e,t,n)}_processAnchorCoords(){this._styleCache=null,super._processAnchorCoords()}_processAfterContainerShift(e,t){super._processAfterContainerShift(e,t)}getDataRange(){let e=this._getUsedCoords();return e?this._sheet.getRange(e):YD}_getUsedCoords(){let e=this._getState(),t=e.headerRowCount,n=e.totalsRowCount,r=e.anchorCoords;if(!r)return null;let i={...r,rowStart:r.rowStart+t,rowEnd:r.rowEnd-n};return i.rowEnd<i.rowStart||i.colEnd<i.colStart?null:i}getHeaderRowRange(){let e=this._getHeaderCoords();return e?this._sheet.getRange(e):YD}_getHeaderCoords(){let e=this._getState(),t=e.headerRowCount;if(t<1)return null;let n=e.anchorCoords;return n?{...n,rowEnd:n.rowStart+t-1}:null}getTotalRowRange(){let e=this._getTotalCoords();return e?this._sheet.getRange(e):YD}_getTotalCoords(){let e=this._getState(),t=e.totalsRowCount;if(t<1)return null;let n=e.anchorCoords;return n?{...n,rowStart:n.rowEnd-t+1}:null}getStyleOptions(){return this.isDeleted()?Jv:this._getState()?.style}updateStyleOptions(e,t=(0,n.messageKey)(`op.updateStyleInfo`)){let r=this.getStyleOptions(),i=e?{...r,...e}:Jv;return this._modifyTable({style:i},void 0,t),this._styleCache=null,this._notify(`onStyleChange`),this}getRangedStyle(){let e=this._stylePropsCache;return e||(e=this.getStyle().getRanged(this),this._stylePropsCache=e),e}getStyleAt(e){return v_(void 0,this._styles,this.getRangedStyle(),n.CoordUtils.cellToRange(e))}isShowTotals(){return this._getState()?.totalsRowCount>0}setShowTotals(e,t){return this._modifyTable({totalsRowCount:+!!e},t,e?(0,n.messageKey)(`op.showTotals`):(0,n.messageKey)(`op.hideTotals`))}isShowHeaders(){return this._getState()?.headerRowCount>0}setShowHeaders(e,t){return this._modifyTable({headerRowCount:+!!e},t,e?(0,n.messageKey)(`op.showHeaders`):(0,n.messageKey)(`op.hideHeaders`))}isShowHighlightFirstColumn(){return this._getState().style?.showFirstColumn??!1}setShowHighlightFirstColumn(e,t){return this._modifyTable({style:{...this._getState().style,showFirstColumn:e}},t,e?(0,n.messageKey)(`op.showHighlightFirstColumn`):(0,n.messageKey)(`op.hideHighlightFirstColumn`))}isShowHighlightLastColumn(){return this._getState().style?.showLastColumn??!1}setShowHighlightLastColumn(e,t){return this._modifyTable({style:{...this._getState().style,showLastColumn:e}},t,e?(0,n.messageKey)(`op.showHighlightLastColumn`):(0,n.messageKey)(`op.hideHighlightLastColumn`))}isShowBandedColumns(){return this._getState().style?.showColumnStripes??!1}setShowBandedColumns(e,t){return this._modifyTable({style:{...this._getState().style,showColumnStripes:e}},t,e?(0,n.messageKey)(`op.showBandedColumns`):(0,n.messageKey)(`op.hideBandedColumns`))}isShowBandedRows(){return this._getState().style?.showRowStripes??!1}setShowBandedRows(e,t){return this._modifyTable({style:{...this._getState().style,showRowStripes:e}},t,e?(0,n.messageKey)(`op.showBandedRows`):(0,n.messageKey)(`op.hideBandedRows`))}_setupAutoExpand(){if(this._autoExpandRemoveListener?.(),this.isDisabledAutoExpand())return;let e=this._sheet;if(!e)return;let t=this;this._autoExpandRemoveListener=e.getEntireRange().addListener(r=>{if(this._lastTransactionId===r.getTransactionId()||r.trigger!==`setCells`||r.isUndo)return;let i=t.getFirstAnchorCoords();if(!i)return;let a=r.getFrom().getCoords()[0],o=null;if(a.rowStart>=i.rowStart&&a.rowEnd<=i.rowEnd&&a.colStart>=i.colStart&&a.colStart<=i.colEnd+1&&a.colEnd>i.colEnd){let t={...a,colStart:i.colEnd+1};if(e.getRange(t).isContentful()){let n={...t,rowStart:i.rowStart,rowEnd:t.rowStart-1};if(n.rowEnd-n.rowStart<0||!e.getRange(n).isContentful()){let n={...t,rowStart:t.rowEnd+1,rowEnd:i.rowEnd};(n.rowEnd-n.rowStart<0||!e.getRange(n).isContentful())&&(o={...i,colEnd:a.colEnd})}}}else if(!t.isShowTotals()&&a.colStart>=i.colStart&&a.colEnd<=i.colEnd&&a.rowStart>=i.rowStart&&a.rowStart<=i.rowEnd+1&&a.rowEnd>i.rowEnd){let t={...a,rowStart:i.rowEnd+1};if(n.CoordUtils.isRangeWithinRange(t,e.getEntireRange().getCoords())&&e.getRange(t).isContentful()){let n={...t,colStart:i.colStart,colEnd:t.colStart-1};if(n.colEnd-n.colStart<0||!e.getRange(n).isContentful()){let n={...t,colStart:t.colEnd+1,colEnd:i.colEnd};(n.colEnd-n.colStart<0||!e.getRange(n).isContentful())&&(o={...i,rowEnd:a.rowEnd})}}}if(o&&e.getRange(o).getMerges().length>0&&(o=null),o&&e.getTables().getItems({address:o}).length!==1&&(o=null),o){let e=t._beginCommit((0,n.messageKey)(`op.tableAutoExpansion`));try{t.resize(o),e.commit({viewAfter:null})}catch(t){e.rollback(),console.warn(`Unable to AutoExpand`),console.warn(t)}}},{transactional:!1,ignoreShifts:!0})}setDisabledAutoExpand(e,t){return this._modifyTable({disabledAutoExpand:e},t,(0,n.messageKey)(`op.setDisabledAutoExpand`)),this._setupAutoExpand(),this}isDisabledAutoExpand(){return(this._getState()?.disabledAutoExpand||!this._sheet)??!1}applyFilters(e){let t=this._getState().filtersActive,r=t.length;if(r===0)return this;let i=[];for(let e=0;e<r;e++){let n=t[e],r=n.getCondition();r&&i.push({index:n.getIndex(),...r.toJSON()})}if(i.length===0)return this;let a={description:(0,n.messageKey)(`op.applyFilters`),...e,conditions:i};return this._applyFilters(a),this}deleteFilters(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.deleteFilters`),...e});try{let e=this._getState(),n=[...e.orderedColumnsProps],r=new Map(e.mapColumnPropsById),i=this._updateFilters([],e.filtersActive,n,r);this._updateState({orderedColumnsProps:Object.freeze(n),mapColumnPropsById:r,filtersActive:i}),this._processTableUpdate?.(),this._notify(`onFilterChange`),t.commit()}catch(e){throw t.rollback(),e}return this}getActiveFilters(){let e=this._getState();return e?e.filtersActive:null}getFilterAt(e){let t=this._getState();if(!t)return null;let n=t.orderedColumnsProps[e]??null;if(!n)return null;let r=n.filterProps;return r?t.filtersActive[r.level]:this._createFilter(n.id)}_updateSorts(e,t,r,i){let a=t.length;for(let e=0;e<a;e++){let n=t[e].getIndex(),a=r[n];if(!a||!a.sortProps)continue;let o={...a};delete o.sortProps,i.set(o.id,o),r[n]=o}let o=e?e.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[];for(let t=0;t<o;t++){let a=e[t],o=a.index??t,c=r[o];if(!c)continue;let l={...c};if(i.set(l.id,l),r[o]=l,a.criteria===null)l.sortProps=null;else{let e=n.CommonUtils.cloneObject({...a});delete e.index,l.sortProps={level:t,...e}}let u=this._createSort(l.id);s.push(u)}return Object.freeze(s)}_updateFilters(e,t,r,i){let a=t.length;for(let e=0;e<a;e++){let n=t[e].getIndex(),a=r[n];if(!a)continue;let o={...a};delete o.filterProps,i.set(o.id,o),r[n]=o}let o=e?e.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[];for(let t=0;t<o;t++){let n=e[t],a=Rv.resolveInput(n),o=n?.index??t,c=r[o];if(!c)continue;let l={...c};if(i.set(l.id,l),r[o]=l,a===null){l.filterProps=null;continue}l.filterProps={level:s.length,condition:a};let u=this._createFilter(l.id);s.push(u)}return Object.freeze(s)}filter(e,t){let r=this._beginCommit({description:(0,n.messageKey)(`op.filterTable`),...t}),i=e;try{let e=this._getState(),t=[...e.orderedColumnsProps],n=new Map(e.mapColumnPropsById),a=this._updateFilters(i.conditions,e.filtersActive,t,n);this._updateState({orderedColumnsProps:Object.freeze(t),mapColumnPropsById:n,filtersActive:a}),this._applyFilters(i),this._processTableUpdate?.(),this._notify(`onFilterChange`),r.commit()}catch(e){throw r.rollback(),e}return this}sort(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.sortTable`),...e});try{let n=this._getState(),r=[...n.orderedColumnsProps],i=new Map(n.mapColumnPropsById),a=this._updateSorts(e?.sorts,n.sortsActive,r,i);this._updateState({orderedColumnsProps:Object.freeze(r),mapColumnPropsById:i,sortsActive:a}),e&&e.sorts&&e.sorts.length===0||this._applySorts(e),this._processTableUpdate?.(),this._notify(`onSortChange`),t.commit()}catch(e){throw t.rollback(),e}return this}applySorts(e){let r=this._getState().sortsActive,i=r.length;if(i===0)return this;let a=Array(i);for(let e=0;e<i;e++){let t=r[e];a[e]={index:t.getIndex(),criteria:t.getCriteria()}}let o={description:(0,n.messageKey)(`op.applySort`),...e,sorts:a,hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row};return this._applySorts(o,!0),this}deleteSorts(e){let t=this._beginCommit({description:(0,n.messageKey)(`op.deleteSorts`),...e});try{let e=this._getState(),n=[...e.orderedColumnsProps],r=new Map(e.mapColumnPropsById),i=this._updateSorts([],e.sortsActive,n,r);this._updateState({orderedColumnsProps:Object.freeze(n),mapColumnPropsById:r,sortsActive:i}),this._processTableUpdate?.(),this._notify(`onSortChange`),t.commit()}catch(e){throw t.rollback(),e}return this}applySortsAndFilters(e){return this.doBatch(()=>{this.applyFilters(),this.applySorts()},{description:(0,n.messageKey)(`op.refreshSortsAndFilters`),...e}),this}deleteSortsAndFilters(e){return this.doBatch(()=>{this.deleteSorts(),this.deleteFilters()},{description:(0,n.messageKey)(`op.deleteSortsAndFilters`),...e}),this}getActiveSorts(){return this._getState().sortsActive}getSortAt(e){let t=this._getState();if(!t)return null;let n=t.orderedColumnsProps[e]??null;if(!n)return null;let r=n.sortProps;return r?t.sortsActive[r.level]:this._createSort(n.id)}setHiddenButtonAt(e,t){let r=this._getState(),i,a=r.mapHiddenButtons;return t===r.hiddenButtons?a.get(e)!==t&&(a=new Map(a),a.delete(e),i={mapHiddenButtons:a}):a.get(e)!==t&&(a=new Map(a),a.set(e,t),i={mapHiddenButtons:a}),i&&this._updateState(i,(0,n.messageKey)(`op.setHiddenButtons`)),this}isHiddenButtonAt(e){let t=this._getState();return!t||(t.mapHiddenButtons.get(e)??t.hiddenButtons??!1)}setHiddenButtons(e){if(this._getState())return this._updateState({hiddenButtons:e,mapHiddenButtons:sy},(0,n.messageKey)(`op.setHiddenButtons`),[`onHiddenButtonsChange`]),this}isHiddenButtons(){let e=this._getState();return!e||!0===e.hiddenButtons&&e.mapHiddenButtons.size===0}_applyFilters(e){this.getRange().filter({...e,conditions:e?.conditions??[],hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row}),this._processTableUpdate?.(),this._notify(`onFilterChange`)}_applySorts(e,n=!1){this.getRange().sort({...e,hasHeader:this.isShowHeaders(),axis:t.IRange.Axis.Row}),n&&(this._processTableUpdate?.(),this._notify(`onSortChange`))}getColumnAt(e){return this._getState()?.orderedColumns[e]??null}_updateColumnsState(e,t){let r=this._getState(),i=r.lastColId,a=e.length;if(a===0&&!this._sheet)throw Error((0,n.t)(`error.table.tableNoBody`));let o=r.mapColumnById,s=new Map,c=Array(a),l=new Map,u=new Map,d=new Map,f=Array(a),p,m;for(let t=0;t<a;t++){let n={...e[t]};c[t]=n,n.index=t,p=null,n.id!==void 0&&(m=parseInt(n.id),Number.isInteger(m)&&(i=Math.max(i,m),p=n.id)),p===null&&(i++,p=i+``),n.id=p;let r=o.get(p);r||=this._createColumn(p),s.set(p,n),f[t]=r,l.set(p,r),u.set(t,r);let a=n.name.toLocaleLowerCase();d.set(a,r)}let{filtersActive:h,sortsActive:g}=this._rebuildActiveLevels(c);return this._updateState({orderedColumnsProps:Object.freeze(c),mapColumnPropsById:s,orderedColumns:Object.freeze(f),mapColumnById:l,mapColumnByIndex:u,mapColumnByName:d,filtersActive:h,sortsActive:g,lastColId:i},t),f}_rebuildActiveLevels(e){let t=this._getState(),r=[],i=[],a=e.length;for(let t=0;t<a;t++){let n=e[t];n&&(n.filterProps&&r.push(n),n.sortProps&&i.push(n))}if(r.length===0&&i.length===0&&t.filtersActive.length===0&&t.sortsActive.length===0)return{filtersActive:t.filtersActive,sortsActive:t.sortsActive};r.sort((e,t)=>e.filterProps.level-t.filterProps.level),i.sort((e,t)=>e.sortProps.level-t.sortProps.level);let o=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e];t.filterProps.level!==e&&(t.filterProps={...t.filterProps,level:e}),o[e]=this._createFilter(t.id)}let s=Array(i.length);for(let e=0;e<i.length;e++){let t=i[e];t.sortProps.level!==e&&(t.sortProps={...t.sortProps,level:e}),s[e]=this._createSort(t.id)}return{filtersActive:o.length===0?n.CommonUtils.EmptyArray:Object.freeze(o),sortsActive:s.length===0?n.CommonUtils.EmptyArray:Object.freeze(s)}}getVisibleRefRangeCoords(){return this._ensureVisible(),this._visibleRange?this._visibleRange:this.getFirstAnchorCoords()}getVisibleCellCoords(e){return this._ensureVisible(),e&&this._visibleRange?{colIndex:Math.min(this._visibleRange.colEnd,Math.max(this._visibleRange.colStart,this._sheet.getColumnHeaders().getVisibleIndex(e.colIndex).min)),rowIndex:Math.min(this._visibleRange.rowEnd,Math.max(this._visibleRange.rowStart,this._sheet.getRowHeaders().getVisibleIndex(e.rowIndex).min))}:e}isHeaderVisible(){return this._ensureVisible(),this._isHeaderVisible}isTotalVisible(){return this._ensureVisible(),this._isTotalVisible}isFirstColumnVisible(){return this._ensureVisible(),this._isFirstColumnVisible}isLastColumnVisible(){return this._ensureVisible(),this._isLastColumnVisible}_readSyncSheet(e=!1,t=!1){let r=this._sheet;if(!r)return null;let i=this._getState().orderedColumnsProps,a=this.getFirstAnchorCoords();if(!a)return null;let o=this._getHeaderCoords(),s=t?void 0:this._getTotalCoords();if(!o&&!s)return null;let c=a.colEnd-a.colStart+1,l=Array(c).fill(null),u=!1;if(o){let t=0;r.getRange({...o,rowEnd:o.rowStart}).forEach((n,r)=>{let a,o=i[t];n===null?e?(a=o?.name,u=!0):a=null:typeof n==`string`?a=n:(a=r.getCell().getText(),u=!0),l[t]={...o,name:a},t++},{includeEmpty:!0})}if(s){let e=0;r.getRange({...s,rowStart:s.rowEnd}).forEach((t,n)=>{let r=n.getCell(),a=r.getFormulaText()??void 0,o;typeof t==`string`?o=t:t!==null&&(o=r.getText());let s=l[e]??i[e];if(s&&a===s.totalsRowFormula&&o===s.totalsRowLabel)return void e++;u=!0;let c={...s};l[e]=c,delete c.totalsRowLabel,delete c.totalsRowFormula,a?c.totalsRowFormula=a:o&&(c.totalsRowLabel=o),e++},{includeEmpty:!0})}let d=Zv(i,l,0,!0,this._emptyColumnName,this._emptyColumnNamer);var f,p;return u||=(f=l,p=d,!n.CommonUtils.isEqualArrays(f,p,(e,t)=>n.CommonUtils.deepEqual(e,t))),{columns:d,converted:u}}_writeSyncSheet(e=!1){let r=this._sheet;if(!r)return;let i=this._getState(),a=i.orderedColumnsProps,o=this._getHeaderCoords(),s=this._getTotalCoords();if(!o&&!s||e)return;let c=(0,n.messageKey)(`op.syncColumnsToSheet`),l=this._beginCommit(c);try{let e=r.getEntireRange().createSparseBuilder({axis:t.IRange.Axis.Row}),n=a.length;if(o){let t=o.rowStart,r=o.colStart;for(let i=0;i<n;i++){let n=a[i].name;n&&e.pushAt(t,r+i,n)}}if(s&&!i.shownTotalsRow){let e=r.getEntireRange().createSparseBuilder({axis:t.IRange.Axis.Row}),i=s.rowStart,o=s.colStart;for(let t=0;t<n;t++){let n=a[t].totalsRowLabel;n&&e.pushAt(i,o+t,n)}e.apply(),this._updateState({shownTotalsRow:!0})}e.apply({textParser:!1})}catch(e){throw l.rollback(),e}l&&l.commit()}_processDelete(){let e=this._getState();e.headerRemoveListener?.(),e.totalsRemoveListener?.(),this._updateState({headerRemoveListener:null,totalsRemoveListener:null});let t=this._namedItem;t&&t.delete(),super._processDelete()}_processFilterUpdate(){let e=this._getUsedCoords();console.log(`process on Filter and Sort dataRange`,e)}_processContainerShift(e){if(e.isSplit)throw Error((0,n.t)(`error.table.tableSplit`));let r=this._getState(),i=e.after,a=e.intersect;if(i&&i.rowStart+r.headerRowCount>=i.rowEnd+1)throw Error((0,n.t)(`error.table.tableNoBody`));let o=e.axis===t.IRange.Axis.Column;if(e.amount<0&&i&&!o){let e=this._getHeaderCoords();if(e&&a.rowStart<=e.rowEnd&&a.rowEnd>=e.rowStart)throw Error((0,n.t)(`error.table.tableRemoveHeader`));let t=this._getTotalCoords();t&&a.rowStart<=t.rowEnd&&a.rowEnd>=t.rowStart&&this.setShowTotals(!1)}let s=super._processContainerShift(e);if(o){let t=e.amount,r=a.colStart-e.before.colStart,i=t>0;if(r<=0&&i)return s;r<0&&(t-=r,r=0);let o=[...this._getState().orderedColumnsProps];i?o=function(e,t,n,r=Gv(),i=Kv){let a=Array(n),o=e.length;t<0&&(t=o),e.splice(t,0,...a);let s=Xv(e,r)(),c=s!==0&&s<o,l=0;if(s===0){let t=new Set,n=e.length;for(let r=0;r<n;r++){let n=e[r]?.name;if(!n)continue;let i=qv(n);t.add(i)}for(let e=0;s===0&&e<n;e++){let n=qv(i(r,e));t.has(n)&&(s=e)}s===0&&(s=o-1)}let u=c?null:e[t-1]?.name;(c||s>=o)&&(l=s);for(let e=0;e<n;e++){let t;c||l<s?(t=i(r,l),u=t,l++):t=u,a[e]={...a[e],name:t}}return Zv(e,a,t,!1,r,i)}(o,r,t):o.splice(r,-t),this._updateColumnsState(o,i?(0,n.messageKey)(`op.addColumns`):(0,n.messageKey)(`op.deleteColumns`)),this._writeSyncSheet(!i)}else i||this._updateColumnsState([],(0,n.messageKey)(`op.deleteColumns`));return i||this._delete(),this._processAnchorCoords(),s}_beginCommit(e){let t=super._beginCommit(e);return this._lastTransactionId=t.getId(),t}_modifyTable(e,t,r,i=!0){if(this.isDeleted())throw Error(`Table has been closed. No further operations are allowed.`);let a=this._getState(),o=a.anchorCoords,s=a.headerRowCount,c=a.totalsRowCount,l=this._getTotalCoords()??null;t?.description||(t={...t,description:r});let u=this._beginCommit(t);try{if(this._updateState(e,t),e.name!==void 0){if(!e.name)throw Error((0,n.t)(`error.table.tableNoName`));this._setContainerName?.(e.name)}let d=e.anchorCoords??null,f=this._ensureHeightForHeaderTotals(d??a.anchorCoords,s,c,e.headerRowCount,e.totalsRowCount),p=!1,m=!1;if(d){if(!this._getUsedCoords())throw Error((0,n.t)(`error.table.tableNoBody`));this._updateState({anchorCoords:d},r);let e=this._getState();if(d.colStart!==o.colStart||d.colEnd!==o.colEnd){let t=d.colEnd-d.colStart+1,r=e.orderedColumnsProps;if(p=t!==r.length,p){let e=[...r];if(d.colEnd>o.colEnd)e.splice(e.length,0,...Array(d.colEnd-o.colEnd)),e=Zv(null,e,0,!0,this._emptyColumnName,this._emptyColumnNamer);else if(d.colEnd<o.colEnd){let t=o.colEnd-d.colEnd;e.splice(e.length-t,t)}d.colStart<o.colStart?(e.splice(0,0,...Array(o.colStart-d.colStart)),e=Zv(null,e,0,!0,this._emptyColumnName,this._emptyColumnNamer)):d.colStart>o.colStart&&e.splice(0,d.colStart-o.colStart),this._updateColumnsState(e,(0,n.messageKey)(`op.updateColumns`))}}let t=d.rowEnd!==o.rowEnd;if(m=t&&l!==null,d.rowStart!==o.rowStart||t){if(t&&l){let e=this._sheet;e&&e.getRange(l).clear()}this._calcVisible()}if(i){let e=this._readSyncSheet(!0,m);e&&e.converted&&this._updateColumnsState(e.columns,(0,n.messageKey)(`op.syncColumnsFromSheet`))}this._options.setContainerCoords?.(d)}(f||p)&&this._writeSyncSheet(),e.style!==void 0&&(this._styleCache=null),this._notify(`onAnyChange`),u.commit()}catch(e){throw u.rollback(),e}return this}addListeners(e,t){return this._getEmitter().addListeners(e,t)}_processAfterStateChange(e,t,n){super._processAfterStateChange(e,t,n),this._styleCache=null,this._stylePropsCache=null,this._processTableUpdate?.(),this._notify(`onAnyChange`)}_processHeaderListener(){this._getState().headerRemoveListener?.();let e=this._sheet;if(!e)return;let t=this._getHeaderCoords();if(!t){let e=this._getUsedCoords();t={...e,rowEnd:e.rowStart}}this._lastTransactionId=this._getTransactions().getCurrentCommit().getId();let n=e.getRange(t).addListener(this._columnListener,{transactional:!0});this._updateState({headerRemoveListener:n})}_processTotalsListener(){this._getState().totalsRemoveListener?.();let e=this._sheet;if(!e)return;let t=this._getTotalCoords();if(!t)return;this._lastTransactionId=this._getTransactions().getCurrentCommit().getId();let n=e.getRange(t).addListener(this._columnListener,{transactional:!0});this._updateState({totalsRemoveListener:n})}get[Symbol.toStringTag](){return`[Table]`}toString(){return this.getName()??``}toJSON(){let e={},t=this._getState();if(!t)return null;t.name&&(e.name=t.name),t.description&&(e.description=t.description),t.headerRowCount!==1&&(e.headerRowCount=t.headerRowCount),t.totalsRowCount!==0&&(e.totalsRowCount=t.totalsRowCount),t.disabledAutoExpand&&(e.disabledAutoExpand=t.disabledAutoExpand);let r=t.orderedColumns;if(r){let t=r.length,n=Array(t);for(let e=0;e<t;e++){let t=r[e]?.toJSON();t&&(n[e]=t)}e.columns=n}if(t.style){let r=n.CommonUtils.diffValues(t.style,{...Jv,name:null});r&&(e.style=r)}let i=t.sortsActive,a=i.length;if(a>0){let n=t.orderedColumnsProps,r=Array(a);for(let e=0;e<a;e++){let t=i[e]?.getIndex(),a=n[t];if(!a)continue;let o={...a.sortProps,index:t};delete o.level,r[e]=o}e.sort={sorts:r}}let o=t.filtersActive,s=o.length;if(s>0){let n=t.orderedColumnsProps,r=[];for(let e=0;e<s;e++){let t=o[e]?.getIndex(),i=n[t];if(!i)continue;let a=i.filterProps?.condition;if(!a)continue;let s=a.toJSON();s.index=t,r.push(s)}e.filter={conditions:r}}if(!0===t.hiddenButtons)e.hiddenButtons=!0;else{let n=t.mapHiddenButtons;if(n.size>0){let t=[];n.forEach((e,n)=>{t.push(n)}),e.hiddenButtons=t}}return e}getSheet(){return this._sheet??null}_createNamed(){return this._names?new ry(this._sheet,this,{transactions:this._getTransactions(),json:{name:this.getName()}}):null}_fromJSON(e){let t=e??{},r=(0,n.messageKey)(`op.addTable`),i=this.getFirstAnchorCoords(),a=i.colEnd-i.colStart+1,o=function(e,t=Gv(),n=Kv){let r=Array(e);for(let i=0;i<e;i++)r[i]={name:n(t,i)};return r}(a);a>1&&(o[0].totalsRowLabel=Uv((0,n.messageKey)(`table.totalsRowLabel`),`Total`));let s=t.columns;s&&(s.length>a&&(s=s.slice(0,a)),o=Yv(s)),this._updateColumnsState(o,r);let c={...this._getState()};if(t.name!==void 0&&(c.name=t.name),this._names){let e=this._names.findValidName(c.name);c.name!==e&&(c.name=e)}c.description&&=c.description.trim(),c.headerRowCount=t.headerRowCount??1,c.totalsRowCount=t.totalsRowCount??0,c.disabledAutoExpand=t.disabledAutoExpand??!1;let l=t.style;typeof l==`string`&&(l={name:l}),c.style={...Jv,...l};let u=t.sort;if(u){let e=[...c.orderedColumnsProps],t=new Map(c.mapColumnPropsById),n=this._updateSorts(u.sorts,c.sortsActive,e,t);c.orderedColumnsProps=Object.freeze(e),c.mapColumnPropsById=t,c.sortsActive=n}let d=t.filter;if(d){let e=[...c.orderedColumnsProps],t=new Map(c.mapColumnPropsById),n=this._updateFilters(d.conditions,c.filtersActive,e,t);c.orderedColumnsProps=Object.freeze(e),c.mapColumnPropsById=t,c.filtersActive=n}let f=t.hiddenButtons;if(f!==void 0)if(Array.isArray(f)){c.hiddenButtons=!1;let e=f.length,t=new Map;for(let n=0;n<e;n++){let e=f[n];t.set(e,!0)}c.mapHiddenButtons=t}else c.hiddenButtons=f,c.mapHiddenButtons=sy;this._updateState(c,r)}close(){super.close(),this.isClosed()||(this._autoExpandRemoveListener?.(),this._getState()?.headerRemoveListener?.(),this._updateState({headerRemoveListener:null},(0,n.messageKey)(`op.closeTable`)),this._stylesRemoveListener?.(),this._colHeadersSizeUnlistener?.(),this._rowHeadersSizeUnlistener?.())}get isITable(){return!0}},sy=new Map,cy=new Map,ly=Object.freeze({criteria:null,level:-1}),uy=Object.freeze({condition:null,level:-1}),dy=class extends ey{getName(){let e,t=this.getIndex(),n=this.getTable(),r=n.getSheet();if(r){let i=n.getRange().getCoords().colStart;e=r.getColumnHeaders().getTextAt(i+t)}return e||=`Column ${t+1}`,e}setName(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getId(){return this._getProps(this._id).id??null}getIndex(){return this._getProps(this._id).index??-1}setTotalsRowLabel(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getTotalsRowLabel(){return null}setTotalsRowFormula(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getTotalsRowFormula(){return null}delete(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}get[Symbol.toStringTag](){return`[AutoTableColumn]`}toJSON(){return null}},fy=class extends oy{_initialize(e){let t={...e.json};e={...e,json:t},t.disabledAutoExpand=!0,t.name=Uv((0,n.messageKey)(`table.autoTableName`),`AutoTable`),t.description=Uv((0,n.messageKey)(`table.autoTableDescription`),`AutoTable created for filtering and sorting`),e.names=null,e.styles=new kg,e.setContainerName=e=>{throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))},super._initialize(e)}initializeColumnCreator(e,t,n,r){return i=>new dy(e,i,t,n,r)}_processHeaderListener(){}_readSyncSheet(e=!1){return null}_writeSyncSheet(e=!1){}_calcVisible(){}isShowHeaders(){return!1}addRows(e,t=1,r){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}addColumn(e=-1,t,r,i){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}deleteRowsAt(e,t=1,r){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}getColumnByName(e){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}convertToRange(e=2**53-1,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setName(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setDescription(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}updateStyleOptions(e,t=(0,n.messageKey)(`op.updateStyleInfo`)){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowTotals(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHeaders(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHighlightFirstColumn(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowHighlightLastColumn(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowBandedColumns(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}setShowBandedRows(e,t){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}_resize(e,t,r=(0,n.messageKey)(`op.resizeTable`)){throw Error((0,n.t)(`error.table.autoTableInvalidOperation`))}get[Symbol.toStringTag](){return`[AutoTable]`}toString(){return this.getRange().toString()}toJSON(){let e=super.toJSON();return e?(delete e.name,delete e.description,delete e.style,delete e.columns,delete e.disabledAutoExpand,delete e.totalsRowCount,delete e.headerRowCount,e):null}},py=class e extends Bv{static{this.instanceCounter=0}constructor(e){if(super(e),!e.content)throw Error(`Content type is required`);this._content=e.content,this._optionsMovable=e;let t=this;this._optionsMovable.setContainerCallbacks?.({processZIndex:()=>t._processZIndex(),processSelection:(e,n)=>t._processContainerSelect(e,n)}),e.json&&this._fromJSON(e.json);let n=this._content.addListeners({onDelete:()=>{t._options.deleteFromContainer&&t._options.deleteFromContainer?.()}},{transactional:!0});this._updateState({contentListenerRemove:n},null,[])}getContent(){return this._content}_processAfterStateChange(e,t,n){super._processAfterStateChange(e,t,n),this._getEmitter().notify(`onBoundsChange`),this._getEmitter().notify(`onAnyChange`)}_processZIndex(){this._getEmitter().notify(`onAnyChange`)}_processContainerSelect(e,t){this._getEmitter().notify(`onSelectionChange`)}isSelected(){return this._optionsMovable.isSelected?.()??!1}async scrollIntoView(e){return this._optionsMovable.scrollIntoView?.(e)??!1}async select(e){if(!1===await this._optionsMovable.select?.(e))return!1;if(!1!==e?.autoFocus){let e=await this._getEmitter().notify(`onRequestFocus`,{async:!0});if(!e)return!1;let t=e.length;for(let n=0;n<t;n++)if(!1===e[n])return!1}return!0}unselect(){let e=this._optionsMovable.isSelected?.()??!1;return this._optionsMovable.unselect?.(),e}_clone(){let t=this.isSelected(),n=this.getZIndex(),r=this._optionsMovable.getMaxBounds,i=this.getContent(),a={beginPersistResource:this._optionsMovable.beginPersistResource,getBoundsAtCoords:this._optionsMovable.getBoundsAtCoords,getCoordsAtBounds:this._optionsMovable.getCoordsAtBounds,isSelected:()=>t,getZIndex:()=>n,getContainerIndex:()=>n,getMaxBounds:r,getRanges:e=>this._optionsMovable.getRanges(e),getEntireRange:()=>this._optionsMovable.getEntireRange(),transactions:new m({transient:!0}),json:this.toJSON(),coords:this.getFirstAnchorCoords(),content:i},o=new e(a),s=this._getState();return o._updateState({...s}),o}getSnapshot(e,t){let r=this._optionsMovable.getCoordsAtBounds(e),i=this._getState().offsets,a=this.getFirstAnchorCoords();if((i.br.x>0||i.br.y>0)&&(a={...a},a.colEnd-=+(i.br.x>0),a.rowEnd-=+(i.br.y>0)),!n.CoordUtils.isRangeWithinRange(a,r))return null;let o=this,s=o._clone(),c=Object.freeze({...t}),l=!1;return{async copyTo(e,t){let n={...c,...t};return await s._doCopy(e,n),n.isCut&&!l&&(o.delete(),l=!0),e.bounds},getCoords:()=>s.getBounds(),getSource:()=>s,getName:()=>s.getName(),getMarkOptions:()=>c,toText:()=>s._toText(),toHtml:()=>s._toHtml(),toImage:()=>s._toImage(),isISnapshot:!0}}async _doCopy(e,t){let r=this._optionsMovable.beginPersistResource(),i=this.toJSON(r.toResourceId.bind(r)),a=(0,n.t)((0,n.messageKey)(`movable.copySuffix`),{name:this.getName()});i.content.json.name=a===`movable.copySuffix`?`${this.getName()} (Copy)`:a;let o=i.content.json;delete i.content;let s=e.movables;if(!s)throw Error(`Movables is required`);let c=e.bounds??this.getBounds();try{await s.add({...i,...t,fromResourceId:r.fromResourceId.bind(r),bounds:c,type:this.getContent().getType(),json:o,description:(0,n.messageKey)(`op.copyMovable`)})}finally{r.endPersist()}}_toText(){return this.getContent().toText?.()}_toHtml(){return this.getContent().toHtml?.()}_toImage(){return this.getContent().toImage?.()}setName(e){return this._updateState({name:e},{description:(0,n.messageKey)(`op.setMovableName`)},[`onNameChange`]),this}getName(){return this.isDeleted()?null:this._getState()?.name}setDescription(e){return this._updateState({description:e},{description:(0,n.messageKey)(`op.setMovableDescription`)}),this}getDescription(){return this.isDeleted()?null:this._getState()?.description}setHidden(e=!1){return this._updateState({hidden:e},{description:(0,n.messageKey)(`op.setMovableVisibility`)}),this}isHidden(){return this._getState()?.hidden??!1}setLockAspectRatio(e){return this._updateState({lockAspectRatio:e},{description:(0,n.messageKey)(`op.setLockAspectRatio`)}),this}isLockAspectRatio(){return this._getState()?.lockAspectRatio??this._optionsMovable.defaultLockAspectRatio??!1}setRotation(e=0){return this._updateState({rotation:e},{description:(0,n.messageKey)(`op.setMovableRotation`)}),this}getRotation(){return this._getState()?.rotation??0}moveToBack(){return this._optionsMovable.moveToBackOnContainer?.(),this}moveBackward(){return this._optionsMovable.moveBackwardOnContainer?.(),this}moveToFront(){return this._optionsMovable.moveToFrontOnContainer?.(),this}moveForward(){return this._optionsMovable.moveForwardOnContainer?.(),this}getZIndex(){return this._optionsMovable.getZIndex?.()??0}setBounds(e,t){if(!e)return this;let r={...this.getBounds(),...e};if(this._optionsMovable.getMaxBounds&&(r={x:Math.max(r.x,this._optionsMovable.getMaxBounds().x),y:Math.max(r.y,this._optionsMovable.getMaxBounds().y),width:Math.min(r.width,this._optionsMovable.getMaxBounds().width),height:Math.min(r.height,this._optionsMovable.getMaxBounds().height)}),r.width<0||r.height<0)throw new n.OutOfBoundsError;let i=this._updateMovableLocation({bounds:r,anchorType:G_.Type.Absolute}),a=this._beginCommit(t?.description??(0,n.messageKey)(`op.setMovableBounds`));return this._updateState({offsets:i.offsets,anchorCoords:i.anchorCoords},{description:(0,n.messageKey)(`op.updateMovableBounds`)}),this._options.setContainerCoords(i.anchorCoords),this._invalidateBounds(),a.commit(),this}_updateMovableLocation(e){let t=e.offsets??my(),n=e.anchorCoords??this.getFirstAnchorCoords(),r=e.anchorType??this.getAnchorType(),i=e.bounds??this.getBounds();if(i){if(r===G_.Type.Absolute){n=this._optionsMovable.getCoordsAtBounds(i);let e=this._optionsMovable.getBoundsAtCoords(n);t={...t,tl:{x:i.x-e.x,y:i.y-e.y}}}if(r===G_.Type.Absolute||r===G_.Type.OneCell){let e=this._optionsMovable.getBoundsAtCoords({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart,rowEnd:n.rowStart}),r=this._optionsMovable.getCoordsAtBounds({x:e.x,y:e.y,width:i.width+Math.min(e.width,t.tl.x),height:i.height+Math.min(e.height,t.tl.y)});n={colStart:n.colStart,rowStart:n.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd};let a=this._optionsMovable.getBoundsAtCoords({colStart:n.colEnd,rowStart:n.rowEnd,colEnd:n.colEnd,rowEnd:n.rowEnd}),o=i.width-(a.x-e.x-Math.min(t?.tl.x??0,e.width)),s=i.height-(a.y-e.y-Math.min(t?.tl.y??0,e.height));t={...t,br:{x:o,y:s}}}return t!==e.offsets&&(t.br.y<=0&&(t.br={...t.br,y:0},n.rowEnd--),t.br.x<=0&&(t.br={...t.br,x:0},n.colEnd--)),{anchorCoords:n,offsets:t}}}_calcAbsoluteBounds(e,t=my()){if(!e)return null;let n=this._optionsMovable.getBoundsAtCoords({rowStart:e.rowStart,colStart:e.colStart,colEnd:e.colStart,rowEnd:e.rowStart}),r=+!t.br.x,i=+!t.br.y,a=this._optionsMovable.getBoundsAtCoords({colStart:e.colEnd+r,rowStart:e.rowEnd+i,colEnd:e.colEnd+r,rowEnd:e.rowEnd+i}),o=Math.min(n.x+(t?.tl.x??0),n.x+n.width),s=Math.min(n.y+(t?.tl.y??0),n.y+n.height);return{x:o,y:s,width:Math.min(a.x+(t?.br.x??0),a.x+a.width)-o,height:Math.min(a.y+(t?.br.y??0),a.y+a.height)-s}}getBounds(){return this._getState()?.bounds}setAnchorType(e){return n.CommonUtils.validEnumValue(G_.Type,e),this._updateState({anchorType:e},{description:(0,n.messageKey)(`op.setMovableResizeBehavior`)},[`onAnchorTypeChange`]),this}_processContainerShift(e){let r=this.getAnchorType(),i=this._getState()?.offsets,a=i,o=!1,s=e.before,c=e.axis===t.IRange.Axis.Column,l=e.intersect,u=e.amount,d=e.after;if(r!==G_.Type.Absolute){let e=c?l.colStart:l.rowStart,t=c?s.colStart:s.rowStart;r===G_.Type.TwoCell&&(t=c?s.colEnd:s.rowEnd),o=e<=t}if(o&&(r!==G_.Type.OneCell||d)||(d=s),o&&d&&u<0&&(c?(l.colStart<=s.colStart&&l.colEnd>=s.colStart&&(a={...a,tl:{...a.tl,x:0}}),a.br.x>0&&l.colStart<=s.colEnd&&l.colEnd>=s.colEnd&&(a={...a,br:{...a.br,x:0}},d={...d,colEnd:d.colEnd+1})):(l.rowStart<=s.rowStart&&l.rowEnd>=s.rowStart&&(a={...a,tl:{...a.tl,y:0}}),a.br.y>0&&l.rowStart<=s.rowEnd&&l.rowEnd>=s.rowEnd&&(a={...a,br:{...a.br,y:0}},d={...d,rowEnd:d.rowEnd+1}))),d!==null){let{offsets:e,anchorCoords:t}=this._updateMovableLocation({anchorCoords:d,offsets:a});a=e,d=t}let f=null,p=this._beginCommit((0,n.messageKey)(`op.shiftingMovableBounds`));try{if(i!==a||!n.CoordUtils.isEqualRanges(s,d)){let e={offsets:a,anchorCoords:d};this._updateState(e)}this._invalidateBounds(),f=super._processContainerShift({...e,after:d}),p.commit()}catch(e){throw p.rollback(),e}return f}_invalidateBounds(){let e=this.getFirstAnchorCoords();if(e===null)return;let t=this._getState()?.offsets,n=this._calcAbsoluteBounds(e,t);this._updateState({bounds:n},null,[`onBoundsChange`])}_processContainerDelete(){super._processContainerDelete(),this._getState().contentListenerRemove?.(),this.getContent().delete()}_processContainerLayout(){let e=this.getFirstAnchorCoords(),t=this._getState()?.offsets,{offsets:r,anchorCoords:i}=this._updateMovableLocation({anchorCoords:e,offsets:t}),a=this._beginCommit((0,n.messageKey)(`op.updatingMovableBounds`));try{if(t!==r||e!==i){let e={offsets:r,anchorCoords:i};this._updateState(e)}this._invalidateBounds(),super._processContainerLayout(),a.commit(hy)}catch(e){throw a.rollback(),e}}_processAnchorCoords(){super._processAnchorCoords()}enrichOffset(e,t,r){if(e.r!==void 0&&e.c!==void 0)return e;let i=(e?.x??0)+t,a=(e?.y??0)+r,o=this._optionsMovable.getCoordsAtBounds({x:i,y:a,width:0,height:0}),s=this._optionsMovable.getBoundsAtCoords(o);return(e={...e}).c===void 0&&(e.c=o.colStart,e.x=n.CommonUtils.roundAccurately(i-s.x,1)),e.r===void 0&&(e.r=o.rowStart,e.y=n.CommonUtils.roundAccurately(a-s.y,1)),e}_fromJSON(t){let r=my(),i={...n.CoordUtils.EmptyRange},a=t.anchor,o=a?.tl??n.CommonUtils.EmptyObject,s=a?.br??n.CommonUtils.EmptyObject,c={c:o.c,r:o.r,x:o.x,y:o.y},l={c:s.c,r:s.r,x:s.x,y:s.y},u=t.anchorType;c.r!=null&&c.c!=null||(u??=G_.Type.Absolute);let d=c.x=c.x??0,f=c.y=c.y??0;if(c=this.enrichOffset(c,0,0),l.x=l.x??0,l.y=l.y??0,l.r==null||l.c==null){u??=G_.Type.OneCell;let e=this._optionsMovable.getBoundsAtCoords({rowStart:c.r,colStart:c.c,colEnd:c.c,rowEnd:c.r}),t=this.enrichOffset(l,e.x+c.x,e.y+c.y);l.r??(l.r=t.r,l.y=t.y),l.c??(l.c=t.c,l.x=t.x)}l=this.enrichOffset(l,d,f),r.tl=c,r.br=l,i.colStart=c.c,i.rowStart=c.r,i.colEnd=Math.max(i.colStart,l.c+(r.br.x>0?0:-1)),i.rowEnd=Math.max(i.rowStart,l.r+(r.br.y>0?0:-1));let p=this._beginCommit((0,n.messageKey)(`op.loadMovable`));u??=G_.Type.TwoCell;let m={offsets:r,name:t.name??null,description:t.description??null,hidden:t.hidden??!1,rotation:t.rotation??0,lockAspectRatio:t.lockAspect??null,anchorType:u};m.name||=`${this._content.getTypeDescription()} ${++e.instanceCounter}`,m.bounds=this._calcAbsoluteBounds(i,r),this._updateState(m,{description:(0,n.messageKey)(`op.loadMovable`)}),this._optionsMovable.setContainerCoords?.(i),p.commit()}toJSON(e){let t=this._getState(),r=t.anchorCoords,i=t.offsets,a={tl:{c:r.colStart,r:r.rowStart},br:{c:r.colEnd+ +!i?.br?.x,r:r.rowEnd+ +!i?.br?.y}};i&&(i.tl?.x&&(a.tl.x=n.CommonUtils.roundAccurately(i.tl.x,1)),i.tl?.y&&(a.tl.y=n.CommonUtils.roundAccurately(i.tl.y,1)),i.br?.x&&(a.br.x=n.CommonUtils.roundAccurately(i.br.x,1)),i.br?.y&&(a.br.y=n.CommonUtils.roundAccurately(i.br.y,1)));let o=this._content.toJSON(e)??{},s={anchor:a,content:{type:this._content.getType(),json:o}},c=t.anchorType;return c&&c!==G_.Type.TwoCell&&(s.anchorType=this.getAnchorType()),t.hidden&&(s.hidden=t.hidden),t.name&&(s.name=t.name),t.description&&(s.description=t.description),t.rotation!==void 0&&t.rotation!==0&&(s.rotation=t.rotation),n.CommonUtils.isDefined(t.lockAspectRatio)&&t.lockAspectRatio!==this._optionsMovable.defaultLockAspectRatio&&(s.lockAspect=t.lockAspectRatio),s}get isIMovable(){return!0}},my=()=>({tl:{x:0,y:0},br:{x:0,y:0}}),hy={forceAmend:!0},gy=class{constructor(e,t,n,r,i,a){this._add=e,this._getItems=t,this._getCount=n,this._updateSelected=r,this._addListeners=i,this._addPicture=a}async add(e){return this._add(e)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){return this._getItems(e)}getCount(){return this._getCount()}updateSelected(e,t){return this._updateSelected(e,t)}addListeners(e,t){return this._addListeners(e,t)}addPicture(e,t){return this._addPicture(e,t)}},_y=/^[^a-zA-Z_\\]+$/,vy=/^[^a-zA-Z0-9_.]+$/,yy=class{constructor(e){this._closed=!1,this._lastLookup=n.CommonUtils.EmptyArray,this._lastLookupAddress=null,this._lastLookupType=null,this._lastIncludeHidden=!1,this._lastAllowExtrudes=!1,this._lastLookupName=void 0,this._lastLookupScope=void 0,this._lastLookupHasScope=!1,this._sources=n.CommonUtils.EmptyArray,this._sourcesRemoveListeners=[],this._options={...e},this._getSources=e.getSources??null,this._transactions=this._options.transactions??new m({transient:!0}),this._emitter=new v(this,this._transactions)}_resolveSources(){if(!this._getSources||this._closed)return this._sources;let e=this._getSources()??n.CommonUtils.EmptyArray,t=this._sources;if(e.length===t.length){let n=!0;for(let r=0;r<e.length;r++)if(e[r]!==t[r]){n=!1;break}if(n)return t}let r=this,i=this._sourcesRemoveListeners.length;for(let e=0;e<i;e++)this._sourcesRemoveListeners[e]?.();this._sourcesRemoveListeners=[],this._sources=e;let a=e.length;for(let t=0;t<a;t++)this._sourcesRemoveListeners.push(e[t].addListeners({onCollectionChange:()=>{r._closed||(r._invalidateLookup(),r._emitter.notify(`onCollectionChange`))}},{transactional:!1}));return this._invalidateLookup(),e}_getOwningSource(){let e=this._resolveSources(),t=e.length;for(let n=0;n<t;n++)if(e[n].add)return e[n];return null}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(this.isClosed())return n.CommonUtils.EmptyArray;let t,r,i,a,o,s=null,c=!1;if(e&&(s=e.address??null,t=e.allowExtrudes??void 0,r=e.type??void 0,i=e.includeHidden??void 0,a=e.name??void 0,c=`scope`in e,o=c?e.scope??null:void 0,s===this._lastLookupAddress&&r===this._lastLookupType&&i===this._lastIncludeHidden&&t===this._lastAllowExtrudes&&a===this._lastLookupName&&o===this._lastLookupScope&&c===this._lastLookupHasScope))return this._lastLookup;this._lastLookupAddress=s,this._lastLookupType=r,this._lastIncludeHidden=i,this._lastAllowExtrudes=t??void 0,this._lastLookupName=a,this._lastLookupScope=o,this._lastLookupHasScope=c;let l=null;if(s){let e=this._options.addressToRanges(s);if(!e)return n.Notifier.debug(`Invalid range`,{meta:{type:`error`,address:s}}),this._lastLookup=null,null;l=e.getCoords()}let u=this._collectCandidates(l,t);if(u.length===0)return this._lastLookup=n.CommonUtils.EmptyArray,n.CommonUtils.EmptyArray;let d=a?.toLowerCase(),f=[],p=u.length;for(let e=0;e<p;e++){let t=u[e];r&&t.getType()!==r||!i&&t.isHidden()||d&&t.getName().toLowerCase()!==d||c&&t.getScope()!==o||f.push(t)}return f=f.sort((e,t)=>{let n=e.getType().localeCompare(t.getType());return n===0?e.getName().localeCompare(t.getName()):n}),this._lastLookup=f,f}getByRanges(e,t){return this._getByRanges(e,t,null)}_getByRanges(e,t,r){if(this.isClosed())return n.CommonUtils.EmptyArray;let i=this._qualifyCoords(e,r);if(!i)return n.CommonUtils.EmptyArray;let a=this.getItems(t),o=a?a.length:0;if(o===0)return n.CommonUtils.EmptyArray;let s=[],c=[];for(let e=0;e<o;e++){let r=a[e],o=null;try{o=r.getRanges?.()?.getCoords()??null}catch{}if(o&&n.CoordUtils.isEqualRangesArrays(o.slice().sort(n.CoordUtils.rowFirstRangeComparator),i)){s.push(r.getName());continue}if(!t?.includeParts)continue;let l=r.getPartReference?.(i)??null;l&&c.push(l)}for(let e=0;e<c.length;e++)s.push(c[e]);return s}_qualifyCoords(e,t){let r=null;try{r=(t?t.getRanges(e):this._options.addressToRanges(e))?.getCoords()??null}catch{return null}if(!r||r.length===0)return null;let i=t?t.getName():this._currentScope();return r.map(e=>e.scope?e:{...e,scope:i}).sort(n.CoordUtils.rowFirstRangeComparator)}_collectCandidates(e,t){let r=this._resolveSources(),i=r.length;if(i===0)return n.CommonUtils.EmptyArray;let a=[];for(let n=0;n<i;n++){let i=r[n].getItems(),o=i.length;for(let n=0;n<o;n++){let r=i[n];r&&(e&&!this._matchesCoords(r,e,t)||a.push(r))}}return a}_matchesCoords(e,t,r){let i=null;try{i=e.getRanges?.()?.getCoords()??null}catch{return!1}if(!i||i.length===0)return!1;let a=t.length,o=i.length;for(let e=0;e<a;e++){let a=t[e],s=a.scope;for(let e=0;e<o;e++){let t=i[e];if(t&&(!s||!t.scope||t.scope===s)){if(r){if(n.CoordUtils.isRangesIntersect(t,a))return!0}else if(n.CoordUtils.isRangeWithinRange(t,a))return!0}}}return!1}getByName(e,t=!1){return this._getByName(e,t,this._currentScope())}_getByName(e,t=!1,n=null){if(!e||this._closed||typeof e!=`string`)return null;let r=e.toLowerCase();return this._findInSources(e=>e.getName().toLowerCase()===r,t?void 0:n??void 0)}_currentScope(){return this._options.getCurrentScope?.()??null}_scopedTo(e){let t=this,n=new Map;return new Proxy(t,{get:(r,i)=>{if(i===`getItems`)return n=>((e,t)=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i].getScope();a?a===t&&n.push(e[i]):r.push(e[i])}if(n.length===0)return r.slice();let i=new Map;for(let e=0;e<r.length;e++)i.set(r[e].getName().toLowerCase(),r[e]);for(let e=0;e<n.length;e++)i.set(n[e].getName().toLowerCase(),n[e]);return Array.from(i.values())})(t.getItems(n),e.getName());if(i===`getByName`)return(n,r)=>t._getByName(n,r,e.getName());if(i===`getByRanges`)return(n,r)=>t._getByRanges(n,r,e);if(i===`addFormula`)return(n,r,i)=>t._addFormula(n,r,i,e.getName());let a=Reflect.get(t,i,t);if(typeof a!=`function`)return a;let o=n.get(i);return o||(o=a.bind(t),n.set(i,o)),o}})}getById(e){return e?this._closed?null:this._findInSources(t=>t.getId()===e):null}_findInSources(e,t){let n=t?.toLowerCase(),r=null,i=this._resolveSources(),a=i.length;for(let t=0;t<a;t++){let a=i[t].getItems(),o=a.length;for(let t=0;t<o;t++){let i=a[t];if(!i||!e(i))continue;let o=i.getScope();if(o){if(n&&o.toLowerCase()===n)return i}else r||=i}}return r}_findInSourcesByKey(e,t){let n=e.toLowerCase().trim(),r=t?t.toLowerCase():null,i=this._resolveSources(),a=i.length;for(let e=0;e<a;e++){let t=i[e].getItems(),a=t.length;for(let e=0;e<a;e++){let i=t[e];if(!i||i.getName().toLowerCase().trim()!==n)continue;let a=i.getScope();if((a?a.toLowerCase():null)===r)return i}}return null}getCount(){if(this._closed)return 0;let e=0,t=this._resolveSources(),n=t.length;for(let r=0;r<n;r++)e+=t[r].getItems().length;return e}findValidName(e,t=null,r=!1){if(!e)throw Error((0,n.t)(`error.named.templateRequired`));let i=this,a=e=>{try{return i._validateName(e,t,r),!0}catch{}return!1};return a(e)?e:b(e,a)}validateName(e,t=null,n=!1){return this._validateName(e,t,n)}_validateName(e,t,r=!1){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e||e.length===0)throw Error((0,n.t)(`error.named.nameEmpty`));if(e.length>255)throw Error((0,n.t)(`error.named.nameMaxLength`));if(e.indexOf(` `)!==-1)throw Error((0,n.t)(`error.named.containsSpaces`));let i=e.trim().toLowerCase(),a=i.substring(1,e.length-1);if(new RegExp(_y).test(i[0]))throw Error((0,n.t)(`error.named.invalidFirstChar`));if(new RegExp(vy).test(a))throw Error((0,n.t)(`error.named.invalidTrailingChar`));if(i.length===1&&(i[0]===`r`||i[0]===`c`))throw Error((0,n.t)(`error.named.invalidSpecialRC`));if(function(e,t=zl,n=Rl,r=!1){let i=pu(e,r);if(!i||i[2]||!i[1])return!1;let a=uu(e,mu);if(!a)return!1;let o=a.rowIndex;if(o<0||o>t)return!1;let s=a.colIndex;return!(s<0||s>=n)}(e))throw Error((0,n.t)(`error.named.invalidInvalidCellAddress`));let o=e.toLowerCase()?.trim();t&&(o=o+`:`+t.toLowerCase());let s=this._findInSourcesByKey(e,t);if(s){let i=s.getRanges?.()??null;if(!r||i&&i.getCount()>0)throw Error((0,n.t)(`error.named.nameExistsInScope`,{name:e,scope:t}))}}addFormula(e,t,n=!1){return this._addFormula(e,t,n,null)}_addFormula(e,t,r=!1,i=null){let a=this._getOwningSource();if(!a?.add)throw Error(`Cannot define '${e}': no calculation engine is attached to these names.`);if(this._options.isReadOnly?.())throw Error((0,n.t)(`error.named.nameReadonly`));return this._validateName(e,i,r),a.add({name:e,expression:t,replaceExisting:r,scope:i})}beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_invalidateLookup(){this._lastLookup=n.CommonUtils.EmptyArray,this._lastLookupAddress=null,this._lastLookupType=null,this._lastLookupName=void 0,this._lastLookupScope=void 0,this._lastLookupHasScope=!1}addListeners(e,t){return this._resolveSources(),this._emitter.addListeners(e,t)}isClosed(){return this._closed}close(){if(this._closed)return;this._emitter.notify(`onClose`),this._closed=!0;let e=this._sourcesRemoveListeners.length;for(let t=0;t<e;t++)this._sourcesRemoveListeners[t]?.();this._sourcesRemoveListeners=[]}get isINamedCollection(){return!0}},by=class extends ty{constructor(e){if(super(e),e.resource)this._resource=e.resource;else{if(!e.json)throw Error(`Resource is required to create Picture.`);this._resource=e.fromResourceId(e.json.resId)}}getType(){return`picture`}toJSON(e){let t={},n=e?.(this._resource);n!==null&&(t.resId=n);let r=this._getState();return r&&r.effects&&(t.effects=r.effects),t}getTypeDescription(){return`Picture`}async _asDataUrl(){if(this._dataUrl)return this._dataUrl;let e=await this.getDetails(),t=await n.ImageUtils.getImageDataUrl(e.asUrl());return this._dataUrl=t.dataUrl,this._dataUrl}toHtml(){return null}async toImage(){let e=await this.toArrayBuffer();return new Blob([e],{type:n.MimeType.Png})}async toArrayBuffer(){let e=(await this._asDataUrl()).substring(n.ImageUtils.DATA_URL_PNG_PREFIX.length);return n.BufferUtils.base64ToArrayBuffer(e)}getResource(){return this._resource}async getDetails(){return this._details||=new Promise(async(e,t)=>{try{let t=await this._resource.toBuffer(),r=await this._resource.getType(),i=await n.ImageUtils.loadImageDetails(t,r?.mime);e({getNaturalSize:()=>i.naturalSize,asUrl:()=>i.asUrl,asSVGText:()=>i.asSVGText})}catch(e){t(e)}}),this._details}_getActionDescription(e){return(0,n.messageKey)(`op.deletePicture`)}_fromDrawingJSON(e,t){this._resource?.deleteReference(this),this._resource=t?.(e.resId),this._resource.addReference(this)}_toDrawingJSON(e){let t={},n=e?.(this._resource);return n!==null&&(t.resId=n),t}_processDelete(){super._processDelete()}},xy=class extends ty{constructor(e){super(e),e.json&&this._updateState({data:e.json})}getType(){return`chart`}getChartTitle(){let e=this._getState()?.data;if(!e)return null;let t=e?.title?.text?.runs?.[0]?.text??null;return t&&typeof t==`string`?t:null}getChartType(){return(this._getState()?.data)?.types?.[0]?.type??`unknown`}getDescription(){return`Chart: ${this.getChartType()}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`Chart`}},Sy=class extends ty{constructor(e){super(e),e.json&&this._updateState({data:e.json})}getType(){return`shape`}getName(){return this._options?.getName?.()??``}getDescription(){return`Shape: ${this._getState()?.data}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`Shape`}get[Symbol.toStringTag](){return`[Shape]`}toString(){return this.getTypeDescription()}},Cy=class extends ty{constructor(e){super(e),e.json&&this._updateState({data:e.json,name:e.name})}getType(){return`slicer`}getDescription(){let e=this._getState();return`Slicer: ${e?.data?.name??e?.name}`}toJSON(e){return this._getState(),null}getTypeDescription(){return`Slicer`}get[Symbol.toStringTag](){return`[Slicer]`}toString(){return this.getTypeDescription()}},wy=class extends ty{constructor(e){super(e),e.json&&this._updateState({data:e.json,type:e.type})}getType(){return this._getState()?.type??`custom`}getDescription(){let e=this._getState(),t=e?.type??`Custom`,n=e?.data;return`${t}${n?`: ${n}`:``}`}toJSON(e){let t=this._getState(),n=null;return t&&t.data&&(n=t.data),n}getTypeDescription(){return`CustomElement`}};(Qv||={}).Content={Values:`values`,Formats:`formats`,Formulas:`formulas`,Hyperlinks:`hyperlinks`,Tables:`tables`,Notes:`notes`,Comments:`comments`},($v||={}).Feature={Contentful:`contentful`,DateFormat:`dateFormat`,Error:`error`,Formula:`formula`,Spills:`spills`,CalcError:`calcError`,Circular:`circular`,Fill:`fill`,Border:`border`,NumberFormat:`numberFormat`,Alignment:`alignment`,Font:`font`,Merge:`merge`,Table:`table`,AutoTable:`autoTable`,Hyperlink:`hyperlink`,Comments:`comments`,Unlock:`unlock`,Conditionals:`conditionals`,DataValidations:`dataValidations`};function Ty(e,t,n=!0,r=!0){let i=0,a=0;if(!n&&!r)return{x:i,y:a};let o=!1,s=0;do{let s={x:t.x+i,y:t.y+a,width:0,height:0},c=e.getItems({bounds:s});if(o=!1,c.length>0){for(let e=0;!o&&e<c.length;e++){let t=c[e].getBounds();t.x===s.x&&t.y===s.y&&(o=!0)}o&&(i+=n?16:0,a+=r?16:0)}}while(o&&++s<100);return{x:i,y:a}}function Ey(e){if(!e||e.length<=1)return!1;if(e.length===2)return n.CoordUtils.isRangesIntersect(e[0],e[1]);let t=new Ta;t.load(e);let r=e.length;for(let n=0;n<r;n++)if(t.search(e[n]).length>1)return!0;return!1}function Dy(e,r,i){let a=[];if(n.CoordUtils.isRangesIntersect(e,r)){let o=n.CommonUtils.subtractRect({top:e.rowStart,left:e.colStart,bottom:e.rowEnd+1,right:e.colEnd+1},{top:r.rowStart,left:r.colStart,bottom:r.rowEnd+1,right:r.colEnd+1},i===t.IRange.Axis.Column),s=o.length;for(let e=0;e<s;e++){let t={colStart:o[e].left,rowStart:o[e].top,colEnd:o[e].right-1,rowEnd:o[e].bottom-1};a.push(t)}}else a.push(e);return a}function Oy(e,t,r){if(!t||!e?.[0])return;let i=e.length;for(let a=0;a<i;a++){let i=e[a];n.CoordUtils.intersectRanges(i,t)&&r(i,!n.CoordUtils.isRangeWithinRange(i,t),a)}}function ky(e){return e?{colIndex:e.colStart,rowIndex:e.rowStart}:null}function Ay(e,t){let n=e.colStart,r=e.rowStart,i=t.colStart,a=t.rowStart;return(e,t)=>{let o=e.colIndex-n,s=t.colIndex-i;return o===s?e.rowIndex-r-(t.rowIndex-a):o-s}}function jy(e,t){let n=e.colStart,r=e.rowStart,i=t.colStart,a=t.rowStart;return(e,t)=>{let o=e.rowIndex-r,s=t.rowIndex-a;return o===s?e.colIndex-n-(t.colIndex-i):o-s}}function My(e,t,r=!1,i=!1){t||={...e};let a=t.colEnd-t.colStart+1,o=t.rowEnd-t.rowStart+1;if(i){let e=a;a=o,o=e}let s={...e};if(s.colEnd=e.colStart+a-1,s.rowEnd=e.rowStart+o-1,r){if(!n.CoordUtils.isSingleCell(e)){let t=e.colEnd-e.colStart,n=e.rowEnd-e.rowStart;s.colEnd=e.colStart+(i?n:t),s.rowEnd=e.rowStart+(i?t:n)}return s}let c=e.colEnd-e.colStart+1;if(c%a!==0)return s;let l=e.rowEnd-e.rowStart+1;return l%o!==0||(s.colEnd=e.colStart+c-1,s.rowEnd=e.rowStart+l-1),s}var Ny,Py,Fy=class{constructor(e,t,n){this._add=e,this._get=t,this._getByName=n}add(e,t){if(!e)throw Error((0,n.t)(`error.table.tableNoBody`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e&&e.name&&Object.keys(e).length===0)return[this._getByName(e.name)];let t;e?.address&&(t=e.address);let n=this._get(t,e?.ignoreHidden,e?.fullyContained);if(e?.name){let t=e.name.toLocaleLowerCase();for(let e=0;e<n.length;e++)if(n[e].getName().toLocaleLowerCase()===t)return[n[e]]}return n}getByName(e){if(typeof e!=`string`)throw Error(`Get by name must take a valid name.`);return this._getByName(e)}getCount(){return this._get(null,!1,!1).length}};function Iy(e,r,i){let a=[];r?.ranges&&r.ranges.length>0?a=r.ranges:r?.cell&&(a=[n.CoordUtils.cellToRange(r.cell)]);let o=e===t.IRange.Axis.Column,s=o?i.rowStart:i.colStart,c=o?i.rowEnd:i.colEnd,l=[];for(let e=0;e<a.length;e++){let t=a[e],n=o?t.colStart:t.rowStart,r=o?t.colEnd:t.rowEnd,i=o?t.rowStart:t.colStart,u=o?t.rowEnd:t.colEnd;l=qr(Kr(l,{min:n,max:r,value:i<=s&&u>=c},{onUpdate:(e,t)=>!!e||!!t}))}return l}function Ly(e,t,r){if(!e)return n.CoordUtils.EmptySelection;let i=t.cell,a=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd,l=e?.cell;!l||n.CoordUtils.isEqualCells(i,l)&&l.scope===i?.scope||(i=Object.freeze({...l,colIndex:Math.max(a,Math.min(l.colIndex??t.cell?.colIndex??0,s)),rowIndex:Math.max(o,Math.min(l.rowIndex??t?.cell?.rowIndex??0,c))}));let u=e?.ranges?[...e.ranges]:[],d=!1,f=u.length,p=f===0;for(let e=0;e<f;e++){let t=u[e];t&&(u[e]=Object.freeze({...t,colStart:Math.max(a,Math.min(t.colStart,s)),rowStart:Math.max(o,Math.min(t.rowStart,c)),colEnd:Math.max(a,Math.min(t.colEnd,s)),rowEnd:Math.max(o,Math.min(t.rowEnd,c))}),p||=n.CoordUtils.isCellWithinRange(i,t),d||=Object.keys(t).length>4)}let m=t?.ranges??[];!d&&n.CoordUtils.isEqualRangesArrays(m,u)||(m=u);let h=e?.rangeIndex??t?.rangeIndex??n.CoordUtils.EmptySelection.rangeIndex;if(h=Math.max(-1,Math.min(h,m.length-1)),!p&&h>=0&&m[h]){let e=m[h],t=i.rowIndex;t<e.rowStart?t=e.rowStart:t>e.rowEnd&&(t=e.rowEnd);let n=i.colIndex;n<e.colStart?n=e.colStart:n>e.colEnd&&(n=e.colEnd),i=Object.freeze({...i,colIndex:n,rowIndex:t})}return Object.freeze({cell:i,ranges:m,rangeIndex:h})}function Ry(e){if(!e)return null;let t=[];if(e.ranges&&e.ranges.length>0){let n=Math.max(0,Math.min(e.rangeIndex??0,e.ranges.length));for(let r=n;r<e.ranges.length;r++)t.push(e.ranges[r]);for(let r=0;r<n;r++)t.push(e.ranges[r])}else e.cell&&t.push(n.CoordUtils.cellToRange(e.cell));return t}function zy(e,t,r=-1){if(!e||e.length===0)return null;let i=e[0],a=e.length===1&&i.rowStart===i.rowEnd&&i.colStart===i.colEnd,o=r===-1?e.length-1:Math.min(Math.max(0,r),e.length-1);if(!t){let n=e[o];t={rowIndex:n.rowStart,colIndex:n.colStart}}return{cell:t,ranges:a?n.CommonUtils.EmptyArray:[...e],rangeIndex:a?-1:o}}function By(e,t){if(!t||t.rowStart>e.rowEnd||t.rowEnd<e.rowStart||t.colStart>e.colEnd||t.colEnd<e.colStart)return[{...e}];let n=[];t.rowStart>e.rowStart&&n.push({colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:t.rowStart-1}),t.rowEnd<e.rowEnd&&n.push({colStart:e.colStart,rowStart:t.rowEnd+1,colEnd:e.colEnd,rowEnd:e.rowEnd});let r=Math.max(e.rowStart,t.rowStart),i=Math.min(e.rowEnd,t.rowEnd);return t.colStart>e.colStart&&n.push({colStart:e.colStart,rowStart:r,colEnd:t.colStart-1,rowEnd:i}),t.colEnd<e.colEnd&&n.push({colStart:t.colEnd+1,rowStart:r,colEnd:e.colEnd,rowEnd:i}),n}function Vy(e,t){if(!t||t.length===0)return e.map(e=>({...e}));let n=e;for(let e=0;e<t.length&&n.length>0;e++){let r=[];for(let i=0;i<n.length;i++)r.push(...By(n[i],t[e]));n=r}return n}function Hy(e,t){return e.colStart<=t.colStart&&e.colEnd>=t.colEnd&&e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd?{...e}:t.colStart<=e.colStart&&t.colEnd>=e.colEnd&&t.rowStart<=e.rowStart&&t.rowEnd>=e.rowEnd?{...t}:e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.rowStart<=t.rowEnd+1&&t.rowStart<=e.rowEnd+1?{colStart:e.colStart,rowStart:Math.min(e.rowStart,t.rowStart),colEnd:e.colEnd,rowEnd:Math.max(e.rowEnd,t.rowEnd)}:e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart<=t.colEnd+1&&t.colStart<=e.colEnd+1?{colStart:Math.min(e.colStart,t.colStart),rowStart:e.rowStart,colEnd:Math.max(e.colEnd,t.colEnd),rowEnd:e.rowEnd}:null}(Py=Ny||={}).fastStringToCol=du,Py.fastStringToCell=cu,Py.fastStringToRange=fu,Py.rangeToString=(e,t,n)=>Jl(e,t,n),Py.cellToString=Gl,Py.normalizeA1ToR1C1=wu,Py.resolveRelativeToA1=yu,Py.sheetNameToString=Kl,Py.sheetAndRangeToString=ql,Py.runToString=ku,Py.stringToRun=Au,Py.runToRef=ju,Py.refToRun=Mu,Py.runsToRefs=Nu,Py.refsToRuns=Pu;var Uy=(e,t)=>e-t;function Wy(e,t){return e.rowStart<=t.rowEnd&&t.rowStart<=e.rowEnd&&e.colStart<=t.colEnd&&t.colStart<=e.colEnd}var Gy=class{constructor(){this._bands=new Map,this._tall=[],this._isTall=[],this._all=[],this._isKnown=[],this._overlapping=!1}isOverlapping(){return this._overlapping}markOverlapping(){this._overlapping=!0}add(e,t){this._isKnown[e]||(this._isKnown[e]=!0,this._all.push(e));let n=t.rowStart>>5,r=t.rowEnd>>5;if(r-n>64)return void(this._isTall[e]||(this._isTall[e]=!0,this._tall.push(e)));let i=this._bands;for(let t=n;t<=r;t++){let n=i.get(t);n===void 0&&i.set(t,n=[]),n.push(e)}}collectRows(e,t,n,r,i){let a=this._tall;for(let e=0;e<a.length;e++){let t=a[e];n[t]!==r&&(n[t]=r,i.push(t))}let o=e>>5,s=t>>5;if(s-o>64){let e=this._all;for(let t=0;t<e.length;t++){let a=e[t];n[a]!==r&&(n[a]=r,i.push(a))}return}let c=this._bands;for(let e=o;e<=s;e++){let t=c.get(e);if(t!==void 0)for(let e=0;e<t.length;e++){let a=t[e];n[a]!==r&&(n[a]=r,i.push(a))}}}collectNeighbors(e,t,n,r){this.collectRows(e.rowStart-1,e.rowStart-1,t,n,r),this.collectRows(e.rowEnd+1,e.rowEnd+1,t,n,r),(e.rowEnd>>5)-(e.rowStart>>5)>64&&!this._overlapping||this.collectRows(e.rowStart,e.rowEnd,t,n,r)}},Ky=class{constructor(){this._keys=[]}getSize(){return this._keys.length}push(e){let t=this._keys;t.push(e);let n=t.length-1;for(;n>0;){let e=n-1>>1;if(t[e]<=t[n])break;let r=t[e];t[e]=t[n],t[n]=r,n=e}}pop(){let e=this._keys,t=e[0],n=e.pop(),r=e.length;if(r>0){e[0]=n;let t=0;for(;;){let n=2*t+1;if(n>=r)break;let i=n+1,a=i<r&&e[i]<e[n]?i:n;if(e[t]<=e[a])break;let o=e[t];e[t]=e[a],e[a]=o,t=a}}return t}};function qy(e,t){let n=e.map(e=>({...e})),r=Array(n.length).fill(!1),i=n.length+t.length;return i*i<=256?(function(e,t,n){for(let r=0;r<n.length;r++){let i=[n[r]];for(let t=0;t<e.length&&i.length>0;t++){let n=[];for(let r=0;r<i.length;r++)n.push(...By(i[r],e[t]));i=n}for(let n=0;n<i.length;n++)e.push(i[n]),t.push(!0)}let r=!0;for(;r;){r=!1;for(let n=0;n<e.length&&!r;n++)for(let i=n+1;i<e.length&&!r;i++){if(!t[n]&&!t[i])continue;let a=Hy(e[n],e[i]);a&&(e[n]=a,t[n]=!0,e.splice(i,1),t.splice(i,1),r=!0)}}}(n,r,t),n):function(e,t,n){let r=e.length,i=Array(r).fill(!0),a=Array(r).fill(-1),o=new Ky,s=[],c=0,l=l=>{s.length=0,n.collectNeighbors(e[l],a,c++,s);for(let n=0;n<s.length;n++){let a=s[n];if(a===l||!i[a]||!t[l]&&!t[a]||!Hy(e[l],e[a]))continue;let c=a<l?a:l,u=a<l?l:a;o.push(c*r+u)}};for(let e=0;e<r;e++)l(e);for(;o.getSize()>0;){let a=o.pop(),s=Math.floor(a/r),c=a-s*r;if(!i[s]||!i[c]||!t[s]&&!t[c])continue;let u=Hy(e[s],e[c]);u&&(e[s]=u,t[s]=!0,i[c]=!1,n.add(s,u),l(s))}let u=[];for(let t=0;t<r;t++)i[t]&&u.push(e[t]);return u}(n,r,function(e,t,n){let r=new Gy,i=[],a=[],o=e.length;for(let t=0;t<o;t++){if(i.push(-1),!r.isOverlapping()){a.length=0,r.collectRows(e[t].rowStart,e[t].rowEnd,i,-2-t,a);for(let n=0;n<a.length;n++)if(Wy(e[t],e[a[n]])){r.markOverlapping();break}}r.add(t,e[t])}for(let o=0;o<n.length;o++){a.length=0,r.collectRows(n[o].rowStart,n[o].rowEnd,i,o,a),a.sort(Uy);let s=[n[o]];for(let t=0;t<a.length&&s.length>0;t++){let r=e[a[t]];if(!Wy(n[o],r))continue;let i=[];for(let e=0;e<s.length;e++)i.push(...By(s[e],r));s=i}for(let n=0;n<s.length;n++){let a=e.length;e.push(s[n]),t.push(!0),i.push(-1),r.add(a,s[n])}}return r}(n,r,t))}var Jy,Yy,Xy=class extends Bv{constructor(...e){super(...e),this._conditionWatches=new Map,this._markedValueRange=void 0,this._valueUpdatesScheduled=!1}_initialize(e){super._initialize(e),this._getValueGrid=e.getGridValues,this._updateState({...Zy,...this._getDefaultState(e)},this._getActionDescription(`initialize`)??(0,n.messageKey)(`op.initialize`));try{this._fromJSON(e?.json)}catch(e){throw console.error(`Error creating anchored conditional from JSON`,e),e}let t=this;this._rangeListener=e=>{t._markValueUpdates(e.getTo())},this._processAnchorCoords()}_markValueUpdates(e=null){this._markedValueRange===void 0?this._markedValueRange=e:this._markedValueRange=null,this._valueUpdatesScheduled||(this._valueUpdatesScheduled=!0,queueMicrotask(()=>{this._valueUpdatesScheduled=!1;let e=this._markedValueRange;this._markedValueRange=void 0,e!==void 0&&(this.isClosed()||this.isDeleted()||this._processValueUpdates(e))}))}_watchConditionFormula(e,t,n,r){r.add(t);let i=this._conditionWatches.get(t);if(!i){if(e.getCount()===0)return null;let n=this;i={remove:()=>{},values:[],pending:[]},this._conditionWatches.set(t,i);let r=i;r.remove=e.addWatch(t,(e,t)=>{r.values[t]=e;let i=r.pending[t];if(i&&i.length>0){r.pending[t]=[];for(let t=0;t<i.length;t++)i[t](e)}n._markValueUpdates(null)})}let a=i.values[n];if(a)return a;let o=i;return new Promise(e=>{(o.pending[n]??=[]).push(e)})}_pruneConditionWatches(e){for(let[t,n]of[...this._conditionWatches])e.has(t)||(this._removeConditionWatch(n),this._conditionWatches.delete(t))}_removeConditionWatches(){for(let e of this._conditionWatches.values())this._removeConditionWatch(e);this._conditionWatches.clear()}_removeConditionWatch(e){e.remove();for(let t=0;t<e.pending.length;t++){let n=e.pending[t];if(n)for(let e=0;e<n.length;e++)n[e](null)}e.pending.length=0}_processClose(){this._removeConditionWatches(),this._getState().removeListener?.(),super._processClose()}_processAnchorCoords(){let e=this._getState();if(!e||(e.removeListener?.(),super._processAnchorCoords(),!this._rangeListener))return;let t=this.getRanges(),r=t.isInvalid()?void 0:t.addListener(this._rangeListener,Qy);this._updateState({removeListener:r},this._getActionDescription(`updateListener`)??(0,n.messageKey)(`op.updateListener`)),this._markValueUpdates(null)}_processContainerShift(e){let t=super._processContainerShift(e);return e.after||this._getState().anchorCoords||this._delete(),this._processAnchorCoords(),t}_isAnchorAbsolute(){return!0}getCoords(){return this.getFirstAnchorCoords()}setRanges(e,t){return this._setAnchorRanges(e,t)}getIndex(){return this._options?.getContainerIndex?.()??-1}setIndex(e){return this._options?.setContainerIndex?.(e),this}getCondition(){return this._getState().condition??null}setCondition(e,t){let r=Rv.resolveInput(e);return this._updateState({condition:r},{description:(0,n.messageKey)(`op.setCondition`),...t},[`onConditionChange`])}_rebaseAnchorFormulas(e,t){if(e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex)return!0;let n=this._getState().condition;if(!n)return!0;let r=JSON.parse(JSON.stringify(n.toJSON())),i=this._rebaseConditionFormulas(r,e,t);return i!==null&&(i&&this.setCondition(r),!0)}_rebaseConditionFormulas(e,t,n){if(!e||typeof e!=`object`)return!1;let r=e.param;if(e.operator===Q.BuiltInOperatorNames.Expression){if(typeof r!=`string`||!r)return!1;let i=this._shiftFormulaText(r,t,n);return i===null?null:i!==r&&(e.param=i,!0)}if(typeof r==`string`){if(!r.startsWith(`=`))return!1;let i=this._shiftFormulaText(r.slice(1),t,n);return i===null?null:`=`+i!==r&&(e.param=`=`+i,!0)}if(!r||typeof r!=`object`)return!1;if(Array.isArray(r)){let e=!1;for(let i of r){let r=this._rebaseConditionFormulas(i,t,n);if(r===null)return null;e||=r}return e}if(typeof r.operator==`string`)return this._rebaseConditionFormulas(r,t,n);let i=!1;for(let e of[`from`,`to`]){let a=r[e];if(typeof a!=`string`||!a.startsWith(`=`))continue;let o=this._shiftFormulaText(a.slice(1),t,n);if(o===null)return null;`=`+o!==a&&(r[e]=`=`+o,i=!0)}return i}_extendPastedRanges(e,t){if(this.isDeleted()||this.getIndex()<0||JSON.stringify(this.toJSON())!==t)return!1;let r=this.getRanges().getCoords(),i=qy(r,e);return!n.CoordUtils.isEqualRangesArrays(r,i)&&(i.length!==1||i[0].rowStart!==r[0].rowStart||i[0].colStart!==r[0].colStart)?!1:(this._extendRanges(e),!0)}_rebaseClonedAnchor(e){let t=this.getRanges().getCoords()[0];t&&this._rebaseAnchorFormulas({rowIndex:e.rowStart,colIndex:e.colStart},{rowIndex:t.rowStart,colIndex:t.colStart})}_extendRanges(e){let t=this.getRanges().getCoords(),r=qy(t,e);if(n.CoordUtils.isEqualRangesArrays(t,r))return;let i=t[0],a=r[0];if((a.rowStart!==i.rowStart||a.colStart!==i.colStart)&&!this._rebaseAnchorFormulas({rowIndex:i.rowStart,colIndex:i.colStart},{rowIndex:a.rowStart,colIndex:a.colStart})){let i=Vy(e,t);if(i.length===0)return;r=t.concat(qy(n.CoordUtils.EmptyRanges,i))}this.setRanges(r)}_shiftFormulaText(e,t,n){let r=this._options.getCalculation?.()??null;if(!r)return null;try{let i=r.createFormula(e,t),a=i?.shift(n);return a?a.hasRefError()&&!i.hasRefError()?null:a.getExpression():null}catch{return null}}createDefaultCondition(){return Rv.resolveInput({selector:null,operator:null,param:null})}apply(){}async _evalConditionRanges(e){let t=this._getState().condition;if(!t)return;let n=this._options,r=n.getCalculation?.()??null,i=this._getValueGrid(),a=this.getRanges(),o=new Set,s=a.getCount();for(let c=0;c<s;c++){let s=a.at(c).getCoords();if(!s)continue;let l=c;await Pv({runtime:n.getRuntime?.(),calculation:r,conditions:[t],values:i,coords:s,watchFormula:e=>this._watchConditionFormula(a,e,l,o),onTrue:e.onTrue,onFalse:e.onFalse})}this._pruneConditionWatches(o)}get[Symbol.toStringTag](){return`[${this._getType()}]`}toString(){let e=this._getState().condition,t=e?.getSelector()?.getName(),n=e?.getOperator()?.getName(),r=this.getRange()?.toString();return`${this._getType()}${t?`:${t}`:``}${n?`:${n}`:``}${r?`:${r}`:``}`}},Zy=Object.freeze({condition:null,removeListener:null}),Qy=Object.freeze({transactional:!1});(Yy=Jy||={}).ScaleType={ColorScale:`colorScale`,DataBar:`dataBar`,IconSet:`iconSet`},Yy.ColorStopType={AutoMin:`autoMin`,AutoMax:`autoMax`,Formula:`formula`,Max:`max`,Min:`min`,Num:`num`,Percent:`percent`,Percentile:`percentile`};var $y=class e{constructor(e,t){this._c=e,this._m=t}getModel(){return this._m}getCoords(){return this._c}getPropertiesAt(e,t,n){return this._m.getPropertiesAt(e,t,n)}getDecorationAt(e,t,n){return this._m.getDecorationAt(e,t,n)}getSplit(t){let n=this._m;return[new e(t[0],n),new e(t[1],n)]}},eb=class e extends Xy{constructor(...e){super(...e),this._colorScale=null,this._dataBar=null,this._iconSet=null,this._matches=null,this._stopValues=new Map,this._stopWatchRemoves=null,this._stopWatchKey=null,this._prepareGeneration=0}_initialize(e){if(!e.json)throw Error(`json is required`);this._styles=e.sheet?.getStyles()??new kg,super._initialize(e),this._stylesRemoveListener=this._styles.addListeners({onThemeChange:()=>{this._markValueUpdates(null)}})}_getType(){return`ConditionalFormat`}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteConditionalFormat`):e===`initialize`?(0,n.messageKey)(`op.initializeConditionalFormat`):(0,n.messageKey)(`op.updateConditionalFormatListener`)}_getDefaultState(e){return{...tb}}_processValueUpdates(e=null){let t=this._getState();if(!t)return;let n=this._options,r=this,i=t.scale,a=this.getRanges();this._syncStopWatches(a,i?.stops??null);let o=++this._prepareGeneration,s=i?.type===Jy.ScaleType.ColorScale?i.stops:null;s?(async()=>{let e=await r._prepareColorScale(a,s);o===r._prepareGeneration&&(r._colorScale=e,n.invalidate?.())})():this._colorScale=null;let c=i?.type===Jy.ScaleType.DataBar?i:null;c?(async()=>{let e=await r._prepareDataBar(a,c);o===r._prepareGeneration&&(r._dataBar=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._dataBar=null)}):this._dataBar=null;let l=i?.type===Jy.ScaleType.IconSet?i:null;l?(async()=>{let e=await r._prepareIconSet(a,l);o===r._prepareGeneration&&(r._iconSet=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._iconSet=null)}):this._iconSet=null,t.condition&&t.style?(async()=>{let e=new ro({axis:r._getValueGrid().getAxis()});await r._evalConditionRanges({onTrue:t=>{e.setValueAt(t.rowIndex,t.colIndex,!0)}}),o===r._prepareGeneration&&(r._matches=e,n.invalidate?.())})().catch(()=>{o===r._prepareGeneration&&(r._matches=null)}):this._matches=null}async _resolveStopValues(e,t){let n=t.some(e=>e.type===Jy.ColorStopType.Min||e.type===Jy.ColorStopType.Max||e.type===Jy.ColorStopType.Percent||e.type===Jy.ColorStopType.AutoMin||e.type===Jy.ColorStopType.AutoMax),r=null,i=null,a=null;if(n){r=e.getStats();let t=r.getAggregates();i=t.min??null,a=t.max??null}let o=[];for(let n of t){let t=null;switch(n.type??Jy.ColorStopType.Num){case Jy.ColorStopType.Min:t=i;break;case Jy.ColorStopType.Max:t=a;break;case Jy.ColorStopType.AutoMin:t=i===null?null:Math.min(0,i);break;case Jy.ColorStopType.AutoMax:t=a===null?null:Math.max(0,a);break;case Jy.ColorStopType.Num:t=Number(n.value)??0;break;case Jy.ColorStopType.Percentile:r??=e.getStats(),t=r.getSortedNumbers().getPercentile((Number(n.value)??0)/100);break;case Jy.ColorStopType.Percent:{let e=Math.max(0,Math.min(100,Number(n.value)??0));i!==null&&a!==null&&(t=i+e/100*(a-i));break}case Jy.ColorStopType.Formula:{let e=this._stopValues.get(``+n.value);typeof e==`number`&&(t=e);break}default:t=Number(n.value)??0}o.push(t!==null&&Number.isFinite(t)?t:null)}return o}_formulaAnchor(e){let t=e.getCount()>0?e.at(0).getCoords():null;return t?{rowIndex:t.rowStart,colIndex:t.colStart}:null}_syncStopWatches(e,t){let n=[],r=t?t.length:0;for(let e=0;e<r;e++){let r=t[e];if(r.type!==Jy.ColorStopType.Formula)continue;let i=``+(r.value??``);i.trim().length>0&&!n.includes(i)&&n.push(i)}let i=n.length>0?this._formulaAnchor(e):null,a=i?`${i.rowIndex}:${i.colIndex}|${n.join(`\0`)}`:null;if(a===this._stopWatchKey||(this._removeStopWatches(),this._stopWatchKey=a,!a||!i))return;let o=e.getSheet().getRange({rowStart:i.rowIndex,rowEnd:i.rowIndex,colStart:i.colIndex,colEnd:i.colIndex}),s=this,c=[];for(let e=0;e<n.length;e++){let t=n[e];c.push(o.addWatch(t,e=>{let n=e.getValueAt(0,0),r=typeof n==`number`&&Number.isFinite(n)?n:null;s._stopValues.has(t)&&s._stopValues.get(t)===r||(s._stopValues.set(t,r),s._markValueUpdates(null))}))}this._stopWatchRemoves=c}_removeStopWatches(){let e=this._stopWatchRemoves;if(e){for(let t=0;t<e.length;t++)e[t]();this._stopWatchRemoves=null,this._stopValues.clear()}}_processClose(){this._removeStopWatches(),this._stopWatchKey=null,this._stylesRemoveListener?.(),this._stylesRemoveListener=null,super._processClose()}async _prepareColorScale(e,t){if(!t||t.length===0)return null;let n=await this._resolveStopValues(e,t),r=this._styles,i=[];for(let e=0;e<t.length;e++){let a=n[e];if(a===null)continue;let o=t[e],s=r.parseColor(o.color).toRGBA(),c=[s.red,s.green,s.blue];i.push({v:a,rgb:c,exclusive:o.exclusive??!1})}return i.length===0?null:(i.sort((e,t)=>e.v-t.v),{stops:i,colorFor:ob(i)})}async _prepareDataBar(e,t){let n=t.stops;if(!n||n.length<2)return null;let r=await this._resolveStopValues(e,n),i=r[0],a=r[r.length-1];if(i===null||a===null||a===i)return null;let o;o=t.axisPosition===`none`?0:t.axisPosition===`middle`?.5:ib((0-i)/(a-i));let s=ib((t.minLength??0)/100),c=ib((t.maxLength??100)/100),l=this._styles,u=e=>e===void 0?void 0:l.parseColor(e).toCSS(`adaptive`,!0),d={type:Jy.ScaleType.DataBar,axis:o,color:u(t.color)??nb,negativeColor:u(t.negativeFillColor),borderColor:u(t.borderColor),negativeBorderColor:u(t.negativeBorderColor),axisColor:u(t.axisColor),gradient:t.gradient??!1,direction:t.direction===`rightToLeft`?`rightToLeft`:`leftToRight`,showValue:t.showValue??!0};return{barFor:e=>{let t=ib((e-i)/(a-i))-o,n=t>=0?1-o:o,r;if(n<=0)r=o;else{let e=s+Math.abs(t)/n*(c-s);r=o+(t>=0?1:-1)*e*n}return{...d,value:ib(r)}}}}async _prepareIconSet(e,t){let n=t.stops;if(!n||n.length===0)return null;let r=t.iconSet;if(!r)return null;let i=await this._resolveStopValues(e,n),a=n.length,o=t.icon,s=t.reverse??!1,c=t.showValue??!0;return{iconFor:e=>{let t=0;for(let r=1;r<a;r++){let a=i[r];if(a!==null){if(!(n[r].exclusive?e>a:e>=a))break;t=r}}s&&(t=a-1-t);let l=o?.[t];if(l){let e=function(e){let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:0}(l.set);return l.id<0||l.id>=e?null:{type:Jy.ScaleType.IconSet,index:l.id,set:l.set,count:e,showValue:c}}return{type:Jy.ScaleType.IconSet,index:t,set:r,count:a,showValue:c}}}}setStopIfTrue(e,t){return this._updateState({stopIfTrue:e},{description:e?(0,n.messageKey)(`op.setStopTrue`):(0,n.messageKey)(`op.setStopFalse`),...t},[`onAnyChange`]),this}isStopIfTrue(){return this._getState().stopIfTrue??!1}getScale(){return this._getState().scale??null}getStyle(){return this._getState().style??null}_rebaseAnchorFormulas(e,t){if(!super._rebaseAnchorFormulas(e,t))return!1;if(e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex)return!0;let n=this._getState().scale,r=n?.stops;if(!r||r.length===0)return!0;let i=!1,a=Array(r.length);for(let n=0;n<r.length;n++){let o=r[n];if(a[n]=o,o.type!==Jy.ColorStopType.Formula||typeof o.value!=`string`||!o.value)continue;let s=this._shiftFormulaText(o.value,e,t);if(s===null)return!1;s!==o.value&&(i=!0,a[n]={...o,value:s})}return i&&this.update({scale:{...n,stops:a}}),!0}getSnapshot(e){let t={...this.toJSON()},r=JSON.stringify(this.toJSON()),i=this.getRange().getCoords(),a=this,o=Object.freeze({...e});return{async copyTo(e,o){let s=e.ranges??[e.range];return e.extend&&a._extendPastedRanges(s,r)||e.conditionals.add(s,{...t,index:e.index})._rebaseClonedAnchor(i),n.CoordUtils.unionRangesArrays(s)},getCoords:()=>i,getSource:()=>a,getName:()=>`Conditional Format`,getMarkOptions:()=>o,isISnapshot:!0}}_createSpatial(e){return new $y(e,this)}update(t,r){if(this.isDeleted())throw Error(`Table has been closed. No further operations are allowed.`);let i=t.isIConditionalFormat?e.replaceModifiers(t.toJSON()):t,a=this._getState(),o=this._beginCommit(r?.description??(0,n.messageKey)(`op.updateConditionalFormat`));try{let{condition:e,stopIfTrue:t,...n}=i,s={...a,...n,...`stopIfTrue`in i?{stopIfTrue:t??!1}:null,...`condition`in i?{condition:Rv.fromJSON(e)}:null};`condition`in i&&s.condition&&!(`scale`in i)?s.scale=null:`scale`in i&&s.scale&&!(`condition`in i)&&(s.condition=null),this._updateState(s,r),this._getEmitter().notify(`onAnyChange`),o.commit()}catch(e){throw o.rollback(),e}return this._markValueUpdates(null),this}static replaceModifiers(e){return{condition:e?.condition??null,style:e?.style??null,scale:e?.scale??null,stopIfTrue:e?.stopIfTrue??!1}}toJSON(){let e={},t=this._getState();if(t===null)return null;if(t.condition){let n=t.condition.toJSON();n&&(e.condition=n)}return t.style&&(e.style=t.style),t.scale&&(e.scale=t.scale),t.stopIfTrue&&(e.stopIfTrue=t.stopIfTrue),t.pivot&&(e.pivot=t.pivot),t.ext&&(e.ext=t.ext),e}_fromJSON(e){let t=e??{},r={...tb,style:t.style??null,scale:t.scale??null,stopIfTrue:t.stopIfTrue??!1,pivot:t.pivot??!1,ext:t.ext??null,condition:Rv.fromJSON(t.condition)};this._updateState(r,{description:(0,n.messageKey)(`op.initializeConditionalFormat`)})}getPropertiesAt(e,t,n){let r=this._colorScale;if(r&&typeof n==`number`)return{fill:{type:`solid`,color:r.colorFor(n)}};let i=this._matches;return i&&i.getValueAt(e,t)?this._getState().style:null}getDecorationAt(e,t,n){if(typeof n!=`number`||!Number.isFinite(n))return null;let r=this._dataBar;if(r)return r.barFor(n);let i=this._iconSet;return i?i.iconFor(n):null}get isIConditionalFormat(){return!0}},tb=Object.freeze({condition:null,removeListener:null,style:null,scale:null,stopIfTrue:!1,pivot:!1,ext:null}),nb=`rgb(99, 142, 198)`;function rb(e,t,n){return e+(t-e)*n}function ib(e){return e<0?0:e>1?1:e}function ab(e){return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}function ob(e){let t=e.length;if(t===0)return e=>``;let n=e[0],r=e[t-1];return i=>{if(!Number.isFinite(i))return``;if(i<=n.v)return ab(n.rgb);if(i>=r.v)return ab(r.rgb);let a=1;for(;a<t;){let t=e[a];if(i<t.v)break;if(i!==t.v)a++;else{if(!t.exclusive)break;a++}}if(a<=0)return ab(n.rgb);if(a>=e.length)return ab(r.rgb);let o=e[a-1],s=e[a],c=s.v-o.v;if(c===0)return ab((s.exclusive?o:s).rgb);let l=(i-o.v)/c;return ab(function(e,t,n){return n=ib(n),[Math.round(rb(e[0],t[0],n)),Math.round(rb(e[1],t[1],n)),Math.round(rb(e[2],t[2],n))]}(o.rgb,s.rgb,l))}}var sb,cb=class{constructor(e,t,n){this._add=e,this._get=t,this._createItem=n}add(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}createItem(e){return this._createItem(e)}getCount(){return this._get(null,!1,!1).length}};(sb||={}).AlertStyle={Stop:`stop`,Warning:`warning`,Information:`information`};var lb,ub,db=class extends Xy{constructor(...e){super(...e),this._results=null,this._evalGeneration=0}_getType(){return`DataValidation`}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteDataValidation`):e===`initialize`?(0,n.messageKey)(`op.initializeDataValidation`):(0,n.messageKey)(`op.updateDataValidationListener`)}_getDefaultState(e){return{...fb}}_processValueUpdates(e=null){let n=this._getState();if(!n)return;let r=n.condition,i=++this._evalGeneration;if(!r)return void(this._results&&this._results.getCount()>0&&(this._results=null,this._options.invalidate?.(this.getRange().getCoords())));let a=this._options;(async()=>{let e=this._getValueGrid(),n=e.getAxis()===t.IRange.Axis.Column,r=new vi.Builder;if(await this._evalConditionRanges({onFalse:e=>{let t=n?e.colIndex:e.rowIndex,i=n?e.rowIndex:e.colIndex;r.pushAt(t,i,!0)}}),i!==this._evalGeneration)return;let o=r.build(),s=(this._results?.getCount()??0)>0;if(!o&&!s)return;let c=new ro({axis:e.getAxis()});o&&c.setValues(o.tuples),this._results=c;let l=this.getRanges(),u=l.getCount();for(let e=0;e<u;e++){let t=l.at(e).getCoords();t&&a.invalidate?.(t)}})().catch(()=>{})}getAlertAt(e,t){return this._results?.getValueAt(e,t)??!1}getAlertEntries(e){let t=this._results;return t||=this._results=new ro({axis:this._getValueGrid().getAxis()}),t.entries(e)}getAlertCount(){return this._results?.getCount()??0}setHideDropdown(e,t){return this._updateState({hideDropdown:e??!1},{description:(0,n.messageKey)(`op.setHideDropdown`),...t},[`onConfigChange`])}isHideDropdown(){return this._getState().hideDropdown}setPromptMessage(e,t){return this._updateState({prompt:e??``},{description:(0,n.messageKey)(`op.setPromptMessage`),...t},[`onConfigChange`])}getPromptMessage(){return this._getState().prompt}setPromptTitle(e,t){return this._updateState({promptTitle:e??``},{description:(0,n.messageKey)(`op.setPromptTitle`),...t},[`onConfigChange`])}getPromptTitle(){return this._getState().promptTitle}setShowPromptMessage(e,t){return this._updateState({showPromptMessage:e??!1},{description:(0,n.messageKey)(`op.setShowPromptMessage`),...t},[`onConfigChange`])}isShowPromptMessage(){return this._getState().showPromptMessage}setAlertMessage(e,t){return this._updateState({alert:e??``},{description:(0,n.messageKey)(`op.setAlertMessage`),...t},[`onConfigChange`])}getAlertMessage(){return this._getState().alert}setAlertTitle(e,t){return this._updateState({alertTitle:e??``},{description:(0,n.messageKey)(`op.setAlertTitle`),...t},[`onConfigChange`])}getAlertTitle(){return this._getState().alertTitle}setShowAlertMessage(e,t){return this._updateState({showAlertMessage:e??!1},{description:(0,n.messageKey)(`op.setShowErrorMessage`),...t},[`onConfigChange`])}isShowAlertMessage(){return this._getState().showAlertMessage}setAlertStyle(e,t){return this._updateState({alertStyle:e??fb.alertStyle},{description:(0,n.messageKey)(`op.setAlertStyle`),...t},[`onConfigChange`])}getAlertStyle(){return this._getState().alertStyle}setIncludeBlanks(e,t){let r=this._getState().condition;return r?this._updateState({condition:Rv.fromJSON({...r.toJSON(),includeBlanks:e??!1})},{description:(0,n.messageKey)(`op.setIncludeBlanks`),...t},[`onConfigChange`]):this}isIncludeBlanks(){return this._getState().condition?.isIncludeBlanks()??!1}getRenderHints(){return this._getState().condition?.getSelector()?.getRenderHints?.()??n.CommonUtils.EmptyArray}update(e,t){let r=e&&`isIDataValidation`in e?e.toJSON()??{}:{...e};return this.doBatch(()=>{this._fromJSON(r),this._markValueUpdates(),this._notify([`onAnyChange`])},{description:(0,n.messageKey)(`op.updateDataValidation`),...t}),this}getSnapshot(e){let t={...this.toJSON()},r=JSON.stringify(this.toJSON()),i=this.getFirstAnchorCoords(),a=(0,n.t)(`name.dataValidation`),o=this,s=Object.freeze({...e});return{async copyTo(e,a){let s=e.ranges??[e.range];return e.extend&&o._extendPastedRanges(s,r)||e.validations.add(s,{...t,index:e.index})._rebaseClonedAnchor(i),n.CoordUtils.unionRangesArrays(s)},getCoords:()=>i,getSource:()=>o,getName:()=>a,getMarkOptions:()=>s,isISnapshot:!0}}addListeners(e,t){return this._getEmitter().addListeners(e,t)}toJSON(){let e={},t=this._getState();if(!t)return null;if(t.prompt&&(e.prompt=t.prompt),t.promptTitle&&(e.promptTitle=t.promptTitle),t.showPromptMessage&&(e.showPromptMessage=t.showPromptMessage),t.alert&&(e.alert=t.alert),t.alertTitle&&(e.alertTitle=t.alertTitle),t.showAlertMessage&&(e.showAlertMessage=t.showAlertMessage),t.alertStyle&&t.alertStyle!==fb.alertStyle&&(e.alertStyle=t.alertStyle),t.hideDropdown&&(e.hideDropdown=t.hideDropdown),t.imeMode&&(e.imeMode=t.imeMode),t.ext&&(e.ext=t.ext),t.condition){let n=t.condition.toJSON();n&&(e.condition=n)}return e}_fromJSON(e,t){let r=e??{},i={...this._getState()};r.prompt!==void 0&&(i.prompt=r.prompt),r.promptTitle!==void 0&&(i.promptTitle=r.promptTitle),r.showPromptMessage!==void 0&&(i.showPromptMessage=r.showPromptMessage),r.alert!==void 0&&(i.alert=r.alert),r.alertTitle!==void 0&&(i.alertTitle=r.alertTitle),r.showAlertMessage!==void 0&&(i.showAlertMessage=r.showAlertMessage),r.alertStyle!==void 0&&(i.alertStyle=r.alertStyle),r.hideDropdown!==void 0&&(i.hideDropdown=r.hideDropdown),r.imeMode!==void 0&&(i.imeMode=r.imeMode),r.ext!==void 0&&(i.ext=r.ext);let a=r.condition;i.condition=a===void 0?null:Rv.fromJSON(a),this._updateState(i,{description:(0,n.messageKey)(`op.addDataValidation`),...t})}get isIDataValidation(){return!0}},fb=Object.freeze({condition:null,removeListener:null,alertStyle:sb.AlertStyle.Information,hideDropdown:!1,imeMode:null,ext:null,prompt:``,promptTitle:``,showPromptMessage:!1,alert:``,alertTitle:``,showAlertMessage:!1}),pb=class{constructor(e,t,n){this._add=e,this._get=t,this._createItem=n}add(e,t){if(!e)throw Error((0,n.t)(`error.address.invalidRange`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}getCount(){return this._get(null,!1,!1).length}createItem(e){return this._createItem(e)}},mb=class extends Bv{constructor(...e){super(...e),this._sessionUnlocked=!1}_initialize(e){super._initialize(e),this._updateState({...hb},(0,n.messageKey)(`op.initializeProtectedRange`)),this._fromJSON(e?.json);let t=this._getState().name;t&&this._options.setContainerName?.(t)}_getActionDescription(e){return e===`delete`?(0,n.messageKey)(`op.deleteProtectedRange`):e===`initialize`?(0,n.messageKey)(`op.initializeProtectedRange`):null}_isAnchorAbsolute(){return!0}_processContainerShift(e){let t=super._processContainerShift(e);return e.after||this._getState().anchorCoords||this._delete(),this._processAnchorCoords(),t}getName(){return this._getState().name}setName(e,t){if(!e)throw new n.ExpectedError((0,n.t)(`error.protectedRange.noName`));if(e===this._getState().name)return this;let r=t?.description??(0,n.messageKey)(`op.setProtectedRangeName`);return this.doBatch(()=>{this._options.setContainerName?.(e,{...t,description:r}),this._updateState({name:e},{...t,description:r},[`onConfigChange`])},{...t,description:r}),this}getIndex(){return this._options?.getContainerIndex?.()??-1}setIndex(e){return this._options?.setContainerIndex?.(e),this}setRanges(e,t){return this._setAnchorRanges(e,t)}getSecurityDescriptor(){return this._getState().securityDescriptor}setSecurityDescriptor(e,t){return this._updateState({securityDescriptor:e||null},{description:(0,n.messageKey)(`op.setProtectedRangePermissions`),...t},[`onConfigChange`])}hasPassword(){return this._getState().password!==null}getEncryptedPassword(){return this._getState().password}async setPassword(e,t){let r=null;if(e){let n=t?.algorithm,i=t?.spinCount,a=await T_.generateSaltAndHash(e,n,i);r={salt:a.salt,hash:a.hash},n&&(r.algorithm=n),i&&(r.spinCount=i)}return this.relock(),this._updateState({password:r},{description:(0,n.messageKey)(`op.setProtectedRangePassword`),...t},[`onConfigChange`])}isUnlocked(){return!this.hasPassword()||this._sessionUnlocked}async unlock(e){return!this.hasPassword()||!!await this.checkPassword(e)&&(this._sessionUnlocked||(this._sessionUnlocked=!0,this._notify([`onUnlockChange`])),!0)}relock(){return this._sessionUnlocked&&(this._sessionUnlocked=!1,this._notify([`onUnlockChange`])),this}async checkPassword(e){let t=this._getState().password;return!t||!t.hash||!!e&&T_.verifyPassword(e,{salt:t.salt,hash:t.hash},t.algorithm,t.spinCount)}update(e,t){let r=e&&`isIProtectedRange`in e?e.toJSON()??{}:{...e};return this.doBatch(()=>{let e=r.name;e!==void 0&&e!==this._getState().name&&this.setName(e,t),this._fromJSON({...r,name:void 0},t),this._notify([`onConfigChange`])},{description:(0,n.messageKey)(`op.updateProtectedRange`),...t}),this}addListeners(e,t){return this._getEmitter().addListeners(e,t)}toJSON(){let e=this._getState();if(!e)return null;let t={};return e.name&&(t.name=e.name),e.securityDescriptor&&(t.securityDescriptor=e.securityDescriptor),e.password&&(t.password={...e.password}),t}_fromJSON(e,t){let r=e??{},i={};r.name!==void 0&&(i.name=r.name),r.securityDescriptor!==void 0&&(i.securityDescriptor=r.securityDescriptor||null),r.password!==void 0&&(i.password=r.password??null),Object.keys(i).length!==0&&this._updateState(i,{description:(0,n.messageKey)(`op.addProtectedRange`),...t})}get[Symbol.toStringTag](){return`[ProtectedRange]`}toString(){return`ProtectedRange:${this.getName()}:${this.getRanges()?.toString()}`}get isIProtectedRange(){return!0}},hb=Object.freeze({name:``,securityDescriptor:null,password:null}),gb=class{constructor(e,t,n,r){this._add=e,this._get=t,this._getByName=n,this._createItem=r}add(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));return this._add(e,t)}*[Symbol.iterator](){yield*this.getItems()}getItems(e){if(e?.name){let t=this._getByName(e.name);return t?[t]:[]}let t;return e?.address&&(t=e.address),this._get(t,e?.ignoreHidden,e?.fullyContained)}createItem(e){return this._createItem(e)}getCount(){return this._get(null,!1,!1).length}};(ub=lb||={}).HeaderTextStyle={A1:`a1`,Zero:`zero`,One:`one`},ub.ColumnHeaderTableNames={Sticky:`sticky`,Hidden:`hidden`,None:`none`};var _b,vb,yb=(e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.sheet.protectedField`,{description:(0,n.t)(e)}),bb=e=>(0,n.t)(`error.sheet.itemOverlapping`,{type:e}),xb=e=>(0,n.t)(`error.sheet.maxValues`,{max:e}),Sb=Object.freeze([$v.Feature.Contentful]),Cb=e=>e===void 0?Sb:Object.freeze([...typeof e==`string`?[e]:e]),wb=class{constructor(e,t,n,r){this._range=null,this._clipped=null,this._coords=Object.freeze(e),this._internal=t,this._features=n,this._bounds=r}getFeatures(){return this._features}getCoords(){return this._coords}getAddress(e){let t=this._internal;return Zl(this._coords,t.getSheet().getEntireCoords(),void 0)}getRowCount(){let e=this._coords;return e.rowEnd-e.rowStart+1}getColumnCount(){let e=this._coords;return e.colEnd-e.colStart+1}isClipped(){let e=this._clipped;return e===null&&(e=this._probeClipped(),this._clipped=e),e}_probeClipped(){let e=this._coords,t=this._bounds,n=this._internal.getSheet().getEntireCoords(),r=e=>{let t=new Ob(e,this._internal).getCounts(this._features),n=this._features;for(let e=0;e<n.length;e++)if((t[n[e]]??0)>0)return!0;return!1};return!!(e.rowStart===t.rowStart&&t.rowStart>n.rowStart&&r({rowStart:t.rowStart-1,rowEnd:t.rowStart-1,colStart:e.colStart,colEnd:e.colEnd}))||!!(e.rowEnd===t.rowEnd&&t.rowEnd<n.rowEnd&&r({rowStart:t.rowEnd+1,rowEnd:t.rowEnd+1,colStart:e.colStart,colEnd:e.colEnd}))||!!(e.colStart===t.colStart&&t.colStart>n.colStart&&r({rowStart:e.rowStart,rowEnd:e.rowEnd,colStart:t.colStart-1,colEnd:t.colStart-1}))||!!(e.colEnd===t.colEnd&&t.colEnd<n.colEnd&&r({rowStart:e.rowStart,rowEnd:e.rowEnd,colStart:t.colEnd+1,colEnd:t.colEnd+1}))}getCell(){return this.getRange().getCell()}getRange(){let e=this._range;return e||(e=new Ob(this._coords,this._internal),this._range=e),e}toString(){return this.getAddress()}get[Symbol.toStringTag](){return`[CellRegion: ${this.getAddress()}]`}get isICellRegion(){return!0}},Tb=class{constructor(e,t,n,r){this._regions=null,this._range=null,this._bounds=e,this._internal=t,this._features=n,this._options=r}getFeatures(){return this._features}getRange(){let e=this._range;return e||(e=new Ob(this._bounds,this._internal),this._range=e),e}getCount(){return this._materialize().length}*[Symbol.iterator](){yield*this._materialize()}_materialize(){let e=this._regions;if(!e){let t=this._internal,n=t.featureRegions(this._bounds,this._features,this._options),r=n.length;e=Array(r);for(let i=0;i<r;i++)e[i]=new wb(n[i],t,this._features,this._bounds);this._regions=e}return e}get[Symbol.toStringTag](){return`[CellRegions: ${this._features.join(`, `)}]`}get isICellRegions(){return!0}},Eb=Object.freeze([]),Db=Object.freeze({transactional:!1}),Ob=class e{constructor(e,t,n){this._coords=Object.freeze(e),this._internal=t,this._readOnly=n?.readOnly??null,this._options=n??void 0}_getStickyOptions(){return this._options?.getOptions}getCoords(){return this._coords}_createRange(t,n){let r=this._internal;if(!t)return iO(r.getSheet(),r.getSheet().getEntireCoords());if(t=this._scopeDerived(t),r.validateCoords(t),r.getSheet().isClosed())return iO(null,r.getSheet().getEntireCoords(),t);let i=this._options;return n&&(i={...this._options,getOptions:xO(this._options?.getOptions,n)}),new e(t,this._internal,i)}_scopeDerived(e){let t=this._coords.scope;return t&&e&&!e.scope?{...e,scope:t}:e}_createRanges(e,t){let n=this._options;return t&&(n={...this._options,getOptions:xO(this._options?.getOptions,t)}),new PD(this._coords.scope?e?.map(e=>this._scopeDerived(e)):e,this._internal,n)}_deriveRanges(e,t){let n=this.getCoords(),r=n;return t&&(r=t(n),!r)?null:this._createRanges(r,e)}_deriveRange(e,t,n){if(!e)return this;let r=this._internal.rangeToCoords(e);if(!r)return this;let i=this.getCoords();if(gO(r,i))return this;if(n){let e=n(r,i);if(!e)return null;r={...i,...e}}return function(e,t){t&&(t.$colStart===void 0?delete e.$colStart:e.$colStart=t.$colStart,t.$rowStart===void 0?delete e.$rowStart:e.$rowStart=t.$rowStart,t.$colEnd===void 0?delete e.$colEnd:e.$colEnd=t.$colEnd,t.$rowEnd===void 0?delete e.$rowEnd:e.$rowEnd=t.$rowEnd)}(r,i),this._createRange(r,xO(this._options?.getOptions,t))}_validateMaxSize(e=5e4){let t=this.getCoords(),r=this._internal,i=r.getUsedCoords(),a=Math.min(t.colEnd,i?.colEnd??t.colEnd),o=Math.min(t.rowEnd,i?.rowEnd??t.rowEnd),s=1;a>=t.colStart&&(s=r.getSheet().getColumnHeaders().getVisibleCount(t.colStart,a));let c=1;if(o>=t.rowStart&&(c=r.getSheet().getRowHeaders().getVisibleCount(t.rowStart,o)),c*s>e)throw new n.ExpectedError(xb(e))}entries(e){let t=this.getCoords(),r=t,i=this._internal;if(e?.address){let a=i.rangeToCoords(e?.address);if(!a)throw new n.ExpectedError(k_(e?.address));if(r=n.CoordUtils.intersectRanges(a,t),!r)return ci}r.colEnd<r.colStart&&(r.colStart=t.colStart,r.colEnd=t.colEnd),r.rowEnd<r.rowStart&&(r.rowStart=t.rowStart,r.rowEnd=t.rowEnd);let a=this._getStickyOptions();return i.cellIterator({ignoreHidden:a?.ignoreHidden??!1,...e,searchTypes:ep(e?.features??a?.features),bounds:r})}[Symbol.iterator](){return this.values()}values(e){let t=this.entries({...e,features:Eb});return{next(){let e=t.next();return e.done?si:{done:!1,value:e.value.value}},[Symbol.iterator](){return this}}}forEach(e,t){if(!e)return;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value,i=e(t.value,t.context);if(i)return i.break;r=n.next()}}_validateWrite(){let e=this._readOnly;if(e)throw new n.ExpectedError((0,n.t)(e))}updateCells(e,r,i){this._validateWrite();let a=this.getCoords();i||=a;let o=this._internal,s=o.isDataColumn(),c={majorStart:s?a.colStart:a.rowStart,majorEnd:s?a.colEnd:a.rowEnd,minorStart:s?a.rowStart:a.colStart,minorEnd:s?a.rowEnd:a.colEnd},l=(r?.axis??t.IRange.Axis.Row)===t.IRange.Axis.Column!==s,u=Za(Array.isArray(e)?e:[[e]],l,c);return o.updateTuples(u,{description:r?.description??(n.CoordUtils.isSingleCell(i)?(0,n.t)(`op.setCellAddress`,{address:Zl(i,o.getSheet().getEntireCoords())}):(0,n.t)(`op.setRangeAddress`,{address:Zl(i,o.getSheet().getEntireCoords())})),...r},null,{isCell:!0}),this}setValues(e,t){if(!e||!Array.isArray(e)&&!e.isIRange)throw new n.ExpectedError((0,n.t)(`error.sheet.setValuesType`));return this._setValueOrValues(e,t)}setValue(e,t){if(e&&(Array.isArray(e)||e.isIRange))throw new n.ExpectedError((0,n.t)(`error.sheet.setValueType`));return this._setValueOrValues(e,t)}setFormula(e,t){if(e&&(Array.isArray(e)||e.isIRange))throw new n.ExpectedError((0,n.t)(`error.sheet.setValueType`));return this._setValueOrValues(e,t)}_setValueOrValues(e,r){this._validateWrite();let i=this.getCoords(),a=this,o=this._internal,s=o.isDataColumn(),c=(r?.axis??t.IRange.Axis.Row)===t.IRange.Axis.Column,l=Array.isArray(e),u=!l&&e?.isIRange;if(r?.skipBoundsCheck??n.CoordUtils.isSingleCell(i)){let t=c?i.colStart:i.rowStart,r=c?i.rowStart:i.colStart,o=0,s=0;if(l){let t=e;o=Math.max(0,t.length-1),s=0;for(let e=0;e<t.length;e++)s=Math.max(s,t[e].length-1)}else if(u){let t=e.getColumnCount(),n=e.getRowCount();o=c?t-1:n-1,s=c?n-1:t-1}let d={...i,colEnd:c?t+o:r+s,rowEnd:c?r+s:t+o};n.CoordUtils.isEqualRanges(d,i)||(i=d,a=this._deriveRange(d)??this)}let d=s?i.colStart:i.rowStart,f=s?i.colEnd:i.rowEnd,p=s?i.rowStart:i.colStart,m={majorStart:d,majorEnd:f,minorStart:p,minorEnd:s?i.rowEnd:i.colEnd},h=null;if(l){let t=c!==s;h=Za(Array.isArray(e)?e:[[e]],t,m)}else if(u){let r=e,a=r._values;if(a&&a.getValues&&a.getAxis&&a.getAxis()===(s?t.IRange.Axis.Column:t.IRange.Axis.Row)){let e=r._coords;if(h=a.getValues(e),h){let e=h.bounds;h=function(e,t,n){let r=e.tuples,i=e.bounds,a=t,o=n,s=[];for(let e of r){let t=e[0]+a,n=e[1],r=[];for(let e of n){let t=e[0]+o;r.push([t,e[1]])}s.push([t,r])}return{tuples:s,bounds:{majorStart:i.majorStart+a,minorStart:i.minorStart+o,majorEnd:i.majorEnd+a,minorEnd:i.minorEnd+o}}}(h,d-e.majorStart,p-e.minorStart)}}else{let e=s?t.IRange.Axis.Column:t.IRange.Axis.Row;h=function(e,t,r,i=null){let a=t!==n.RangeAxis.Row,o=i?.colIndex??0,s=i?.rowIndex??0,c=a?o:s,l=a?s:o,u=e.next();for(;!u.done;){let t=u.value,n=t.coords,i=a?n.colIndex:n.rowIndex,o=a?n.rowIndex:n.colIndex;r.pushAt(c+i,l+o,t.value),u=e.next()}return r.build()}(r.entries({axis:e}),e,o.createTupleBuilder(),{colIndex:i.colStart,rowIndex:i.rowStart})}}else h=Xa(e,m,s);return o.updateTuples(h,{description:r?.description??(n.CoordUtils.isSingleCell(i)?(0,n.t)(`op.setValueAddress`,{address:Zl(i,o.getSheet().getEntireCoords())}):(0,n.t)(`op.setValuesAddress`,{address:Zl(i,o.getSheet().getEntireCoords())})),...r}),a}getValues(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return hO(this._internal.cellIterator,t,e,!1,!1)}getValuesRange(){let e=this._internal,t=e.getSheet();return new eA(t.getRuntime(),e.getState().cellValuesGrid,this.getCoords(),void 0,t.getEntireCoords.bind(t),t.getName.bind(t))}setComputedValues(e,t){let r=this;return r._internal.getSheet().doBatch(()=>{let t=e(r.getValuesRange());r.setValues(t)},{description:(0,n.messageKey)(`op.setComputedValues`),...t}),this}getInteropValues(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return hO(this._internal.cellIterator,t,e,!1,!0)}getValue(){let e=this.getCoords();return this._internal.getScalar(e.rowStart,e.colStart,!1)}getInteropValue(){let e=this.getCoords();return this._internal.getScalar(e.rowStart,e.colStart,!0)}calculate(e){return this._internal.calculate([this.getCoords()],{full:e}),this}getCells(e){this._validateMaxSize(e?.maxSize);let t=this.getCoords();return hO(this._internal.cellIterator,t,e,!0,!1)}getCell(e){let t=this.getCoords(),r=t.colStart,i=t.rowStart,a=this._internal;if(e){let o=a.cellToCoords(e);if(!n.CoordUtils.isCellWithinRange(o,t))throw new n.ExpectedError((0,n.t)(`error.sheet.oobCell`));r=o.colIndex,i=o.rowIndex}return a.getCellAt(i,r)}getFormula(e){return this.getCell(e).getFormula()}createFormula(e){let t=this.getCoords();return this.getSheet().createFormula(e,{rowIndex:t.rowStart,colIndex:t.colStart})}addWatch(e,t){return this._addWatch(e,{onValues:t})}_addWatch(e,t,n){let r=this.getCoords(),i=this.getSheet().getCalculation();if(!n&&typeof e!=`string`){let t=e.getAnchor();if(t&&(t.rowIndex!==r.rowStart||t.colIndex!==r.colStart))throw Error(`ICellRange.addWatch was given a formula anchored outside the range; fill it with IFormula.shift first.`)}let a=!1,o=null,s=0,c=async e=>{let n=t.onValues;if(!n)return void(a||t.onChange?.());let i=++s,o=await e.evaluate({block:r,alwaysReturnRange:!0});a||i!==s||n(o)};return(async()=>{if(await i.ready(),a)return;let s=n??{rowIndex:r.rowStart,colIndex:r.colStart},l=typeof e==`string`?this.getSheet().createFormula(e,s):e;if(l.getAnchor()?.rowIndex===r.rowStart&&l.getAnchor()?.colIndex===r.colStart||(l=l.shift({rowIndex:r.rowStart,colIndex:r.colStart})??l),a)return;let u=l.getReferences()?.getCoords()??[],d=r.rowEnd!==r.rowStart||r.colEnd!==r.colStart?l.shift({rowIndex:r.rowEnd,colIndex:r.colEnd})?.getReferences()?.getCoords()??[]:[],f=[];for(let e=0;e<u.length;e++){let t=u[e];if(!t)continue;let n=d[e]??t;f.push({rowStart:Math.min(t.rowStart,n.rowStart),rowEnd:Math.max(t.rowEnd,n.rowEnd),colStart:Math.min(t.colStart,n.colStart),colEnd:Math.max(t.colEnd,n.colEnd),scope:t.scope})}o=f.length>0?this.getSheet().getRanges(f).addListener(()=>{c(l)},Db):null,a?o?.():t.onValues&&await c(l)})(),()=>{a=!0,o?.()}}async select(e){let t=await this._internal.autoSelect(e??!0,zy([this.getCoords()]));return this._createRange(t[0])}find(e){return this._internal.find([this.getCoords()],e)}getFixed(e){return this._createRange(vO(this.getCoords(),e))}getRangeAt(e,t,n,r,i){return this._createRange({rowStart:e,colStart:t,rowEnd:n??e,colEnd:r??t},i)}getRowAt(e,t){let n=this.getCoords();return this._createRange({colStart:n.colStart,rowStart:e,colEnd:n.colEnd,rowEnd:e},t)}getRowAfter(e){let t=this.getCoords();if(!t)return this;let n=t.rowEnd;return this._createRange({colStart:t.colStart,rowStart:n+1,colEnd:t.colEnd,rowEnd:n+1},e)}getRowBefore(e){let t=this.getCoords();if(!t)return this;let n=t.rowStart;return this._createRange({colStart:t.colStart,rowStart:n-1,colEnd:t.colEnd,rowEnd:n-1},e)}getRowBy(e,t){let n=this.getCoords(),r=n.rowStart+e;return this._createRange({colStart:n.colStart,rowStart:r,colEnd:n.colEnd,rowEnd:r},t)}getColumnAt(e,t){let n=this.getCoords();return this._createRange({colStart:e,rowStart:n.rowStart,colEnd:e,rowEnd:n.rowEnd},t)}getColumnAfter(e){let t=this.getCoords();if(!t)return this;let n=t.colEnd;return this._createRange({colStart:n+1,rowStart:t.rowStart,colEnd:n+1,rowEnd:t.rowEnd},e)}getColumnBefore(e){let t=this.getCoords();if(!t)return this;let n=t.colStart;return this._createRange({colStart:n-1,rowStart:t.rowStart,colEnd:n-1,rowEnd:t.rowEnd},e)}getColumnBy(e,t){let n=this.getCoords(),r=n.colStart+e;return this._createRange({colStart:r,rowStart:n.rowStart,colEnd:r,rowEnd:n.rowEnd},t)}getTopLeft(e){let t=this.getCoords();if(!t)return this;let n=t.colStart,r=t.rowStart;return this._createRange({colStart:n,rowStart:r,colEnd:n,rowEnd:r},e)}getBottomRight(e){let t=this.getCoords();if(!t)return this;let n=t.colEnd,r=t.rowEnd;return this._createRange({colStart:n,rowStart:r,colEnd:n,rowEnd:r},e)}getSurrounding(e){let t=this._internal;return this._createRange(t.surroundingRegion(this.getCoords(),e))}getExtended(e,r){let i=(r&&typeof r!=`string`&&!r.isICell&&r.rowIndex===void 0?r:void 0)??{cell:r};if(i.basis===`adjacent`)return this._extendedAdjacent(e);let a=null,o=this.getCoords();switch(e){case t.IRange.Direction.Up:a={colIndex:o.colStart,rowIndex:o.rowStart};break;case t.IRange.Direction.Down:a={colIndex:o.colStart,rowIndex:o.rowEnd};break;case t.IRange.Direction.Left:a={colIndex:o.colStart,rowIndex:o.rowStart};break;case t.IRange.Direction.Right:a={colIndex:o.colEnd,rowIndex:o.rowStart}}let s=this._internal,c=i.cell?s.cellToCoords(i.cell):a;if(!n.CoordUtils.isCellWithinRange(c,o))throw new n.ExpectedError((0,n.t)(`error.address.invalidCell`));let l=s.extendRange(e,c);return i.fromBlank===`before`&&(l=this._restBeforeBlock(e,c,l)),l=n.CoordUtils.unionRanges(o,l),this._createRange(l)}_restBeforeBlock(e,r,i){let a=e=>this._createRange(n.CoordUtils.cellToRange(e)).isContentful($v.Feature.Contentful);if(a(r))return i;let o=e===t.IRange.Direction.Up||e===t.IRange.Direction.Down,s=e===t.IRange.Direction.Up||e===t.IRange.Direction.Left,c=o?{rowIndex:s?i.rowStart:i.rowEnd,colIndex:r.colIndex}:{rowIndex:r.rowIndex,colIndex:s?i.colStart:i.colEnd},l=o?c.rowIndex:c.colIndex;if(l===(o?r.rowIndex:r.colIndex)||!a(c))return i;let u=l+(s?1:-1);return o?{...i,...s?{rowStart:u}:{rowEnd:u}}:{...i,...s?{colStart:u}:{colEnd:u}}}_extendedAdjacent(e){let r=this.getCoords(),i=this._internal,a=i.getSheet().getEntireCoords(),o=e===t.IRange.Direction.Up||e===t.IRange.Direction.Down,s=e===t.IRange.Direction.Up||e===t.IRange.Direction.Left,c=o?r.rowStart:r.colStart,l=o?r.rowEnd:r.colEnd,u=o?r.colStart:r.rowStart,d=o?r.colEnd:r.rowEnd,f=o?a.rowEnd:a.colEnd,p=o?a.colEnd:a.rowEnd,m=(e,t)=>o?{rowIndex:e,colIndex:t}:{rowIndex:t,colIndex:e},h=e=>o?s?e.rowStart:e.rowEnd:s?e.colStart:e.colEnd,g=e=>o?s?e.rowEnd:e.rowStart:s?e.colEnd:e.colStart,_=(e,t)=>s?Math.max(e,t):Math.min(e,t),v=(e,t)=>s?Math.min(e,t):Math.max(e,t),y=s?c-1:l+1;if(y<0||y>f)return this;let b=null;for(let t of[u-1,d+1]){if(t<0||t>p)continue;let r=m(y,t),a=n.CoordUtils.cellToRange(r);if(!this._createRange(a).isContentful($v.Feature.Contentful))continue;let o=h(i.extendRange(e,r));b=b===null?o:v(b,o)}if(b===null)return this;let x=s?0:y,S=s?y:f,C=o?{rowStart:x,rowEnd:S,colStart:u,colEnd:d}:{rowStart:u,rowEnd:d,colStart:x,colEnd:S};for(let e of this._createRange(C).entries({features:[$v.Feature.Contentful],axis:o?t.IRange.Axis.Row:t.IRange.Axis.Column,reverse:s})){let t=n.CoordUtils.cellToRange(e.context.getCoords());if(s){let e=this._createRange(t).getMerges();e.length>0&&(t=e[0])}b=_(b,g(t)+(s?1:-1));break}if(s?b>=c:b<=l)return this;let w=o?{...r,...s?{rowStart:b}:{rowEnd:b}}:{...r,...s?{colStart:b}:{colEnd:b}};return this._createRange(w)}getEntireRows(e,n){let r=this._internal;return this._createRange(ZD([this.getCoords()],r.getSheet().getEntireCoords(),t.IRange.Axis.Column,e)[0],n)}getEntireColumns(e,n){let r=this._internal;return this._createRange(ZD([this.getCoords()],r.getSheet().getEntireCoords(),t.IRange.Axis.Row,e)[0],n)}getRowHeaders(e){let t=this.getCoords();return this._internal.getSheet().getRowHeaders().getRange(t,e)}getColumnHeaders(e){let t=this.getCoords();return this._internal.getSheet().getColumnHeaders().getRange(t,e)}getDifferences(e,n){return this._deriveRanges(n,r=>{let i=this._internal,a=Dy(r,i.rangeToCoords(e),t.IRange.Axis.Row);return i.getVisible(a,n)})}getIntersect(e,t){return this._deriveRange(e,t,(e,t)=>n.CoordUtils.intersectRanges(e,t))}getUnion(e,t){return this._deriveRange(e,t,(e,t)=>n.CoordUtils.unionRanges(e,t))}getResizeTo(e,t,r){if(t??=0,(e??=0)<0||t<0)throw new n.ExpectedError((0,n.t)(`error.address.invalidRange`));let i=this.getCoords();return this._deriveRange({colStart:i.colStart,rowStart:i.rowStart,colEnd:t+i.colStart-1,rowEnd:e+i.rowStart-1},r)}getResizeBy(e,t,n){e??=0,t??=0;let r=this.getCoords();return this._deriveRange({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd+t,rowEnd:r.rowEnd+e},n)}getOffsetTo(e,t,n){let r=this.getCoords(),i=t,a=e,o={colStart:i,rowStart:a,colEnd:r.colEnd-r.colStart+i,rowEnd:r.rowEnd-r.rowStart+a};return this._deriveRange(o,n)}getOffsetBy(e,t,n){let r=this.getCoords(),i=r.colStart+t,a=r.rowStart+e,o={colStart:i,rowStart:a,colEnd:r.colEnd-r.colStart+i,rowEnd:r.rowEnd-r.rowStart+a};return this._deriveRange(o,n)}getUsedRange(e){let t=this._internal.getUsedCoords(xO(this._getStickyOptions(),e));if(!t)return null;let r=n.CoordUtils.intersectRanges(t,this.getCoords());return r?this._deriveRange(r,e):null}isEmpty(){let e=this._internal.getUsedCoords();return!e||!n.CoordUtils.intersectRanges(e,this.getCoords())}getColumnStart(){return this.getCoords().colStart}getRowStart(){return this.getCoords().rowStart}getColumnEnd(){return this.getCoords().colEnd}getRowEnd(){return this.getCoords().rowEnd}getColumnCount(){let e=this.getCoords();return e.colEnd-e.colStart+1}getRowCount(){let e=this.getCoords();return e.rowEnd-e.rowStart+1}getVisible(e){return this._deriveRanges(e,t=>this._internal.getVisible([t],e))}isContentful(e){let t=this._internal,n=this._getStickyOptions(),r=e??n?.features;if(r===void 0)return t.isContentful([this.getCoords()],n?.ignoreHidden??!1);let i=t.featureCounts([this.getCoords()],r,n?.ignoreHidden??!1),a=typeof r==`string`?[r]:r;for(let e=0;e<a.length;e++)if(i[a[e]]>0)return!0;return!1}getStats(e){return this._internal.getRangeStats([this.getCoords()],e)}getCounts(e){let t=this._internal,n=this._getStickyOptions();return t.featureCounts([this.getCoords()],e??n?.features,n?.ignoreHidden??!1)}getDirectPrecedents(){return this._internal.dependencyRanges(this.getCoords(),`precedents`,!0)}getDirectDependents(){return this._internal.dependencyRanges(this.getCoords(),`dependents`,!0)}getPrecedents(){return this._internal.dependencyRanges(this.getCoords(),`precedents`,!1)}getDependents(){return this._internal.dependencyRanges(this.getCoords(),`dependents`,!1)}getRegions(e,t){let n=this._getStickyOptions(),r=Cb(e??t?.features??n?.features);return new Tb(this.getCoords(),this._internal,r,{...t,ignoreHidden:t?.ignoreHidden??n?.ignoreHidden??!1})}getCount(e){let t=this._internal,n=e??Qv.Content.Values,r=t.contentCounts([this.getCoords()],[n],this._getStickyOptions()?.ignoreHidden??!1);return r?r[n]??0:0}isEntireRows(){let e=this._internal;return QD([this.getCoords()],e.getSheet().getEntireCoords(),!0)}isEntireColumns(){let e=this._internal;return $D([this.getCoords()],e.getSheet().getEntireCoords(),!0)}isEntireRange(){let e=this.getCoords(),t=this._internal;return $D([e],t.getSheet().getEntireCoords(),!0)&&QD([e],t.getSheet().getEntireCoords(),!0)}isSingleCell(){let e=this.getCoords();return n.CoordUtils.isSingleCell(e)}isEqual(e,t){let n=this._internal.rangeToCoords(e);return gO(this.getCoords(),n)}get size(){let e=this._coords;return e.colEnd-e.colStart+1*(e.rowEnd-e.rowStart+1)}getBounds(){return this._internal.getBoundsAtCoords(this.getCoords())}isInvalid(){return!1}getDefaultShiftAxis(){return this._internal.getDefaultShiftAxis(this.getCoords())}getDefaultSortCriteria(e,t){return this._internal.getDefaultSortCriteria(this.getCoords(),e,t)}getMerges(){return this._internal.getMerges([this.getCoords()],this._getStickyOptions()?.ignoreHidden??!1)}_itemQuery(e){return{ignoreHidden:!!this._getStickyOptions()?.ignoreHidden,...e,address:this.getCoords()}}getConditionalFormats(e){return this._internal.getSheet().getConditionalFormats().getItems(this._itemQuery(e))}getDataValidations(e){return this._internal.getSheet().getDataValidations().getItems(this._itemQuery(e))}getTables(e){return this._internal.getSheet().getTables().getItems(this._itemQuery(e))}getMovables(e){return this._internal.getSheet().getMovables().getItems(this._itemQuery(e))}getSnapshot(e){return this._internal.getSnapshot([this.getCoords()],e)}isReadOnly(){return this._readOnly!==null}addListener2(e,t){return this._internal.addRangesListeners2([this.getCoords()],e,t,!1)}addListener(e,t){return this._internal.addRangesListeners([this.getCoords()],e,t)}getSheet(){return this._internal.getSheet()}autoFill(e,t){t?.preview||this._validateWrite();let n=this._internal,r=n.rangeToCoords(e,()=>[],!0);t?.snap&&(r=n.autoFillRange(this.getCoords(),r));let i=n.autoFill(this.getCoords(),r,t);return t?.preview?new kb(r,n,i,this._getStickyOptions()):i?this._createRange(r):this}autoFit(e){return this._validateWrite(),this._internal.autoFit([this.getCoords()],e),this}clear(e,t){return this._validateWrite(),this._internal.clear([this.getCoords()],e,t),this}setHyperlink(e,t){return this._validateWrite(),this._internal.setHyperlinks([this.getCoords()],e,t),this}setComments(e,t){return this._validateWrite(),this._internal.setComments([this.getCoords()],e,t),this}getStyle(){return this._internal.getStyle([this.getCoords()])}merge(e){return this._validateWrite(),this._internal.merge([this.getCoords()],e),this}unmerge(e){return this._validateWrite(),this._internal.unmerge([this.getCoords()],e),this}textToColumns(e){if(this._validateWrite(),this.getColumnCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.textToColumnsMulti`));typeof e==`string`&&(e={delimiter:e});let r=function(e,n){let r=n?.textQualifier===void 0?`"`:n.textQualifier,i=n?.preserveEmptyFields??!1,a=n?.delimiter,o=e.sparseBuilder(),s=1,c=e.entries({axis:t.IRange.Axis.Column,onError:`ignore`}),l=c.next();for(;!l.done;){let e=l.value.value,t=l.value.coords.rowIndex;l=c.next();let n=e,u=typeof e;if(u===`string`)a===void 0&&(a=jO(e,r));else{if(u!==`number`)continue;n=e.toString()}if(a===void 0)continue;let d=MO(n,a,r,i);for(let e=0;e<d.length;e++)d[e]!==null&&o.pushAt(t,e,d[e]);s=Math.max(s,d.length)}return s===1?e:o.build()}(this.getValuesRange(),e),i=r.getColumnCount(),a=this,o=!0;if(e?.destination&&(a=this._deriveRange(e.destination),o=a.getTopLeft().isEqual(this.getTopLeft())),i<=1&&o)return this;if(!e?.replaceExisting){let e=a.getCoords(),t=o?e.colStart+1:e.colStart,s=e.colStart+i-1;if(s>=t&&this.getRangeAt(e.rowStart,t,e.rowStart+r.getRowCount()-1,s).isContentful())throw new n.ExpectedError((0,n.t)(`error.address.textToColumnsOverwrite`))}return a.setValues(r,{description:(0,n.messageKey)(`op.textToColumns`),...e,skipBoundsCheck:!0})}removeDuplicates(e){this._validateWrite();let r=this.getCoords(),i=this.getColumnCount(),a=this.getRowCount(),o=e?.hasHeader??!1,s;Array.isArray(e?.columns)&&(s=e.columns.map(e=>{let t=typeof e==`string`?du(e)-r.colStart:e;if(!(t>=0&&t<i))throw new n.ExpectedError((0,n.t)(`error.address.removeDuplicatesColumn`,{column:e}));return t}));let c=function(e,n,r){let i=r?new Set(r):null,a=new Map,o=new Set,s=[],c=0,l=(e,t)=>{c+=t-e+1;let n=s[s.length-1];n&&n.rowEnd===e-1?n.rowEnd=t:s.push({rowStart:e,rowEnd:t})},u=(e,t)=>{n&&e===0||(o.has(t)?l(e,e):o.add(t))},d=(e,t)=>{n&&e===0&&(e+=1),e<t&&!o.has(``)&&(o.add(``),e+=1),e<t&&l(e,t-1)},f=-1,p=``,m=e.entries({axis:t.IRange.Axis.Row,includeEmpty:!1}),h=m.next();for(;!h.done;){let{value:e,coords:{rowIndex:t,colIndex:r}}=h.value;t!==f&&(f!==-1&&u(f,p),d(f+1,t),f=t,p=``),n&&t===0||i!==null&&!i.has(r)||(p+=NO(r,e,a)),h=m.next()}return f!==-1&&u(f,p),{runs:s,count:c,isEmpty:f===-1}}(this.getValuesRange(),o,s);if(c.isEmpty)throw new n.ExpectedError((0,n.t)(`error.address.removeDuplicatesNoData`));let l=this._internal,u=this.getResizeTo(a-c.count,i);if(c.count>0){let i=c.runs.map(e=>({colStart:r.colStart,colEnd:r.colEnd,rowStart:r.rowStart+e.rowStart,rowEnd:r.rowStart+e.rowEnd})),a={colStart:r.colStart,colEnd:r.colEnd,rowStart:r.rowEnd-c.count+1,rowEnd:r.rowEnd},o={description:(0,n.messageKey)(`op.removeDuplicates`),...e,autoSelect:!1,viewBefore:{view:l.getSheet().getView(),selection:zy([r]),selectOptions:e?.autoSelect},viewAfter:{view:l.getSheet().getView(),selection:zy([u.getCoords()]),selectOptions:e?.autoSelect}};this.doBatch(()=>{l.deleteCells(i,t.IRange.Axis.Row),l.insertCells([a],t.IRange.Axis.Row)},o)}return e?.autoSelect&&l.autoSelect(e.autoSelect,zy([u.getCoords()])),u}insert(e){return this._validateWrite(),typeof e==`object`&&e?.span?(this._spanShift(e,!0),this):(this._internal.insertCells([this.getCoords()],e),this)}_spanShift(e,r){let{span:i,...a}=e,o=this._internal.getSheet(),s=this.getCoords(),c=e.axis??this.getDefaultShiftAxis(),l=null,u=o.getTables().getItems();for(let e=0;e<u.length;e++){let t=u[e].getRange().getCoords();if(!(s.rowEnd<t.rowStart||s.rowStart>t.rowEnd||s.colEnd<t.colStart||s.colStart>t.colEnd)){if(!(s.rowStart>=t.rowStart&&s.rowEnd<=t.rowEnd&&s.colStart>=t.colStart&&s.colEnd<=t.colEnd))throw new n.ExpectedError((0,n.t)(`error.table.tableSplit`));l=u[e];break}}if(!l){let e=o.getEntireCoords(),n=c===t.IRange.Axis.Row?{...s,colStart:e.colStart,colEnd:e.colEnd}:{...s,rowStart:e.rowStart,rowEnd:e.rowEnd};r?this._internal.insertCells([n],{...a,axis:c}):this._internal.deleteCells([n],{...a,axis:c});return}if(c===t.IRange.Axis.Row){let e=l.getDataRange().getCoords();if(s.rowStart<e.rowStart||s.rowEnd>e.rowEnd)throw new n.ExpectedError((0,n.t)(`error.table.tableBodyRows`));let t=s.rowStart-e.rowStart,i=s.rowEnd-s.rowStart+1;r?l.addRows(t,i,a):l.deleteRowsAt(t,i,a);return}let d=l.getRange().getCoords(),f=s.colStart-d.colStart,p=s.colEnd-s.colStart+1,m=l,h=a.description??(r?p>1?(0,n.messageKey)(`op.addTableColumns`):(0,n.messageKey)(`op.addTableColumn`):p>1?(0,n.messageKey)(`op.deleteTableColumns`):(0,n.messageKey)(`op.deleteTableColumn`));o.doBatch(()=>{if(r)for(let e=0;e<p;e++)m.addColumn(f);else{let e=[];for(let t=0;t<p;t++){let n=m.getColumnAt(f+t);n&&e.push(n)}for(let t=e.length-1;t>=0;t--)e[t].delete()}},{...a,description:h})}addAutoTable(e){return this._validateWrite(),this._internal.getSheet().addAutoTable(this.getCoords(),e)}addTable(e){return this._validateWrite(),this._internal.getSheet().getTables().add(this.getCoords(),e)}async insertFrom(e,t){this._validateWrite();let n=await this._internal.insertFrom([this.getCoords()],e,t);return n?this._createRange(n):null}async copyFrom(e,t){this._validateWrite();let n=await this._internal.copyFrom(this.getCoords(),e,t);return n?this._createRange(n):null}delete(e){return this._validateWrite(),typeof e==`object`&&e?.span?(this._spanShift(e,!1),this):(this._internal.deleteCells([this.getCoords()],e),this)}sort(e){this._validateWrite();let t=this._internal,r=this.getCoords(),i=t.sort(r,e);return n.CoordUtils.isEqualRanges(i,r)?this:this._createRange(i)}sortAt(e,t,n,r){return this.sort({sorts:[{index:e,criteria:{reverse:t,sortOn:n}}],...r})}async filter(e,t){this._validateWrite();let r=this._internal,i=this.getCoords(),a=await r.filter(i,e,t);return n.CoordUtils.isEqualRanges(a,i)?this:this._createRange(a)}doBatch(e,t){return this._internal.getSheet().doBatch(t=>e(t),typeof t==`string`?t:{description:(0,n.messageKey)(`op.rangeUpdate`),...t})}createSparseBuilder(e){return this._internal.createSparseBuilder(e,this)}getAddress(e){let t=this._internal;return Ql(this.getCoords(),t.getSheet().getEntireCoords())}toString(){return this.getAddress()}get[Symbol.toStringTag](){return`[SheetRange]`}get isICellRange(){return!0}},kb=class extends Ob{constructor(e,t,r,i){super(e,t,{getOptions:i??{},readOnly:(0,n.messageKey)(`error.sheet.previewRange`)}),this._projection=r}getCell(e){let t=this.getCoords(),r=t.rowStart,i=t.colStart;if(e){let a=this._internal.cellToCoords(e);if(!n.CoordUtils.isCellWithinRange(a,t))throw new n.ExpectedError((0,n.t)(`error.sheet.oobCell`));r=a.rowIndex,i=a.colIndex}return this._projection.getCellAt(r,i)}getCells(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e)}getValues(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e.getValue())}getInteropValues(e){return this._validateMaxSize(e?.maxSize),this._projectRows(e=>e.getInteropValue())}getValuesRange(){return Ab()}_projectRows(e){let t=this.getCoords(),n=this._projection,r=[];for(let i=t.rowStart;i<=t.rowEnd;i++){let a=[];for(let r=t.colStart;r<=t.colEnd;r++)a.push(e(n.getCellAt(i,r)));r.push(a)}return r}get[Symbol.toStringTag](){return`[PreviewSheetRange]`}},Ab=()=>{throw new n.ExpectedError((0,n.t)(`error.sheet.previewRange`))},jb=class extends Ob{constructor(e,t,n,r,i,a){super(n,r,i),this.isINamedRange=!0,this._id=e,this._name=t,this._rangesResolver=a??null}getId(){return this._id}getName(){return this._name}getRanges(){return this._rangesResolver?this._rangesResolver():new PD([this._coords],this._internal,this._options)}toString(){return`${this.getName()} => ${this.getAddress()}`}get[Symbol.toStringTag](){return`[NamedRange: ${this._name}]`}},Mb=class extends jb{constructor(e,t,n){super(e.id,e.name,{rowStart:e.rowIndex,colStart:e.colIndex,rowEnd:e.rowIndex,colEnd:e.colIndex},t,n),this._node=e}getRanges(){return this._node.ranges()}getDirectPrecedents(){return this._node.directPrecedents()}getPrecedents(){return this._node.precedents()}getDirectDependents(){return this._node.directDependents()}getDependents(){return this._node.dependents()}get[Symbol.toStringTag](){return`[NamedCellRange: ${this.getName()} @ ${this.getAddress()}]`}};function Nb(e,r,i){let a=1,o=1,s=!1,c=e._getMerges([r]);if(c.length>0){s=!0;let e=c[0];if(a=e.colEnd-e.colStart+1,o=e.rowEnd-e.rowStart+1,(r.colEnd-r.colStart+1)%a!=0||(r.rowEnd-r.rowStart+1)%o!=0)throw new n.ExpectedError((0,n.t)(`error.sheet.sortMergeSize`));let t=c.length;for(let e=1;e<t;e++){let t=c[e];if(t.colEnd-t.colStart+1!==a||t.rowEnd-t.rowStart+1!==o)throw new n.ExpectedError((0,n.t)(`error.sheet.sortMergeSize`))}}let l=function(e,r,i,a){let o;typeof r==`boolean`?o={sorts:[{index:0,criteria:{reverse:r}}]}:Array.isArray(r)?o={sorts:r}:(o={...r},o.sorts&&o.sorts.length!==0||(o.sorts=[{index:0}]));let s=o?.axis??t.IRange.Axis.Row;o.axis=s,o.hasHeader=o.hasHeader??!1,o.reverse=o.reverse??$o.DefaultRangeOptions.reverse,o.collatorOptions=o.collatorOptions??$o.DefaultRangeOptions.collatorOptions,o.collators=o.collators??$o.DefaultCollators;let c=s===t.IRange.Axis.Row,l=e;o.hasHeader&&(l={...l},c?l.rowStart+=a:l.colStart+=i);let u=c?l.colEnd-l.colStart:l.rowEnd-l.rowStart,d=o.sorts?[...o.sorts]:[];d.length===0&&d.push({index:0});let f=d.length;for(let e=0;e<f;e++){let t=d[e]={index:e,...d[e]};if(t.index<0||t.index>u)throw new n.OutOfBoundsError((0,n.t)(`error.sort.sortOobRange`));let r=t.criteria;r!==null&&(t.criteria={reverse:r?.reverse??o.reverse,collatorOptions:r?.collatorOptions??o.collatorOptions,...r},d[e]=t)}return o.sorts=d,o}(r,i,a,o),u=l.axis,d=u===t.IRange.Axis.Row,f=r;l?.hasHeader&&(f={...f},d?f.rowStart+=o:f.colStart+=a);let p=d?f.colStart:f.rowStart,m=l.sorts,h=m.length;for(let e=0;e<h;e++){let t=m[e];t.index+=p}let g=m[0].criteria,_=l?.description??(g?.reverse?(0,n.messageKey)(`op.sortDescending`):(0,n.messageKey)(`op.sortAscending`));e._protectionCheck(()=>[`sort`],r,_);let v=[],y=null,b=null,x=null,S=-(2**53-1),C=Array(h),w=new Map;for(let e=0;e<h;e++)w.set(m[e],e);m.sort((e,t)=>e.index-t.index);for(let e=0;e<h;e++)C[w.get(m[e])]=e;let T=null,E=l?.includeHidden??!1;E||(T=ai(pO(d?e._rowHeaders:e._colHeaders)));let D=e._cellIterator({bounds:f,axis:u,ignoreHidden:!E&&u,searchTypes:{[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.DateFormat]:!1,[q.Type.Continuous]:!1,[q.Type.Merge]:!1}}),O=d?o:a,k=(d?f.rowStart:f.colStart)-O,A=D.next();for(;!A.done;){let e=A.value.context,t=e.getCell();if(s&&!t.isTopLeft()){A=D.next();continue}let n=e.getCoords(),r=d?n.rowIndex:n.colIndex,i=d?n.colIndex:n.rowIndex;if(k!==r){for(k+=O,T&&(k=T(k));k<r;)v.push(null),k+=O;b=[],x=[],y={minorIndex:r,values:b,sortValues:x},v.push(y),k=r,S=m[0].index}for(;i>S;){let e=m[x.length];S=e?e.index:2**53-1,i>S&&x.push(null)}i===S&&x.push(t),b.push(t),A=D.next()}if(!y||v.length===0)return;let j=new Map,M=new Map,N=l.collators,P=N.length;for(let e=0;e<P;e++){let t=N[e],n=t.type,r;typeof t==`string`||(r=t.compare),j.set(n,r),M.set(n,e)}let F=e.getRuntime().getLocaleProfile(),I=F.tag,L,ee,R,z,te=null,ne=null,re=null;v.sort((e,n)=>{let r=m.length;for(let i=0;i<r;i++){let r=C[i],a=m[r],o=e?e.sortValues[r]:null,s=n?n.sortValues[r]:null,c=o?o.getValue():null,l=s?s.getValue():null,u=c===null,d=l===null;if(c===l)continue;if(u&&d)return 0;if(!u&&d)return-1;if(u&&!d)return 1;let f=o.getType(),p=s.getType();if(f===t.ScalarType.Error&&p===t.ScalarType.Error)return 0;let h=0,g=a.criteria;if(f!==p){let e=0;f===L?e=R:(e=M.get(f),L=f,R=e);let t=0;p===ee?t=z:(t=M.get(p),ee=p,z=t),h=e-t}else{let e=ne;if(te!==f){if(e=j.get(f),ne=e,!e)continue;te=f;let t=0;p===ee?t=z:(t=M.get(p),ee=p,z=t);let n=N[t]?.defaultOptions;re={...F.collator,...n,...g?.collatorOptions,locale:I}}h=e(c,l,re)}return g?.reverse&&(h*=-1),h}return 0});let B=e._beginCommit({description:_}),ie=e._getState().borderSpatial,ae=[f];E||(ae=e._getVisible(ae,{axes:d?t.IRange.AxisSelection.Row:t.IRange.AxisSelection.Column})),e._clear(ae,void 0,void 0,!0);let oe=e._createSparseBuilder({axis:u}),se=d?f.rowStart:f.colStart,ce=v.length;for(let e=0;e<ce;e++){let t=v[e];if(T&&(se=T(se)),t){let e=t.values,n=e.length;for(let t=0;t<n;t++){let n=e[t],r=n.getCoords(),i=d?se:r.rowIndex,a=d?r.colIndex:se;oe.pushAt(i,a,n)}}se+=O}return oe.apply(),e._updateState({borderSpatial:ie}),B.commit(),f}async function Pb(e,r,i,a){let o=function(e){return e?typeof e==`object`&&Array.isArray(e.conditions)?e:{conditions:[e]}:{conditions:[]}}(i),s=o.axis??t.IRange.Axis.Row,c=s===t.IRange.Axis.Row,l=[],u=[];await async function(e){let n=e.coords,r=e.axis??t.IRange.Axis.Row,i=r===t.IRange.Axis.Row,a=i?n.rowStart:n.colStart,o=i?n.rowEnd:n.colEnd;e.hasHeader&&(a+=1);let s=e.conditions,c=s?s.length:0,l=[],u=e.getHiddenRuns;if(u){let t=e.includeHidden??!0;!0!==t&&t!==r&&(l=u(r).slice())}if(a<=o)for(let r=0;r<c;r++){let c=s[r],u=Rv.resolveInput(c);if(!u)continue;let d=c?.index,f=typeof d==`number`?d:r,p=(i?n.colStart:n.rowStart)+f,m=i?{rowStart:a,rowEnd:o,colStart:p,colEnd:p}:{rowStart:p,rowEnd:p,colStart:a,colEnd:o},h=Fv(l,a,o).map(e=>i?{rowStart:e.min,rowEnd:e.max,colStart:p,colEnd:p}:{rowStart:p,rowEnd:p,colStart:e.min,colEnd:e.max}),g={bounds:m,axis:i?t.IRange.Axis.Column:t.IRange.Axis.Row};if(l.length>0){let e=ai(l);i?g.processRowSkip=e:g.processColumnSkip=e}let _=[],v=[],y=(e,t)=>{let n=i?e.rowIndex:e.colIndex;_.push(n),t&&v.push(n)};await Nv(u,{runtime:e.runtime,values:e.values,coords:m,cellValuesOptions:g,calculation:e.calculation,visibleCoords:h,onTrue:e=>y(e,!1),onFalse:e=>y(e,!0)});let b=Xr(v,!0);if(u.isIncludeBlanks())l=Iv(l,b);else{let e=Fv(Iv(l,Xr(_,!0)),a,o);l=Iv(l,b,e)}}if(a<=o){let t=e.onHiddenRun;if(t)for(let e=0;e<l.length;e++)t(l[e]);let n=e.onVisibleRun;if(n){let e=Fv(l,a,o);for(let t=0;t<e.length;t++)n(e[t])}}}({runtime:e.getRuntime(),calculation:e._calculation,values:e._getState().cellValuesGrid,coords:r,conditions:o.conditions,axis:s,hasHeader:o.hasHeader,includeHidden:o.includeHidden,getHiddenRuns:n=>pO(n===t.IRange.Axis.Row?e._rowHeaders:e._colHeaders),onVisibleRun:e=>{l.push({...e})},onHiddenRun:e=>{u.push({...e})}});let d=a?.description??(0,n.messageKey)(`op.filter`),f=c?e._rowHeaders:e._colHeaders,p=e._beginCommit({description:d,...a});try{l.length>0&&f._setHidden(l,!1,{description:d}),u.length>0&&f._setHidden(u,!0,{description:d}),p.commit()}catch(e){throw p.rollback(),e}return r}(vb=_b||={}).MAX_EXPRESSION_LENGTH=8192,vb.Status={Ready:`ready`,Error:`error`,Starting:`starting`,Stopping:`stopping`,Off:`off`},vb.CalculationMode={Automatic:`auto`,Manual:`manual`,AutomaticExceptTables:`automaticExceptTables`},vb.ResultStatus={Ready:`ready`,Stale:`stale`,Pending:`pending`,Streaming:`streaming`};var Fb={separatorFunction:`,`,separatorColumn:`,`,separatorRow:`;`,separatorDecimal:`.`};function Ib(e){return e===`,`?{separatorDecimal:`,`,separatorFunction:`;`,separatorColumn:`;`,separatorRow:`|`}:Fb}var Lb=[[`All`,`all`],[`Data`,`data`],[`Headers`,`headers`],[`Totals`,`totals`],[`This Row`,`thisRow`]];function Rb(e,t){let n=e.trim().toUpperCase();for(let[e,r]of Lb)if(e.toUpperCase()===n||t?.[r]?.trim().toUpperCase()===n)return e}var zb={separators:Fb,booleanTrue:`TRUE`,booleanFalse:`FALSE`,errorLiterals:[],errorRefs:[],parseBoolean:e=>{let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&void 0},parseError:e=>t.FormulaError.getBuiltInByLabel(e.toUpperCase())??void 0,parseSpecifier:e=>Rb(e),localizeBoolean:e=>e?`TRUE`:`FALSE`,localizeError:e=>e?.getLabel?.()??String(e),localizeSpecifier:e=>e};function Bb(e=Fb,t){let n=ho(t),r=n?.booleans?.true??`TRUE`,i=n?.booleans?.false??`FALSE`,a=[],o=[],s=n?.errors;if(s)for(let e in s)(e===`Ref`||e===`Name`?o:a).push(s[e]);let c=n?.specifiers;return{separators:e,booleanTrue:r,booleanFalse:i,errorLiterals:a,errorRefs:o,specifiers:c,parseBoolean:e=>yo(e,t),parseError:e=>bo(e,t),parseSpecifier:e=>Rb(e,c),localizeBoolean:e=>e?r:i,localizeError:e=>vo(e,t),localizeSpecifier:e=>function(e,t){if(!t)return e;let n=e.trim().toUpperCase();for(let[r,i]of Lb)if(r.toUpperCase()===n)return t[i]?.trim()||e;return e}(e,c)}}var $={Unparsed:`unparsed`,Paren:`paren`,Infix:`infix`,Prefix:`prefix`,Postfix:`postfix`,Function:`function`,Call:`call`,Error:`error`,Number:`number`,Boolean:`boolean`,String:`string`,Separator:`separator`,List:`list`,Type:`type`,Array:`array`,Row:`row`,Cell:`cell`,Named:`named`,TableReference:`tableReference`,TableSpecifier:`tableSpecifier`,TableColumn:`tableColumn`,ExternalReference:`externalReference`,Empty:`empty`,Whitespace:`whitespace`};function Vb(e){let t=(e=e.toUpperCase()).length,n=0;for(let r=0;r<t;r++){let i=e.charCodeAt(r);isNaN(i)||(n+=(i-64)*26**(t-r-1))}return n}function Hb(e,t,n){let r=e.match(/([$]?)([A-Za-z]{1,3})([$]?)([1-9][0-9]*)/),i=Vb(r[2])-1,a=r[1].length===1,o=r[4]-1,s=r[3].length===1;return a||i===-(2**53-1)||(i-=n),s||o===-(2**53-1)||(o-=t),{type:$.Cell,value:{colIndex:i,rowIndex:o,$colIndex:a,$rowIndex:s,scope:null},inputs:null,isReference:!0}}function Ub(e){return{type:$.Cell,value:{colIndex:e.colIndex,rowIndex:e.rowIndex,$colIndex:e.$colIndex||!1,$rowIndex:e.$rowIndex||!1,scope:null},inputs:null,isReference:!0}}function Wb(e,t){let n=e.startsWith(`$`);n&&(e=e.substring(1));let r=Vb(e)-1;return n||r===-(2**53-1)||(r-=t),{type:$.Cell,value:{colIndex:r,rowIndex:-(2**53-1),$colIndex:n,$rowIndex:!1,scope:null},inputs:null,isReference:!0}}function Gb(e,t){let n=e.startsWith(`$`);n&&(e=e.substring(1));let r=parseInt(e)-1;return n||r===-(2**53-1)||(r-=t),{type:$.Cell,value:{colIndex:-(2**53-1),$colIndex:!1,rowIndex:r,$rowIndex:n,scope:null},inputs:null,isReference:!0}}function Kb(e,t){return{type:$.Function,value:e,inputs:t}}function qb(e,t){return{type:$.Call,value:null,inputs:t&&t.length>0?[e,...t]:[e]}}function Jb(e,t){return{type:$.TableReference,value:e,inputs:t,isReference:!0}}function Yb(e,t=zb){let n=e.startsWith(`[`)?e.slice(1,-1):e;if(n.startsWith(`#`)&&t.parseSpecifier){let e=t.parseSpecifier(n.slice(1));e&&(n=`#`+e)}return{type:$.TableSpecifier,value:n,inputs:null,isReference:!0}}function Xb(e){let t=e;return e.startsWith(`[`)&&e.endsWith(`]`)?t=e.slice(1,-1):e.startsWith(`'`)&&e.endsWith(`'`)&&(t=e.slice(1,-1).replace(/''/g,`'`)),{type:$.TableColumn,value:t,inputs:null,isReference:!0}}function Zb(e,t,n,r=!1){let i={type:$.Infix,value:e,inputs:[t,n]};return r&&(i.isReference=!0),i}function Qb(e,t,n=!1){let r={type:$.Postfix,value:e,inputs:t?[t]:null};return n&&(r.isReference=!0),r}function $b(e,t,n=!1){let r={type:$.Prefix,value:e,inputs:t?[t]:null};return n&&(r.isReference=!0),r}function ex(e,t){return{type:$.Prefix,value:e,inputs:[t]}}function tx(e){return{type:$.Named,value:{nameId:e,scope:null},inputs:null,isReference:!0}}function nx(e,n=zb){let r=n.separators.separatorDecimal,i=e;r!==`.`&&(i=i.split(r).join(`.`)),i.includes(`**`)&&(i=i.replace(`**`,`e`));let a=Number(t.Scalar.truncateNumberText(i));if(!(a>=-999999999999999e293&&a<=999999999999999e293))throw new t.FormulaError.Parse(`Number out of range: ${e}`);return{type:$.Number,value:a,image:e,isLiteral:!0}}function rx(e){return{type:$.String,value:e.length>1?e.substring(1,e.length-1).replace(/""/g,`"`):e,isLiteral:!0}}function ix(e){return{type:$.Array,value:[e],isLiteral:!0}}function ax(){return{type:$.Row,value:[],isLiteral:!0}}function ox(e,t=zb){return{type:$.Boolean,value:t.parseBoolean(e)??!1,image:e,isLiteral:!0}}function sx(e,n=zb){return{type:$.Error,value:n.parseError(e)??t.FormulaError.getBuiltInByLabel(e.toUpperCase()),image:e,isLiteral:!0}}function cx(e,n=zb,r){let i=e?n.parseError(e)??t.FormulaError.getBuiltInByLabel(e.toUpperCase()):t.FormulaError.BuiltIn.Ref;return{type:$.Error,value:r?{error:i,scope:r}:{error:i},image:e,inputs:null,isReference:!0}}function lx(e){return t.FormulaError.isError(e)?e:e?.error}function ux(e){return e.indexOf(`#`)>0}function dx(){return{type:$.Empty,value:void 0,isLiteral:!0}}function fx(e,t){return e&&function e(n,r,i=[]){let a=n.inputs,o;if(a){let t=a.length;for(let r=0;r<t;r++){let t=a[r];if(t===void 0)continue;i.push(n);let s=e(t,n,i);i.pop(),s!==void 0&&s!==t&&(o||=[...a],o[r]=s)}}let s=n;if(o&&(s={...n},s.inputs=o),s===void 0)return s;let c=t(s,r,i);return c===void 0?s:c}(e,void 0,[])}function px(e,t){return t.wsBefore&&(e.wsBefore=t.wsBefore),t.wsAfter&&(e.wsAfter=t.wsAfter),t.image&&(e.image=t.image),e}var mx=Object.freeze([[`^`],[`*`,`/`],[`+`,`-`],[`&`],[`<`,`>`,`=`,`<>`,`<=`,`>=`]]),hx=(Object.freeze([`:`,`.:.`,`.:`,`:.`]),Object.freeze([`:`,` `,`.:.`,`.:`,`:.`])),gx=Object.freeze([`@`]),_x=Object.freeze([`#`]),vx=(Object.freeze(hx.concat(_x)),Object.freeze(hx.concat(gx).concat(_x))),yx=Object.freeze({displayText:``,conditionalColor:null,repeatChars:n.CommonUtils.EmptyArray,spacingChars:n.CommonUtils.EmptyArray,errorPlaceholder:null,formattedRuns:Object.freeze({runs:n.CommonUtils.EmptyArray,length:0,width:0,lastRepeatIndex:-1}),canWrap:!1,asDate:null,isDateFormat:!1,isTimeFormat:!1});function bx(e,r,i,a,s,c){if(r==null)return yx;let l=``,u=null,d=null,f=null,p=null,m=Dc();if(a===t.ScalarType.Error)l=vo(r);else if(a===t.ScalarType.RichData)l=`(Rich Object)`;else if(a===t.ScalarType.Boolean)l=_o(r);else if(s)try{let t=m.format(s,r,{date1904:e?.isDate1904()??!1,locale:e?.getLocale()??void 0,placeholders:!0});l=t.text,d=t.fills??null,f=t.skips??null,p=t.color}catch(e){console.warn(`Invalid formatCode: `+l,s,e)}let h=m.isDateFormat(s),g=m.isTimeFormat(s),_=h||g?mr(r,e?.isDate1904()??!1):null;l===null&&(u=`#`,l=u.repeat(5));let v=null,y=i.getAlignment(),b=y.getHorizontal(),x=y.getVertical(),S=y.getOverflow(),C=!(a!==t.ScalarType.String||b===o.HorizontalAlignment.Fill||d!==null&&d.length!==0||S!==o.Overflow.Wrap&&b!==o.HorizontalAlignment.Justify&&b!==o.HorizontalAlignment.Distributed&&x!==o.VerticalAlignment.Justify&&x!==o.VerticalAlignment.Distributed),w=l;C||a!==t.ScalarType.String||(w=w.replaceAll(/\n/g,``));let T=f?f.length:0,E=d?d.length:0,D=T>0||E>0;if(S!==o.Overflow.Wrap||D){let e=i.getFont(),t=e.getSize();e.isSuperSub()&&(t*=e.getSuperSubScale());let n=[];for(let e=0;e<T;e++){let r=f[e],a=i.measureText(r.char,t).width;n.push({...r,type:`spacing`,width:a})}if(E>0){let e=d[E-1],r=i.measureText(e.char,t).width;n.push({...e,type:`repeat`,width:r})}n=n.sort((e,t)=>e.offset-t.offset);let r=[],a=0,o=0,s=-1,c=-1,l=e=>{let n={type:`text`,width:i.measureText(e,t).width,text:e};r.push(n),o+=n.width,a+=e.length},u=n.length;for(let e=0;e<u;e++){let t=n[e];if(c!==t.offset){let e=w.substring(a,t.offset);e&&l(e)}let i={type:t.type,width:t.width,text:t.char};t.type===`repeat`?s=r.length:o+=i.width,r.push(i),c=t.offset}if(a<w.length){let e=w.substring(a,w.length);e&&l(e)}v={runs:Object.freeze(r),length:a,width:o,lastRepeatIndex:s}}let O={displayText:l??``,conditionalColor:p?c(p):null,repeatChars:d??n.CommonUtils.EmptyArray,spacingChars:f??n.CommonUtils.EmptyArray,errorPlaceholder:u,formattedRuns:v,canWrap:C,asDate:_,isDateFormat:h,isTimeFormat:g};return Object.freeze(O)}function xx(e){let t=typeof e==`number`?Number(e.toPrecision(15)):e,r=n.CommonUtils.castToString(t),i=r.indexOf(`e`);if(i===-1)return r;let a=r.substring(i+2);return`${r.substring(0,i)}E${r[i+1]}${a.length<2?`0`+a:a}`}function Sx(e,n){if(e==null)return``;switch(n){case t.ScalarType.Number:return xx(e);case t.ScalarType.Boolean:return _o(e);case t.ScalarType.Error:{let n=e;return typeof n?.getLabel==`function`?vo(n):t.FormulaError.Label.Unknown}}return``+e}function Cx(e,t,n,r){return{x:e*r-t*n,y:e*n+t*r}}function wx(e){let t=0,n=0,r=0,i=0,a=0,o=0,s=0,c=e.length;if(c===0)return{m:0,b:0};if(c===1)return{m:1,b:e[0]};for(let l=0;l<c;l++)o=l+1,s=e[l],s==null||isNaN(s)||(t+=o,n+=s,i+=o*o,r+=o*s,a++);let l=(a*r-t*n)/(a*i-t*t);return{m:l,b:n/a-l*t/a}}var Tx=class{constructor(e,t){this._c=e,this._tvTl=t}tvTl(){return this._tvTl(this._c)}getCoords(){return this._c}},Ex=class e{get _block(){return this._blockOwn}constructor(e,t,n){this._coords=e,this._blockOwn=t,this._options=n}getTokens(e){let t=this._coords??n.CoordUtils.EmptyCell;return this._block.getTokensAt(t.rowIndex,t.colIndex,e)}isValid(){return!this._block.getError()}autoCorrect(){return this.isValid()?null:this._options.autoCorrect?.(this.getExpression(),this._coords??void 0)??null}evaluate(e){let t=this._coords??n.CoordUtils.EmptyCell,r=typeof e==`number`?e:e?.evalIndex,i=this._block.evaluateAt(t.rowIndex,t.colIndex,r);return this._block.finalizeValue(i)}getCalculationStatus(){return _b.Status.Ready}getReferences(){let e=this._coords;return e?this._resolveReferences(this._options.getCalcGrid?.()?.getReferencesAt(e.rowIndex,e.colIndex)):null}hasRefError(){let e=this._coords;return!!e&&Ox(this._options.getCalcGrid?.()?.getReferencesAt(e.rowIndex,e.colIndex))}_resolveReferences(e){if(!e?.length)return null;let n=this._options.resolveSheetScope,r=[];for(let i of e)if(i&&!t.FormulaError.isError(i))if(`nameId`in i)r.push(i.nameId);else{let e=i;if(e.scope&&n){let t=n(e.scope);t&&(e={...e,scope:t})}else if(!e.scope){let t=this._options.getOwnScope?.();t&&(e={...e,scope:t})}r.push(e)}else r.push(null);if(!r.some(e=>e!==null))return null;try{return this._options.getRanges(r)}catch{let e=r.map(e=>{if(e===null)return null;try{return this._options.getRanges([e]),e}catch{return null}});return e.some(e=>e!==null)?this._options.getRanges(e):null}}setReferenceAt(t,r,i){let a=this._coords,o=this._options,s=o.getCalcGrid?.();if(!a||!s)return n.CommonUtils.EmptyArray;let c=o.getRange(r),l=c?.isINamedRange?{nameId:c.getId()}:c.getCoords()??null;if(typeof r==`string`&&!r.includes(`:`)&&l?.colStart!==void 0){let e=l,t={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1};e.scope&&(t.scope=e.scope),l=t}let u=(0,n.t)(`op.updateFormulaAt`,{address:o.getRange(a).getAddress()}),d;return i&&typeof i!=`string`&&!i.description&&((i={...i}).description=u),o.doBatchCalcGrid(e=>{let r=a.rowIndex,i=a.colIndex;return e.setReferenceAt(r,i,t,l),d=e.getFormulaBlockAt(r,i),n.CoordUtils.cellToRange(a)},i??u),new e(a,d,o)}setReferenceModeAt(t,r=`self`,i,a){let o=this._coords??n.CoordUtils.EmptyCell,s=this._options,c=s.getCalcGrid().getReferencesAt(o.rowIndex,o.colIndex)[t];if(!c||`nameId`in c)throw Error(`Reference at index ${t} is not a cell reference and cannot have its style changed.`);let l=c,u=s.getRange(o),d=u?(0,n.t)(`op.updateReferenceStyleAt`,{address:u.getAddress()}):(0,n.messageKey)(`op.updateReferenceStyle`);a&&typeof a!=`string`&&!a.description&&((a={...a}).description=d);let f=kx(l,r,i),p;return s.doBatchCalcGrid(e=>{let r=o.rowIndex,i=o.colIndex;return e.setReferenceAt(r,i,t,f),p=e.getFormulaBlockAt(r,i),n.CoordUtils.cellToRange(o)},a??d),new e(o,p,s)}isReferenceOnly(){return this._block.isReferenceOnly()}isVolatile(){let e=this._coords;return!!e&&(this._options.getCalcGrid?.()?.isVolatileAt(e.rowIndex,e.colIndex)??!1)}getExpression(e){let t=e?.cell??this._coords??n.CoordUtils.EmptyCell,r=e?.r1c1??!1;return this._block.getTextAt(t.rowIndex,t.colIndex,r,e?.formulaTransform,e?.evalIndex,e?.canonical)}getAnchor(){return this._coords}shift(e){return this._options.createAt?.(this.getExpression({cell:e}),e)??null}get[Symbol.toStringTag](){return`[Formula]`}toString(){return this.getExpression()}get isIFormula(){return!0}},Dx=class e extends Ex{constructor(e,t,n,r){super(e,t,n),this._doEval=r}evaluate(e){let t=this._block;return this._doEval(t,e)}getReferences(){let e=this._coords;if(!e)return null;let t=this._block.getReferences(e.rowIndex,e.colIndex);return this._resolveReferences(t?.map(t=>t?.colStart===void 0?t:Su(t,e.rowIndex,e.colIndex)))}hasRefError(){let e=this._coords??n.CoordUtils.EmptyCell;return Ox(this._block.getReferences(e.rowIndex,e.colIndex))}setReferenceAt(t,n){let r=this._coords;if(!r)return this;let i=this._options.getRange(n),a=i?.isINamedRange?{nameId:i.getId()}:i.getCoords()??null,o=typeof n==`string`?n.includes(`!`):n?.colStart===void 0||!!n.scope;a?.scope&&!o&&(a={...a,scope:void 0});let s=a?.colStart===void 0?a:Cu(a,r.rowIndex,r.colIndex);if(typeof n==`string`&&!n.includes(`:`)&&s?.colStart!==void 0){let e=s,t={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1};e.scope&&(t.scope=e.scope),s=t}return new e(r,this._block.setReferenceAt(t,s),this._options,this._doEval)}setReferenceModeAt(e,t=`self`,n,r){let i=this._coords;if(!i)return this;let a=this._block.getReferences(i.rowIndex,i.colIndex)?.[e];if(!a||`nameId`in a||a.colStart===void 0)return this;let o=a;if(o.scope&&this._options.resolveSheetScope){let e=this._options.resolveSheetScope(o.scope);e&&(a={...o,scope:e})}let s=Su(a,i.rowIndex,i.colIndex);return this.setReferenceAt(e,kx(s,t,n))}};function Ox(e){if(!e?.length)return!1;for(let n=0;n<e.length;n++){let r=e[n];if(!r||t.FormulaError.isError(r))return!0}return!1}var kx=(e,t=`self`,n)=>{let r=t===`right`,i=n;if(i===void 0){let t=r?e.$colEnd:e.$colStart,n=r?e.$rowEnd:e.$rowStart;i=t&&n?0:n&&!t?1:t&&!n?2:3}let a=i+1;(a>3||a<0)&&(a=0);let o=a===0||a===1,s=a===0||a===2,c={...e};return t===`self`?(c.$rowStart=o,c.$colStart=s,c.$rowEnd=o,c.$colEnd=s):t===`right`?(c.$rowEnd=o,c.$colEnd=s):(c.$rowStart=o,c.$colStart=s),c},Ax=(e,t)=>e+t,jx=(e,t)=>e-t,Mx=(e,t)=>e*t,Nx=(e,n)=>n===0?t.FormulaError.BuiltIn.Div0:e/n,Px=(e,n)=>{if(e===0){if(n<0)return t.FormulaError.BuiltIn.Div0;if(n===0)return NaN}return e**n},Fx=(e=``,n=``)=>{e===null&&(e=``),n===null&&(n=``);let r=typeof n;typeof e==`boolean`&&(e=_o(e)),r===`boolean`&&(n=_o(n));let i=``+e+n;return i.length>t.Scalar.MAX_TEXT_LENGTH?i.slice(0,t.Scalar.MAX_TEXT_LENGTH):i},Ix=(e,t=null,n=null)=>e.compare(t,n)===0,Lx=(e,t=null,n=null)=>e.compare(t,n)!==0,Rx=(e,t=null,n=null)=>e.compare(t,n)>0,zx=(e,t=null,n=null)=>e.compare(t,n)>=0,Bx=(e,t=null,n=null)=>e.compare(t,n)<0,Vx=(e,t=null,n=null)=>e.compare(t,n)<=0,Hx={type:t.ScalarType.Number,coerce:[t.ScalarType.Boolean,t.ScalarType.String],onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},Ux={type:t.ScalarType.String,coerce:[t.ScalarType.Boolean,t.ScalarType.Number],onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},Wx={onError:`value`,misalignValue:t.FormulaError.BuiltIn.NA},Gx=(e,n,r,i)=>{if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;if(typeof n==`number`&&typeof r==`number`)return i(n,r);let a,o;if(n?.isIRange?a=n:r?.isIRange&&(o=r),!a&&!o){let a=e.getRuntime();return n=qO(a,n,RO(n,!0),t.ScalarType.Number,!0),r=qO(a,r,RO(r,!0),t.ScalarType.Number,!0),n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:i(n,r)}let s=!a,c=s?n:r;return(a??o).broadcast(c,(n,r)=>n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:tk(s?i(r,n):i(n,r),e),Hx).fillEmpty(0)},Kx=(e,n,r,i)=>{if(!0===n?.isLambda||!0===r?.isLambda)return t.FormulaError.BuiltIn.Value;if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;let a,o,s=!1;return n?.isIRange?(a=n,o=r):r?.isIRange&&(a=r,o=n,s=!0),a?a.broadcast(o,(n,r)=>n&&t.FormulaError.isError(n)?n:r&&t.FormulaError.isError(r)?r:s?i(e,r,n):i(e,n,r),Wx):t.FormulaError.isError(n)?n:t.FormulaError.isError(r)?r:i(e,n,r)},qx=(e,n,r)=>{if(r??=0,r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;let i,a=1;if(n===`+`)return r;if(n!==`-`)throw new t.FormulaError.Value(`Unrecognized prefix: ${n}`);return a=-a,r?.isIRange&&(i=r),i?i.broadcast(a,(e,n)=>e&&t.FormulaError.isError(e)?e:n&&t.FormulaError.isError(n)?n:Mx(e,n),Hx):typeof(r=qO(e.getRuntime(),r,RO(r,!0),t.ScalarType.Number,!0))==`number`?r*a:t.FormulaError.BuiltIn.Value},Jx=e=>e.getCode()<=t.FormulaError.Code.NA?e:t.FormulaError.BuiltIn.Value,Yx=(e,n,r,i)=>{if(t.FormulaError.isError(n))return Jx(n);if(r&&t.FormulaError.isError(r))return Jx(r);if(!n)return t.FormulaError.BuiltIn.Ref;if(n.isIReferenceRange&&r&&!r.isIReferenceRange?r=e.getReference(r):r&&r.isIReferenceRange&&n&&!n.isIReferenceRange&&(n=e.getReference(n)),n.isIReferenceRange&&(n=n.getCoords()),n.colStart===void 0||(r.isIReferenceRange&&(r=r.getCoords()),r.colStart===void 0))return t.FormulaError.BuiltIn.Value;let a=i(n,r);return t.FormulaError.isError(a)?a:a?e.getReference(a):t.FormulaError.BuiltIn.Null},Xx={"+":(e,t,n)=>Gx(e,t,n,Ax),"-":(e,t,n)=>Gx(e,t,n,jx),"*":(e,t,n)=>Gx(e,t,n,Mx),"/":(e,t,n)=>Gx(e,t,n,Nx),"^":(e,t,n)=>Gx(e,t,n,Px)," ":(e,t,n,r)=>Yx(e,t,n,Ru),":":(e,t,n,r)=>Yx(e,t,n,zu),".:.":(e,t,n,r)=>{let i=Yx(e,t,n,zu);return e.getFunction(`TRIMRANGE`).execute(i,3,3)},".:":(e,t,n,r)=>{let i=Yx(e,t,n,zu);return e.getFunction(`TRIMRANGE`).execute(i,1,1)},":.":(e,t,n,r)=>{let i=Yx(e,t,n,zu);return e.getFunction(`TRIMRANGE`).execute(i,2,2)},"&":(e,n,r)=>((e,n,r,i)=>{if(n!==null&&n.colStart!==void 0&&(n=e.getValueAt(n.rowStart,n.colStart,n.scope))&&t.FormulaError.isError(n))return n;if(r!==null&&r.colStart!==void 0&&(r=e.getValueAt(r.rowStart,r.colStart,r.scope))&&t.FormulaError.isError(r))return r;if(typeof n==`string`&&typeof r==`string`)return i(n,r);let a,o;if(n?.isIRange?a=n:r?.isIRange&&(o=r),!a&&!o){let a=e.getRuntime();return n=qO(a,n,RO(n,!0),t.ScalarType.String,!1),r=qO(a,r,RO(r,!0),t.ScalarType.String,!1),t.FormulaError.isError(n)?n:t.FormulaError.isError(r)?r:i(n,r)}let s=!a,c=s?n:r;return(a??o).broadcast(c,(e,n)=>e&&t.FormulaError.isError(e)?e:n&&t.FormulaError.isError(n)?n:s?i(n,e):i(e,n),Ux)})(e,n,r,Fx),"=":(e,t,n)=>Kx(e,t,n,Ix),"<>":(e,t,n)=>Kx(e,t,n,Lx),">":(e,t,n)=>Kx(e,t,n,Rx),"<":(e,t,n)=>Kx(e,t,n,Bx),">=":(e,t,n)=>Kx(e,t,n,zx),"<=":(e,t,n)=>Kx(e,t,n,Vx)},Zx={"-":(e,t)=>qx(e,`-`,t),"+":(e,t)=>qx(e,`+`,t),"@":(e,n)=>{if(!n||!n.isIRange)return n;let r=n;if(!n.isIReferenceRange)return r.getValueAt(0,0);let i=n.getCoords(),a=r.getRowCount(),o=r.getColumnCount();if(o>1&&a>1)return t.FormulaError.BuiltIn.Value;if(a>1){let t=e.getRow()-i.rowStart;if(t>=0&&t<a)return r.getValueAt(t,0)}else{if(!(o>1))return r.getValueAt(0,0);{let t=e.getColumn()-i.colStart;if(t>=0&&t<o)return r.getValueAt(0,t)}}return t.FormulaError.BuiltIn.Value}},Qx={"%":(e,t)=>Gx(e,t,100,Nx),"#":(e,n)=>t.FormulaError.isError(n)?Jx(n):n?(n.isIReferenceRange&&(n=n.getCoords()),n.colStart===void 0?t.FormulaError.BuiltIn.Value:n.rowStart!==n.rowEnd||n.colStart!==n.colEnd?t.FormulaError.BuiltIn.Ref:e.getSpillAt(n.rowStart,n.colStart,n.scope)||t.FormulaError.BuiltIn.Ref):t.FormulaError.BuiltIn.Ref};function $x(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].type===t)return e[n]}var eS=class{constructor(){this.referenceIndices=[],this.rootReferences=new Set,this.cells=new Map,this.references=new Map,this.names=new Map}processNode(e,t){let n=e.type;if(e.isReference){let t={node:e,index:this.references.size,op:null,value:null,inputs:null};if(this.references.set(e,t),n===$.Cell){let n=e.value;n.$colIndex&&(t.hasHorizontalAbs=!0),n.$rowIndex&&(t.hasVerticalAbs=!0),t.value=this.cells.size,this.cells.set(e,this.cells.size),this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,this.referenceIndices.push(t.index);return}if(n===$.Infix||n===$.Prefix||n===$.Postfix||n===$.List){let n=e.inputs||[],r=n.length,i=e.value;t.op=i;let a=rk(r);t.inputs=a;for(let e=0;e<r;e++){let r=n[e],i=this.references.get(r);i?(i.hasHorizontalAbs&&(t.hasHorizontalAbs=!0),i.hasVerticalAbs&&(t.hasVerticalAbs=!0),a[e]=i.index):a[e]=-1,i&&this.rootReferences.delete(i)}if(this.rootReferences.add(t),fS.includes(i)){let r=n[0],i=!!r&&r.type===$.Cell,a=n[1],o=!!a&&a.type===$.Cell;i&&o&&a.referenceIndex!==void 0&&r.referenceIndex!==void 0&&(this.referenceIndices.splice(a.referenceIndex,1),a.referenceIndex=r.referenceIndex,e.referenceIndex=r.referenceIndex,this.referenceIndices[r.referenceIndex]=t.index)}else i===`#`&&n[0]&&(e.referenceIndex=n[0].referenceIndex);return}if(n===$.Error||n===$.Named){let r=n===$.Named?e.value.nameId:lx(e.value),i=this.names.get(r);t.op=n,i===void 0&&(i=this.names.size,this.names.set(r,i)),t.value=i,this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,this.referenceIndices.push(t.index);return}if(n===$.TableReference)return t.op=n,this.rootReferences.add(t),e.referenceIndex=this.referenceIndices.length,void this.referenceIndices.push(t.index)}else if(t&&t.isReference){let t={node:e,index:this.references.size,op:$.Function,value:e.value,inputs:null};this.references.set(e,t)}}};function tS(e,t=!1,n=Fb){let r=[],i=(e,n,i)=>{let a={type:e.type,value:e.value};e.image!==void 0&&(a.text=(e=>{let n=t?e.value?.scopeImage:void 0;return typeof n==`string`?n:``})(e)+e.image);let o=e.evalIndex??i;return o!==void 0&&(a.evalIndex=o),n&&(a.context=n),e.referenceIndex!==void 0&&(a.referenceIndex=e.referenceIndex),e.isReference&&(a.isReference=!0),r.push(a),a},a=(e,t,n,i,a)=>{if(t==null||r.length>1&&e===$.Whitespace&&r[r.length-1].type===$.Whitespace)return;let o={type:e,value:t,text:a??t};i!==void 0&&(o.evalIndex=i),n&&(o.context=n),r.push(o)};(function e(t,o,s){let c=t.evalIndex??s??0,l=t.type,u=(t,r,i)=>{if(!t)return;let o=t.length;for(let s=0;s<o;s++)e(t[s],r,i),s<o-1&&a($.Separator,`,`,r,i,n.separatorFunction)};if(t.isLiteral){if(a($.Whitespace,t.wsBefore,o,c),l===$.Array){a($.Type,`{`,o,c);let r=t.value,i=r.length;for(let t=0;t<i;t++){let s=r[t],l=s.value,u=l.length;for(let t=0;t<u;t++){let r=l[t];a($.Whitespace,r.wsBefore,o,c),e(r,o,c),a($.Whitespace,r.wsAfter,o,c),t<u-1&&a($.Separator,`,`,o,c,n.separatorColumn)}t<i-1&&(a($.Whitespace,s.wsBefore,o,c),a($.Separator,`;`,o,c,n.separatorRow),a($.Whitespace,s.wsAfter,o,c))}t.error||a($.Type,`}`,o,c)}else l===$.String&&(t={type:l,value:`"`+`${t.value}`.replace(/"/g,`""`)+`"`,image:t.image}),i(t,o,c);a($.Whitespace,t.wsAfter,o,c)}else if(l===$.Infix)e(t.inputs[0],o,c),a($.Whitespace,t.wsBefore,o,c),i(t,o,c),a($.Whitespace,t.wsAfter,o,c),e(t.inputs[1],o,c);else if(l===$.Prefix)a($.Whitespace,t.wsBefore,o,c),i(t,o,c),a($.Whitespace,t.wsAfter,o,c),t.inputs&&e(t.inputs[0],o,c);else if(l===$.Postfix){t.inputs?.[0]&&e(t.inputs[0],o,c),a($.Whitespace,t.wsBefore,o,c);let n=i(t,o,c),s=r[r.length-2];t.value===`#`&&n.text!==void 0&&!t.wsBefore&&s?.isReference&&(s.text=(s.text??``)+n.text,n.text=``),a($.Whitespace,t.wsAfter,o,c)}else{a($.Whitespace,t.wsBefore,o,c);let s=t.inputs;switch(l){case $.Function:{let i=String(t.value),l={type:$.Function,value:i,text:t.image??i,evalIndex:t.evalIndex};o&&(l.context=o),l.isLookup=!0,t.referenceIndex&&(l.referenceIndex=t.referenceIndex),r.push(l);let u={name:i,argIndex:-1,type:`function`};if(a($.Paren,`(`,u,t.evalIndex),s){let t=s.length;for(let r=0;r<t;r++){let i={...u,argIndex:r};e(s[r],i,c),r<t-1&&a($.Separator,`,`,i,c,n.separatorFunction)}}t.error||a($.Paren,`)`,u,t.evalIndex);break}case $.Call:{let r=function(e){return e.inputs?.[0]}(t);r&&e(r,o,c);let i={name:r?.type===$.Named?r.value.nameId:``,argIndex:-1,type:`function`};a($.Paren,`(`,i,t.evalIndex);let s=function(e){let t=e.inputs;return t&&t.length>1?t.slice(1):[]}(t),l=s.length;for(let t=0;t<l;t++){let r={...i,argIndex:t};e(s[t],r,c),t<l-1&&a($.Separator,`,`,r,c,n.separatorFunction)}t.error||a($.Paren,`)`,i,t.evalIndex);break}case $.Cell:i(t,o,c);break;case $.Paren:a(l,`(`,o,c),u(s,o,c),t.error||a(l,`)`,o,c);break;case $.TableReference:{let n=t.value?.tableId??``,i={name:n,argIndex:-1,type:`table`},l=r.length;if(n&&(a($.TableReference,n,o,c),r[r.length-1].isLookup=!0),a($.Paren,`[`,i,c),s){let t=s.length;for(let n=0;n<t;n++){let r={...i,argIndex:n};e(s[n],r,c),n<t-1&&a($.Separator,`,`,r,c)}}t.error||a($.Paren,`]`,i,c);let u=t.referenceIndex;for(let e=l;e<r.length;e++)u!==void 0&&(r[e].referenceIndex=u),r[e].isReference=!0;break}case $.TableSpecifier:{let e=t.image,n=t.value,r=e!=null&&e.startsWith(`[`)&&e.endsWith(`]`);a($.TableSpecifier,r?`[${n}]`:n,o,c);break}case $.TableColumn:{let e=t.image,n=t.value,r=e!=null&&e.startsWith(`[`)&&e.endsWith(`]`);a($.TableColumn,r?`[${n}]`:n,o,c);break}case $.List:u(s,o,c);break;case $.Named:{let e=i(t,o,c),n=t.value;e.value=n.scope?{name:n.nameId,scope:n.scope}:{name:n.nameId},t.binding?.declaration&&t.binding.optional&&(e.value.optional=!0),e.isLookup=!0,delete e.referenceIndex;break}default:t.value!==void 0&&i(t,o,c),s&&s.forEach(t=>e(t,o,c))}a($.Whitespace,t.wsAfter,o,c)}})(e);let o=new Map;for(let e of r)if(e.type===$.Cell&&e.referenceIndex!==void 0){let t=o.get(e.referenceIndex);t?t.push(e):o.set(e.referenceIndex,[e])}for(let e of o.values())e.length===1?e[0].refSide=`self`:(e[0].refSide=`left`,e[e.length-1].refSide=`right`);let s=new Map;for(let e of r)if(e.isReference&&e.referenceIndex!==void 0&&e.evalIndex!==void 0){let t=s.get(e.referenceIndex);(t===void 0||e.evalIndex<t)&&s.set(e.referenceIndex,e.evalIndex)}if(s.size>0){for(let e of r)if(e.isReference&&e.referenceIndex!==void 0){let t=s.get(e.referenceIndex);t!==void 0&&(e.evalIndex=t)}}return r}function nS(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e[r],a=i.type;if(a===$.Cell||a===$.Named||a===$.Error){let e=a===$.Cell?i.value?.scope:i.value?.scope??void 0,r=a===$.Error?i.text!==void 0&&ux(i.text):i.text?.includes(`!`)??!1;if(e&&i.text!==void 0&&!r){n+=Kl(t?.resolve(Of,e)?.toString()??e)+`!`+i.text;continue}if(a===$.Named){n+=i.text??i.value?.name??``;continue}}let o=i.text??i.value;typeof o==`string`&&(n+=o)}return n}function rS(e,t){let n;if(fx(e,e=>{e.evalIndex===t&&(n=e)}),!n)return[];let r=tS(n);return r.length>1&&r[0].type===$.Whitespace&&r.shift(),r.length>1&&r[r.length-1].type===$.Whitespace&&r.pop(),r}function iS(e){return fx(e,e=>{if(e.type!==$.TableReference)return;let t=function(e){if(e.value!==null&&typeof e.value==`object`)return e.value;let t=e.value,n=e.inputs,r=!1,i=!1,a=!1,o=!1,s=null,c=null,l=!1,u=e=>{e?.type===$.TableColumn&&(s=e.value,c=e.value)};if(n)for(let e of n){let t=e.type;if(t===$.TableSpecifier){let t=e.value.toUpperCase().trim();t===`#ALL`?i=!0:t===`#HEADERS`?a=!0:t===`#TOTALS`?o=!0:t===`#DATA`?r=!0:t!==`@`&&t!==`#THIS ROW`||(l=!0)}else if(t===$.TableColumn)u(e);else if(t===$.Infix&&e.value===`:`){let t=e.inputs?.[0],n=e.inputs?.[1];t?.type===$.TableColumn&&(s=t.value),n?.type===$.TableColumn&&(c=n.value)}else t===$.Prefix&&e.value===`@`&&(l=!0,u(e.inputs?.[0]))}let d;return d=i?1:a&&r?4:o&&r?5:a?2:o?3:0,{tableId:t,spec:d,columnFromId:s,columnToId:c,isThisRow:l}}(e);return{...e,value:t}})}var aS=e=>{if(e?.type!==$.TableSpecifier)return 4;switch(e.value.toUpperCase().trim()){case`#ALL`:return 0;case`#HEADERS`:return 1;case`#DATA`:return 2;case`#TOTALS`:return 3;default:return 4}};function oS(e){if(!e)return n.CommonUtils.EmptyArray;let t=n.CommonUtils.EmptyArray;return fx(e,e=>{if(e.type!==$.Named||e.binding)return;let r=e.value.nameId;r&&(t===n.CommonUtils.EmptyArray&&(t=[]),t.includes(r)||t.push(r))}),t}var sS=new Set([`SUBTOTAL`,`AGGREGATE`]);function cS(e,t){if(!e||!t)return!1;let n=!1;return fx(e,e=>{if(n||e.type!==$.Function)return;let r=t(e.value)?.getName();r&&sS.has(r.toUpperCase())&&(n=!0)}),n}function lS(e){if(!e)return n.CommonUtils.EmptyArray;let t=n.CommonUtils.EmptyArray;return fx(e,e=>{let r=null;if(e.type===$.Named){if(e.binding)return;r=e.value.nameId??null}else e.type===$.TableReference&&(r=typeof e.value==`string`?e.value:null);r&&(t===n.CommonUtils.EmptyArray&&(t=[]),t.includes(r)||t.push(r))}),t}function uS(e,t,n,r=!1,i=null,a=null){let o=n,s,c;o=iS(o),r||(o=fx(o,e=>{if(e.type!==$.TableReference)return;let t=e.inputs;if(!t||t.findIndex(e=>e.type===$.TableSpecifier&&e.value.toUpperCase().trim()===`#THIS ROW`)===-1)return;let n=[],r;for(let e of t)e.type===$.TableSpecifier&&e.value.toUpperCase().trim()===`#THIS ROW`||(e.type!==$.TableColumn&&(e.type!==$.Infix||e.value!==`:`)||r?n.push(e):r=e);if(!r)return n.push({type:$.Prefix,value:`@`,inputs:null,isReference:!0}),{...e,inputs:n};let i=r.image??r.value,a=i.startsWith(`[`)&&i.endsWith(`]`)?{...r,image:i.slice(1,-1)}:r;return n.push($b(`@`,a,!0)),{...e,inputs:n}}),o=function(e){return fx(e,e=>{if(e.type!==$.TableReference)return;let t=e.inputs;if(!t||t.length<2)return;let n=t.map((e,t)=>({input:e,index:t,rank:aS(e)})).sort((e,t)=>e.rank-t.rank||e.index-t.index).map(e=>e.input);return n.every((e,n)=>e===t[n])?void 0:{...e,inputs:n}})}(o)),[s,c]=function(e){let t=new Map,n=0,r=[e];for(;r.length>0;){let e=r.shift();if(t.set(e,{...e,evalIndex:n++}),e&&e.inputs)for(let t of e.inputs)r.push(t)}return t.forEach((e,n)=>{n&&n.inputs&&(e.inputs=n.inputs.map(e=>t.get(e)??e))}),[t.get(e),n]}(o);let l=rk(c),u=[],d=[],f=new eS,p=!1;s=fx(s,(t,n,r)=>{let i=t.type,a=t.evalIndex;if(l[a]=null,i===$.TableColumn||i===$.TableSpecifier||t.isReference&&$x(r,$.TableReference))return;if(p||=!_S(t),t.binding?.declaration)return d[t.binding.slot]=-1,void(l[a]=void 0);let o=(e=>{for(let t=e.length-1;t>=0;t--)if(e[t].binder?.kind===`lambda`)return!0;return!1})(r);o&&i===$.Named&&(t.deferredResolve=!0);let s=t.binder;if(s&&s.kind===`let`){let e=t.inputs,n=e?.length??0,r=0;for(let t=0;t+1<n&&r<s.slots.length;t+=2)e[t]?.binding?.declaration&&(d[s.slots[r++]]=e[t+1]?.evalIndex??-1)}if((t.isReference||n&&n.isReference)&&(f.processNode(t,n),t.isReference)){if(i===$.Cell||i===$.TableReference||i===$.Error||i===$.Named)return;if(i===$.Infix||i===$.Prefix||i===$.Postfix||i===$.List)return void(o||u.push(t))}if(t.isLiteral)if(i!==$.Array)l[a]=t.value;else{let n=t.value,r=n.length,i=rk(r);for(let e=0;e<r;e++){let t=n[e].value,r=t.length,a=rk(r);for(let e=0;e<r;e++){let n=t[e],r=null;if(n&&(r=n.type===$.Error?lx(n.value):n.value,n.type===$.Prefix)){let e=n.value;r=n.inputs[0].value,e===`-`&&(r=-r)}a[e]=r}i[e]=a}let o=nk(i);l[a]=new zk(e,o.values,o.coords,void 0,o.isLiteral)}else{if(i!==$.Empty)return o||u.push(t),t;l[a]=void 0}});let m=rk(f.cells.size);f.cells.forEach((e,t)=>{let n=t.value,r=n.colIndex,i=n.rowIndex,a=n.$colIndex,o=n.$rowIndex,s={colStart:r,rowStart:i,colEnd:r,rowEnd:i,$colStart:a,$rowStart:o,$colEnd:a,$rowEnd:o};r===-(2**53-1)&&(s.colEnd=2**53-1),i===-(2**53-1)&&(s.rowEnd=2**53-1),n.scope&&(s.scope=n.scope),m[e]=s});let h=m.length,g=rk(h);for(let e=0;e<h;e++)g[e]={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null};let _=rk(f.references.size);f.references.forEach(e=>{_[e.index]=e});let v=[];f.rootReferences.forEach(e=>{v.push(e.index)});let y=u.length;for(let e=0;e<y;e++){let t=u[e],n=t.type;n===$.Infix?t.fn=Xx[t.value]:n===$.Prefix?t.fn=Zx[t.value]:n===$.Postfix&&(t.fn=Qx[t.value])}let b,x=r?Ib($n(e.getLocale()).decimal):Fb,S={runtime:e,symbols:t,getFunction:a,ast:s,evaluations:l,executions:u,bindings:d,referencesAbsolute:g,referencesExecute:_,referencesRelative:m,referencesRoot:v,referenceIndices:f.referenceIndices,getTokens:()=>b??=tS(s,r,x),namedIds:oS(s),symbolIds:lS(s),hasTotals:cS(s,a),isReferenceOnly:!p,error:i,transform:n=>{let o=fx(s,n);return o===s?S:uS(e,t,o,r,i,a)}};return S}function dS(e){let n=-1,r=-1;return Number.isSafeInteger(e.previousToken?.startLine)?(n=e.previousToken.startLine,r=e.previousToken.endColumn+1):Number.isSafeInteger(e.token?.startLine)&&(n=e.token.startLine,r=e.token.startColumn),n===-1?new t.FormulaError.Parse(e.message,{cause:e}):(e.errorLocation={line:n,column:r},new t.FormulaError.Parse(e.message,{line:n,column:r,cause:e}))}Object.freeze([[`:`,`.:.`,`.:`,`:.`],[`^`],[`*`,`/`],[`+`,`-`],[`&`],[`<`,`>`,`=`,`<>`,`<=`,`>=`]]);var fS=Object.freeze([`:`,`.:.`,`.:`,`:.`]),pS=Object.freeze([`:`,` `,`.:.`,`.:`,`:.`]),mS=Object.freeze([`@`]),hS=Object.freeze([`#`]),gS=Object.freeze(pS.concat(hS)),_S=(Object.freeze(pS.concat(mS).concat(hS)),e=>{if(!e)return!1;let t=e.type;if(t===$.Cell||t===$.TableReference)return!0;if(t===$.Infix){if(!pS.includes(e.value))return!1;let t=e.inputs,n=t[0],r=t[1];return _S(n)&&_S(r)}return t===$.List&&(e.inputs?.every(_S)??!1)}),vS=e=>!!e&&(!(e.type!==$.Infix||!gS.includes(e.value))||!(e.type!==$.Postfix||!hS.includes(e.value))||e.type===$.Array||e.type===$.TableReference),yS=Object.freeze([`+`,`-`,`*`,`/`,`^`,`&`,`=`,`<>`,`>`,`<`,`>=`,`<=`]),bS=Object.freeze([`-`,`+`]),xS=(e,t)=>{if(!e)return!1;let n=e.type;if(e.isLiteral)return n!==$.Error;if(n===$.Paren||n===$.List){let n=e.inputs;return!(!n||n.length===0)&&n.every(e=>xS(e,t))}if(n===$.Infix)return yS.includes(e.value);if(n===$.Prefix)return bS.includes(e.value);if(n===$.Postfix)return e.value===`%`;if(n===$.Function){if(!t)return!1;let n=t(e.value);if(!n)return!1;let r=n.getDeclaration().getReturnType(),i=r.getRangeType();return i!==`p`&&(i!==null||r.getLambda()===null&&r.getScalarType()!=null)}return!1},SS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Infix&&e.value===` `){let r=e.inputs,i=r?.[0],a=r?.[1];if(xS(i,t))return void(n=i);if(xS(a,t))return void(n=a)}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},CS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Postfix&&e.value===`#`){let r=e.inputs?.[0];if(r&&xS(r,t))return void(n=r)}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},wS=e=>{for(let t=0;t<e.length;t++)if(e[t].getRepeatingTypes())return t;return-1},TS=(e,t,n)=>{let r=e[t].getRepeatingTypes(),i=r.length,a=t,o=e.length-t-1,s=o;for(;s>0&&e[t+s].isOptional();)s--;let c=+!e[t].isOptional(),l=r[i-1].isOptional();for(let e=s;e<=o;e++){let t=n-a-e;if(t>=0&&t%i===0&&t/i>=c)return{n:t/i,short:!1,variable:t,period:i,prefix:a,suffix:e};if(l&&t===i-1)return{n:1,short:!0,variable:t,period:i,prefix:a,suffix:e}}return null},ES=e=>{if(!e)return null;let t=null,n=e=>{if(t||!e)return;if(e.type===$.Array&&Array.isArray(e.value)){let n=e.value,r=n[0]?.value?.length??0;for(let e=1;e<n.length&&!t;e++){let i=n[e]?.value?.length??0;i!==r&&(t=`Array rows must all be the same length — row ${e+1} has ${i} value${i===1?``:`s`}, but row 1 has ${r}.`)}}let r=e.inputs;if(r)for(let e=0;e<r.length&&!t;e++)n(r[e])};return n(e),t},DS=(e,t)=>{if(!e||!t)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Function){let r=e.value,i=t(r);if(i){let t=i.getDeclaration().getParameters(),a=e.inputs?.length??0,o=t.length>0?wS(t):-1,s=t.length>0&&t[t.length-1].isRest();if(o>=0){if(!TS(t,o,a)){let e=t[o].getRepeatingTypes().length,i=t.length-1;n=e===1?`Too few arguments for ${r}. Expected at least ${i+1}, but got ${a}.`:`Wrong number of arguments for ${r}. Expected ${i} plus a multiple of ${e}, but got ${a}.`}}else if(!s&&a>t.length)n=`Too many arguments for ${r}. Expected ${t.length}, but got ${a}.`;else for(let e=a;e<t.length&&!n;e++){let i=t[e];i.isOptional()||i.isRest()||(n=`Parameter ${i.getName()} is missing for ${r}.`)}}}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},OS=(e,t)=>{if(!e||!t)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Function){let r=t(e.value);if(r){let i=r.getDeclaration().getParameters(),a=e.inputs;if(i.length>0&&a){let e=((e,t)=>{let n=Array(t),r=e.length,i=r>0?wS(e):-1;if(i<0){let i=r>0?e[r-1]:null,a=!!i&&i.isRest();for(let o=0;o<t;o++)n[o]=o<r?e[o]:a?i:null;return n}let a=e[i].getRepeatingTypes(),o=a.length,s=i,c=TS(e,i,t),l=c?c.suffix:r-i-1,u=Math.max(0,t-s-l);for(let c=0;c<t;c++)if(c<s)n[c]=e[c];else if(c<s+u)n[c]=a[(c-s)%o];else{let t=i+1+(c-s-u);n[c]=t<r?e[t]:null}return n})(i,a.length);for(let r=0;r<a.length&&!n;r++){let i=e[r];i&&i.getRangeType()===`p`&&xS(a[r],t)&&(n=a[r])}}}}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},kS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;if(e.type===$.Call){let r=e.inputs?.[0];if(r&&xS(r,t))return void(n=`This expression always produces a value, so it cannot be called as a function.`)}let i=e.inputs;if(i)for(let e=0;e<i.length&&!n;e++)r(i[e])};return r(e),n},AS=(e,t)=>{if(e.type!==$.Function)return;let n=e.value;if(typeof n!=`string`)return;let r=(t?.(n)?.getName()??n).toUpperCase();return r===`LET`?`let`:r===`LAMBDA`?`lambda`:void 0},jS=e=>{if(e?.type!==$.Named)return;let t=e.value;return t?.nameId&&!t.scope&&!0!==t.optional?t.nameId:void 0},MS=/^[A-Za-z_\\][A-Za-z0-9_\\]*$/,NS=new Set([`TRUE`,`FALSE`]),PS=e=>{if(e?.type===$.Named){let t=e.value;return!0!==t?.optional||!t.nameId||t.scope?void 0:t.nameId}if(e?.type!==$.TableReference)return;let t=e.value,n;if(t===null||typeof t==`string`){if(t)return;let r=e.inputs;if(!r||r.length!==1||r[0]?.type!==$.TableColumn)return;let i=r[0].value;if(typeof i!=`string`)return;n=i}else{let e=t;if(!e||e.tableId!==``||e.spec!==0||!0===e.isThisRow||!e.columnFromId||e.columnFromId!==e.columnToId)return;n=e.columnFromId}return MS.test(n)&&!NS.has(n.toUpperCase())&&e.image===`[${n}]`?n:void 0},FS=e=>{let t=tx(e.image??e.value);t.image=e.image??e.value,t.wsBefore=e.wsBefore;let n={type:$.Call,value:null,inputs:[t,...e.inputs??[]],wsAfter:e.wsAfter};return e.error&&(n.error=e.error),n};function IS(e,t){return e&&t?fx(e,e=>{if(e.type===$.Function&&typeof e.value==`string`&&!t(e.value))return FS(e)}):e}function LS(e,t=null){if(!e)return e;let n=[],r=0,i=e=>{let t=e.inputs;if(!t)return e;let n;for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=a(r);i!==r&&(n||=[...t],n[e]=i)}return n?{...e,inputs:n}:e},a=e=>{if(!e)return e;let o=AS(e,t);if(o)return((e,t)=>{let o=e.inputs,s=o?.length??0;if(!o||s<1)return i(e);let c=n.length,l=[],u=[...o],d=(e,t=!1)=>{let i=u[e],a=jS(i),o=!1;if(a===void 0&&t){if(a=PS(i),a===void 0)return;o=!0}else if(a===void 0)return;let s=r++;n.push({key:a.toUpperCase(),slot:s,name:a}),l.push(s),u[e]=o?{...i,type:$.Named,value:{nameId:a,scope:null},inputs:null,binding:{slot:s,declaration:!0,optional:!0},isReference:!1}:{...i,binding:{slot:s,declaration:!0},isReference:!1}};if(t===`lambda`){for(let e=0;e<s-1;e++)d(e,!0);u[s-1]&&(u[s-1]=a(u[s-1]))}else{for(let e=0;e+1<s;e+=2)u[e+1]&&(u[e+1]=a(u[e+1])),d(e);s%2==1&&u[s-1]&&(u[s-1]=a(u[s-1]))}for(;n.length>c;)n.pop();return{...e,inputs:u,binder:{kind:t,slots:l}}})(e,o);if(e.type===$.Function&&typeof e.value==`string`){let t=e.value.toUpperCase();if(n.some(e=>e.key===t))return i(FS(e))}if(e.type===$.Named){let t=jS(e);if(t!==void 0){let r=t.toUpperCase();for(let i=n.length-1;i>=0;i--){if(n[i].key!==r)continue;let a={...e,binding:{slot:n[i].slot},isReference:!1};return t!==n[i].name&&(a.value={...e.value,nameId:n[i].name}),a}}return e}let s=i(e);if(s.type===$.Function&&typeof s.value==`string`&&(t?.(s.value)?.getName()??s.value).toUpperCase()===`ISOMITTED`){let e=s.inputs;if(e){let t;for(let n=0;n<e.length;n++){let r=e[n];r?.binding&&!r.binding.declaration&&!0!==r.rawFrameRead&&((t??=[...e])[n]={...r,rawFrameRead:!0})}if(t)return{...s,inputs:t}}}return s};return a(e)}var RS=(e,t)=>{if(!e)return null;let n=null,r=e=>{if(n||!e)return;let i=AS(e,t);i&&((e,t)=>{let r=t===`let`?`LET`:`LAMBDA`,i=e.inputs,a=i?.length??0;if(!i||a<2)return;if(t===`let`&&a%2==0)return void(n=`Wrong number of arguments for LET. Expected name/value pairs followed by a calculation, but got ${a}.`);let o=new Set,s=t===`let`?2:1,c=!1;for(let e=0;e<a-1;e+=s){let a=jS(i[e]);if(a===void 0&&t===`lambda`)a=PS(i[e]),a!==void 0&&(c=!0);else if(a!==void 0&&c)return void(n=`Required name '${a}' cannot follow an optional name in ${r}.`);if(a===void 0)return void(n=`Expected a name in ${r} argument ${e+1}; a name cannot be the output of a formula.`);if(a.includes(`.`))return void(n=`Expected a name in ${r} argument ${e+1}; a name cannot contain '.'.`);let s=a.toUpperCase();if(o.has(s))return void(n=`Duplicate name '${a}' in ${r}.`);o.add(s)}})(e,i);let a=e.inputs;if(a)for(let e=0;e<a.length&&!n;e++)r(a[e])};return r(e),n};function zS(e,t,n){return fx(e,(e,r,i=[])=>{let a,o=e.type;if(o===$.Cell){let n=e.value;if(n?.scope){let r=t.bind(Of,n.scope);r!==null&&(a||={...e},a.value={...n,scope:r})}}else if(o===$.Named){let r=e.value;if(r&&!e.binding){let i=r.scope?t.bind(Of,r.scope):null,o=(i===null?r.scope:t.resolve(Of,i)?.toString()??r.scope)??n,s=t.bind(kf,r.nameId,o?{scope:o}:void 0);s===null&&i===null||(a||={...e},a.value={...r,nameId:s??r.nameId,...i===null?void 0:{scope:i}})}}else if(o===$.Error){let n=e.value;if(n?.scope){let r=t.bind(Of,n.scope);r!==null&&(a||={...e},a.value={...n,scope:r})}}else if(o===$.TableReference){let n=e.value;if(n){let r=t.bind(Af,n);a||={...e},r!==null&&(a.value=r)}}else if(o===$.TableColumn){let n=e.value;if(n){let r=$x(i,$.TableReference)?.value,o=t.bind(jf,n,r?{tableName:r}:void 0);a||={...e},o!==null&&(a.value=o)}}else if(o===$.Function){let n=e.value;if(n){let r=t.bind(Mf,n);a||={...e},r!==null&&(a.value=r)}}return a})}var BS=Symbol(`sheetxl.formulaNode.internal`),VS=Symbol(`sheetxl.formulaNode.value`),HS=Symbol(`sheetxl.formulaNode.replaced`),US={canonical:!0},WS=(e,t)=>{let n=e.inputs,r=null;if(n){let e=n.length;r=Array(e);for(let i=0;i<e;i++){let e=n[i];r[i]=e&&WS(e,t)}}let i=((e,t)=>{let n=e.type,r=e.value;if(n===$.Named){let n=r,i=n?.nameId,a=n?.scope??null;return t&&(i=t.resolve(kf,i)?.toString()??i,a&&=t.resolve(Of,a)?.toString()??a),e.binding?.declaration&&e.binding.optional?{name:i,scope:a,optional:!0}:{name:i,scope:a}}if(!t)return r;switch(n){case $.Function:return t.resolve(Mf,r,US)?.toString()??r;case $.TableReference:{let e=typeof r==`string`?r:r?.tableId;return e?t.resolve(Af,e)?.toString()??e:``}case $.TableColumn:return t.resolve(jf,r)?.toString()??r;case $.Cell:{let e=r;if(e?.scope){let n=t.resolve(Of,e.scope)?.toString()??e.scope;return{...e,scope:n}}return r}case $.Error:{let e=r;if(e?.scope){let n=t.resolve(Of,e.scope)?.toString()??e.scope;return{...e,scope:n}}return r}default:return r}})(e,t);return{type:e.type,value:i,inputs:r,isReference:e.isReference,[BS]:e,[VS]:i}},GS=(e,t,n)=>{let r=e.inputs,i;if(r){let t=r.length;for(let a=0;a<t;a++){let t=r[a];if(!t)continue;let o=GS(t,e,n);o!==t&&(i||=[...r],i[a]=o)}}let a=e;i&&(a={...e,inputs:i});let o=n(a,t);return o==null||o===a?a:(o[BS]===void 0&&a[BS]!==void 0&&(o[HS]=a[BS]),o)},KS=[`:`,`.:.`,`.:`,`:.`,` `],qS=(e,t)=>{let n=e.type,r=e.value;switch(n){case $.Function:return Kb(String(r),t);case $.Infix:return Zb(r,t[0],t[1],e.isReference??KS.includes(r));case $.Prefix:return $b(r,t?.[0],e.isReference??r===`@`);case $.Postfix:return Qb(r,t?.[0],e.isReference??r===`#`);case $.Named:{let e=tx(typeof r==`string`?r:r?.name),t=typeof r==`object`?r?.scope:null;return t&&(e.value={...e.value,scope:t}),typeof r==`object`&&!0===r?.optional&&(e.value={...e.value,optional:!0}),e}case $.Cell:{let e=r,t=Ub(e);return e?.scope&&(t.value.scope=e.scope),t}case $.TableReference:return{type:$.TableReference,value:r,inputs:t??null,isReference:!0};case $.TableSpecifier:return{type:$.TableSpecifier,value:r,image:`[${r}]`,inputs:null,isReference:!0};case $.TableColumn:{let e=typeof r==`string`&&r.startsWith(`[`)?r:`[${r}]`;return{type:$.TableColumn,value:r,image:e,inputs:null,isReference:!0}}default:return{type:n,value:r,inputs:t??null,isReference:e.isReference}}},JS=e=>{let t=e[BS],n=e.inputs,r=null;if(n){let e=n.length;r=Array(e);for(let t=0;t<e;t++){let e=n[t];r[t]=e&&JS(e)}}if(t){let n=e.value!==e[VS],i=!1,a=t.inputs;if(r&&a&&r.length===a.length){for(let e=0;e<r.length;e++)if(r[e]!==a[e]){i=!0;break}}else i=(r?.length??0)!==(a?.length??0);if(!n&&!i)return t;if(!n)return{...t,inputs:r};let o=qS(e,r);return YS(o,t),o}let i=qS(e,r),a=e[HS];return a&&YS(i,a),i},YS=(e,t)=>{px(e,t),e.type!==t.type&&e.image!==void 0&&(e.image=void 0)};function XS(e,t,n){if(!e||typeof t!=`function`)return e;let r=WS(e,n),i=GS(r,void 0,t);return i===r?e:JS(i)}var ZS=class{constructor(e,t,n,r,i,a,o,s){this.params=e,this.body=t,this.owner=n,this.compiled=r,this.regs=i,this.frame=a,this.anchorRow=o,this.anchorCol=s,this.isLambda=!0}makeCallable(){let e=this.params,t=e.length;for(;t>0&&e[t-1].optional;)t--;let n=(...e)=>this.owner._applyValues(this,e);return n.isLambdaCallable=!0,n.checkArity=n=>n>=t&&n<=e.length,n.paramCount=e.length,n}get[Symbol.toStringTag](){return`[LambdaValue(${this.params.map(e=>e.name).join(`,`)})]`}},QS=class{constructor(e){this.fn=e,this.isLambda=!0}makeCallable(){let e=this.fn,n=(...n)=>{try{return e.execute(...n)}catch(e){if(Bd(e))throw e;return t.FormulaError.isError(e)?e:new t.FormulaError.Value(e?.message,{cause:e})}};return n.isLambdaCallable=!0,n.checkArity=()=>!0,n.paramCount=-1,n}get[Symbol.toStringTag](){return`[FunctionValue(${this.fn.getName?.()??``})]`}},$S=Symbol(`sheetxl.lambda.omitted`);function eC(e,t,n=!1){if(!t)return e;let r=n?{canonical:!0}:void 0,i=e.length,a=Array(i);for(let n=0;n<i;n++){let i=e[n],o=i.type;if(o===$.Cell){let e=i.value;if(e?.scope){let r=t.resolve(Of,e.scope)?.toString();if(r){let t=i.text===void 0||i.text.includes(`!`)?i.text:Kl(r)+`!`+i.text;a[n]={...i,value:{...e,scope:r},text:t};continue}}a[n]=i}else if(o===$.Named){let e=i.value,r=e.name,o=t.resolve(kf,r)?.toString()??r,s=e.scope;if(s){let r=t.resolve(Of,s)?.toString()??s,c=i.text===void 0||i.text.includes(`!`)?i.text:Kl(r)+`!`+i.text;a[n]={...i,value:{...e,name:o,scope:r},text:c}}else a[n]=o===r?i:{...i,value:{...e,name:o}}}else if(o===$.Error){let e=i.value,r=e?.scope;if(r){let o=t.resolve(Of,r)?.toString()??r,s=i.text===void 0||ux(i.text)?i.text:Kl(o)+`!`+i.text;a[n]={...i,value:{...e,scope:o},text:s}}else a[n]=i}else if(o===$.TableReference){let e=i.value,r=t.resolve(Af,e)?.toString()??e,o=i.text===e?r:i.text;a[n]=r===e?i:{...i,value:r,text:o}}else if(o===$.TableColumn){let e=i.value,r=e.startsWith(`[`)&&e.endsWith(`]`),o=r?e.slice(1,-1):e,s=t.resolve(jf,o)?.toString()??o,c=r?`[${s}]`:s,l=i.text===e?c:i.text;a[n]=c===e?i:{...i,value:c,text:l}}else if(o===$.Function){let e=i.value,o=t.resolve(Mf,e,r)?.toString()??e;a[n]=o===e?i:{...i,value:o}}else a[n]=i}return function(e,t,n){let r,i=e.length;for(let a=0;a<i;a++){let i=e[a],o=i.context;if(!o)continue;r??=new Map;let s=r.get(o);if(s===void 0){let e=o.type===`table`?Af:Mf,i=t.resolve(e,o.name,n)?.toString()??(e===Mf?t.resolve(kf,o.name)?.toString():void 0)??o.name;s=i===o.name?o:{...o,name:i},r.set(o,s)}s!==o&&(e[a]={...i,context:s})}return e}(a,t,r)}function tC(e,t,n=!1,r=0,i=0,a=zb){let o=``,s=xu,c=bu,l=a.separators,u=e.length;for(let d=0;d<u;d++){let u=e[d],f=u.type;if(f===$.Cell){let a=u.value;if(!n&&u.refSide===`left`&&!a.scope){let n=e[d+1],s=e[d+2];if(n&&n.value===`:`&&s&&s.type===$.Cell&&s.referenceIndex===u.referenceIndex){let e=s.value,n=Yl(Su({colStart:a.colIndex,rowStart:a.rowIndex,colEnd:e.colIndex,rowEnd:e.rowIndex,$colStart:a.$colIndex,$rowStart:a.$rowIndex,$colEnd:e.$colIndex,$rowEnd:e.$rowIndex},r,i),t);if(n!==null){o+=n,d+=2;continue}}}let l=a.colIndex;if(!a.$colIndex&&l!==-(2**53-1)&&l!==2**53-1&&!n){let e=l+i;if(e<0||!a.scope&&t&&(e<t.colStart||e>t.colEnd)){o+=`#REF!`;continue}}let f=a.rowIndex;if(!a.$rowIndex&&f!==-(2**53-1)&&f!==2**53-1&&!n){let e=f+r;if(e<0||!a.scope&&t&&(e<t.rowStart||e>t.rowEnd)){o+=`#REF!`;continue}}o+=n?c(a):s(a,r,i)}else if(f===$.Named){let e=u.value;e.scope&&(o+=Kl(e.scope)+`!`),o+=e.optional?`[${e.name}]`:e.name}else if(f===$.TableReference)o+=u.value;else if(f===$.TableColumn)o+=u.value;else if(f===$.TableSpecifier)o+=rC(u.value,a);else if(f===$.Empty)o+=``;else if(f===$.Boolean)o+=a.localizeBoolean(u.value);else if(f===$.Function)o+=u.value;else if(f===$.Separator)o+=u.value===`;`?l.separatorRow:l.separatorFunction;else if(f===$.Number){let e=String(u.value);o+=l.separatorDecimal===`.`?e:e.replace(`.`,l.separatorDecimal)}else if(f===$.Error){let e=u.value;e?.scope&&(o+=Kl(e.scope)+`!`),o+=a.localizeError(e?.error??u.value)}else o+=u.value}return o}function nC(e,t,n=zb){return tC(e,t,!0,0,0,n)}function rC(e,t){if(!t.localizeSpecifier)return e;let n=e.startsWith(`[`)&&e.endsWith(`]`),r=n?e.slice(1,-1):e;if(!r.startsWith(`#`))return e;let i=`#`+t.localizeSpecifier(r.slice(1));return n?`[${i}]`:i}var iC=class e{constructor(e,t,n,r,i,a){this._gridId=null,this._resolvers=null,this._compiled=e,this._context=t,this._calcScope=n,this._gridId=r,this._getEntireCoords=i,this._resolvers=a??null}getTextAt(e,t,n=!1,r,i,a){let o=this._compiled;if(r){let e=XS(o.ast,r,o.symbols);e!==o.ast&&(o=uS(o.runtime,o.symbols,e,!0,null,o.getFunction))}if(o.error&&!o.ast)return o.error.input;let s=i===void 0?o.getTokens():rS(o.ast,i);s=eC(s,o.symbols,a);let c=a?zb:this._displayLocale();return n?nC(s,this._getEntireCoords?.(),c):function(e,t,n=0,r=0,i=zb){return tC(e,t,!1,n,r,i)}(s,this._getEntireCoords?.(),e,t,c)}_displayLocale(){return Bb(Ib(this._context.getRuntime().getLocaleProfile().decimal))}getTokensAt(e,t,n){let r=this._compiled,i=n===void 0?r.getTokens():rS(r.ast,n);return i=eC(i,r.symbols),function(e,t=0,n=0){let r=e.length,i=[];for(let a=0;a<r;a++){let r=e[a];if(r.type!==`cell`){i[a]=r;continue}let o={...r},s={...o.value};o.value=s,i[a]=o,s.colIndex===-(2**53-1)||s.$colIndex||(s.colIndex+=n),s.rowIndex===-(2**53-1)||s.$rowIndex||(s.rowIndex+=t)}return i}(i,e,t)}getError(){return this._compiled.error??null}getNamedIds(){return this._compiled?.namedIds??n.CommonUtils.EmptyArray}getReferencedSymbolIds(){return this._compiled?.symbolIds??n.CommonUtils.EmptyArray}hasTotals(){return this._compiled?.hasTotals??!1}isReferenceOnly(){return this._compiled.isReferenceOnly}isEquals(t){if(!(t&&t instanceof e))return!1;if(this===t)return!0;let n=this._compiled.getTokens(),r=t._compiled.getTokens();if(n.length!==r.length)return!1;let i=this._context.getEntireCoords();return nC(n,i)===nC(r,i)}getReferences(e,r){let i=this._compiled,a=i.referenceIndices,o=a.length;if(o===0)return n.CommonUtils.EmptyArray;let s=i.referencesExecute,c=i.referencesRelative,l=rk(o);for(let n=0;n<o;n++){let i=s[a[n]],o=i.inputs;if(o&&o.length===2){let e=c[s[o[0]].value],t=c[s[o[1]].value];l[n]={colStart:e.colStart,rowStart:e.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,$colStart:e.$colStart,$rowStart:e.$rowStart,$colEnd:t.$colEnd,$rowEnd:t.$rowEnd,scope:e.scope}}else if(i.node.type===$.Cell)l[n]={...c[i.value]};else if(i.op===$.Named){let e=i.node.value.nameId;l[n]={nameId:this._compiled.symbols?.resolve(kf,e)?.toString()??e}}else if(i.op===$.TableReference){let a=i.node.value,o=this._resolveStructuredRef(a,e,r);!o||t.FormulaError.isError(o)?l[n]=null:l[n]=o}else i.op===$.Error&&(l[n]=null)}return l}getReferenceAt(e,t,n){let r=this.getReferences(e,t);return n>=0&&n<r.length?r[n]:null}setReferenceAt(r,i,a){let o=this._compiled,s=o.referenceIndices;if(s.length===0)return null;let c=o.referencesExecute;r<0&&(r=s.length+r);let l=s[r];if(l===void 0)throw Error(`Invalid reference index: ${r}`);let u=c[l],d=u.node,f=d.inputs??n.CommonUtils.EmptyArray,p=u.op===$.Named,m,h,g=!1;i&&t.FormulaError.isError(i)&&(i=null),i&&`nameId`in i&&!p&&(i=null);let _=i&&`nameId`in i?null:i,v=!!_&&_.colIndex!==void 0;if(_)if(v){let e=_;m={colIndex:e.colIndex,rowIndex:e.rowIndex,$colIndex:e.$colIndex??!1,$rowIndex:e.$rowIndex??!1},e.scope&&(m.scope=e.scope),g=!1}else{let e=_;m={colIndex:e.colStart,rowIndex:e.rowStart,$colIndex:e.$colStart??!1,$rowIndex:e.$rowStart??!1},e.scope&&(m.scope=e.scope),g=!n.CoordUtils.isSingleCell(e),g&&(h={colIndex:e.colEnd,rowIndex:e.rowEnd,$colIndex:e.$colEnd??!1,$rowIndex:e.$rowEnd??!1},e.colEnd===2**53-1&&(h.colIndex=-(2**53-1)),e.rowEnd===2**53-1&&(h.rowIndex=-(2**53-1)))}let y=f.length===2,b=v&&y,x=-1,S=-1,C=-1,w=-1;if(y)x=f[0].evalIndex,S=f[1].evalIndex;else if(d.type===`cell`)x=d.evalIndex;else if(u.op===$.TableReference)C=d.evalIndex;else{if(!p)throw Error(`Invalidate reference index: ${r}`);w=d.evalIndex}let T=(...e)=>{if(a?.scopeDeleted)return null;let t=this._compiled.symbols;for(let n=0;n<e.length;n++){let r=e[n]?.value?.scope;if(r)return t&&!t.resolve(Of,r)?null:r}return null},E=d,D=this._compiled.ast,O=fx(D,e=>{if(!e||!e.isReference)return;if(b&&e===E){let e=Ub(m);return m.scope&&(e.value.scope=m.scope),e}let t=e.type;if(w!==-1&&e.evalIndex===w&&t===$.Named){if(!i)return cx();if(i&&`nameId`in i){let t=i,n=this._compiled.symbols?.bind(kf,t.nameId)??t.nameId,r={...e};return r.value={...e.value,...t,nameId:n},r}return g?Zb(`:`,Ub(m),Ub(h),!0):Ub(m)}if(C!==-1&&e.evalIndex===C&&t===$.TableReference)return i?g?Zb(`:`,Ub(m),Ub(h),!0):Ub(m):cx();if(!i&&fS.includes(e.value)){let t=e.inputs??n.CommonUtils.EmptyArray,r=t[0],i=t[1],a=r.evalIndex===x,o=i.evalIndex===S;if(a||o){let t=cx(void 0,void 0,T(r,i));return t.evalIndex=e.evalIndex,t}}if(t!==`cell`&&t!==`error`)return;let r=e.evalIndex,a,o=r===x;if((o||r===S)&&!b){if(i)if(y===g){let t=o?m:h;a={...e},a.value=t,a.image=null}else a=g?Zb(`:`,Ub(m),Ub(h),!0):Ub(m);else a=cx(void 0,void 0,T(e)),a.evalIndex=e.evalIndex;return a}});if(O===D)return this;let k=uS(o.runtime,o.symbols,O,!1,o.error);return new e(k,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}reanchorReferences(t,n){let r=this._compiled,i=this._gridId,a=this._compiled.symbols.bind(Of,t),o=r.transform((e,t)=>{if(!e||!e.isReference||e.type!==$.Cell||vS(t)&&t.inputs?.[0]!==e)return;let r,o=e.value.scope;return(!o||n&&o===i)&&(r={...e},r.value={...r.value},r.value.scope=a),r});return r===o&&a===i?this:new e(o,this._context,this._calcScope,i,this._getEntireCoords,this._resolvers)}replaceSheetReferences(t,n){let r=this._compiled,i=r.symbols.bind(Of,t),a=r.symbols.bind(Of,n);if(i===a)return this;let o=r.transform((e,t)=>{if(!e||!e.isReference||e.type!==$.Cell||vS(t)&&t.inputs?.[0]!==e||e.value.scope!==i)return;let n={...e};return n.value={...n.value},n.value.scope=a,n});return r===o?this:new e(o,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}_evaluateNamed(e,n,r){let i=e.nameId,a=this._calcScope;if(a.activeNames.has(i))return t.FormulaError.BuiltIn.Ref;let o=this._resolvers?.getNamedFormulaBlock?.(i);if(!o){let e=this._compiled,n=e.symbols?.resolve(kf,i),r=n?n.toString():i,a=e.getFunction?.(r)??null;return a?new QS(a):t.FormulaError.BuiltIn.Name}let s=a.gridId,c=a.rowIndex,l=a.colIndex;a.activeNames.add(i),a.depth++;try{return o.evaluateAt(n,r)}finally{a.depth--,a.activeNames.delete(i),a.gridId=s,a.rowIndex=c,a.colIndex=l}}_resolveNamedPrecedents(e,r,i){let a=e.nameId,o=this._calcScope;if(o.activeNames.has(a))return n.CommonUtils.EmptyArray;let s=this._resolvers?.getNamedFormulaBlock?.(a);if(!s)return t.FormulaError.BuiltIn.Name;o.activeNames.add(a);try{return s.resolvedPrecedentsAt(r,i)}finally{o.activeNames.delete(a)}}_resolveStructuredRef(e,n,r,i){let a=this._resolvers?.getStructureReferenceCoords;return a?a(e,n,r,this._gridId):t.FormulaError.BuiltIn.Name}resolvedPrecedentsAt(e,r,i=!1,a,o){let s=this._compiled,c=s.referencesRoot,l=c.length;if(l===0)return n.CommonUtils.EmptyArray;let u=s.referencesRelative,d=s.referencesAbsolute,f=u.length;for(let t=0;t<f;t++){let n=u[t],i=d[t];d[t]=aC(n,e,r,i)}let p=s.referencesExecute,m=p.length,h=[];for(let n=0;n<m;n++){let i=p[n],a=i.op;if(!a){let e=d[i.value];h[i.index]=e;continue}if(a===$.Named){h[i.index]=this._resolveNamedPrecedents(i.node.value,e,r);continue}if(a===$.Error){h[i.index]=lx(i.node.value);continue}if(a===$.TableReference){let n=i.node.value,a;n&&(a=this._resolveStructuredRef(n,e,r)),a||=t.FormulaError.BuiltIn.Ref,h[i.index]=a;continue}if(a===`@`||a===`#`){let e=h[i.inputs[0]];h[i.index]=e===void 0?t.FormulaError.BuiltIn.Value:e;continue}let o=i.inputs;if(!o)continue;let s=h[o[0]];if(s===void 0){h[i.index]=t.FormulaError.BuiltIn.Value;continue}if(t.FormulaError.isError(s)){h[i.index]=s;continue}let c,l=h[o[1]];if(l!==void 0)if(t.FormulaError.isError(l))h[i.index]=l;else{if(a===` `)c=Ru(s,l);else if(a===`:`||a===`.:.`||a===`:.`||a===`.:`)c=zu(s,l);else if(a===`,`){let e=o.length;for(let n=0;n<e;n++){let e=h[o[n]];e===void 0||Array.isArray(e)||t.FormulaError.isError(e)||(c=c?zu(c,e):e)}}h[i.index]=c??t.FormulaError.BuiltIn.Null}else h[i.index]=t.FormulaError.BuiltIn.Value}let g=[],_=0;for(let e=0;e<l;e++)_=oC(c[e],p,h,g,_,a,o);return g}evaluateAt(e,n,r){let i=this._calcScope;i.rowIndex=e,i.colIndex=n,i.gridId=this._gridId;let a=this._context,o=this._compiled;if(r!==void 0){let t;if(fx(o.ast,e=>{e.evalIndex===r&&(t=e)}),!t)throw Error(`Invalid evalIndex: ${r}`);if(o.bindings.length>0&&!o.error){let t=this.evaluateAt(e,n),i=o.evaluations;return t&&typeof t.then==`function`?t.then(()=>i[r]):i[r]}o=uS(a.getRuntime(),o.symbols,t,!1)}if(o.error)return o.error.cause;let s=o.evaluations,c=o.executions,l;o.bindings;let u=o.referencesExecute,d=o.referencesRelative,f=o.referencesAbsolute,p=u.length;for(let r=0;r<p;r++){let i=u[r],o=i.op,c=i.node;if(o)if(o===$.Named)if(i.node.deferredResolve)s[i.node.evalIndex]=null;else{let t=i.node.value;s[i.node.evalIndex]=this._evaluateNamed(t,e,n)}else if(o===$.Error)s[c.evalIndex]=lx(i.node.value);else if(o===$.TableReference){let r=i.node.value,o;o=r?this._resolveStructuredRef(r,e,n):t.FormulaError.BuiltIn.Ref,t.FormulaError.isError(o)||o?.colStart===void 0?s[c.evalIndex]=o??t.FormulaError.BuiltIn.Ref:s[c.evalIndex]=a.getReference(o)}else o===`structured`&&(s[c.evalIndex]=null);else{let t=d[i.value],a=f[r],o=Su(t,e,n,a);s[c.evalIndex]=o}}let m=c.length;for(let t=0;t<m;t++){let r=c[t];if(l)l=l.then(()=>{let t=this._executeNode(r,s,e,n);return s[r.evalIndex]=t,t});else{let t=this._executeNode(r,s,e,n);s[r.evalIndex]=t,t&&typeof t.then==`function`&&(l=t)}}return l?l.then(()=>s[o.ast.evalIndex]):s[o.ast.evalIndex]}wrapImplicit(t,n,r){let i=this._compiled,a=i.ast;if(!a||!a.isReference||a.type===`cell`||a.value===`@`||!r)return this;let o=Vl(n)+Bl(t);if(r.has(o))return this;let s=$b(`@`,a,!0),c=uS(i.runtime,i.symbols,s,!1,i.error);return new e(c,this._context,this._calcScope,this._gridId,this._getEntireCoords,this._resolvers)}_executeNode(e,n,r,i){let a=this._context,o=e.inputs,s=o?o.length:0,c=e.type,l;switch(c){case $.Infix:{let r=e.value,i=n[o[0].evalIndex],s=n[o[1].evalIndex];if(typeof i==`number`&&typeof s==`number`){if(r===`+`)return tk(i+s,null);if(r===`-`)return tk(i-s,null)}if(!e.isReference){if(i&&t.FormulaError.isError(i))return i;if(s&&t.FormulaError.isError(s))return s}let c=e.fn??=Xx[e.value];return l=c?c(a,i,s):t.FormulaError.BuiltIn.Value,l=tk(l,null),l}case $.Function:{let c=e.binder;if(c!==void 0)return c.kind===`let`?n[o[s-1].evalIndex]:this._createLambdaValue(e,n,null,r,i);for(let e=0;e<s;e++)cC[e]=n[o[e].evalIndex];return l=this._callFunction(e,cC,s),l&&typeof l.then==`function`&&l.then(t=>{t=tk(t,a),n[e.evalIndex]=t}).catch(r=>{let i=t.FormulaError.isError(r)?r:new t.FormulaError.Value(`Uncaught error`,{cause:r});n[e.evalIndex]=i}),l}case $.Prefix:case $.Postfix:{let r=n[o[0].evalIndex];if(r&&t.FormulaError.isError(r))return r;let i=e.fn??=c===$.Prefix?Zx[e.value]:Qx[e.value];return l=i?i(a,r):t.FormulaError.BuiltIn.Value,l}case $.List:case $.Paren:{if(s===1)return n[o[0].evalIndex];let e=rk(s);for(let t=0;t<s;t++)e[t]=n[o[t].evalIndex];return e}case $.Named:{let r=e.binding;if(r!==void 0){let e=this._compiled.bindings[r.slot];return e>=0?n[e]:t.FormulaError.BuiltIn.Calc}return n[e.evalIndex]??null}case $.TableReference:return n[e.evalIndex]??null;case $.Call:{let r=n[o[0].evalIndex];return r&&t.FormulaError.isError(r)?r:(l=this._applyCallee(r,e,n),l&&typeof l.then==`function`&&l.then(t=>{n[e.evalIndex]=tk(t,a)}).catch(r=>{n[e.evalIndex]=t.FormulaError.isError(r)?r:new t.FormulaError.Value(`Uncaught error`,{cause:r})}),l)}case $.Empty:return}}_createLambdaValue(e,t,n,r,i){let a=e.inputs,o=[];for(let e=0;e<a.length-1;e++){let t=a[e];t?.binding?.declaration&&o.push({slot:t.binding.slot,name:t.value.nameId,optional:!0===t.binding.optional})}return new ZS(o,a[a.length-1],this,this._compiled,t.slice(),n,r,i)}_applyCallee(e,n,r){if(e?.isIRange&&!e.isIReferenceRange&&e.size===1&&(e=e.getValueAt(0,0))&&t.FormulaError.isError(e))return e;let i=n.inputs,a=i.length-1;if(e instanceof ZS){let n=e.params,o=n.length;for(;o>0&&n[o-1].optional;)o--;if(a>n.length||a<o)return t.FormulaError.BuiltIn.Value;let s=new Map(e.frame??void 0);for(let e=0;e<n.length;e++){let o=n[e];if(e>=a||i[e+1]?.type===$.Empty){if(!o.optional)return t.FormulaError.BuiltIn.Value;s.set(o.slot,$S)}else s.set(o.slot,r[i[e+1].evalIndex])}return e.owner._evaluateBody(e,s)}if(e instanceof QS){let t=[];for(let e=1;e<i.length;e++)t.push(i[e]?.type===$.Empty?void 0:r[i[e].evalIndex]);return this._dispatchFunction(e.fn,t,t.length)}return e&&(e.isIRange||e.colStart!==void 0)?t.FormulaError.BuiltIn.Ref:t.FormulaError.BuiltIn.Value}_applyValues(e,n){let r=e.params;if(n.length>r.length)return t.FormulaError.BuiltIn.Value;let i=new Map(e.frame??void 0);for(let e=0;e<r.length;e++){let a=r[e],o=e<n.length?n[e]:void 0;if(o===void 0){if(!a.optional)return t.FormulaError.BuiltIn.Value;i.set(a.slot,$S)}else i.set(a.slot,o)}let a=this._evaluateBody(e,i);return a&&typeof a.then==`function`?a:tk(a,this._context)}_evaluateBody(e,n){let r=this._calcScope;if(r.depth>=512)return t.FormulaError.BuiltIn.Num;let i=e.compiled.bindings,a=e.regs.slice(),o=e.anchorRow,s=e.anchorCol,c=e=>{let r=e.type;if(r===$.Cell||r===$.TableReference||r===$.Error||e.isLiteral)return a[e.evalIndex];if(r===$.Empty||e.binding?.declaration)return;if(r===$.Named){let r=e.binding;if(r!==void 0){let o=i[r.slot];if(o>=0)return a[o];if(n.has(r.slot)){let t=n.get(r.slot);return!0===e.rawFrameRead?t:(l=t)===$S?null:l}return t.FormulaError.BuiltIn.Calc}return this._evaluateNamed(e.value,o,s)}var l;let u=e.binder;if(u!==void 0&&u.kind===`lambda`)return this._createLambdaValue(e,a,n,o,s);let d=e.inputs,f;if(d){let e=t=>{for(let n=t;n<d.length;n++){let t=d[n];if(!t)continue;let r=c(t);if(a[t.evalIndex]=r,r&&typeof r.then==`function`){let i=n+1;return r.then(n=>(a[t.evalIndex]=tk(n,this._context),e(i)))}}};f=e(0)}return f?f.then(()=>this._executeNode(e,a,o,s)):this._executeNode(e,a,o,s)};r.depth++;try{return c(e.body)}catch(e){if(t.FormulaError.isError(e))return e;if(Bd(e))throw e;return e instanceof RangeError?t.FormulaError.BuiltIn.Num:new t.FormulaError.Value(e?.message,{cause:e})}finally{r.depth--}}_callFunction(e,n,r){let i=this._context,a=e?.cacheFn??i.getFunction(e.value);return a?(a.isBuiltIn()&&(e.cacheFn=a),this._dispatchFunction(a,n,r)):t.FormulaError.BuiltIn.Name}_dispatchFunction(e,n,r){let i,a=e._cfp;if(a){a.argsValues=n,a.argsLength=r;try{i=e.execute()}catch(e){if(Bd(e))throw e;i=t.FormulaError.isError(e)?e:new t.FormulaError.Value(e.message,{cause:e})}a.argsValues=null,a.argsLength=0}else try{switch(r){case 0:i=e.execute();break;case 1:i=e.execute(n[0]);break;case 2:i=e.execute(n[0],n[1]);break;case 3:i=e.execute(n[0],n[1],n[2]);break;case 4:i=e.execute(n[0],n[1],n[2],n[3]);break;case 5:i=e.execute(n[0],n[1],n[2],n[3],n[4]);break;default:let t=[];for(let e=0;e<r;e++)t.push(n[e]);i=e.execute(...t)}}catch(e){if(Bd(e))throw e;i=t.FormulaError.isError(e)?e:new t.FormulaError.Value(e.message,{cause:e})}return i===void 0?new t.FormulaError.Parse:i}finalizeValue(e){let n=this._context;if(!0===e?.isLambda)return t.FormulaError.BuiltIn.Calc;if(e&&e.colStart!==void 0)try{if(e.scope){let r=n.getReference(e);if(t.FormulaError.isError(r))return r}e=n.getValueAt(e.rowStart,e.colStart,e.scope)}catch(e){if(Bd(e))throw e;return t.FormulaError.isError(e)?e:new t.FormulaError.Value(e?.message,{cause:e})}if(Array.isArray(e)){if(XO(e)){let t=rk(e.length);for(let n=0;n<e.length;n++)t[n]=this.finalizeValue(e[n]);return t}if(e.length===1&&Array.isArray(e[0])&&e[0].length===1)e=e[0][0];else try{e=n.getRange(e)}catch{e=t.FormulaError.BuiltIn.Value}}return e?.isIRange?e.size===1?(e=tk(e=e.getValueAt(0,0,sC),n))===null&&(e=0):e=e.fillEmpty(0):(e=tk(e,n))===null&&(e=0),e}finalizeValueForCell(e){let n=this.finalizeValue(e);return Array.isArray(n)?t.FormulaError.BuiltIn.Value:n}toString(){let e=this._compiled;if(e.error)return e.error.toString();let t=this._calcScope;return t?.node?this.getTextAt(t.node.rowIndex,t.node.colIndex):nC(e.getTokens(),null)}get[Symbol.toStringTag](){return`[FormulaBlock]`}};function aC(e,t,n,r){let i=e.colStart,a=e.rowStart,o=e.colEnd,s=e.rowEnd,c=e.$colStart??!1,l=e.$rowStart??!1,u=e.$colEnd??!1,d=e.$rowEnd??!1;if(c||i===-(2**53-1)||(i+=n),l||a===-(2**53-1)||(a+=t),u||o===2**53-1||(o+=n),d||s===2**53-1||(s+=t),i>o){let e=i;i=o,o=e}if(a>s){let e=a;a=s,s=e}let f=r;return f.colStart=i,f.rowStart=a,f.colEnd=o,f.rowEnd=s,f.scope=e.scope??null,f}var oC=(e,n,r,i,a,o,s)=>{let c=n[e],l=c?.inputs;if(c?.op===`,`&&l){let e=l.length;for(let t=0;t<e;t++)a=oC(l[t],n,r,i,a,o,s);return a}let u=c===void 0?t.FormulaError.BuiltIn.Value:r[e]??t.FormulaError.BuiltIn.Value;if(Array.isArray(u)){let e=u.length;for(let t=0;t<e;t++){let e=u[t];i[a]=e?.rowStart===void 0?e:{...e},o&&(o[a]=!(!e?.$rowStart&&!e?.$rowEnd)),s&&(s[a]=!(!e?.$colStart&&!e?.$colEnd)),a++}return a}let d=!!c?.hasVerticalAbs,f=!!c?.hasHorizontalAbs;if(u?.rowStart!==void 0){let e={...u};d&&(e.$rowStart=e.$rowEnd=!0),f&&(e.$colStart=e.$colEnd=!0),i[a]=e}else i[a]=u;return o&&(o[a]=d),s&&(s[a]=f),a+1},sC=Object.freeze({type:null}),cC=Array(255),lC=Object.freeze({value:null,style:null,hyperlink:null,formula:null,type:t.ScalarType.Null,stringToParse:null}),uC=Object.seal({value:void 0,style:void 0,hyperlink:void 0,formula:void 0,type:void 0,stringToParse:void 0}),dC=Object.seal({value:void 0,style:void 0,hyperlink:void 0,formula:void 0}),fC=Object.freeze({width:1,height:1});function pC(e,t,n){let r=e=>{let n=Wl(e)??``;return e.scope&&e.scope!==t?`${Kl(e.scope)}!${n}`:n};if(e.kind===`downstream`){let t=e.cycle.getRepresentative();return t?`Reads a circular reference at ${r(t)}`:`Reads a circular reference`}let i=e.cycle.getPath({rowIndex:n.rowIndex,colIndex:n.colIndex,scope:t});if(i.length===0)return`Circular reference${mC(e.cycle)}`;let a=i.slice(0,8).map(r),o=i.length-a.length;return`Circular reference: ${a.join(` → `)}${o>0?` → … (+${o} more)`:``} → ${a[0]}${mC(e.cycle)}`}function mC(e){if(!e.isIterative())return``;let t=e.getIterationCount();if(e.isConverged())return` (converged after ${t} iteration${t===1?``:`s`})`;let n=e.getLastChange();return` (did not converge after ${t} iteration${t===1?``:`s`}${Number.isFinite(n)?`, last change ${n}`:``})`}var hC=new V_({max:1e3}),gC=class{constructor(e=!0,t=!1){this._editAllowed=e,this._formulaHidden=t}isEditAllowed(){return this._editAllowed}isFormulaHidden(){return this._formulaHidden}get isICellProtection(){return!0}},_C=new gC,vC=new gC(!1),yC=e=>{if(Array.isArray(e))return`array`;let t=typeof e;if(t!==`object`)return t;if(e instanceof Date)return`Date (invalid)`;let n=e?.constructor?.name;return n&&n!==`Object`?n:`object`};function bC(e,r,i=null,a=null,o=!1){if(r===void 0)return;if(r===null)return lC;if(r&&r.isICell){let e=r,t=uC;t.value=e.getValue(),t.style=e.getStyle().getAuthoredProperties()??null;let n=e.getFormulaText();return n&&(t.formula=`=`+n),t.hyperlink=e.getHyperlink(),t.type=e.getType(),t}let s;r.value!==void 0||r.style!==void 0||r.hyperlink!==void 0?s=r:(s=dC,s.value=r.hasOwnProperty(`value`)?r.value:r,s.style=void 0,s.hyperlink=void 0);let c=uC;c.type=void 0,c.value=void 0,c.style=void 0,c.formula=void 0,c.hyperlink=void 0,c.stringToParse=void 0;let l,u=s.value,d=!1;if(s.value!==void 0&&(l=RO(u),l||(d=ar(u,!0),d&&(l=t.ScalarType.Number)),!l))throw new n.ExpectedError((0,n.t)(`error.sheet.invalidCellType`,{type:yC(u)}));let f,p,m=null,h=null,g;if(l===t.ScalarType.String){if(g=s.value,i){let t=a?.get(g);if(!t){let n=g.length,r=g.charAt(0);r===`=`&&n>1?(p=g.substring(1),u=null):(t=fO(e,g,i),t&&typeof t.value==`string`&&(r===`+`||r===`-`)&&(e=>{for(let t=0;t<e.length;t++){let n=e.charAt(t);if(n!==`+`&&n!==`-`&&n!==` `&&n!==` `)return!0}return!1})(g)&&(p=g,u=null),t!==void 0&&a&&a.set(g,t))}t&&(t.value!==void 0&&(u=t.value,l=RO(u)),t.style!==void 0&&(m=t.style),t.hyperlink!==void 0&&(f=t.hyperlink)),!o&&i.parse&&(h=g)}}else d?(u=hr(s.value,e.isDate1904()),m=e=>{if(!Nr(e.getNumberFormat()))return{numberFormat:`Short Date`}}):u=s.value;let _=s.style;if(_&&_.isIStyle&&(_=_.getAuthoredProperties()??null),f=s.hyperlink??f,m)if(_){let e=_;_=t=>{let n=t.createStyle(m);return n=n.createStyle(e),n.getAuthoredProperties()}}else _=m;let v=!1;return u!==void 0&&(u===null?(c.value=null,c.type=t.ScalarType.Null):(c.value=u,c.type=l),v=!0),_!==void 0&&(c.style=_,v=!0),f!==void 0&&(c.hyperlink=f,v=!0),p!==void 0&&(c.formula=p,v=!0),o||(c.stringToParse=h,v=!0),v?(c.type=l,c):void 0}var xC=e=>e===o.HorizontalAlignment.Center||e===o.HorizontalAlignment.CenterContinuous?n.AnchorLocation.Center:e===o.HorizontalAlignment.Right?n.AnchorLocation.Right:n.AnchorLocation.Left,SC=(e,n,r)=>n===t.ScalarType.Null?null:Zg(n,e.getFont(),e.getAlignment(),!1,!0),CC=(e,n,r,i,a=!1)=>{if(e===t.ScalarType.Null)return null;let o=``;if(a)o=Sx(r,e);else{let t=bx(i.runtime,r,n,e,n.getNumberFormat(),e=>i.styles.parseColor(e));if(t.formattedRuns){let e=t.formattedRuns.runs,n=e.length;for(let t=0;t<n;t++)o+=e[t].text}else o=t.displayText}return Zg(o,n.getFont(),n.getAlignment(),e===t.ScalarType.String,a)},wC=Object.freeze({dataBar:null,iconSet:null}),TC=e=>e.isStopIfTrue()&&!e.getScale(),EC=(e,n)=>{let r=n.getInsets();if(e===t.ScalarType.Null)return r;let i=r,a=DC(e,n),s=n.getAlignment().getIndent();if(s&&(a===o.HorizontalAlignment.Left||a===o.HorizontalAlignment.Right)){i={...r};let e=n.measureText(` `.repeat(1*s)),t=Math.min(3,Math.max(1,(26-n.getFont().getSize())/2)),c=e.width*t;a===o.HorizontalAlignment.Left?i.left+=c:a===o.HorizontalAlignment.Right&&(i.right+=c)}return Object.freeze(i)},DC=(e,n)=>{let r=n.getAlignment(),i=B(r.getRotation()),a=r.getHorizontal();return i!==0&&a===o.HorizontalAlignment.General?i>0&&i<90||i>180&&i<=270?o.HorizontalAlignment.Right:o.HorizontalAlignment.Left:a===o.HorizontalAlignment.General?e===t.ScalarType.Null?o.HorizontalAlignment.Left:e===t.ScalarType.Boolean||e===t.ScalarType.Error?o.HorizontalAlignment.Center:n.getNumberFormat()===`@`?o.HorizontalAlignment.Left:e===t.ScalarType.Number?o.HorizontalAlignment.Right:o.HorizontalAlignment.Left:a};function OC(e,r,i,a,s,c,l,u,d){if(i===t.ScalarType.Null||s===``)return null;let f=r;if(!function(e,r,i=!1,a=!1){if(e===t.ScalarType.Null)return!1;let s=r.getAlignment(),c=s.getHorizontal();if(c===o.HorizontalAlignment.CenterContinuous||c===o.HorizontalAlignment.Fill)return!0;if(c===o.HorizontalAlignment.Distributed)return!1;if(ie(s.getRotation())){let t=xC(DC(e,r));return!(t===n.AnchorLocation.Right&&i||t===n.AnchorLocation.Center&&i&&a||t===n.AnchorLocation.Left&&a)}if(e!==t.ScalarType.String||s.getOverflow()!==o.Overflow.Visible||c===o.HorizontalAlignment.Right&&i||c===o.HorizontalAlignment.Center&&i&&a||a&&(c===o.HorizontalAlignment.General||c===o.HorizontalAlignment.Left))return!1;let l=s.getVertical();return l!==o.VerticalAlignment.Justify&&l!==o.VerticalAlignment.Distributed}(i,a,c!==null&&c.colIndex+1===f,l!==null&&l.colIndex-1===f))return null;let p=PC(i,a,s,d,e),m=a.getAlignment(),h=m.getHorizontal(),g=!ie(m.getRotation())&&(m.getOverflow()===o.Overflow.Wrap||i===t.ScalarType.String&&(h===o.HorizontalAlignment.Justify||h===o.HorizontalAlignment.Distributed||m.getVertical()===o.VerticalAlignment.Justify||m.getVertical()===o.VerticalAlignment.Distributed)),_=h===o.HorizontalAlignment.Fill,v=h===o.HorizontalAlignment.CenterContinuous||_;if(!p&&!v)return null;let y=xC(DC(i,a)),b=0,x=0,S=0,C=0,w=1;if(v&&s!==null&&u){BC.colIndex=r,BC.rowIndex=e;let t=u.colEnd;w=Math.min(d.nextContentful(BC,t),t)-r+1}let T=d.colHeaders,E=T.getOffset.bind(T),D=T.getIndex.bind(T),O=E(f),k=O,A=E(f+w),j=A-O,M=f,N=f,P={x:0,y:0,width:j,height:p?.height??0},F=f-f+w,I=p?p.width-j:0,L=P;return j>0&&I>0&&!g&&(y===n.AnchorLocation.Center&&(I/=2),y!==n.AnchorLocation.Left&&y!==n.AnchorLocation.Center||(N=D(A+I),l!==null&&(N=Math.min(N,l.colIndex-1)),A=E(N),C=I,x=N-f),y!==n.AnchorLocation.Right&&y!==n.AnchorLocation.Center||(M=D(O-I),c!==null&&(M=Math.max(M,c.colIndex+1)),O=E(M),S=I,b=f-M),P.x=k-O,L.x=P.x),w>1&&(x=y===n.AnchorLocation.Center?Math.max(F-1,x):w-1,A=E(f+1),P.width=A-O,L={...P},L.width=j),{anchorBounds:P,leftIndex:b,rightIndex:x,leftOffset:S,rightOffset:C,colSpan:F,colBounds:L}}var kC=class{constructor(e,t){this._styles=e,this._ri=t;let n=t?.table;n&&(this._table=n.getRangedStyle())}getCoords(){return n.CoordUtils.EmptyRange}_directAt(e,t,n){let r=this._ri,i=r.borderStyle?r.borderStyle.getPropertiesAt(e,t,n):null,a=r.fillStyle?r.fillStyle.getPropertiesAt(e,t,n):null,o=r.contentStyle?r.contentStyle.getPropertiesAt(e,t,n):null;return!i||a||o?i||!a||o?i||a||!o?i||a||o?{...o,...a,...i}:null:o:a:i}getPropertiesAt(e,t,r){let i=this._ri,a=this._styles,o=null,s=this._table?.getPropertiesAt(e,t,r);s&&(o=n.TypedObject.resolveTypedUpdates(s,lg,a,o));let c=null,l=i.conditionals;l&&!Array.isArray(l)&&(l=[l]);let u=l?l.length:0;if(u>0){let i=null,o=null;for(let n=0;n<u;n++){let a=l[n],s=a.getPropertiesAt(e,t,r);if(s&&(o?(i??=[o]).push(s):o=s),s&&TC(a))break}if(i)for(let e=i.length-1;e>=0;e--)c=c?n.TypedObject.resolveTypedUpdates(i[e],lg,a,c):i[e];else c=o}let d=this._directAt(e,t,r),f=null;if(d&&d.named){let n=d.named;if(n!==X.BuiltInName.Normal){let i=a.getNamed(n);i?f=i.getRanged().getPropertiesAt(e,t,r):console.warn(`A named styled was referenced but not found: '${n}'.`)}}let p=null;f&&(p=n.TypedObject.resolveTypedUpdates(f,lg,a,p)),d&&(p=p?n.TypedObject.resolveTypedUpdates(d,lg,a,p):d);let m=null;if(o&&p){let e=a.normalize(p,X.BuiltInName.Normal),t=e?.font;t?.color===J.Type.Auto&&(delete t.color,Object.keys(t).length===0&&delete e.font),m=e?n.TypedObject.resolveTypedUpdates(e,lg,a,o):o}else m=p??o;return c&&(m=m?n.TypedObject.resolveTypedUpdates(c,lg,a,m):c),m}cloneWithUpdate(e){let t=this._ri;return(Tg.compose(t.borderStyle,t.fillStyle,t.contentStyle)??this._styles.getNormalRanged()).cloneWithUpdate(e)}getAuthoredPropertiesAt(e,t,n){return this._directAt(e,t,n)}};function AC(e,t,n,r,i,a){let o=r.styles,s=null;return n&&(s=i?Tg.compose(n.borderStyle,n.fillStyle,n.contentStyle)??null:new kC(o,n)),v_(e,o,s,t,r.styleUpdater,a)}function jC(e,t){if(!e)return!1;if(!Array.isArray(e)){let n=e.getCoords();return t.colIndex!==n.colStart||t.rowIndex!==n.rowStart}let n=e.length;for(let r=0;r<n;r++){let n=e[r].getCoords();if(t.colIndex===n.colStart&&t.rowIndex===n.rowStart)return!1}return!0}function MC(e,r,i,a,s,c,l,u=null,d=hC,f){let p=f?.formulaText,m=f?.formulaView??!1;if(i===null&&p===void 0)return r?r.getBestFit():null;let h=p===void 0&&e===t.ScalarType.String,g=r.getFont(),_=g.getWeight(),v=g.getSize(),y=g.getFamily(),b=r.getAlignment(),x=b.getOverflow(),S=b.getRotation(),C=b.getVertical(),w=r.getNumberFormat(),T=h&&x===o.Overflow.Visible,E=h&&(x===o.Overflow.Wrap||C===o.VerticalAlignment.Justify||C===o.VerticalAlignment.Distributed),D=EC(e,r),O=D.left+D.right+2,k=(u??``)+`\0`+v+y+_+w+S+T+E+c+l+O+(u?``:i)+`\0`+m+`\0`+(p??``)+`\0`+(E?s:``)+`\0`+n.DefaultLanguagePackService.getRevision(),A=d.get(k);if(A)return A;let j=null,M=null,N=D.top+D.bottom+ +function(e){let t=e.getFont().getUnderline()===U.UnderlineStyle.SingleAccounting,n=e.getFont().getUnderline()===U.UnderlineStyle.DoubleAccounting,r=0;return(t||n)&&(r=e.measureText(``).underlineThickness+1,n?r*=2:r+=1),r}(r),P=!1,F=!1,I=!1;l&&(I=!0,(S!==0||E)&&(I=!1));let L=I?void 0:p===void 0?CC(e,r,i,a,m):SC(r,p);if(L){if(!m&&e===t.ScalarType.Number&&w===`General`&&c){let e=i,t=n.CommonUtils.splitNumber(e),a=``;a=Math.abs(e)>=10**12||Math.abs(e)<=10**-12?`0.${`0`.repeat(Math.max(2,Math.min(t.ipLength,5)))}E+00`:Math.abs(t.ipLength)===0?`0.0`:Math.abs(t.fpLength)>0?`0`.repeat(t.ipLength)+`.0`:`0`.repeat(t.ipLength),e<0&&(a=`-`+a),a=`0`.repeat(a.length);let o=r.measureText(a);j=o.width,M=o.lineHeight}else if(p===void 0&&!m&&ie(S)){let e=B(S)*Math.PI/180,t=Math.abs(Math.sin(e)),n=Math.abs(Math.cos(e)),r=L.layout({width:1e9}),i=r.lines[0]?.bounds.height??r.bounds.height;if(E){let e=Math.max(1,s-O),t=Math.max(1,Math.round(e/(1.5*i)));if(r.lines.length<t||t>1){let e=Math.max(1,r.bounds.width/t);for(let n=0;n<8;n++){let n=L.layout({width:e});if(n.lines.length<=t){r=n;break}e*=1.25}let n=0;for(let e=0;e<r.lines.length;e++)n=Math.max(n,r.lines[e].bounds.width);let i=L.layout({width:n});i.lines.length===r.lines.length&&(r=i)}}let a=r.lines,o=0,c=0;for(let e=0;e<a.length;e++){let r=a[e].bounds.width,i=a[e].bounds.height;o=Math.max(o,r*t+i*n),c=Math.max(c,r*n+i*t)}M=o,j=(a.length-1)*(t>0?i/t:0)+c,F=!0}else{let e=null;E&&(e={width:Math.max(1,s-O)});let t=L.layout(e);if(M=t.bounds.height,E){let e=t.lines,n=e.length,r=0;for(let t=0;t<n;t++){let n=e[t].bounds.width;n>r&&(r=n)}j=r}else j=t.bounds.width}if(j!==null&&(j+=O),M!==null&&(M+=N),P=e===t.ScalarType.String,S&&(P&&x===o.Overflow.Wrap&&(P=!1),!F)){let e=function(e,t){let{x:n,y:r,width:i,height:a}=e,o=t*Math.PI/180,s=Math.sin(o),c=Math.cos(o),l=i/2,u=a/2,d=Cx(-l,-u,s,c),f=Cx(l,-u,s,c),p=Cx(-l,u,s,c),m=Cx(l,u,s,c),h=Math.min(d.x,f.x,p.x,m.x)+l,g=Math.max(d.x,f.x,p.x,m.x)+l,_=Math.min(d.y,f.y,p.y,m.y)+u;return{x:n+h,y:r+_,width:g-h,height:Math.max(d.y,f.y,p.y,m.y)+u-_}}({x:0,y:0,width:j,height:M},S);j=e.width,M=e.height}E&&j!==null&&(j=Math.ceil(j))}else M=r.getBestFit().height;c&&P&&(j=0);let ee=Object.freeze({width:j,height:M});return d.set(k,ee),ee}var NC=(e,t,n,r)=>{let i=t.getAlignment(),a=i.getHorizontal();if(a===o.HorizontalAlignment.Fill||a===o.HorizontalAlignment.CenterContinuous)return null;let s=i.getRotation();if(!ie(s))return null;let c=EC(e,t),l={x:c.left,y:c.top,width:Math.max(0,r.width-c.left-c.right),height:Math.max(0,r.height-c.top-c.bottom)},u=n.layout({width:1e9}),d=u.lines[0]?.bounds.height??u.bounds.height,f=i.getVertical(),p=n.wrapped?n.layout({width:ae(l.height,d,s)}):u;return{layout:se(p.lines.map(e=>({width:e.bounds.width,height:e.bounds.height})),s,l,DC(e,t),f),frame:p,lineHeight:d,content:l}},PC=(e,t,n,r,i)=>{if(ie(t.getAlignment().getRotation())){let a=r.sheet?.getRowHeaders().getSpanSize(i),o=a?CC(e,t,n,r,!1):null;if(o){let n=NC(e,t,o,{width:0,height:a});if(n)return{width:Math.ceil(n.layout.bounds.width),height:Math.ceil(n.layout.bounds.height)}}}let a=EC(e,t),s=DC(e,t),c=a.left+a.right;s===o.HorizontalAlignment.Left?c=a.right:s===o.HorizontalAlignment.Right?c=a.left:s===o.HorizontalAlignment.Center&&(c=a.left+a.right);let l=MC(e,t,n,r,2**53-1,!1,!1);return{width:Math.ceil(l.width-c),height:Math.ceil(l.height)}},FC={hideStringPrefix:!0},IC=class e{constructor(e,n,r=t.ScalarType.Null,i=null,a=null,o=null,s=null){this._options=e,this._r=e.runtime,this._coords=n??null,this._p=o,this._n=s,this._t=r,this._ri=a,this._v=i,r===t.ScalarType.Number&&a?.dateFormat&&(this._d=this.getNumberFormat(a?.dateFormat).asDate)}getRange(){let e=this._coords,t=null,r=this._ri;return t=r&&r.merge?r.merge.getCoords():e?n.CoordUtils.cellToRange(e):null,this._options.getRange(t)}isEqual(e){if(!e)return!1;if(this===e)return!0;let t=e;return!!t.isICell&&this._v===t._v&&!!n.CoordUtils.isEqualCells(this._coords,e.getCoords())&&this._options.sheet===t._options?.sheet}getCoords(){return this._coords}getAddress(e){let t=this._coords;return t?Zl(this._options.getRange(t).getCoords()):Ll}getSheet(){return this._options.sheet}select(e){return this._options.opener(`#`+Wl(this._coords),e)}getColumn(){let e=this._column;if(e!==void 0)return e;this._column=null;let t=this._ri;if(!t)return null;let r=t.table??t.autoTable;if(!r)return null;let i=r.getHeaderRowRange().getCoords();if(i&&n.CoordUtils.isCellWithinRange(this._coords,i)){let t=this._coords.colIndex-i.colStart;e=r.getColumnAt(t)??null,this._column=e}return e}getTable(){let e=this._ri;return e&&(e.table??e.autoTable)||null}getDataValidation(){let e=this._ri;if(!e)return null;let t=e.dataValidations;return t?Array.isArray(t)?t[0]:t:null}getConditionalDecorations(){let e=this._cd;if(e!==void 0)return e;let t=this._ri?.conditionals;if(!t)return this._cd=wC;Array.isArray(t)||(t=[t]);let n=this._coords;if(!n)return this._cd=wC;let r=n.rowIndex,i=n.colIndex,a=this._v,o=null,s=null;for(let e=0;e<t.length;e++){let n=t[e],c=n.getDecorationAt(r,i,a);if(c&&(c.type===Jy.ScaleType.DataBar?o??=c:s??=c),o&&s||TC(n)&&(c||n.getPropertiesAt(r,i,a)))break}if(s){let e=this.getStyle().getAlignment();(e.getRotation()!==0||e.getStacked())&&(s=null)}return this._cd=o||s?Object.freeze({dataBar:o,iconSet:s}):wC}getProtection(){return this._ri?.unlock===void 0?vC:_C}getTextOverflow(){let e=this._to;if(e!==void 0)return e;let n=this._ri;if(n&&n.merge)return this._to=null,null;let r=this._t,i=null;if(r===t.ScalarType.String||n&&n.continuous){let e=this.getStyle(),t=this._coords;i=OC(t.rowIndex,t.colIndex,r,e,this._v,this._p,this._n,n?.continuous?.getCoords()??null,this._options)}return i===null||i.leftIndex===0&&i.rightIndex===0&&i.colSpan<=1?(this._to=null,null):(this._to=i,i)}getRenderHorizontalAlignment(){return DC(this._t,this.getStyle())}isEmpty(){return this._v===null&&!this._ri}getExtrusions(){let e=this._ri;if(!e&&this._to===null)return null;if(e){let t=e.merge;if(t!==void 0)return t.getCoords()}let t=this.getTextOverflow();if(!t)return null;let n=this._coords;return{colStart:n.colIndex-t.leftIndex,rowStart:n.rowIndex,colEnd:n.colIndex+t.rightIndex,rowEnd:n.rowIndex}}isEditAllowed(){let e=this._options;return!e||!e.getProtection().isLocked()||!!this._ri&&this.getProtection().isEditAllowed()}isFormulaHidden(){return!!this._options.getProtection().isLocked()&&!!this._ri&&this.getProtection().isFormulaHidden()}isContentful(){return this._v!==null}getBestFit(e,t=!1){return e===void 0&&(e=this._options.sheet?.getColumnHeaders().getSpanSize(this._coords.colIndex)??64),MC(this._t,this.getStyle(),this._v,this._options,e,t,!1)}getInsets(){if(this._v===null)return this.getStyle().getInsets();let e=EC(this._t,this.getStyle()),t=this._iconGutter();return t===0?e:Object.freeze({...e,left:e.left+t})}_iconGutter(){if(!this.getConditionalDecorations().iconSet)return 0;let e=this.getStyle();return e.measureText(``).lineHeight+e.getInsets().left}getTextFrame(e){let t,n;if(e&&(n=this.getFormulaText(),n&&=`=`+n),t=n??this._v,t===null)return null;let r=this.getStyle();return n?SC(r,t,this._options):CC(this._t,r,t,this._options,e)}getTextPlacement(e,t){let n=this.getTextFrame(t),r=n??this.getStyle().createTextFrame(` `);if(!r)return null;if(!t&&n){let t=NC(this._t,this.getStyle(),n,e);if(t)return{content:Object.freeze(t.content),frame:t.frame,bounds:Object.freeze({...t.layout.bounds}),lineHeight:t.lineHeight,rotation:t.layout}}let i=this.getInsets(),a={x:i.left,y:i.top,width:Math.max(0,e.width-i.left-i.right),height:Math.max(0,e.height-i.top-i.bottom)},s=r.layout(r.wrapped?{width:a.width}:void 0),c=s.bounds,l=s.lines[0]?.bounds.height??c.height,u=this.getStyle().getAlignment().getVertical(),d=a.y;u===o.VerticalAlignment.Center?d=a.y+(a.height-c.height)/2:u===o.VerticalAlignment.Bottom&&(d=a.y+a.height-c.height);let f=this.getRenderHorizontalAlignment(),p=a.x;return f===o.HorizontalAlignment.Center||f===o.HorizontalAlignment.CenterContinuous?p=a.x+(a.width-c.width)/2:f===o.HorizontalAlignment.Right&&(p=a.x+a.width-c.width),{content:Object.freeze(a),frame:s,bounds:Object.freeze({x:p,y:d,width:c.width,height:c.height}),lineHeight:l}}getFormula(){let e=this._ri?.formula;if(!e)return null;let t=this._coords;return t?(Array.isArray(e)&&(e=e[0]),new Ex(t,e,this._options)):null}getFormulaText(e){let t=this._ri?.formula;if(!t)return null;let n=e?.cell??this._coords;return n?(Array.isArray(t)&&(console.log(`Multiple formula blocks`),t=t[t.length-1]),t.getTextAt(n.rowIndex,n.colIndex,e?.r1c1)):null}getCalculationStatus(){let e=this._ri;return e&&e.pending?_b.ResultStatus.Pending:_b.ResultStatus.Ready}_dependencyRanges(e,t){let r=this._coords;if(!r)return null;let i=this._options.dependencyRanges;return i?i(n.CoordUtils.cellToRange(r),e,t):null}getDirectDependents(){return this._dependencyRanges(`dependents`,!0)}getDirectPrecedents(){return this._dependencyRanges(`precedents`,!0)}getDependents(){return this._dependencyRanges(`dependents`,!1)}getPrecedents(){return this._dependencyRanges(`precedents`,!1)}getValue(){return this._v}getType(){return this._t}getInteropValue(){return this._d??this._v}getInteropType(){return this._d?t.InteropScalarType.Date:this._t}getStyle(e=!1){if(!e&&this._s)return this._s;if(e&&this._sd)return this._sd;let t=AC(this._v,n.CoordUtils.cellToRange(this._coords),this._ri,this._options,e);return e?this._sd=t:this._s=t,t}createCell(t){if(t===null)return new e(this._options,this._coords);let r=bC(this._r,t),i=this._ri;if(r.style!==void 0){let e=this._coords??n.CoordUtils.EmptyCell,t=n.CoordUtils.cellToRange(e),a=this._options,o=n_(r.style,()=>AC(this._v,t,this._ri,a,!0)),s=this._ri,c=(Tg.compose(s?.borderStyle,s?.fillStyle,s?.contentStyle)??new Tg(a.styles,null,t)).cloneWithUpdate(o),l=c.splitByFeature();i={...i,borderStyle:l.border??void 0,fillStyle:l.fill??void 0,contentStyle:l.content??void 0};let u=c._p?.numberFormat;typeof u==`string`&&(Nr(u)||Pr(u))?i.dateFormat=u:i.dateFormat&&delete i.dateFormat}let a=this._t,o=this._v;return r&&r.value!==void 0&&(o=r.value,a=r.type),o===this._v&&a===this._t&&i===this._ri?this:o!==null||i?new RC(this._options,this._coords,a,o,i):new RC(this._options,this._coords)}_withProjectedMerge(e){let t=this._v;return new RC(this._options,this._coords,this._t,t,{...this._ri,merge:new Tx(e,()=>t)})}getNumberFormat(e){let t=this._r,n=this._options,r=this._v;return e===void 0?bx(t,r,this.getStyle(),this._t,this.getStyle().getNumberFormat(),e=>n.styles.parseColor(e)):bx(t,r,this.getStyle(),this._t,e,e=>n.styles?.parseColor(e))}getDate(){return this._d??null}getText(e){let r;if(e?.showFormulas){if(this.isSpillOverflow())return``;let e=this.getFormulaText();return e?`=`+e:Sx(this._v,this._t)}if(e&&e.useFormattingCategory){let e=this._v;return this.isSpillOverflow()&&(e=null),r=function(e,r,i,a,o){if(i===t.ScalarType.Null||r==null)return``;if(i===t.ScalarType.Number){let t=Dc(),i=r,s=t.isDateFormat(a),c=t.isTimeFormat(a);if(s||c){let t=parseFloat(r),a=t%1!=0,l=t>=1;if(t<0)return n.CommonUtils.castToString(r);if(!s||c||a)if(!c||s||l){let t=Mc(e,`Short Date`,i,o),n=Mc(e,`Long Time`,i,o);if(t&&n)return t.fmt+` `+n.fmt}else{let t=Mc(e,`Long Time`,i,o);if(t)return t.fmt}else{let t=Mc(e,`Short Date`,i,o);if(t)return t.fmt}}}if(i===t.ScalarType.Number&&Vn(a).endsWith(`%`)){let e=n.CommonUtils.roundAccurately(100*parseFloat(r),14);if(!isNaN(e))return xx(e)+`%`}if(i===t.ScalarType.Boolean)return _o(r);if(i===t.ScalarType.Error){let e=r;return typeof e?.getLabel==`function`?vo(e):t.FormulaError.Label.Unknown}return i===t.ScalarType.RichData?`(Rich Object)`:i===t.ScalarType.Number?xx(r):n.CommonUtils.castToString(r)}(this._r,e,this._t,this.getStyle().getNumberFormat()),r}r=this.getNumberFormat().displayText;let i=this._t;return e?.hideStringPrefix||i!==t.ScalarType.String||(r=`'${r}`),r}getComments(){let e=this._ri?.comments;return e?Object.freeze(e):null}getHyperlink(){let e=this._ri?.hyperlink;return e?new Q_(()=>this.getText(FC),this._options.opener,e):null}getErrors(){let e=this._ri;if(e&&e.calcError)return[e.calcError];if(this._t===t.ScalarType.Error)return[this._v];let r=e?.circular;return r&&!r.cycle.isConverged()?[pC(r,this.getSheet().getName(),this.getCoords())]:n.CommonUtils.EmptyArray}getCircularReference(){return this._ri?.circular?.cycle??null}getWarnings(){let e=this._ri?.circular;return e?[pC(e,this.getSheet().getName(),this.getCoords())]:n.CommonUtils.EmptyArray}getSpans(){let e=this._ri?.merge;if(!e)return fC;let t=e.getCoords();return Object.freeze({width:t.colEnd-t.colStart+1,height:t.rowEnd-t.rowStart+1})}isTopLeft(){let e=this._ri?.merge;if(!e)return!0;let t=e.getCoords();return this._coords&&this._coords.colIndex===t.colStart&&this._coords.rowIndex===t.rowStart}getSpill(){let e=this._ri?.spills;if(!e||!this._coords)return null;Array.isArray(e)||(zC[0]=e,e=zC);let t=null,n=e?e.length:0;for(let r=0;!t&&r<n;r++){let n=e[r];n.getError()||(t=n)}return t||=Array.isArray(e)?e[0]:e,t?this._options.getRange(t.getCoords()):null}isSpillOverflow(){let e=this._ri?.spills;if(!e)return!1;let t=this._coords;return t?jC(e,t):null}get[Symbol.toStringTag](){return`[Cell]`}toString(){let e=`{blank}`;return this._v!==null&&(e=this.getText(VC),this.getType()===t.ScalarType.String&&(e=`'${e}'`)),`${this.getAddress()} => ${e}`}get isICell(){return!0}},LC=class extends IC{constructor(e){super(e,null,null,null)}isEmpty(){return!0}isContentful(){return!1}toString(){return`{EMPTY CELL}`}},RC=class extends IC{getAddress(e){return`{TEMPORARY CELL}`+(this._coords?`: ${super.getAddress(e)}`:``)}},zC=[null],BC={colIndex:-1,rowIndex:-1},VC={useFormattingCategory:!0},HC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},UC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},WC={colStart:0,rowStart:0,colEnd:0,rowEnd:0},GC={size:null,autoSize:!0},KC=(e,t)=>e.sizeSet-t.sizeSet;function qC(e,t,n){return n>1?e._colHeaders.getSpanSize(t,t+n):e._colHeaders.getSpanSize(t)}function JC(e,t,n){if(e>t)return null;let r=[],i=e,a=n?n.length:0;for(let e=0;e<a;e++){let t=n[e],a=t.min,o=t.max;if(i>=a){i=o+1;continue}let s={address:{min:i,max:a-1},update:GC};r.push(s),i=o+1}if(i<=t){let e={address:{min:i,max:t},update:GC};r.push(e)}return r}function YC(e,t){let n={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd},r=e.host._getUsedCoords();return(e.isShrinkToFitRow||e.isShrinkToFitColumn)&&r&&(n.colStart=e.isShrinkToFitRow?r.colStart:t.colStart,n.rowStart=e.isShrinkToFitColumn?r.rowStart:t.rowStart,n.colEnd=e.isShrinkToFitRow?r.colEnd:t.colEnd,n.rowEnd=e.isShrinkToFitColumn?r.rowEnd:t.rowEnd),n}function XC(e){return{searchTypes:{[q.Type.ContentStyle]:!1,[q.Type.Merge]:!1,[q.Type.Continuous]:!1,[q.Type.DateFormat]:!1,[q.Type.Contentful]:!1},ignoreHidden:!1,bounds:{colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd},axis:t.IRange.Axis.Column}}function ZC(e,t,r,i,a){let{host:o,cellOptions:s,isRow:c,isColumn:l}=e,u=o._rangeStateIterator(XC(r)),d=u.next();for(;!d.done;){let r=d.value,o=r.intersection,f=r.start,p=r.end;UC.colStart=f.colIndex,UC.rowStart=f.rowIndex,UC.colEnd=p.colIndex,UC.rowEnd=p.rowIndex;let m=AC(void 0,n.CoordUtils.intersectRanges(UC,t,HC),o,s,!0).getBestFit();if(c){let n=Math.max(f.rowIndex,t.rowStart),r=Math.min(p.rowIndex,t.rowEnd);if(n<=r){let t=m.height,a={address:{min:n,max:r},update:{size:e.clampHeight(t),autoSize:!0},sizeSet:t??-1};i.push(a)}}if(l){let n=Math.max(f.colIndex,t.colStart),r=Math.min(p.colIndex,t.colEnd);if(n<=r){let t=m.width,i={address:{min:n,max:r},update:{size:e.clampWidth(t),autoSize:!0},sizeSet:t??-1};a.push(i)}}d=u.next()}}function QC(e,r,i){let{host:a,cellOptions:o,normalStyle:s,isFormulaView:c}=e,l=[],u=-1,d=!1,f=s,p=null,m=1,h=1,g=1,_=2**53-1,v=-(2**53-1),y=!1,b=``,x=!1,S=!1,C=!1,w=!1,T=2**53-1,E=-(2**53-1),D=-(2**53-1),O=()=>{l.push({col:u,style:f,spanWidth:m,spanHeight:h,minVal:_,maxVal:v,hasZero:y,text:b,textVerbatim:x,hasFalse:C,hasTrue:S,hasEmpty:w,minRow:T,maxRow:E,maxContentRow:D,colWidth:qC(a,u,g),colSpan:g,measureWidth:-1,measureHeight:-1,isFit:d,formula:p})},k={[q.Type.Merge]:!1,[q.Type.Table]:!1,[q.Type.AutoTable]:!1,[q.Type.ContentStyle]:!1,[q.Type.Continuous]:!1,[q.Type.DateFormat]:!1};c&&(k[q.Type.Formula]=!1,k[q.Type.Spills]=!1);let A=a._cellStateIterator({...XC(i),searchTypes:k,ignoreEmptyIntersections:!0}),j,M,N,P=A.next(),F=1,I=1;for(;!P.done;){let e=P.value,i=e[0],l=e[1],k=e[2],L=s,ee=k?.contentStyle??k?.table?.getStyle()??null;ee===j?L=M:(L=ee?AC(l,n.CoordUtils.cellToRange(i,WC),k,o,!1):s,M=L);let R=1,z=1,te=k?.merge??null;if(te===N)R=F,z=I;else{if(te){let e=te.getCoords();R=e.colEnd-e.colStart+1,z=e.rowEnd-e.rowStart+1}else R=1,z=1;F=R,I=z}let ne=i.colIndex,re=i.rowIndex,B=RO(l),ie=n.CoordUtils.isCellWithinRange(i,r),ae=k?.continuous??null,oe=ae?ae.getCoords().colEnd-ne+1:1,se=l instanceof t.FormulaError.Parse,ce=k?.formula??null,le=null;ce?le=Array.isArray(ce)?ce[ce.length-1]:ce:se&&!c&&(le=a._getState().calcGrid.getFormulaBlockAt(re,ne));let ue=le&&(c||se)?le:null,de=B===t.ScalarType.RichData||z>1||R>1||c&&jC(k?.spills,i),fe=!de&&(j!==ee||R!==m||z!==h||oe!==g||B===t.ScalarType.String||B===t.ScalarType.Error||ue!==p||ie!==d);if(j=ee,N=te,(u!==ne||fe)&&(u!==-1&&O(),u=ne,f=L,d=ie,p=ue,m=R,h=z,g=oe,_=2**53-1,v=-(2**53-1),y=!1,b=``,x=!1,C=!1,S=!1,w=!1,T=re,D=re),E=re,de)P=A.next();else{if(D=re,!ue)if(l===null)w=!0;else switch(B){case t.ScalarType.Number:l===0&&(y=!0),_=Math.min(_,l),v=Math.max(v,l);break;case t.ScalarType.String:b=l,x=!1;break;case t.ScalarType.Error:b=vo(l),x=!0;break;case t.ScalarType.Boolean:l?S=!0:C=!0}P=A.next()}}return u!==-1&&O(),l}function $C(e,n,r){let{cellOptions:i,isRowAxis:a,minContent:o,mapCache:s,isFormulaView:c}=e,l=c?{formulaView:!0}:void 0,u={formulaView:c,formulaText:void 0},d=n.length;for(let e=0;e<d;e++){let c=n[e],d=c.col>=r.colStart&&c.col<=r.colEnd,f=a||!d,p=c.style,m=c.colWidth,h=(e,n,r)=>{let a=e===t.ScalarType.String||r?.formulaText!==void 0;return MC(e,p,n,i,m,o,f,null,a?s:void 0,r)},g=0,_=0,v=e=>{g=Math.max(g,e.width),_=Math.max(_,e.height)};if(c.formula){u.formulaText=`=`+c.formula.getTextAt(c.maxContentRow,c.col);let e=h(t.ScalarType.String,null,u);c.measureWidth=e.width??0,c.measureHeight=e.height??0;continue}let y=c.maxVal;if(y!==-(2**53-1)){v(h(t.ScalarType.Number,y,l));let e=c.minVal;e!==y&&v(h(t.ScalarType.Number,e,l)),c.hasZero&&e!==0&&y!==0&&v(h(t.ScalarType.Number,0,l))}let b=c.text;b.length>0&&(c.textVerbatim?(u.formulaText=b,v(h(t.ScalarType.Error,null,u))):v(h(t.ScalarType.String,b,l))),c.hasFalse&&v(h(t.ScalarType.Boolean,!1,l)),c.hasTrue&&v(h(t.ScalarType.Boolean,!0,l)),c.hasEmpty&&v(h(t.ScalarType.Boolean,null,l)),c.measureWidth=g,c.measureHeight=_}}function ew(e,t){let n=e.host,r=null,i=t.length;for(let e=0;e<i;e++){let i=t[e],a=qC(n,i.col,i.colSpan);a!==i.colWidth&&(i.colWidth=a,(r??=[]).push(i))}return r}function tw(e,t,n,r){let{host:i,isShrinkToFitColumn:a,updateHeaderOptions:o}=e,s=n.length;for(let i=0;i<s;i++){let a=n[i],o=a.col,s=n[i+1],c=a.measureWidth??0;for(;s&&s.col===o;)s.measureWidth&&(c=Math.max(s.measureWidth??0,c)),i++,a=n[i],s=n[i+1];if(o<t.colStart||o>t.colEnd)continue;c===0&&(c=null);let l=e.clampWidth(c,a.spanWidth);r.push({address:{min:o,max:o},update:{size:l,autoSize:!0},sizeSet:c===null?-1:c})}r.sort(KC);let c=i._colHeaders.updateHeaderPairs(r,o);if(a){c=qr(Jr(Yr(c)));let e=JC(t.colStart,t.colEnd,c);e&&i._colHeaders.updateHeaderPairs(e,o)}}function nw(e,t,n,r){let{host:i,isShrinkToFitRow:a,updateHeaderOptions:o}=e,s=n.length;for(let i=0;i<s;i++){let a=n[i],o=Math.max(a.minRow,t.rowStart),s=Math.min(a.maxRow,t.rowEnd);if(o>s)continue;let c=a.measureHeight??0;c===0&&(c=null);let l=e.clampHeight(c,a.spanHeight);r.push({address:{min:o,max:s},update:{size:l,autoSize:!0},sizeSet:c===null?-1:c})}r.sort(KC);let c=i._rowHeaders.updateHeaderPairs(r,o);if(a){c=qr(Jr(Yr(c)));let e=JC(t.rowStart,t.rowEnd,c);e&&i._rowHeaders.updateHeaderPairs(e,o)}}var rw=e.n({boundsToPoints:()=>sw,centerPoint:()=>ow,clipToOuterRect:()=>vw,minBoundingRect:()=>cw,rotatePoints:()=>lw,unionBounds:()=>aw}),iw=(e,t)=>{let n=[];for(let r=0;r<e.length;r++){let i=e[r];n.push({x:i.x+t.x,y:i.y+t.y})}return n};function aw(e,t){if(!e)return{...t};if(!t)return{...e};let n=Math.min(e.x,t.x),r=Math.min(e.y,t.y);return{x:n,y:r,width:Math.max(e.width+e.x,t.width+t.x)-n,height:Math.max(e.height+e.y,t.height+t.y)-r}}function ow(e){return{x:e.width/2+e.x,y:e.height/2+e.y}}function sw(e){return[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}]}function cw(e){let t=2**53-1,n=2**53-1,r=-(2**53-1),i=-(2**53-1);for(let a=0;a<e.length;a++){let o=e[a];t=Math.min(t,o.x),n=Math.min(n,o.y),r=Math.max(r,o.x),i=Math.max(i,o.y)}return{x:t,y:n,width:r-t,height:i-n}}function lw(e,t,n){if(!n){let t=cw(e);n={x:t.x+t.width/2,y:t.y+t.height/2}}e=iw(e,{x:-n.x,y:-n.y});let r=t*Math.PI/180,i=Math.sin(r),a=Math.cos(r),o=[];for(let t=0;t<e.length;t++){let n=e[t],r=a*n.x-i*n.y,s=i*n.x+a*n.y;o.push({x:r,y:s})}return e=iw(o,{x:n.x,y:n.y})}var uw=0,dw=1,fw=2,pw=3;function mw(e,t,n=!0){return function(e,t,n,r,i,a,o,s,c=!0){if(e===n&&t===r||i===o&&a===s)return!1;let l=(s-a)*(n-e)-(o-i)*(r-t);if(l===0)return!1;let u=((o-i)*(t-a)-(s-a)*(e-i))/l,d=((n-e)*(t-a)-(r-t)*(e-i))/l;return(!c||!(u<0||u>1||d<0||d>1))&&{x:e+u*(n-e),y:t+u*(r-t)}}(e.p1.x,e.p1.y,e.p2.x,e.p2.y,t.p1.x,t.p1.y,t.p2.x,t.p2.y,n)}var hw=e=>({top:{p1:e[uw],p2:e[dw]},left:{p1:e[pw],p2:e[uw]},right:{p1:e[dw],p2:e[fw]},bottom:{p1:e[fw],p2:e[pw]}}),gw=(e,t,n)=>{let r=n*Math.PI/180,i=Math.sin(r),a=Math.cos(r);return{x:e*a-t*i,y:e*i+t*a}},_w=(e,t)=>{let n=e.p2.x-t.x,r=e.p2.y-t.y,i=gw(n,r,90);n=i.x+t.x,r=i.y+t.y;let a=e.p1.x-t.x,o=e.p1.y-t.y,s=gw(a,o,90);return a=s.x+t.x,o=s.y+t.y,{p1:{x:a,y:o},p2:{x:n,y:r}}};function vw(e,t,n=0){if(n<0&&(n+=360),n>90&&n<=180?n+=180:n>180&&n<=270&&(n-=180),n===0||n===180)return{height:t.height,width:t.width};if(n===90||n===270)return{height:t.width,width:t.height};let r=sw({...t,x:0,y:0}),i=sw({...e,x:0,y:0});i=iw(i,{x:t.width/2-e.width/2,y:t.height/2-e.height/2}),i=lw(i,n);let a=hw(i),o=hw(r);if(n>90){let e=mw(a.top,o.top);if(e){let t=e,n=mw(a.bottom,o.bottom,!1)||i[pw];i[uw]=mw(a.top,_w(a.bottom,n),!1)||i[uw],i[dw]=t,i[pw]=n,i[fw]=mw(a.bottom,_w(a.top,t),!1)||i[fw],a=hw(i)}let t=mw(a.top,o.left);if(t){let e=t,n=mw(a.bottom,o.right,!1)||i[fw];i[uw]=e,i[dw]=mw(a.top,_w(a.bottom,n),!1)||i[dw],i[pw]=mw(a.bottom,_w(a.top,e),!1)||i[pw],i[fw]=n}}else if(n<90){let e=mw(a.top,o.top);if(e){let t=e,n=mw(a.bottom,o.bottom,!1)||i[fw];i[uw]=t,i[dw]=mw(a.top,_w(a.bottom,n),!1)||i[dw],i[pw]=mw(a.bottom,_w(a.top,t),!1)||i[pw],i[fw]=n,a=hw(i)}let t=mw(a.top,o.right);if(t){let e=t,n=mw(a.bottom,o.left,!1)||i[pw];i[uw]=mw(a.top,_w(a.bottom,n),!1)||i[uw],i[dw]=e,i[pw]=n,i[fw]=mw(a.bottom,_w(a.top,e),!1)||i[fw]}}i=lw(i,-n);let s=cw(i);return{width:s.width,height:s.height}}var yw=class{constructor(e,t){this._mapStylesByName=new Map,this._arrStyleNames=[],this._mapStylesByName=e,this._arrStyleNames=t}setNode(e){this._node=e}addStyle(e,t){t!=null&&(this._node?.styles||(this._node.styles=new Map),this._node.styles.set(e,t))}addAttribute(e,t){t!=null&&(this._node?.attributes||(this._node.attributes=new Map),this._node.attributes.set(e,t),e.toLowerCase()===`rowspan`&&parseInt(t)>1&&(this._node.rowspan=parseInt(t)),e.toLowerCase()===`colspan`&&parseInt(t)>1&&(this._node.colspan=parseInt(t)))}addSharedStyle(e,t){let n=this._mapStylesByName.get(e);n?n={...t}:(this._arrStyleNames.push(e),n=t),this._mapStylesByName.set(e,n)}setPlainText(e){this._node.plainText=e}setHTMLText(e){this._node.htmlText=e.replace(/(?:\r\n|\r|\n)/g,`<br>`)}};function bw(t,n=` `){return new Promise((r,i)=>{Promise.resolve().then(()=>e.r(require("./Dv3x6zut1ZRUt3IF.cjs").default,1)).then(e=>{try{let i=e.parse(t,{delimiter:n}).data;i.length>1&&(i[i.length-1].length===0||i[i.length-1].length===1&&i[i.length-1][0].length===0)&&i.pop(),r(i)}catch(e){console.warn(e),i(e)}},e=>{i(e)})})}var xw=e=>{let t={};if(!e)return t;e.endsWith(`;`)||(e+=`;`);let n=RegExp(`;(?=([^"]*"[^"]*")*[^"]*$)`,`gsm`),r,i=0;for(;(r=n.exec(e))!==null;){try{let n=e.substring(i,r.index).trim(),a=RegExp(`:(?=([^"]*"[^"]*")*[^"]*$)`,`gsm`),o,s,c;for(;(c=a.exec(n))!==null;)o=unescape(n.substring(0,c.index)).trim(),s=unescape(n.substring(c.index+1,n.length)).trim();o!==void 0&&s!=null&&s!==`null`&&(o=w(o),t[o]=s)}catch(e){console.warn(e)}i=r.index+1}return t},Sw=(e,t)=>{let n=[];if(!e)return n;let r=e.children;for(let e=0;e<r.length;e++){let i=r.item(e);if(i.nodeType===1){let e=i.tagName.toUpperCase();t.includes(e)&&n.push(i)}}return n};function Cw(e,t,n){try{let r=null,i=null,a=e=>((e,t)=>{if(!e)return{};let n={},r=t.get(e.localName);r&&(n=Object.assign(n,r));let i=e.getAttribute(`class`);if(i){let e=t.get(`.`+i);e&&(n=Object.assign(n,e))}let a=e.getAttribute(`style`);if(a){let e=xw(a);e&&(n=Object.assign(n,e))}return e.getAttribute(`align`)&&!n.textAlign&&(n.textAlign=e.getAttribute(`align`)),n})(e,i);if(e)try{r=[];let o=`P, H1, H2, H3, H4, H5, H6, PRE`,s=e.querySelector(`parsererror`);if(s)return console.warn(`error`,s),!1;let c=e.querySelectorAll(`html`),l=c[c.length-1];i=(e=>{let t=e.querySelectorAll(`style`),n=new Map;if(t.length<=0)return n;for(let e=0;e<t.length;e++){let r=t[e].childNodes;for(let e=0;e<r.length;e++)if(r[e].nodeType===Node.TEXT_NODE){let t=RegExp(`<!--(.*)-->`,`gs`),i=r[e].textContent,a=t.exec(r[e].textContent);if(a&&a.length>1&&(i=a[1]),i=i.replace(/^\s/,``),i?.startsWith(`table`)){let e=RegExp(`{(.*?)}`,`gs`),t,r=0;for(;(t=e.exec(i))!==null;)try{let e=i.substring(r,t.index),a=xw(t[1]);n.set(e.trim(),a),r=t.index+t[0].length}catch(e){console.warn(e)}return n}}}return n})(l);let u=l.querySelectorAll(`body`),d=u[u.length-1],f=d.querySelectorAll(`table`)[0],p=!1;if(!f){let e=d.querySelectorAll(`span`);f=e[0],p=e.length>1}if(f||=Sw(d,o)[0],f||=Sw(e,o)[0],f?.nodeName.toUpperCase()===`TABLE`){n.onStart?.(i);let e=f;n.onTableStart?.(a,e);let t=Sw(e,`COLGROUP`);for(let e=0;t&&e<t.length;e++){let r=Sw(t[e],`COL`),i=0;for(let e=0;e<r.length;e++){let t=r[e],o=parseFloat(t.getAttribute(`span`)),s=isNaN(o)?1:o;n.onColumn?.(i,s,a,t),i+=s}}let o=e.rows,s=0;for(let e=0;e<o.length;e++){let t=o[e],i=parseFloat(t.getAttribute(`span`)),c=isNaN(i)?1:i;n.onRowStart?.(s,c,a,t);let l=[];r.push(l);let u=t.cells;for(let e=0;e<u.length;e++){let t=u[e],n=!1;for(let e=0;!n&&e<t.childNodes.length;e++)if(t.childNodes[e].nodeType===8){let r=t.childNodes[e].textContent;if(r!==`[if gte vml 1]`&&r!==`[if !vml]`&&r===`[endif]`){let r=t.childNodes[e+1];r?.querySelectorAll&&r.querySelectorAll(`table, td`).length===2&&(t=r?.querySelectorAll(`table, td`)[1],n=!0)}}l.push({htmlValue:t.textContent?.replace(/^"|"$/gi,``),element:t})}s+=c,n.onRowDow?.(s,c,a,t)}n.onTableDone?.(a,e)}else{if(f?.nodeName.toUpperCase()===`SPAN`){let e=t?t[0]?.[0]:null,r=p&&e?e:f.textContent.replace(/^"|"$/gi,``);return n.onStart?.(i),n.onCell({colStart:0,colEnd:0,rowStart:0,rowEnd:0},t?t[0]?.[0]:null,r,e=>{let t=a(e);return delete t.backgroundColor,t},f),n.onDone?.(),!0}if(f?.textContent){let e=f.textContent.replace(/^"|"$/gi,``);return n.onStart?.(i),n.onNoTable?.(e,a,f),n.onDone?.(),!0}}}catch(e){console.warn(e),r=null}!r||r.length!==0&&(r.length!==1||r[0]!==null&&r[0].length!==0)||(r=null);let o=t&&(t.length===0||t.length===1&&(t[0]===null||t[0].length===0));r&&o&&(t=null);let s=e=>{let n=new Set,i=1,o=1;for(let s=0;s<Math.max(t?t.length:0,r?r.length:0);s++){let c=0,l=0,u=r&&r[s]?r[s].length:t&&t[s]?t[s].length:0;for(;l<u;){let u=s+`-`+c;if(!n.has(u)){i=Math.max(i,c+1),o=Math.max(o,s+1);let u=null,d=r?r[s]?.[l]?.element:void 0;if(d&&(d.getAttribute(`rowspan`)||d.getAttribute(`colspan`))){let e=parseInt(d.getAttribute(`colspan`))||1,t=parseInt(d.getAttribute(`rowspan`))||1;i=Math.max(i,c+e),o=Math.max(o,s+t),u={rowStart:s,colStart:c,rowEnd:s+Math.max(0,t-1),colEnd:c+Math.max(0,e-1)};for(let r=s;r<s+t;r++)for(let t=c;t<c+e;t++)r===s&&t===c||n.add(r+`-`+t)}else u={rowStart:s,colStart:c,rowEnd:s,colEnd:c};e(u,t?t[s]?.[c]:void 0,r?r[s]?.[l]?.htmlValue:null,a,d||null),l++}c++}}};if(r&&t){let e=0,n=0;s(t=>{e=Math.max(e,t.colEnd+1),n=Math.max(n,t.rowEnd+1)}),t&&r&&(t.length!==n||t[0].length!==e)&&(console.warn(`mismatched mimeTypes`,t,r),t=null)}return s(n.onCell.bind(n)),n.onDone?.(),!o||r!==null}catch(e){throw console.warn(e),e}}var ww=(e,t)=>{var n;if(t){if(t.getType()===Y.Type.Solid)e.background=gm(t.getColor())||`none`,e[`mso-pattern`]=`black none`;else if(t.getType()===Y.Type.Pattern){let r=t;e.background=gm(r.getBackground())||`none`;let i=gm(r.getForeground())||``;if(r.getPatternType()===Y.BuiltInSheetPattern.Solid)e[`mso-pattern`]=`${e.background} none`,e.background=i;else{let t=(n=r.getPatternType(),lh.get(n)?.cssKey??`solid`);e[`mso-pattern`]=i+(t?` `:``)+t}}else if(t.getType()===Y.Type.Gradient){let n=t;e.background=gm(n.getStops()?.[0]?.getColor())||`auto`,e[`mso-pattern`]=`${e.background} none`,e.msoGradient=mh(n)||`auto`}}},Tw=class{constructor(e,t){if(this._visitedStyles=new Map,this._lastStyleClassId=63,this._wroteTD=!1,!e)throw Error(`Can not create with a null sheet.`);this._sheet=e,this._includeSizeInCell=t?.includeSizeInCell??!1,this._textOptions=t?.showFormulas?Dw:Ew,this._normalStyle=e.getStyles().getNormal()}_createCSSStyle(e){let t=this._normalStyle,n={},r=(e,t)=>e===t||!(e&&!t)&&!(!e&&t)&&t.isEqual?.(e),i=e.getFont(),a=t.getFont();var s;r(i.getColor(),a.getColor())||(n.color=gm(i.getColor())),r(i.getSize(),a.getSize())||(n[`font-size`]=_m(i.getSize())),r(i.getWeight(),a.getWeight())||(n[`font-weight`]=i.getWeight()),r(i.getStyle(),a.getStyle())||(n[`font-style`]=i.getStyle()),r(i.getUnderline(),a.getUnderline())||(n[`text-decoration`]=`underline`,n[`text-underline-style`]=(s=i.getUnderline())===U.UnderlineStyle.Single?`single`:s===U.UnderlineStyle.Double?`double`:s===U.UnderlineStyle.SingleAccounting?`single-accounting`:s===U.UnderlineStyle.DoubleAccounting?`double-accounting`:`none`),r(i.getFamily(),a.getFamily())&&r(i.getFallbacks(),a.getFallbacks())||(n[`font-family`]=wm(i.getFamily(),i.getFallbacks())),r(e.getNumberFormat(),t.getNumberFormat())||(n[`mso-number-format`]=Tm(e.getNumberFormat()));let c=e.getAlignment(),l=t.getAlignment();if(!r(c.getHorizontal(),l.getHorizontal())){let e=c.getHorizontal();e===o.HorizontalAlignment.CenterContinuous?n[`text-align`]=`center-across`:e===o.HorizontalAlignment.Fill?n[`text-align`]=`fill`:e===o.HorizontalAlignment.Distributed?n[`text-align`]=c.getJustifyLastLine()?`121`:`010`:n[`text-align`]=o.toCSSHorizontalTextAlign(e)}if(!r(c.getVertical(),l.getVertical())){let e=c.getVertical();e===o.VerticalAlignment.Distributed?n[`vertical-align`]=`121`:n[`vertical-align`]=Sm(e)}if(!r(c.getOverflow(),l.getOverflow())){let e=c.getOverflow();n[`white-space`]=Cm(e),e===o.Overflow.Shrink&&(n[`mso-text-control`]=`shrinktofit`)}var u;r(c.getRotation(),l.getRotation())||(n[`mso-rotate`]=(u=c.getRotation(),(u%=360)<0&&(u+=360),u>180?u=360-u:u>1&&(u*=-1),u)),r(c.getIndent(),l.getIndent())||(n[`mso-char-indent-count`]=c.getIndent()),r(e.getFill(),t.getFill())||ww(n,e.getFill());let d=e.getBorder();return d.getTop().isNone()||(n[`border-top`]=_h(d.getTop())),d.getLeft().isNone()||(n[`border-left`]=_h(d.getLeft())),d.getRight().isNone()||(n[`border-right`]=_h(d.getRight())),d.getBottom().isNone()||(n[`border-bottom`]=_h(d.getBottom())),d.getDiagonalUp().isNone()||(n[`border-mso-diagonal-up`]=_h(d.getDiagonalUp())),d.getDiagonalDown().isNone()||(n[`border-mso-diagonal-down`]=_h(d.getDiagonalDown())),Object.keys(n).length===0?null:n}_createCSSNormalStyle(){let e=this._normalStyle,t={"padding-top":`1px`,"padding-left":`1px`,"padding-right":`1px`,"mso-ignore":`padding`},n=e.getFont(),r=e.getAlignment();return t.color=gm(n.getColor()),ww(t,e.getFill()),t[`font-size`]=_m(n.getSize()),t[`font-weight`]=n.getWeight(),t[`font-style`]=n.getStyle(),t[`text-decoration`]=vm(n.getUnderline(),n.getStrike()),t[`font-family`]=wm(n.getFamily(),n.getFallbacks()),t[`mso-font-charset`]=`0`,t[`mso-background-source`]=`auto`,t[`mso-number-format`]=Tm(e.getNumberFormat()),t[`text-align`]=o.toCSSHorizontalTextAlign(r.getHorizontal()),t[`vertical-align`]=Sm(r.getVertical()),t.border=`none`,t[`mso-pattern`]=`auto`,t[`white-space`]=Cm(r.getOverflow()),r.getOverflow()===o.Overflow.Shrink&&(t[`mso-text-control`]=`shrinktofit`),t[`mso-rotate`]=`0`,r.getIndent()>0&&(t[`mso-char-indent-count`]=r.getIndent()),t[`mso-protection`]=`locked visible`,t}onCell(e,t,r){let i=e.getSpans();if(i.width>1||i.height>1){if(!e.isTopLeft())return!1;i.height>1&&r.addAttribute(`rowspan`,i.height),i.width>1&&r.addAttribute(`colspan`,i.width)}let a=this._textOptions,o=e.getText(a);!a.showFormulas&&e.getNumberFormat().errorPlaceholder&&(o=e.getNumberFormat().errorPlaceholder.repeat(5)),r.setPlainText(o||``);let s=e.getStyle(),c=s.getFont();if(c.getVerticalAlignment()===U.VerticalAlignment.Super&&(o=`<sup>${o}</sup>`),c.getVerticalAlignment()===U.VerticalAlignment.Sub&&(o=`<sub>${o}</sub>`),c.getStrike()&&(o=`<s>${o}</s>`),e.getHyperlink()&&(o=`<a href="${e.getHyperlink().getAddress()}">${o}</a>`),r.setHTMLText(o||` `),!this._wroteTD){let e=this._createCSSNormalStyle();r.addSharedStyle(`td`,e),this._wroteTD=!0}let l=this._visitedStyles.get(s);if(!l){let e=this._createCSSStyle(s);e&&(l=`xl`+ ++this._lastStyleClassId,this._visitedStyles.set(s,l),r.addSharedStyle(`.`+l,e))}if(l&&r.addAttribute(`class`,l),this._includeSizeInCell){let e=this._sheet.getColumnHeaders().at(t.colIndex).getSize();r.addAttribute(`width`,e),r.addStyle(`width`,n.CommonUtils.roundAccurately(e/U.getDeviceScale(),2)+`pt`);let i=this._sheet.getRowHeaders().at(t.rowIndex).getSize();r.addAttribute(`height`,i),r.addStyle(`height`,n.CommonUtils.roundAccurately(i/U.getDeviceScale(),2)+`pt`)}}onRow(e,t,r,i){let a=e.getSize();i.addAttribute(`height`,a),i.addStyle(`height`,n.CommonUtils.roundAccurately(a/U.getDeviceScale(),2)+`pt`),e.isCustomSize()&&i.addStyle(`mso-height-source`,`userset`)}onColumn(e,t,r,i){let a=e.getSize();i.addAttribute(`width`,a),i.addStyle(`width`,n.CommonUtils.roundAccurately(a/U.getDeviceScale(),2)+`pt`),e.isCustomSize()&&i.addStyle(`mso-width-source`,`userset`),r>1&&i.addAttribute(`colspan`,r)}},Ew={useFormattingCategory:!0},Dw={showFormulas:!0};function Ow(e,t,r,i=!1){let a=t.rowEnd-t.rowStart+1,o=t.colEnd-t.colStart+1,s=i?o:a,c=i?a:o,l=Math.max(1,Math.ceil((r.rowEnd-r.rowStart+1)/s)),u=Math.max(1,Math.ceil((r.colEnd-r.colStart+1)/c)),d=(e,t,n,r,i)=>{if(t-e+1===r)return[[n+e,n+(i-1)*r+t]];let a=[];for(let o=0;o<i;o++)a.push([n+o*r+e,n+o*r+t]);return a},f=[];for(let a=0;a<e.length;a++){let o=e[a],p=o.rowStart-t.rowStart,m=o.rowEnd-t.rowStart,h=o.colStart-t.colStart,g=o.colEnd-t.colStart,_=i?p:h,v=i?m:g,y=d(i?h:p,i?g:m,r.rowStart,s,l),b=d(_,v,r.colStart,c,u);for(let e=0;e<y.length;e++)for(let t=0;t<b.length;t++){let i={rowStart:y[e][0],rowEnd:y[e][1],colStart:b[t][0],colEnd:b[t][1]},a=n.CoordUtils.intersectRanges(i,r);a&&f.push(a)}}return qy(n.CoordUtils.EmptyRanges,f)}function kw(e,r,i){let a=e.getAxis()===t.IRange.Axis.Column,o=a?(0,n.messageKey)(`copy.columnCopy`):(0,n.messageKey)(`copy.rowCopy`),s=e.getSnapshot(i);return{...s,getName:()=>(0,n.t)(o),getCoords:()=>r,copyTo:async(e,t)=>{let n=a?e.getColumnHeaders():e.getRowHeaders(),o={...i,...t};if(!0===o.includeHeaders){let e=await s.copyTo(n,o);return a?{colStart:e.min,rowStart:r.rowStart,colEnd:e.max,rowEnd:r.rowEnd}:{colStart:r.colStart,rowStart:e.min,colEnd:r.colEnd,rowEnd:e.max}}},getMarkOptions:()=>i}}function Aw(e,t,r,i,a,o){let s=r[0],c=e.getView()?.isShowFormulas()??!1,l,u,d=()=>{if(u!==void 0)return;let[e,r]=function(e,t){let r=t.getRowHeaders(),i=t.getColumnHeaders(),a=t.getUsedRange()?.getCoords(),o=r.getUsedRange()?.getCoords(),s=i.getUsedRange()?.getCoords(),c={...n.CoordUtils.EmptyRange,...a,colEnd:Math.max(a?.colEnd??0,s?.max??0),rowEnd:Math.max(a?.rowEnd??0,o?.max??0)},l=new Map,u=[];e.onStart?.();let d={rows:[],cols:[]},f=new yw(l,u);f.setNode(d),e.onTable?.(f,c);let p=0;i.forEachSpan((t,n)=>{let r=n.getCoords();p=p+r.max-r.min+1;let i={};f.setNode(i),e.onColumn?.(n.getCellHeader(),r.min,r.max-r.min+1,f),d.cols.push(i)},{address:c,includeEmpty:!0,includeStyles:!0});let m=0,h=[];if(r.forEachSpan((e,t)=>{let n=t.getCoords();m=m+n.max-n.min+1,h.push({min:n.min,max:n.max,value:t.getCellHeader()})},{address:c,includeEmpty:!0,includeStyles:!0,visibility:`all`}),p*m>5e4)return[null,`The data you've selected is too large. Try selecting a smaller set of data.`];let g=0,_=-1,v=null;t.forEach((t,n)=>{let r=n.getCoords(),i=n.getCell();if(r.rowIndex!==_){r.rowIndex>h[g].max&&++g;let t=h[g];v={cells:[]},f.setNode(v),e.onRow?.(t.value,r.rowIndex,1,f),d.rows.push(v),_=r.rowIndex}let a={};f.setNode(a),!1!==e.onCell(i,r,f)&&v.cells.push(a)},{address:c,includeEmpty:!0,ignoreHidden:!1}),e.onDone?.(),d.rows.length===0&&d.rows.push({cells:[]});let y=[];for(let e=0;e<u.length;e++){let t=u[e],n=l.get(t);y.push(t);let r=``,i=Object.keys(n);for(let e=0;e<i.length;e++){r+=` `,e===0&&(r+=`{`);let t=i[e];r+=`${t}:${n[t]};`,e===i.length-1?r+=`}`:r+=`
|
|
5
|
+
`}y.push(r)}let b=[`<div clipboard-uuid=xxx>
|
|
6
|
+
<html
|
|
7
|
+
xmlns:v="urn:schemas-microsoft-com:vml"
|
|
8
|
+
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
9
|
+
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
|
10
|
+
xmlns="http://www.w3.org/TR/REC-html40"
|
|
11
|
+
>`];b.push(`<head>
|
|
12
|
+
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
|
|
13
|
+
<meta name=ProgId content=Excel.Sheet>
|
|
14
|
+
<meta name=Generator content="Microsoft Excel 15">`),b.push(`<style>
|
|
15
|
+
table
|
|
16
|
+
{mso-displayed-decimal-separator:"\\.";
|
|
17
|
+
mso-displayed-thousand-separator:"\\,";}
|
|
18
|
+
@page
|
|
19
|
+
{margin:.75in .25in .75in .25in;
|
|
20
|
+
mso-header-margin:.3in;
|
|
21
|
+
mso-footer-margin:.3in;
|
|
22
|
+
mso-horizontal-page-align:center;}
|
|
23
|
+
tr
|
|
24
|
+
{mso-height-source:auto;}
|
|
25
|
+
col
|
|
26
|
+
{mso-width-source:auto;}
|
|
27
|
+
br
|
|
28
|
+
{mso-data-placement:same-cell;}`),y.length>0&&b.push(y.join(`
|
|
29
|
+
`)),b.push(`</style>`),b.push(`</head>`),b.push(`<body>`),b.push(`<table>`),b.push(`<!--StartFragment-->`);let x=e=>{let t=(e=>{let t=``;return e&&e.attributes&&e.attributes.length!==0&&e.attributes.forEach((e,n)=>{t.length>0&&(t+=` `),t+=`${n}=${e}`}),t})(e);t.length>0&&(t=` `+t);let n=(e=>{let t=``;return e&&e.styles&&e.styles.length!==0?(e.styles.forEach((e,n)=>{t.length>0&&(t+=`;`),t+=n+`:`+e}),t.length>0&&(t=`style='${t}'`),t):t})(e);return n.length>0&&(n=` `+n),`${t}${n}`},S=[];return d.cols?.forEach(e=>{b.push(` <col${x(e)}>`)}),d.rows.forEach(e=>{b.push(` <tr${x(e)}>`);let t=[];e.cells.forEach(e=>{b.push(` <td${x(e)}>${e.htmlText??e.plainText??``}</td>`);let r=`${n.CommonUtils.castToString(e.plainText??``)?.replace(/"/g,`""`)}`;t.push(r)}),S.push(t.join(` `)),b.push(` </tr>`)}),b.push(`<!--EndFragment-->`),b.push(`</table>`),b.push(`</body>`),b.push(`</html>`),b.push(`</div>`),[b.join(`
|
|
30
|
+
`),S.join(`
|
|
31
|
+
`).concat(`
|
|
32
|
+
`)]}(new Tw(t,{showFormulas:c}),t.getRange(s));l=e??null,u=r??null},f=!1;return{copyTo(e,t){let r={...a,...t};if(t?.isCut&&f)throw f=!0,Error((0,n.t)(`error.sheet.snapshotDone`));return o(e,r)},getMarkOptions:()=>a,getSource:()=>e,getName:()=>(0,n.t)(i),getCoords:()=>s,toText:()=>(d(),u),toHtml:()=>(d(),l),toImage:()=>null,isISnapshot:!0}}var jw=class e{constructor(e,t,n,r,i){this._getColumnAt=void 0,this._index=e,this._sheetHeader=t,this._headerState=n,this._template=r,this._getColumnAt=i}getSize(){let e=this._headerState?.sz;return Math.round(e===void 0?this._sheetHeader.getDefaultSize():e*this._sheetHeader.getScaleFactor())}getText(){return``+this.asCell().getValue()}getAxis(){return this._sheetHeader.getAxis()}isHidden(){return this._headerState?.h??!1}isCustomSize(){return this._headerState?.cs??!1}getSheetHeader(){return this._sheetHeader}getColumn(){return this._getColumnAt?.(this._index)??null}asCell(){return this._cellTemplate||=this._sheetHeader.getSheet().createCell(this._template),this._cellTemplate}getSizeRelative(){return this.getSize()/this._sheetHeader.getScaleFactor()}createCellHeader(t){let n=Mw(this._sheetHeader,this._sheetHeader.getSheet().getStyles(),this._headerState,t);return new e(this._index,this._sheetHeader,n,this._template,this._getColumnAt)}isEqual(e){if(!e)return!1;if(e===this)return!0;let t=e;if(!t.isICellHeader)return!1;let n=this._headerState,r=t._headerState;return n===r||!(n&&!r||r&&!n)&&this.getSize()===t.getSize()&&this.isCustomSize()===t.isCustomSize()&&this.isHidden()===t.isHidden()}isEmpty(){let e=this._headerState;return!e||e.sz===void 0&&e.csz===void 0&&!e.cs&&e.h===void 0}get[Symbol.toStringTag](){return`[SheetCellHeader]`}toString(){return`[SheetCellHeader: ${this.getText()}]`}get isICellHeader(){return!0}};function Mw(e,t,r,i){if(i!==void 0){if(i===null)return null;if(i?.isICellHeader)return{...i._headerState};if(i){let a=i,o,s=a.hidden;r&&(o={...r});let c,l=a.size;if(a.size!==void 0){if(typeof l==`function`){let t=r?.sz===void 0?e.getDefaultSize():r?.sz*e.getScaleFactor();l=l?.(t)}if(typeof l==`string`&&(l=ch(l,t.getNormal().getFont().getSize(),`px`)),typeof l==`number`){let t=e.getMinSize(),r=e.getMaxSize();l=Math.max(t,Math.min(n.CommonUtils.roundAccurately(l),r)),!0!==a.relativeSize&&(l/=e.getScaleFactor()),isNaN(l)&&(console.warn(`Invalidate size: '${l}'`),l=void 0),l===0&&(s=!0,l=void 0),c=!a.autoSize}l===null&&(c=!a.autoSize)}return l!==void 0&&r?.sz!==l&&(o||={},l===null?delete o.sz:o&&(o.sz=l)),s===void 0&&a.autoSize&&(s=!1),s!==void 0&&r?.h!==s&&(s?(o||={},o.h=s):o&&delete o.h),c!==void 0&&r?.csz!==c&&(c?(o||={},o.csz=c):o&&delete o.csz),o?Object.keys(o).length===0?null:o:null}}}function Nw(e,t){return Math.round(e*t)}function Pw(e,t,n,r){if(e==null)return null;let i,a,o={};if(typeof e==`number`)o.colStart=e,o.colEnd=e,o.rowStart=e,o.rowEnd=e;else if(typeof e==`string`){if(t){if(e.match(/[0-9]+/))throw Error(`Invalid range address for header axis`)}else if(e.match(/[a-zA-Z]+/))throw Error(`Invalid range address for header axis`);let r=tu(e,n);if(!r){let t=$l(e.toUpperCase(),!0);t?.colIndex!==void 0&&(o.colStart=t.colIndex,o.colEnd=t.colIndex),t?.rowIndex!==void 0&&(o.rowStart=t.rowIndex,o.rowEnd=t.rowIndex)}o={...o,...r}}return t?(i=e.min??e.colStart??o.colStart,a=e.max??e.colEnd??o.colEnd):(i=e.min??e.rowStart??o.rowStart,a=e.max??e.rowEnd??o.rowEnd),i===void 0||a===void 0?null:{min:i,max:a}}var Fw=()=>{},Iw=()=>0,Lw=()=>!1,Rw=class{constructor(e,t){this._header=e,this._coords=t}_forEachSpan(e,t,n){let r=this._header,i=this._coords,a=r._options;n||=a.createCellHeader;let o=i;if(t?.address){let e=r._parseHeaderRangeAddress(t?.address);if(e&&(o=Zr(i,e),!o))return}let s=r._scanHeaders(e,this._header._getState(),n,a,o,t);if(s&&s.break)return s.break}forEachSpan(e,t){return this._forEachSpan(e,t)}forEach(e,t){let n,r=2**53-1,i=null,a={getIndex:()=>r,getCellHeader:()=>i.getCellHeader(),getAddress:(e,t)=>i.getAddress(e,t),getCoords:()=>i.getCoords()};return this._forEachSpan((t,o)=>{i=o;let s=this._coords,c=s.max;for(let i=s.min;i<c;i++)r=i,n=i-s.min,e(t,a)},t,()=>this.at(n))}updateHeaders(e,t){let r=this._header;return r.updateHeaderPairs([{address:this._coords,update:e}],{description:t?.description??(r._isColumn?(0,n.t)(`op.updateColumnsRange`,{range:toString()}):(0,n.t)(`op.updateRowsRange`,{range:toString()})),...t}),this}getCoords(){return{...this._coords}}getUsedRange(e){let t=this._header,n=t._headerRunCoords;return!n||n.min<0||n.max>t._maxDataIndex?null:Zr(n,this._coords)?t.getRange(n,e):null}getCount(){let e=this._coords;return e.max-e.min+1}getHeaderCount(){let e=this._coords;return e.max-e.min+1}getVisibleCount(){let e=this._coords;return this._header.getVisibleCount(e.min,e.max)}isEntireHeaders(){let e=this._header._entireRunCoords,t=this._coords;return!(t.min>e.min||t.max<e.max)}getSnapshot(e){return this._header._getSnapshot(this._coords,e)}setSize(e,t){return this._header._setSize(this._coords,e,t),this}setHidden(e,t){return this._header._setHidden(this._coords,e,t),this}clear(){return this._header._clear(this._coords),this}at(e){return this._header.at(this._coords.min+e)}getAxis(){return this._header.getAxis()}doBatch(e,t){return this._header.doBatch(t=>e(t),t)}getSheetHeader(){return this._header}getAddress(e){let t=this._coords,n=this._header;return Zl(n._isColumn?{colStart:t.min,colEnd:t.max}:{rowStart:t.min,rowEnd:t.max},n._entireRangeCoords)??`#REF!`}get[Symbol.toStringTag](){return`[SheetCellHeaderRange]`}toString(){return this.getAddress()}get isICellHeaderRange(){return!0}},zw=class{constructor(e,t){this._header=e,this._coords=t}updateHeaders(e,t){let r=this._header;return r.updateHeaderPairs([{address:this._coords,update:e}],{description:t?.description??(r._isColumn?(0,n.t)(`op.updateColumnsRange`,{range:toString()}):(0,n.t)(`op.updateRowsRange`,{range:toString()})),...t}),this}getCoords(){return[...this._coords]}setHidden(e,t){return this._header._setHidden(this._coords,e,t),this}setSize(e,t){return this._header._setSize(this._coords,e,t),this}getCount(){return this._coords.length}getHeaderCount(){let e=ni(this._coords,!0),t=0,n=e.length;for(let r=0;r<n;r++){let n=e[r];t+=n.max-n.min+1}return t}getVisibleCount(){let e=ni(this._coords,!0),t=0,n=this._header,r=e.length;for(let i=0;i<r;i++){let r=e[i];t+=n.getVisibleCount(r.min,r.max)}return t}isEntireHeaders(){let e=this._header._entireRunCoords,t=this._coords,n=e.min,r=e.max,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(n<i.min||r>i.max)return!1}return!0}isEntireHeadersAny(){let e=this._header._entireRunCoords,t=this._coords,n=e.min,r=e.max,i=t.length;for(let e=0;e<i;e++){let i=t[e];if(i.min<=n&&i.max>=r)return!0}return!1}clear(){return this._header._clear(this._coords),this}at(e){let t=this._coords;return e<0||e>=t.length?null:this._header.getRange(t[e])}getAxis(){return this._header.getAxis()}doBatch(e,t){return this._header.doBatch(t=>e(t),t)}getSheetHeader(){return this._header}getAddress(e){let t=this._coords,n=this._header;return function(e,t,n=Zl){if(!e)return Ll;let r=e.length,i=Array(r);for(let a=0;a<r;a++)i[a]=n(e[a],t);return i.join(`,`)}(ti(t,n._entireRangeCoords,n._isColumn),n._entireRangeCoords)??`#REF!`}get[Symbol.toStringTag](){return`[SheetCellHeaderRanges]`}toString(){return this.getAddress()}get isICellHeaderRanges(){return!0}},Bw=class{constructor(e){if(this._closed=!1,this._scaleFactor=1,this._defaultSize=-1,this._defaultCustomSize=-1,this._defaultPxSize=1,this._isColumn=!0,this._indexedSizes=[],this._indexedHidden=[],this._headerRunCoords=null,this._hasHidden=!1,this._hiddenSignature=0,this._lastHeaderRead=null,this._readCache=null,this._lastHeaders=null,this._lastVisibleRunsRead=null,this._lastVisibleRunCoords=null,this._selectionRuns=null,this._options={isProtected:()=>!1,scaleFactor:()=>1,defaultSize:()=>100,minSize:()=>0,maxSize:()=>500,getEntireSheetCoords:()=>null,axis:t.IRange.Axis.Column,createCellHeader:(t,n,r,i)=>new jw(t,n,r,i,e?.getColumnAt??Vw),...e},!this._options.sheet)throw Error(`An ISheet must be provided`);this._emptyHeader=this._options.createCellHeader(0,this,null,null);let n=this._options.axis===t.IRange.Axis.Column;this._isColumn=n;let r=this;this._options.setContainerShiftedCallback&&this._options.setContainerShiftedCallback((e,t)=>{t<0?r._deleteHeaders(e,-t):r._insertHeaders(e,t)}),this._options.sheet&&(this._sheetRemoveListener=this._options.sheet.addListeners({onProtectionChange(){},onSelectionChange(e){r._selection=e.getSelection().getCoords(),r._selectionRuns=null},onStyleChange:()=>{},onViewChange(){let e=r._headers;r._invalidSizes(),r._invalidateMaxIndex(),r._emitter.notify(`onSizesChange`,{params:e})}},{transactional:!1}),r._selection=r._options.sheet.getSelection().getCoords()),this._transactions=this._options.transactions??new m({transient:!0}),this._id=this._transactions.create(),this._emitter=new v(r,this._transactions),this._transactionsRemoveListener=this._transactions.addStateListener(this._id,{onAfterStateChange(e){r._lastHeaders!==e.headers&&r._onHeaderChange(!0)},async onRestoreOrRevert(e){r._onHeaderChange(!0)}}),this.fromJSON(this._options?.json)}addListeners(e,t){return this._emitter.addListeners(e,t)}_invalidateMaxIndex(){let e=this._options.getEntireSheetCoords()??{colStart:0,rowStart:0,colEnd:2**53-1,rowEnd:2**53-1};this._entireSheetCoords=e;let t=this._isColumn,n=t?e.colEnd:e.rowEnd;this._entireRunMax=n,this._entireRunCoords={min:0,max:n},this._entireHeaderRange=this.getRange(this._entireRunCoords),this._entireRangeCoords={colStart:0,rowStart:0,colEnd:t?n:0,rowEnd:t?0:n}}_invalidSizes(e=!1){let t=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize;if(t<0)throw Error(`defaultSize must be greater than 0`);let n=this._options.scaleFactor();if(e||t!==this._defaultSize||n!==this._scaleFactor){this._defaultSize=t,this._scaleFactor=n,this._defaultPxSize=Nw(t,n);let e=function(e,t,n){let r=[],i=[],a=[];if(!e||e.length===0)return{sizes:r,hidden:i};if(!t||!n)return console.warn(`_HeaderUtils:default size and scaleFactor should be available`),{sizes:r,hidden:i};let o=0,s=0,c=0,l=null,u=-2,d=null,f=-2,p=e.length;for(let m=0;m<p;m++){let p=e[m],h=p.min,g=p.max;if(o=r.length===0?0:r[r.length-1].runningOffsetMax,r.length>0&&r[r.length-1].spanSize>0&&o++,s<p.min){r.push({min:s,max:h-1,runningOffsetMin:o,runningOffsetMax:Math.round(o+(h-s)*t*n)-1,runningHiddenRuns:c,spanSize:Math.round(t*n)});let e=s,i=h-1;f+1===e?d.max=i:(d={min:e,max:i,value:!0},a.push(d)),f=i}let _=r.length,v=r[_-1];o=_===0?0:v.runningOffsetMax,_>0&&v.spanSize>0&&o++;let y=p.value,b=y.h?0:Nw(y.sz??t,n),x=b===0?0:-1;b===0?(c+=g-h+1,u+1===h?l.max=g:(l={min:h,max:g,value:!0},i.push(l)),u=g):(f+1===h?d.max=g:(d={min:h,max:g,value:!0},a.push(d)),f=g),_>0&&v.spanSize===b&&v.max+1===h?(v.max=g,v.runningHiddenRuns=c,v.runningOffsetMax=v.runningOffsetMin+(g+1-v.min)*b+x):r.push({min:h,max:g,runningOffsetMin:o,runningOffsetMax:Math.round(o+(g+1-h)*b)+x,runningHiddenRuns:c,spanSize:b}),s=g+1}return{sizes:r,hidden:i}}(this._headers,t,n);this._indexedSizes=e.sizes,this._indexedHidden=e.hidden,this._lastVisibleRunsRead=null,this._lastVisibleRunCoords=null}}invalidate(){this._invalidSizes(!0),this._invalidateMaxIndex(),this._selection=this._options.sheet.getSelection()?.getCoords()}_onHeaderChange(e){this._lastHeaders=null;let t=this._headers,n=this._getState();this._defaultCustomSize=n.defaultCustomSize,this._invalidSizes(!0);let r=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize;this._lastHeaderRead=null,this._readCache=Qr(this._lastHeaders);let i=this._options.sheet.getStyles().getNormal(),a=!1,o=0,s=-1,c=t.length,l=this._entireRunMax;for(let e=c-1;e>=0;e--){let n=t[e],c=n.value,l=c.s,u=c.csz||c.sz!==r;s!==-1||!u&&l===i||(s=n.max),(c.h||c.sz===0)&&(a=!0,o=Math.imul(o,31)+n.min|0,o=Math.imul(o,31)+n.max|0)}s=Math.min(s??0,l);let u=Math.min(t[0]?.min??s,s);this._headerRunCoords=Object.freeze({min:u,max:s}),this._hasHidden=a;let d=this._hiddenSignature!==o;this._hiddenSignature=o,e&&this._emitter.notify(`onSizesChange`),d&&this._emitter.notify(`onHiddenChange`)}getSheet(){return this._options.sheet}getAxis(){return this._isColumn?t.IRange.Axis.Column:t.IRange.Axis.Row}getTextAt(e){return this._options.getTextAt?.(e)??e+``}_scanHeaders(e,t,r,i,a,o){let s=a?.min??null,c=a?.max??null,l=o?.includeEmpty??!1,u=o?.includeStyles??!1,d=o?.visibility??`all`,f=o?.includeSizes??!1,p=this,m=this._options.sheet.getStyles().getNormal(),h=this._defaultSize,g=this._scaleFactor,_=t.headers,v=this._emptyHeader,y=null,b={getCoords(){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return{min:y.min,max:y.max}},getIndex:()=>y.min,getCellHeader(){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return y.value?r(s,p,y.value):v},getAddress(e,t=!1){if(!y)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let r=e===void 0?y.min:Math.max(y.min,e),i=e===void 0?y.max:Math.min(y.max,e),a=p._parseHeaderRangeAddress({min:r,max:i}),o=p._entireRangeCoords,s=p._isColumn;return Zl({colStart:s?a.min:o.colStart,rowStart:s?o.rowStart:a.min,colEnd:s?a.max:o.colEnd,rowEnd:s?o.rowEnd:a.max},o,void 0,!0)??`#REF!`}},x=t=>{let n=t.value;if(!l&&!n)return;let r=l;if(f&&!r&&n&&(n.csz||n.sz!==h)&&(r=!0),u&&!r&&n&&(n.s&&n.s!==m||n.cs)&&(r=!0),n&&!0===n.h?r=d!==`visible`:d===`hidden`&&(r=!1),!r)return;let i=h;t.value&&(i=t.value.h?0:t.value?.sz??h),i*=g,y=t;let a=e(i,b);return a&&a.break?a:void 0},S;return S=d===`visible`?ei(this._indexedHidden,e=>{if(!0===e.value)return;let t=s===null?e.min:Math.max(e.min,s),n=c===null?e.max:Math.min(e.max,c),r=ei(_,x,t,n);return r&&r.break?r:void 0},s,c):ei(_,x,s,c),y=null,S}getRange(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));let r=this._parseHeaderRangeAddress(e);return r.min<0||r.max>this._entireRunMax?function(e){return Object.freeze({getCoords:()=>null,getAxis:()=>e.getAxis(),toString:()=>Ll,getAddress:()=>Ll,getCount:Iw,getHeaderCount:Iw,getVisibleCount:Iw,isEntireHeaders:Lw,forEach:Fw,forEachSpan:Fw,getUsedRange:Z,getSnapshot:Z,updateHeaders:Z,clear:Z,setHidden:Z,setSize:Z,at:Z,doBatch:Z,getSheetHeader:()=>e,isICellHeaderRange:!0})}(this):new Rw(this,r)}getRanges(e,t){if(!e)throw Error((0,n.t)(`error.address.noAddress`));let r=function(e,t,n){if(typeof e==`string`){let r=su(e,n),i=r?r.length:0,a=Array(i);for(let e=0;e<i;e++){let n=r[e];a[e]={min:t?n.colStart:n.rowStart,max:t?n.colEnd:n.rowEnd}}return e=a,a}Array.isArray(e)||(e=[e]);let r=e.length,i=Array(r);for(let a=0;a<r;a++)i[a]=Pw(e[a],t,n);return i}(e,this._isColumn,this._entireRangeCoords);return new zw(this,r)}getSelectedRange(e){let t=this._options.sheet.getSelection().getRange().getCoords();return this.getRange(t,e)}getSelectedRanges(e){let t=this._options.sheet.getSelection().getRanges().getCoords();return this.getRanges(t,e)}getUsedRange(e){return this.getRange(this._headerRunCoords,e)}getEntireRange(e){return e?this.getRange(this._entireRangeCoords,e):this._entireHeaderRange}at(e){if(e<0||e>this._entireRunMax)return this._emptyHeader;if(this._lastHeaderRead?.offset===e)return this._lastHeaderRead.header;let t=$r(e,this._readCache),n=this._options.getTextAt?.(e)??e+``,r=this._options.createCellHeader(e,this,t,{value:n});return this._lastHeaderRead={offset:e,header:r},r}updateHeaderPairs(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));return this._updatePairsInternal(e,t)}_parseHeaderRangeAddress(e,t){if(e==null)throw Error((0,n.t)(`error.address.noRange`));let r=Pw(e,this._isColumn,this._entireRangeCoords);if(!r)throw Error((0,n.t)(`error.address.invalidRangeHeader`));return r}_update(e,t,n){if(!e||(Array.isArray(e)||(e=[e]),e.length===0))return;let r=[],i=e.length;for(let n=0;n<i;n++){let i=this._parseHeaderRangeAddress(e[n]);this.getRange(i).forEachSpan((e,n)=>{let i=n.getCoords();r.push({address:i,update:t})},{includeEmpty:!0})}return this.updateHeaderPairs(r,n),this}_setSize(e,t=null,r){(r?.relativeSize??!1)||typeof t!=`number`||(t+=`px`);let i={size:t,autoSize:r?.autoSize??!1},a=this._isColumn?(0,n.messageKey)(`op.resizeColumns`):(0,n.messageKey)(`op.resizeRows`);return this._update(e,i,{description:a,...r}),this}_setHidden(e,t=null,r){let i={hidden:t},a=this._isColumn?t?(0,n.messageKey)(`op.unhideColumns`):(0,n.messageKey)(`op.hideColumns`):t?(0,n.messageKey)(`op.unhideRows`):(0,n.messageKey)(`op.hideRows`);return this._update(e,i,{description:a,...r}),this}_clear(e,t){let r=this._isColumn?(0,n.messageKey)(`op.clearColumnHeaders`):(0,n.messageKey)(`op.clearRowHeaders`);this.updateHeaderPairs([{address:e,update:null}],{description:r,...t})}_getSnapshot(e,t){if(e.min<0)return n.CommonUtils.EmptyArray;t=Object.freeze({...t});let r=this,i=this._getState(),a=this._isColumn?(0,n.messageKey)(`copy.columnHeaders`):(0,n.messageKey)(`copy.rowHeaders`);return{copyTo(o,s){let c={...t,...s},l=o.getCoords(),u=l.min-e.min,d=[];if(r._scanHeaders((e,t)=>{let n=t.getCoords();d.push({address:{min:n.min+u,max:n.max+u},update:t.getCellHeader()})},i,r._options.createCellHeader,null,e,{includeSizes:!0,includeStyles:!0}),!c.fitDestination){let t=e.max-e.min+1,r=l.max-l.min+1,i=n.CommonUtils.roundAccurately(r/t);if(i>1&&r%t===0){let e=d.length;for(let n=0;n<i;n++)for(let r=0;r<e;r++){let e=d[r],i=e.address,a=(n+1)*t;d.push({address:{min:i.min+a,max:i.max+a},update:e.update})}}}if(o.doBatch(()=>{o.clear(),o.getSheetHeader()._updatePairsInternal(d)},a),c.isCut){let t=r._entireRunCoords;e.min<=t.min&&e.max>=t.max&&r._clear(e)}return l},getCoords:()=>e,toText:()=>null,toHtml:()=>null,toImage:()=>null,getSource:()=>r,getName:()=>a,isISnapshot:!0}}isProtected(){return this._options?.isProtected()??!1}getScaleFactor(){return this._options.scaleFactor()??1}get _headers(){return this._lastHeaders===null&&(this._lastHeaders=this._getState()?.headers),this._lastHeaders}_updatePairsInternal(e,t){if(!e||e.length===0)return null;let r=t?.skipCustomSize??!1,i=this._isColumn,a=this.getSheet().getStyles(),o=this._beginCommit({description:t?.description??(i?(0,n.messageKey)(`op.updateColumns`):(0,n.messageKey)(`op.updateRows`))}),s=[...this._getState().headers],c=!1,l=this,u=this._defaultCustomSize===-1?this._options.defaultSize():this._defaultCustomSize,d=(e,t)=>{if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));s=qr(Kr(s,{min:e.min,max:e.max,value:t},{onUpdate:(e,t)=>{if(r&&(e?.csz||e?.h))return e;let n=Mw(l,a,e,t);return n===void 0?e:n?e?(c||=n.sz!==e.sz,c||=n.h!==e.h,n):(c=!0,n):(e&&(c=!0),n)},onSplit:e=>[e.value,e.value],onMerge:(e,t,n,r)=>{if(!(e&&!t||!e&&t||!e&&!t)&&e.sz===t.sz&&e.csz===t.csz&&e.h===t.h&&e.cs===t.cs)return e},isCull:(e,t,n)=>e===void 0}))},f=this._entireRunMax,p=e.length,m=Array(p);for(let t=0;t<p;t++){let r=e[t],i=this._parseHeaderRangeAddress(r.address);if(i.min<0||i.max>f)throw new n.OutOfBoundsError((0,n.t)(`error.sheet.oobRange`));d(i,r.update),m[t]=i}let h=!1,g=s.length;if(g>0&&s[0].min===0&&s[g-1].max===f){let e=s[0],t=!1,n=-1;for(let r=0;!t&&r<g;r++){let i=s[r],a=i.min;if(n+1!==a){t=!0;continue}let o=i.max;n=o,e.max-e.min<o-a&&(e=i)}t||(this._defaultCustomSize=e.value?.sz??-1,h=!0);let r=[];for(let e=0;e<g;e++){let t=s[e],n=t.value;if(n===null)continue;let i=Object.keys(n).length;if(i===0)continue;let a=n.sz;(i!==1||a===void 0||a!==null&&a!==u)&&r.push(t)}s=r,g=s.length}let _=[];for(let e=0;e<g;e++){let t=s[e],n=t.value;if(n===null)continue;let r=!1;n.sz!==void 0&&n.sz!==u&&(r=!0),n.csz!==void 0&&(r=!0),n.h!==void 0&&(r=!0),n.l!==void 0&&(r=!0),r&&_.push(t)}return h&&l._invalidSizes(!0),this._updateState({headers:_,defaultCustomSize:this._defaultCustomSize},c),o.commit(),m}hasHidden(){return this._hasHidden}getDefaultSize(){return this._defaultPxSize}getDefaultSizeNative(){return this._defaultSize}getMaxSize(){return Math.ceil(this._options.maxSize()*this._options.scaleFactor())}getMinSize(){return Math.floor(this._options.minSize()*this._options.scaleFactor())}getOffset(e){return function(e,t,r){if(t<=0)return 0;let i=e?e.length:0;if(i===0)return t*r;let a=e[i-1];if(t>a.max)return a.runningOffsetMax+Math.round((t-a.max-1)*r+(a.spanSize===0?0:1));let o=e[i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max)],s=t-o.min;return o.runningOffsetMin+s*o.spanSize}(this._indexedSizes,e,this._defaultPxSize)}getIndex(e){return Math.min(Math.max(0,function(e,t,r){let i=e?e.length:0;if(i===0)return Math.floor(t/r);let a=e[i-1];if(t>a.runningOffsetMax)return a.max+Math.ceil((t-a.runningOffsetMax)/r);let o=e[i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.runningOffsetMax)];if(o.spanSize===0)return Math.max(0,o.min-1);let s=t-o.runningOffsetMin;return o.min+Math.floor(s/o.spanSize)}(this._indexedSizes,e,this._defaultPxSize)),this._entireRunMax)}getVisibleIndex(e){return this._lastVisibleRunsRead===e||(this._lastVisibleRunCoords=function(e,t,r=2**53-1){let i=e?e.length:0;if(i===0)return{min:t,max:t};let a=i-1,o=e[a];if(t>o.max){let e=t-o.runningHiddenRuns;return{min:e,max:e}}a=i===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),o=e[a];let s=o.spanSize===0?Math.max(-1,o.min-1-(e[a-1]?.runningHiddenRuns??1)):t-o.runningHiddenRuns;return{min:s,max:s+Math.min(r+1,+(o.spanSize===0))}}(this._indexedSizes,e,this._entireRunMax),this._lastVisibleRunsRead=e),this._lastVisibleRunCoords}getSpanSize(e,t=e+1){return this.getOffset(t)-this.getOffset(e)}getVisibleCount(e,t){if(e>t)throw Error((0,n.t)(`error.address.invalidArguments`));if(e<0||t>this._entireRunMax)throw new n.OutOfBoundsError;return this._hasHidden?function(e,t,r){let i=r-t+1;if(e.length===0)return i;let a=e.length-1,o=e[a];if(t>o.max)return i;a=e.length===1?0:n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),o=e[a];let s=o.runningHiddenRuns;if(o.spanSize===0&&t<=o.max){let e=o.max-o.min+1;i-=Math.min(e,o.max-t+1)}r>o.max&&a<e.length&&(a=n.CommonUtils.findEqualOrGreater(e,r,e=>e.max),o=e[Math.min(a,e.length-1)]);let c=o.runningHiddenRuns;if(o.spanSize===0&&o.min<=r){let e=o.max-o.min+1;i-=Math.min(e,r-o.min+1),c-=e}return i-=c-s,i}(this._indexedSizes,e,t):t-e+1}isSelectedAll(e){let t=this.getSelectedRuns();if(t.length===0)return!1;let r=t[n.CommonUtils.findEqualOrGreater(t,e,e=>e.max)];return!(!r||e<r.min||e>r.max)&&r.value}isSelected(e){let t=this.getSelectedRuns();if(t.length===0)return!1;let r=t[n.CommonUtils.findEqualOrGreater(t,e,e=>e.max)];return!(!r||e<r.min||e>r.max)}getSelectedRuns(){let e=this._selectionRuns;return e||(this._selection&&(e=Iy(this.getAxis(),this._selection,this._entireSheetCoords)),e||=n.CommonUtils.EmptyArray),this._selectionRuns=e,this._selectionRuns}hiddenHeadersAt(e,t=!1){if(this._indexedSizes.length===0)return 0;let r=this._indexedSizes.length===1?0:n.CommonUtils.findEqualOrGreater(this._indexedSizes,e,e=>e.max),i=this._indexedSizes[r];return!i||i.spanSize!==0||i.min>e||i.max<e?0:t?e-i.min+1:i.max-e+1}_insertHeaders(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));if(t<=0)return;let r=this._beginCommit({description:this._isColumn?(0,n.messageKey)(`op.insertColumns`):(0,n.messageKey)(`op.insertRows`)}),i=this._getState().headers,a=i.length,o=e<=(a>0?i[a-1].max:0),s=i;o&&(s=qr(function(e,t,r=1){let i=n.CommonUtils.findEqualOrGreater(e,t,e=>e.max),a=e.slice(0,i),o=[],s=[];if(!e[i])return{preceding:a,modified:s,trailing:o};e[i].min>=t?o.push({...e[i],min:e[i].min+r,max:e[i].max+r}):s.push({...e[i],min:e[i].min,max:e[i].max+r});for(let t=i+1;t<e.length;t++)o.push({...e[t],min:e[t].min+r,max:e[t].max+r});return{preceding:a,modified:s,trailing:o}}([...s],e,t))),this._updateState({headers:s},o),r.commit()}_deleteHeaders(e,t){if(this.isProtected())throw Error(this._isColumn?(0,n.t)(`error.sheetHeader.protectedColumns`):(0,n.t)(`error.sheetHeader.protectedRows`));let r=this._beginCommit({description:this._isColumn?(0,n.messageKey)(`op.deleteColumns`):(0,n.messageKey)(`op.deleteRows`)}),i=this._getState().headers,a=i.length,o=e<=(a>0?i[a-1].max:0),s=i;o&&(s=qr(Gr([...s],e,t))),this._updateState({headers:s},o),r.commit()}beginCommit(e){return this._beginCommit(typeof e==`string`?{description:e}:e)}doBatch(e,t){return this._transactions.doBatch(e,typeof t==`string`?{description:t}:{description:(0,n.messageKey)(`op.updateHeader`),...t})}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._id)}isClosed(){return this._closed}close(){this._sheetRemoveListener?.(),this._emitter.close(),this._transactionsRemoveListener?.(),this._closed=!0,this._transactions.remove(this._id)}_getState(){return this._transactions.getState(this._id)}_beginCommit(e){return this._transactions.beginCommit(e)}_updateState(e,t=!1){let n=this._transactions.beginCommit();try{n.updateState(this._id,e),this._onHeaderChange(t),n.commit()}catch(e){throw n.rollback(),e}}fromJSON(e){let t=e||{};this._defaultCustomSize=t.defaultSize??-1,this._defaultCustomSize<=0&&(this._defaultCustomSize=-1),this._invalidateMaxIndex();let n=this._options.sheet.getStyles().beginPersist();try{let e=[],n=t.headers,r=n?n.length:0,i=this._entireRunMax??2**53-1,a=this._isColumn;for(let t=0;t<r;t++){let r=Mu(n[t],a);if(!r)continue;let o=r.min;if(o>=i)continue;let s={min:o,max:Math.min(r.max,i)},c=r.value,l={};c.sz!==void 0&&c.sz!==-1&&(l.sz=c.sz),c.h!==void 0&&(l.h=c.h),c.csz!==void 0&&(l.csz=c.csz),Object.keys(l).length===0&&(l.cs=!0),s.value=l,e.push(s)}this._updateState({headers:e,defaultCustomSize:this._defaultCustomSize})}finally{n.endPersist()}}toJSON(){let e=this._headers,t=e.length;if(t===0&&this._defaultCustomSize===-1)return null;let r={headers:[]};if(this._defaultCustomSize!==-1&&(r.defaultSize=n.CommonUtils.roundAccurately(this._defaultCustomSize,8)),t===0)return r;let i=this._defaultCustomSize,a=this._isColumn,o=this.getSheet().getStyles().beginPersist();for(let o=0;o<t;o++){let t=e[o],s=t.value;if(!s)continue;let c={},l=s.sz;l!==void 0&&l!==i&&(c.sz=n.CommonUtils.roundAccurately(l,8)),s.csz!==void 0&&(c.csz=s.csz),!0===s.h&&(c.h=s.h),Object.keys(c).length>0&&r.headers.push({r:ku(t.min,t.max,a),v:c})}return o.endPersist(),r}get[Symbol.toStringTag](){return`[SheetHeader]`}toString(){return`[SheetHeader]`}},Vw=e=>null,Hw=class e extends Ta{constructor(e){super(e),this._entireCoords=e?.entireCoords}getContentfulCoords(){let e=this._contentfulCoords;if(e!==void 0)return e;let t=this._entireCoords;if(!t||this.isEmpty())return this._contentfulCoords=null,null;let n=this.all(),r=n.length,i=t.colStart,a=t.rowStart,o=t.colEnd,s=t.rowEnd,c=2**53-1,l=2**53-1,u=-(2**53-1),d=-(2**53-1),f=0,p=0,m=0,h=0;for(let t=0;t<r;t++){let r=n[t];f=r.colStart,m=r.colEnd,m>=o&&(f=Math.max(f-1,i),m=f),p=r.rowStart,h=r.rowEnd,h>=s&&(p=Math.max(p-1,a),h=p),c=Math.min(c,f),u=Math.max(u,m),l=Math.min(l,p),d=Math.max(d,h),e={colStart:c,rowStart:l,colEnd:u,rowEnd:d}}return this._contentfulCoords=e,e}setEntireCoords(e){this._entireCoords=e,this._onModified()}getEntireCoords(){return this._entireCoords??null}clone(e=null){let t=super.clone(e);return t._entireCoords=this._entireCoords,t._contentfulCoords=this._contentfulCoords,t}_onModified(){super._onModified(),this._contentfulCoords=void 0}_createClone(t){return new e(t)}},Uw={rowStart:0,colStart:0,rowEnd:0,colEnd:0},Ww={includeEmpty:!0},Gw={visibility:`visible`,includeEmpty:!0};function Kw(e,t,r=[],i=!0,a,o=e.state,s){let c=!0===i||typeof i==`object`&&!!i&&Object.keys(i).length>0,l=a&&a.length>0;if(!c&&!l)return;let u=(e,a,o=!1)=>{if(!o&&!0!==i&&i[e]===void 0||!a)return;let c=a.search(t,!1),l=c.length;if(l===0)return;let u=i[e];for(let i=0;i<l;i++){let a=c[i];if(u&&!n.CoordUtils.isRangeWithinRange(t,a)||s&&!n.CoordUtils.isRangeWithinRange(a,s))continue;let o=n.CoordUtils.intersectRanges(t,a),l=a.value,d=a.value?.model??l??!0;r.push({...o,value:{[e]:d}})}};if(l){let i=a?a.length:0,o=e.getEntireCoords(),s=n.CoordUtils.isEqualRanges(t,o);for(let e=0;e<i;e++){let t=a[e],n=t?t.length:0;if(n>0){let i=``+e;if(s)for(let e=0;e<n;e++){let n=Tu(t[e],o);n.value={[i]:n.value},r.push(n)}else{let e=[...t];for(let t=0;t<n;t++)e[t]=Tu(e[t],o);let r=new Ta;r.load(e),u(i,r,!0)}}}}if(c){if(d=q.Type.Merge,(typeof i==`boolean`&&!0===i||i[d]!==void 0)&&o.mergeSpatial){let e=o.mergeSpatial.search(t),i=e.length;for(let a=0;a<i;a++){let i=e[a],o=n.CoordUtils.intersectRanges(t,i);r.push({...o,value:{merge:i.value}})}}var d;u(q.Type.Unlock,o.protectedRanges),u(q.Type.Continuous,o.continuousFillSpatial),u(q.Type.DateFormat,o.dateFormatSpatial),u(q.Type.Hyperlink,o.hyperlinkSpatial),u(q.Type.Comments,o.commentsSpatial),u(q.Type.BorderStyle,o.borderSpatial),u(q.Type.FillStyle,o.fillSpatial),u(q.Type.ContentStyle,o.contentSpatial),u(q.Type.Contentful,o.contentfulSpatial),u(q.Type.Formula,o.calcGrid.getFormulas()),u(q.Type.Pending,o.pendingSpatial),u(q.Type.CalcError,o.calcErrorsSpatial),u(q.Type.Circular,o.circularSpatial),!0!==i&&i[q.Type.Error]!==void 0&&u(q.Type.Error,e.getErrorSpatial()),u(q.Type.Spills,o.spillSpatial),u(q.Type.Table,o.tables),u(q.Type.AutoTable,o.autoTables),u(q.Type.DataValidations,o.dataValidations),u(q.Type.Conditionals,o.conditionalFormats)}}function qw(e,r){let i=e.state;if(!i||!r||!r.searchTypes)return ci;let a=r?.bounds??e.getUsedCoords()??e.getEntireCoords(),o=null;!0===r.searchTypes?o=rp:n.CommonUtils.isObject(r.searchTypes)&&(o=r.searchTypes);let s=r?.ignoreHidden,c=!0===s||s===t.IRange.Axis.Row,l=!0===s||s===t.IRange.Axis.Column,u=r?.injectReferences,d=r?.includeMergeOverflow??!1,f=[],p=l?Gw:Ww,m={min:a.colStart,max:a.colEnd},h=c?Gw:Ww,g={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(g).forEachSpan((t,n)=>{let s=n.getCoords(),c=s.min,l=s.max;e.columnHeaders.getRange(m).forEachSpan((t,n)=>{let s=n.getCoords(),d=s.min,p=s.max;Kw(e,{rowStart:c,rowEnd:l,colStart:d,colEnd:p},f,o,u,i,r?.fullyContained?a:void 0)},p)},h);let _=new _i.IteratorInstance(f,r),v=r?.reverse??!1,y=r?.byCell,b;return{next:e=>{if(b=_.next(e),b.done)return si;let t=b.value,n=mO(t.overlaps),r,i=t.range;if(d){let e=n?.merge;if(e){let t=e.getCoords(),n=a.colStart,i=a.rowStart,o=t.colStart,s=t.rowStart;o<n&&i<s&&(r={colIndex:o,rowIndex:s})}}r||={colIndex:i.colStart,rowIndex:i.rowStart};let o={colIndex:i.colEnd,rowIndex:i.rowEnd},s=null;return y&&(s={...t.cell}),{done:!1,value:{start:v?o:r,end:v?r:o,cell:s,intersection:n}}}}}function Jw(e,r,i){let a=e.state;if(!a||!r)return null;let o=e.getEntireCoords();i&&(o={colStart:Math.max(o.colStart-i,o.colStart),rowStart:o.rowStart,colEnd:Math.min(o.colEnd+i,o.colEnd),rowEnd:o.rowEnd});let s={rowStart:r.rowStart,colStart:o.colStart,rowEnd:r.rowEnd,colEnd:o.colEnd},c={bounds:s,searchTypes:op,axis:t.IRange.Axis.Row,ignoreHidden:!0,byCell:!1},l=r.colStart,u=r.colEnd,d,f,p=-1,m=(e,t)=>{let n=e.next();for(;!n.done;){let r=n.value,i=r.intersection,a=i.contentful;if(a){let e=r.start.rowIndex;if(!f||e!==p){let n=r.end.rowIndex,o=a.getCoords(),s=t?o.colEnd:o.colStart,c=null;t&&(c=i.continuous),d||=[];for(let t=e;t<=n;t++)d.push({rowIndex:t,colIndex:s,continuous:c,intersection:i,scalar:null,leftIndex:0,rightIndex:0,overflow:null,style:null})}p=e,f=r}n=e.next()}};l>o.colStart&&(s.colStart=o.colStart,s.colEnd=r.colStart-1,m(qw(e,c),!0)),p=-1,f=void 0,u<o.colEnd&&(s.colStart=r.colEnd+1,s.colEnd=o.colEnd,m(qw(e,c),!1));let h=a.cellValuesGrid;if(!d)return null;d.sort(n.CoordUtils.columnFirstCellComparator);let g=d.length,_=e.cellOptions,v,y;for(let e=0;e<g;e++){let n=d[e],r=n.rowIndex,i=n.colIndex,a=h.getValueAt(r,i);n.scalar=a;let o=n.continuous;if(o||typeof a==`string`&&!n.intersection?.merge){Uw.colStart=i,Uw.rowStart=r,Uw.colEnd=i,Uw.rowEnd=r;let e=AC(void 0,Uw,n.intersection,_,!0);n.style=e;let s=OC(r,i,t.ScalarType.String,e,a,null,null,o?.getCoords(),_);if(s){let e=s.leftIndex,t=s.rightIndex;n.leftIndex=e,n.rightIndex=t,(t>0&&i<l||e>0&&i>u)&&(n.overflow=s)}}n.overflow?(v||=[],v.push(n)):(y||=[],y.push(n))}return{overflows:v,stops:y}}var Yw,Xw=RegExp(`([0-9]+)$`);function Zw(e,t){return e.colStart===t.colStart&&e.rowStart===t.rowStart}function Qw(e,t,n){return!!n&&e===n.rowStart&&t===n.colStart}function $w(e,r,i,a,o,s,c,l,u,d,f,p,m=!1,h){let g,_,v=null,y=o.size();p===void 0&&(p=s.getAxis()===t.IRange.Axis.Column);let b=r?r.length:0,x=i?i.length:0,S,C=b+x;for(let t=0;t<C&&y>0;t++){let d=t<b?r[t]:i[t-b],f=o.search(d),p=f.length;for(let t=0;t<p;t++){let r=f[t];if(!Qw(r.rowStart,r.colStart,d)){if(r.value.getError())continue;S||=[],S.push(r)}o.remove(r,Zw);let i=r.value;e!==-1&&e===i.getCycleId()||u?.(null,r),i.getError()||(s.delete(r),a.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:null},{onIntersect:(e,t)=>{if(e.value!==null)return c?.(e.colStart,e.rowStart,e.colEnd,e.rowEnd),v=n.CoordUtils.unionRanges(v,e),l?.insertNonOverlapping(e),v=n.CoordUtils.unionRanges(v,e),t}})),y--}}for(let e=0;e<b;e++){let t=r[e],i={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:t.scope,value:null};a.insertNonOverlapping(i,{onIntersect:(e,t)=>{if(e.value===null)return;let r=n.CoordUtils.sanitizeRange(t);return m&&l?.insertNonOverlapping(r),d?.insertNonOverlapping({...t,value:!1}),c?.(r.colStart,r.rowStart,r.colEnd,r.rowEnd),v=n.CoordUtils.unionRanges(v,r),t}}),h?.insertNonOverlapping(i),f?.insertNonOverlapping(i,{onIntersect:(e,t)=>{if(e.value!==null)return c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd),v=n.CoordUtils.unionRanges(v,t),t},onUpdates:(e,t,r)=>{_||=[];let i=e.length;for(let t=0;t<i;t++){let n=e[t];_.push(n)}g||=[];let a=t.length;for(let e=0;e<a;e++){let r=t[e],i=n.CoordUtils.sanitizeRange(r);g.push(i)}}})}let w=p?t.IRange.Axis.Column:t.IRange.Axis.Row;if(S){let t=S.length,r=rk(t);for(let i=0;i<t;i++){let t=S[i],o=t.value.setError(!0,e);u?.(o,null),r[i]=o,v=n.CoordUtils.unionRanges(v,t),a.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colStart,rowEnd:t.rowStart,value:new Vu(t,w)}),c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd)}o.load(r)}for(let e=0;e<x;e++){let t=n.CoordUtils.sanitizeRange(i[e]);a.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:new Vu(t,w)}),m&&l?.insertNonOverlapping(t),c?.(t.colStart,t.rowStart,t.colEnd,t.rowEnd),v=n.CoordUtils.unionRanges(v,t)}return v}function eT(e,t,n,r){if(!t)return;let i=t.block;if(!i)return;let a=t.colIndex,o=t.rowIndex,s,c,l,u,d;n?(s=n.colStart,c=n.rowStart,l=n.colEnd,u=n.rowEnd,d=n.scope):(s=a,c=o,l=a,u=o),d||=t.gridId;let f=e.get(i);f||(f=[],e.set(i,f));let p=f.findIndex(e=>e.value.index===r),m=p===-1?void 0:f[p];if(m&&m.scope===d){s<m.colStart&&(m.colStart=s),c<m.rowStart&&(m.rowStart=c),l>m.colEnd&&(m.colEnd=l),u>m.rowEnd&&(m.rowEnd=u);let e=m.value.formulaEntry;e.colStart=m.colStart,e.rowStart=m.rowStart,e.colEnd=m.colEnd,e.rowEnd=m.rowEnd;return}let h={colStart:s,rowStart:c,colEnd:l,rowEnd:u,scope:d,value:{formulaEntry:{colStart:s,rowStart:c,colEnd:l,rowEnd:u,scope:d,value:i},formulaBlockWidth:1,formulaBlockHeight:1,index:r,$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1}};p===-1?f.push(h):f[p]=h}(function(e){e.Date=class{constructor(e){this._options=e}canFill(e,t){return ar(e,!0)}createFillAt(e,t){t={...this._options,...t};let n=0,r=this._options?.unit;r||=e.length===1?sr:function(e,t=!1){if(!e||e.length<1)return sr;let n=e;t||(n=e.slice(),n=n.sort((e,t)=>e.getTime()-t.getTime()));let r=!1,i=-1,a=-1;for(let e=0;e<n.length;e++){let t=n[e];if(e>n.length-1&&t.getTime()<n[e+1].getTime())throw Error(`Dates are expected to be sorted.`);let o=12*t.getFullYear()+t.getMonth();if(o===a)return sr;a=o;let s=t.getFullYear();s>i?i=s:r=!0}return r?cr:lr}(e);let i=ur(e[0],0,r);i.setHours(0,0,0,0);let a=1;t?.reverse&&(a*=-1,n*=-1);let o=e.length;for(let t=1;t<o;t++){let n=or(e[t-1],e[t],r);if(t===1)a=n;else if(n!==a)return null}return e.length===1&&t.multiFill,e=>{let t=ur(i,a*e,r);if(n!==0){let r=0+n*e,i=r%1440,a=Math.floor(i/60),o=i%60;t.setHours(a,o,0,0);let s=Math.floor(r/1440),c=Math.floor(s/365),l=s%365,u=Math.floor(l/30),d=l%30;c>0&&t.setFullYear(t.getFullYear()+c),u>0&&t.setMonth(t.getMonth()+u),d>0&&t.setDate(t.getDate()+d)}return t}}},e.Linear=class{constructor(e){this._options=e}canFill(e,t){return typeof e==`number`||e===null}createFillAt(e,t){t={...this._options,...t};let n=wx(e),r=n.b,i=n.m;return e.length===1?(t.reverse&&(i=-i),t.multiFill?e=>e*i+r:null):e=>i*(e+1)+r}};let t={value:null,template:null},n={sensitivity:`accent`};e.Ordinal=class{_template(e){let t=e.match(Xw);if(!t)return null;let n=t[1],r=e.lastIndexOf(n);return r===-1?null:e.substring(0,r)}canFill(e,r){if(e===null)return!0;if(typeof e!=`string`)return t.value=null,!1;let i=this._template(e);return i&&(r===void 0||r===t.value&&i.localeCompare(t.template,void 0,n)===0)?(t.value=e,t.template=i,!0):(t.value=null,!1)}createFillAt(e,t){let n=[],r=e[0],i=null,a=null,o=0;if(r){let e=r.match(Xw);if(e){i=e[1],i.startsWith(`0`)&&(o=i.length);let t=r.lastIndexOf(i);a=r.substring(0,t)}}let s=e.length;for(let t=0;t<s;t++){let r=e[t],i=null;if(r){let e=r.substring(a.length,r.length);e.startsWith(`0`)&&(o=Math.max(o,e.length));let t=parseFloat(e);isNaN(t)||(i=t)}n.push(i)}let c=wx(n),l=c.b,u=c.m;return u!==0&&Number.isInteger(u)?n=>{if(e[n%s]===null)return null;let r=(s===1?t.reverse?-n:n:u*(n+1))+l,i=``+Math.abs(r),c=`0`.repeat(Math.max(0,o-i.length))+i;return a+c}:null}},e.Copy=class{canFill(e,t){return!0}createFillAt(e,t){let n=e.length;return t=>e[t%n]??null}};let r=Object.freeze([`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`]),i=Object.freeze([`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]),a=Object.freeze([`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]),o=Object.freeze([`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]);e.List=class{constructor(e){this._lists=[],this._map=new Map;let t=[];if(e?.customLists){let n=e.customLists;for(let e=n.length-1;e>0;e--)t.push(n[e])}t.push(o),t.push(a),t.push(i),t.push(r);let n=this._map,s=[],c=t.length;for(let e=0;e<c;e++){let r=t[e],i=[];s.push(i);let a=r.length;for(let t=0;t<a;t++){let a=x(r[t],!0),o=a.toLowerCase().trim(),s=n.get(o);s||(s=[],n.set(o,s));let c={value:a,asKey:o,major:e,minor:t};s.push(c),i.push(c)}}this._lists=Object.freeze(s)}canFill(e,t){return e===null||typeof e==`string`&&!!this._map.get(e.toLowerCase().trim())}createFillAt(e,t){let n=[],r=e[0];n.push(r.toLowerCase().trim());let i=this._map.get(n[0]),a,o=new Map,s=new Set,c=i.length;for(let e=0;e<c;e++){let t=i[e];o.set(t.major,t)}if(e.length>1){let t=e.length;for(let r=1;r<t;r++){let t=e[r].toLowerCase().trim(),i=this._map.get(t);if(!i)return null;r===1&&(a=i),n.push(t);let c=i.length;for(let e=0;e<c;e++){let t=i[e].major;o.has(t)&&s.add(t)}}if(s.size===0)return null}let l=null,u=this._lists;for(let t=0;!l&&t<u.length;t++)(e.length===1||s.has(t))&&(l=o.get(t));if(!l)return null;let d=null;for(let e=0;!d&&a&&e<a.length;e++)a[e].asKey===n[1]&&(d=a[e]);let f=!1,p=!1,m=Xg(r);m===1?f=!0:(m===-1||Xg(r[0])===-1)&&(p=!0);let h=u[l.major],g=l.minor,_=1;if(n.length>1){_=d.minor-l.minor;let e=n.length;for(let t=2;t<e;t++)if(h[t+g].minor-h[t-1+g].minor!==_)return null}e.length===1&&t?.reverse&&(_=-_);let v=e.length,y=h.length;return t=>{if(e[t%v]===null)return null;let n=(t*_+g)%y;n<0&&(n=y+n);let r=h[n].value??null;return f?r.toUpperCase():p?r.toLowerCase():r}}},e.Composite=class{constructor(e){e=Array.isArray(e)?[...e]:[e],this._fillers=e}canFill(e,t){return!0}createFillAt(e,t){let n=this._fillers;t={multiFill:e.length>1,...t};let r=e.length,i=0,a=!1;for(let t=0;!a&&t<=r;t++)e[t]===null?i++:a=!0;let o=0;a=!1;for(let t=r-1;!a&&t>=i;t--)e[t]===null?o++:a=!0;let s=[],c=null,l=null,u=[],d=i,f=0,p=e=>{if(c&&c.max+1===d){let t=c.value;t.fillAt.push(e),c.max=d,t.length++,t.valuesLength++}else c={min:d,max:d,value:{fillAt:[e],start:d,length:1,valuesLength:r,blankInterval:0}};s.push(c)},m=r-o;for(d=i;d<m;){let r=e[d];if(r===null){d++;continue}l=null;let i,a=1,o=!1;for(let e=0;!o&&e<n.length+1;e++){let t=n[e];t&&(o=t.canFill(r,i),o&&(l=t))}if(!l){r!==null&&p(r),d++;continue}let c=0;f=0,i=r;do r=e[d+a],o=l.canFill(r,i),o&&(r===null?c++:(i=r,c>0&&(a-c===1?f=c:c!==f&&(f=0)),c=0),a++);while(o&&d+a<m);u=[e[d]];let h=1+f,g=a-c;for(let t=h;t<g;t+=h)u.push(e[d+t]);if(u.length>0){let e=u.length,n=e+(e-1)*f,r=l.createFillAt?.(u,t)??u;s.push({min:d,max:d+n-1,value:{fillAt:r,start:d,length:n,valuesLength:e,blankInterval:f}})}d+=a}let h=Qr(s);return e=>{let t=e>=0,n=Math.abs(e),i=$r(n%r,h);if(!i)return null;let a=Math.floor(n/r),o=i.length,s=i.start,c=(a+ +!!t)*s+(a+ +!t)*(r-(s+o)),l=e+(t?-c:c),u=i.blankInterval;if(u!==0){let e=l%o;if(e%(1+u)!==0)return null;l=Math.floor(e/(1+u))+i.valuesLength*a}let d=i.fillAt;return typeof d==`function`?d(l):d[l%d.length]}}},e.Types={Series:new Yw.Composite([new Yw.Date,new Yw.Linear,new Yw.Ordinal,new Yw.List]),DateDays:new Yw.Date({unit:sr}),DateMonths:new Yw.Date({unit:cr}),DateYears:new Yw.Date({unit:lr}),Copy:new Yw.Copy},e.fillTo=(e,t,n,r)=>{let i=[],a=t.length,o=e.createFillAt(t,r);for(let e=a;e<n;e++)i.push(o(e));return i}})(Yw||={});var tT=(e,n,r,i=nT)=>{if(i.$absColStart=i.$absColEnd=n,i.$absRowStart=i.$absRowEnd=r,!n&&!r||!e||t.FormulaError.isError(e)||`nameId`in e)return i;let a=e;return n&&(a.$colStart||a.$colEnd)&&(i.$absColStart=!!a.$colStart,i.$absColEnd=!!a.$colEnd),r&&(a.$rowStart||a.$rowEnd)&&(i.$absRowStart=!!a.$rowStart,i.$absRowEnd=!!a.$rowEnd),i},nT={$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1};function rT(e,n,r=null){let i=e.colEnd-e.colStart,a=e.rowEnd-e.rowStart,o=e.value,s=o.formula,c=o.ref,l=c.rowStart,u=c.colStart,d=s.resolvedPrecedentsAt(l,u,!0,mT,hT),f=d.length,p=s.getReferences(l,u);for(let o=0;o<f;o++){let s=d[o];if(t.FormulaError.isError(s))continue;let c=tT(p[o],hT[o],mT[o]),l=c.$absColEnd,u=c.$absRowEnd,f={colStart:s.colStart,rowStart:s.rowStart,colEnd:s.colEnd+(l?0:i),rowEnd:s.rowEnd+(u?0:a),scope:s.scope??e.scope,value:{formulaEntry:e,formulaBlockWidth:i+1,formulaBlockHeight:a+1,index:o,$absColStart:c.$absColStart,$absColEnd:l,$absRowStart:c.$absRowStart,$absRowEnd:u}};r&&r.push(s),n.push(f)}}var iT=(e,t,n)=>{let r=e.search(t),i=r.length;if(i===0)return null;let a=[],o=[],s=[],c=[],l=new Set;for(let e=0;e<i;e++){let i=r[e],u=i.value,d=u.formulaEntry;if(i.colEnd===i.colStart&&i.rowEnd===i.rowStart||u.index<0)continue;if(l.has(d)){a.push(i);continue}let f=d.colEnd-d.colStart,p=d.rowEnd-d.rowStart,m=i.colStart,h=i.rowStart,g=i.colEnd,_=i.rowEnd,v=n({precedentEntry:i,precedentValue:u,formulaEntry:d,fw:f,fh:p,nw:u.$absColEnd?g-m+1:g-m-f+1,nh:u.$absRowEnd?_-h+1:_-h-p+1},t);if(!v)continue;l.add(d),a.push(i),o.push(d);let y=v.length;for(let e=0;e<y;e++)c.push(v[e]),rT(v[e],s)}return a.length===0?null:{precedents:{inserts:s,removes:a},formulas:{inserts:c,removes:o}}},aT=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nw:s,nh:c}=e,l=[],u=[],d=(e,t,n)=>{t<=0||t>n||e.indexOf(t)===-1&&e.push(t)},f=r.$absColStart,p=r.$absColEnd,m=r.$absRowStart,h=r.$absRowEnd;if(!(a>0)||f&&p||(d(l,t.colStart-i.colStart,a),f||d(l,t.colStart-n.colStart,a),p||d(l,t.colStart-n.colStart-s+1,a)),!(o>0)||m&&h||(d(u,t.rowStart-i.rowStart,o),m||d(u,t.rowStart-n.rowStart,o),h||d(u,t.rowStart-n.rowStart-c+1,o)),l.length===0&&u.length===0)return null;l.sort((e,t)=>e-t),u.sort((e,t)=>e-t);let g=[i];if(u.length>0){g=[];let e=i;for(let t=0;t<u.length;t++){let n=i.rowStart+u[t];if(n<=e.rowStart||n>e.rowEnd)continue;let r=ja(e,{rowStart:n,colStart:e.colStart,rowEnd:e.rowEnd,colEnd:e.colEnd},Ia);r&&r.length===2&&(g.push(r[0]),e=r[r.length-1])}g.push(e)}if(l.length>0){let e=[];for(let t=0;t<g.length;t++){let n=g[t];for(let t=0;t<l.length;t++){let r=i.colStart+l[t];if(r<=n.colStart||r>n.colEnd)continue;let a=ja(n,{rowStart:n.rowStart,colStart:r,rowEnd:n.rowEnd,colEnd:n.colEnd},Ia);a&&a.length===2&&(e.push(a[0]),n=a[a.length-1])}e.push(n)}g=e}return g.length>1?g:null},oT=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nh:s,nw:c}=e,l=n.rowStart,u=n.colStart,d=t.rowStart,f=t.rowEnd,p=t.colStart,m=t.colEnd,h=[];if(o>0&&(!r.$absRowStart||!r.$absRowEnd))if(s>1){let e=Math.max(0,d-l-s+1),t=Math.min(o+1,Math.max(0,d-l)),n=Math.min(o+1,Math.max(0,f-l-s+2)),r=Math.min(o+1,Math.max(0,f-l+1));for(let n=e;n<=t;n++)n>0&&n<=o&&h.push(n);for(let e=n;e<=r;e++)e>0&&e<=o&&(h.length!==0&&h[h.length-1]===e||h.push(e))}else{let e=d-l;e>0&&e<=o&&h.push(e);let t=f-l+1;t>0&&t<=o&&t!==e&&h.push(t)}let g=[];if(a>0&&(!r.$absColStart||!r.$absColEnd))if(c>1){let e=Math.max(0,p-u-c+1),t=Math.min(a+1,Math.max(0,p-u)),n=Math.min(a+1,Math.max(0,m-u-c+2)),r=Math.min(a+1,Math.max(0,m-u+1));for(let n=e;n<=t;n++)n>0&&n<=a&&g.push(n);for(let e=n;e<=r;e++)e>0&&e<=a&&(g.length!==0&&g[g.length-1]===e||g.push(e))}else{let e=p-u;e>0&&e<=a&&g.push(e);let t=m-u+1;t>0&&t<=a&&t!==e&&g.push(t)}if(h.length===0&&g.length===0)return null;let _=[i];if(h.length>0){_=[];let e=i;for(let t=0;t<h.length;t++){let n=i.rowStart+h[t];if(n<=e.rowStart||n>e.rowEnd)continue;let r=ja(e,{rowStart:n,colStart:e.colStart,rowEnd:e.rowEnd,colEnd:e.colEnd},Ia);r&&r.length===2&&(_.push(r[0]),e=r[r.length-1])}_.push(e)}if(g.length>0){let e=[];for(let t=0;t<_.length;t++){let n=_[t];for(let t=0;t<g.length;t++){let r=i.colStart+g[t];if(r<=n.colStart||r>n.colEnd)continue;let a=ja(n,{rowStart:n.rowStart,colStart:r,rowEnd:n.rowEnd,colEnd:n.colEnd},Ia);a&&a.length===2&&(e.push(a[0]),n=a[a.length-1])}e.push(n)}_=e}return _},sT=(e,t)=>{let{precedentEntry:n,precedentValue:r,formulaEntry:i,fw:a,fh:o,nw:s,nh:c}=e;if(a===0&&o===0)return null;let l=n.colStart,u=n.rowStart,d=r.$absRowStart?u>=t.rowStart?0:o+1:Math.max(0,t.rowStart-u),f=r.$absRowEnd?n.rowEnd<=t.rowEnd?o:-1:Math.min(o,t.rowEnd-u-(c-1)),p=r.$absColStart?l>=t.colStart?0:a+1:Math.max(0,t.colStart-l),m=r.$absColEnd?n.colEnd<=t.colEnd?a:-1:Math.min(a,t.colEnd-l-(s-1));if(d>f||p>m||d===0&&f===o&&p===0&&m===a)return null;let h=d>0?i.rowStart+d:-(2**53-1),g=f<o?i.rowStart+f:2**53-1,_=p>0?i.colStart+p:-(2**53-1),v=m<a?i.colStart+m:2**53-1;return dT.colStart=_,dT.rowStart=h,dT.colEnd=v,dT.rowEnd=g,ja(i,dT,Ia)},cT=(e,t,n)=>{let r=e.colStart,i=e.rowStart,a=e.colEnd,o=e.rowEnd,s=t.colStart,c=t.rowStart,l=t.colEnd,u=t.rowEnd,d=Math.max(r,s),f=Math.max(i,c),p=Math.min(a,l),m=Math.min(o,u),h=e.value.calcs;for(let e=f;e<=m;e++){let t=e-i,a=h[t];for(let e=d;e<=p;e++){let i=e-r;n(a[i],t,i)}}};function lT(e,r,i,a,o,s=!1,c=!1,l,u){if(!e||r.isEmpty())return null;uT.colStart=e.colStart,uT.rowStart=e.rowStart,uT.colEnd=e.colEnd,uT.rowEnd=e.rowEnd,uT.scope=null;let d=r.search(uT),f=d.length;if(!f)return null;let p,m,h;for(let t=0;t<f;t++){let o=d[t];if(pT.colIndex=o.colStart,pT.rowIndex=o.rowStart,pT.scope=o.scope,o.value.getError())continue;let s=n.CoordUtils.isCellWithinRange({colIndex:pT.colIndex,rowIndex:pT.rowIndex,scope:pT.scope},e);s&&c||(p||(m=[],p=[],h=i.clone()),s?p.push(o):m.push(o),i.delete(o),r.remove(o,gT),a.insertNonOverlapping({...o,value:null}))}return f?(e=!1,c,d)=>{let f=s?t.IRange.Axis.Row:t.IRange.Axis.Column,g=m?m.length:0;if(g>0){r.load(m);for(let e=0;e<g;e++){let t=m[e],r=n.CoordUtils.sanitizeRange(t);h.copyTo(i,{colIndex:r.colStart,rowIndex:r.rowStart},r),a.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:new Vu(r,f)}),l?.insertNonOverlapping({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,scope:t.scope,value:null}),u?.(r.colStart,r.rowStart,r.colStart,r.rowStart)}}let _=p?p.length:0;if(o)for(let e=0;e<_;e++)o(null,p[e]);if(!e||c===void 0&&d===void 0||_===0)return;c??=0,d??=0;let v=[];for(let e=0;e<_;e++){let t=p[e],n={colStart:t.colStart+d,rowStart:t.rowStart+c,colEnd:t.colEnd+d,rowEnd:t.rowEnd+c,scope:t.scope},r=t.value.getTranslated(c,d);v.push(t.value.getTranslated(c,d)),o?.(r,null),h.copyTo(i,{colIndex:n.colStart,rowIndex:n.rowStart},t),a.insertNonOverlapping({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,value:new Vu(n,f)})}r.load(v)}:null}var uT={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},dT={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},fT={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},pT={colIndex:0,rowIndex:0,scope:null},mT=[],hT=[];function gT(e,t){return e.value===t.value}var _T={skipCustomSize:!0,expandOnly:t.IRange.Axis.Column,minContent:!0},vT=()=>[],yT={rowStart:0,colStart:0,rowEnd:0,colEnd:0},bT=[{colIndex:-1,rowIndex:-1},null,null,null,null];function xT(e,t,r,i){let a=i?.description??(0,n.messageKey)(`op.setComments`),o=zy(t),s=e.beginCommit({description:a}),c=null;try{let a=e.getState();if(!a)return;let l=a.commentsSpatial,u=l,d=t.length;for(let e=0;e<d;e++){let i=t[e],a=null;if(r!==null){let e=r;if(!e)continue;a=typeof e==`string`?{content:{runs:{text:e}}}:{...e}}c=n.CoordUtils.unionRanges(c,i),l===u&&(u=l.clone()),u.insertNonOverlapping({...i,value:a})}e.invalidateUsedCoords(),e.updateState({commentsSpatial:u}),e.commitAndAutoSelect(s,o,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw s.rollback(),e}}var ST=e=>R(e)??e;function CT(e,t,r,i){let a=i?.description??(0,n.messageKey)(`op.setHyperlink`);e.protectionCheck(()=>[`insertHyperlinks`,`formatCells`],t,a);let o=zy(t),s=e.beginCommit({description:a});try{let a=e.getState();if(!a)return;let c=a.hyperlinkSpatial,l=c,u=e.styles,d=e=>{let t={...e.getAuthoredProperties()};if(t.named){let e=u.getNamed(t.named)?.getRanged().getPropertiesAt(0,0,null);t=n.CommonUtils.mergeContentful(e,t)}return delete t.font,t.named=X.BuiltInName.Hyperlink,t},f=[],p=t.length;for(let n=0;n<p;n++){let i=t[n],o=null,s=i.value,u=s===void 0?r:s,p;if(u!==null)if(u.isIHyperlink)p={...u._p},o=u.getTextToDisplay();else if(typeof u==`string`)p={address:ST(u)};else if(u.address||u.textToDisplay){let e=u,t={...e};delete t.textToDisplay,t.address?(t.address=ST(t.address),p=t):p=null,o=e.textToDisplay??null}else p=null;else p=null;if(c===l&&(l=c.clone()),p!==null||c.size()>0){if(o&&r){let t=e.isDataColumn;DT(e,Xa(o,{majorStart:t?i.colStart:i.rowStart,majorEnd:t?i.colEnd:i.rowEnd,minorStart:t?i.rowStart:i.colStart,minorEnd:t?i.rowEnd:i.colEnd},t),void 0,null,{isHyperlink:!0})}p===null?e.getRangedEntries(a.hyperlinkSpatial,[i],{onEntry:(e,t)=>(l.insertNonOverlapping({...t,value:p}),t.value)}):(l.insertNonOverlapping({...i,value:p}),f.push({...i,value:d}))}}e.invalidateUsedCoords(),e.updateState({hyperlinkSpatial:l}),f.length>0&&wT(e,f),e.commitAndAutoSelect(s,o,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw s.rollback(),e}}function wT(e,t,r,i,a=!1){let s=i?.description??(0,n.messageKey)(`op.updateStyle`);e.protectionCheck(()=>[`formatCells`],t,s);let c=e.beginCommit({description:s}),l=zy(t);try{let s=e.getState();if(!s)return;let u=c.getId(),d=e.getEntireCoords(),f=e.getEntireCoords,p=s.borderSpatial.clone(u),m=s.fillSpatial.clone(u),h=s.contentSpatial.clone(u),g=s.continuousFillSpatial,_=s.dateFormatSpatial,v=e.styles,y=function(e){return(t,n,r=!1)=>{let i=null,a=n_(n,()=>i||(i=v_(void 0,e,t,t.getCoords()),i)),o=t.cloneWithUpdate(a,r);return o.isEmpty()&&!o.getUpdateProperties()?null:o}}(v),b=(e,t)=>{if(a&&e.value&&e.value.getProperties()?.numberFormat)return e;let r=n.CoordUtils.sanitizeRange(e),i=e.value??new Tg(v,f,r),o=t.value,s=o?o.getUpdateProperties()??o.getProperties():null,c=i.cloneWithUpdate(s);return c.isEmpty()&&(c=null),{...t,value:c}},x=e=>{let t=!g.isEmpty(),r=!_.isEmpty(),i=h.search(e),a=[],c=[];for(let t=0;t<i.length;t++){let r=i[t],s=r.value?r.value._p:null;if(!s)continue;let l=n.CoordUtils.intersectRanges(r,e),u=s.alignment?.horizontal;u!==o.HorizontalAlignment.CenterContinuous&&u!==o.HorizontalAlignment.Fill||a.push({...l,value:y(new Tg(v,f,l),{alignment:{horizontal:u}})});let d=s.numberFormat;typeof d==`number`&&(d=qc(d)),d&&(Nr(d)||Pr(d))&&c.push({...l,value:d})}if(t||a.length){g===s.continuousFillSpatial&&(g=g.clone()),g.insertNonOverlapping({...e,value:null});for(let e=0;e<a.length;e++)g.insertNonOverlapping(a[e])}if(r||c.length){_===s.dateFormatSpatial&&(_=_.clone()),_.insertNonOverlapping({...e,value:null});for(let e=0;e<c.length;e++)_.insertNonOverlapping(c[e])}},S=t.length;for(let i=0;i<S;i++){let a=t[i],o=a.value,s=o===void 0?r:o;if(typeof s==`function`){let t={colStart:Math.max(a.colStart-1,d.colStart),rowStart:Math.max(a.rowStart-1,d.rowStart),colEnd:Math.min(a.colEnd+1,d.colEnd),rowEnd:Math.min(a.rowEnd+1,d.rowEnd)},r=e.composeDirectStyleView(t,{border:p,fill:m,content:h}),i=(e,t)=>{let r=e.value??new Tg(v,f,n.CoordUtils.sanitizeRange(e)),i=y(r,s);return i&&i.isEmpty()&&(i=null),{...t,value:i}},o=y(new Tg(v,f,a),s,!0);o?._p?.border&&kO(o,a,r,y,d),r.insertNonOverlapping({...a,value:o},{onIntersect:i}),AO(r,p,m,h,t),x(t);continue}let c=y(new Tg(v,f,a),s,!0);if(c===null){let e={...a,value:null};p.insertNonOverlapping(e,{onIntersect:b}),m.insertNonOverlapping(e,{onIntersect:b}),h.insertNonOverlapping(e,{onIntersect:b})}else{let e=c.splitByFeature();e.border&&(e.border?._p?.border&&kO(e.border,a,p,y,d),p.insertNonOverlapping({...a,value:e.border},{onIntersect:b})),e.fill&&m.insertNonOverlapping({...a,value:e.fill},{onIntersect:b}),e.content&&h.insertNonOverlapping({...a,value:e.content},{onIntersect:b})}x(a)}if(e.invalidateUsedCoords(),e.updateState({borderSpatial:p,fillSpatial:m,contentSpatial:h,continuousFillSpatial:g,dateFormatSpatial:_}),i?.autoFit){let n=typeof i.autoFit==`boolean`?_T:i.autoFit;e.autoFit(t,n)}e.notify(`onStyleChange`),a?c.commit({forceAmend:!0}):e.commitAndAutoSelect(c,l,i?.autoSelect,{viewAfter:{ranges:t}})}catch(e){throw c.rollback(),e}}function TT(e,r,i=null){if(e.protectionCheck(vT,r),r.length===1&&n.CoordUtils.isSingleCell(r[0]))return;let a=t.IRange.AxisSelection.Both;i?.axes?a=i.axes:i===t.IRange.AxisSelection.Row?a=t.IRange.AxisSelection.Row:i===t.IRange.AxisSelection.Column&&(a=t.IRange.AxisSelection.Column);let o=i?.discardMultipleValues??!1,s=zy(r),c=e.getSelection().getCoords(),l=null,u=e.beginCommit({description:i?.description??(0,n.messageKey)(`op.merge`)}),d=r[0];try{let f=e.getMerges(r);if(Ey(r)||f.length>0){let t=n.CoordUtils.unionRangesArrays(f),i=n.CoordUtils.unionRangesArrays(r);if(!(!t&&!i||t&&i&&n.CoordUtils.isRangeWithinRange(t,i)))throw console.warn((0,n.t)(`error.sheet.mergeOverlapping`),r),new n.ExpectedError((0,n.t)(`error.sheet.mergeOverlapping`));ET(e,f)}let p=e.createSparseBuilder({axis:t.IRange.Axis.Column}),m=[],h=[],g=[];try{let i=e.getEntireCoords(),u=e.getState().contentfulSpatial,f=null;for(let e=0;e<r.length;e++)f=n.CoordUtils.unionRanges(f,r[e]);let _=e.composeDirectStyleView(f??void 0),v=!1,y=t=>{let r={rowIndex:t.rowStart,colIndex:t.colStart},i=null;if(v){let e=u.search(t),a=e.length,s=[];for(let r=0;r<a;r++){let i=n.CoordUtils.intersectRanges(e[r],t);if(i){for(let e=i.rowStart;e<=i.rowEnd;e++)for(let t=i.colStart;t<=i.colEnd;t++)s.push({rowIndex:e,colIndex:t});if(s.length>1&&!o)throw new n.TypedError((0,n.t)(`error.sheet.mergeMultipleValues`),`discardMultipleValues`)}}if(s.length>0){let e=s[0];for(let t=1;t<s.length;t++){let n=s[t];(n.rowIndex<e.rowIndex||n.rowIndex===e.rowIndex&&n.colIndex<e.colIndex)&&(e=n)}e.rowIndex===r.rowIndex&&e.colIndex===r.colIndex||(i=e);for(let t=0;t<s.length;t++){let n=s[t];n===e||n.rowIndex===r.rowIndex&&n.colIndex===r.colIndex||g.push({rowIndex:n.rowIndex,colIndex:n.colIndex,update:null})}}}i||=r;let a=null,s=null,c=null,l=null,f=null,p=null,y=null;yT.colStart=t.colStart,yT.rowStart=t.rowStart,yT.colEnd=t.colStart,yT.rowEnd=t.rowStart;let b=_.search(yT);if(b.length>0){y=b[0].value?.getPropertiesAt(t.rowStart,t.colEnd,null);let e=y?.border;a=e?.left??null,s=e?.top??null,f=e?.right??null,p=e?.bottom??null}if(yT.colStart=t.colEnd,yT.colEnd=t.colEnd,b=_.search(yT),b.length>0){let e=b[0].value?.getPropertiesAt(t.rowStart,t.colEnd,null)?.border;e&&e.right&&(c=e.right)}if(yT.colStart=t.colStart,yT.colEnd=t.colStart,yT.rowStart=t.rowEnd,yT.rowEnd=t.rowEnd,b=_.search(yT),b.length>0){let e=b[0].value?.getPropertiesAt(t.rowEnd,t.colStart,null)?.border;e&&e.bottom&&(l=e.bottom)}if(!c||!l){yT.colStart=t.colEnd,yT.colEnd=t.colEnd,yT.rowStart=t.rowEnd,yT.rowEnd=t.rowEnd,b=_.search(yT);let e=b?.[0];if(e){let n=e.value?.getPropertiesAt(t.rowEnd,t.colEnd,null)?.border;n&&(c||=n.right??null,l||=n.bottom??null)}}let x=!n.CoordUtils.isEqualCells(i,r);if(x){yT.colStart=i.colIndex,yT.colEnd=i.colIndex,yT.rowStart=i.rowIndex,yT.rowEnd=i.rowIndex;let e=_.search(yT);e.length>0&&(y=e[0].value?.getPropertiesAt(i.rowIndex,i.colIndex,null)??y)}if(m.push({...t,value:null}),m.push({...t,value:{...y,border:{top:s,left:a,right:c??f,bottom:l??p,horizontal:null,vertical:null}}}),x){let t=e.getRange(i).getCell();g.push({rowIndex:r.rowIndex,colIndex:r.colIndex,update:t}),g.push({rowIndex:i.rowIndex,colIndex:i.colIndex,update:null})}h.push(t),d=n.CoordUtils.unionRanges(d,t)},b=[...r].sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column)),x=b.length;for(let r=0;r<x;r++){let o=b[r];if(!n.CoordUtils.isSingleCell(o)){if(l||!c||!n.CoordUtils.isCellWithinRange(c.cell,o)||c.cell.rowIndex===o.rowStart&&c.cell.colIndex===o.colStart||(l={...s,cell:{rowIndex:o.rowStart,colIndex:o.colStart}}),v=u.search(o).length>0,e.validateOrRemoveOverlaps(o,`merge`),o.colStart<i.colStart||o.rowStart<i.rowStart||o.colEnd>i.colEnd||o.rowEnd>i.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.mergeOob`));if(a===t.IRange.AxisSelection.Column){let e=o.rowEnd===i.rowEnd?Math.max(1,i.rowEnd):o.rowEnd;for(let t=o.rowStart;t<=e;t++)y({...o,rowStart:t,rowEnd:t})}else if(a===t.IRange.AxisSelection.Row){let e=o.colEnd===i.colEnd?Math.max(1,i.colEnd):o.colEnd;for(let t=o.colStart;t<=e;t++)y({...o,colStart:t,colEnd:t})}else y(o)}}g.sort((e,t)=>e.colIndex-t.colIndex||e.rowIndex-t.rowIndex);let S=g.length;for(let e=0;e<S;e++){let t=g[e];p.pushAt(t.rowIndex,t.colIndex,t.update)}p.apply(),e.indexMerges(h),wT(e,m),e.updateState({})}catch(e){throw e.type?new n.TypedError(e.message??`Unable to merge`,e.type):new n.ExpectedError(e.message??`Unable to merge`)}l&&(s=l,e.getSelection().updateCoords(l)),u.commit({viewAfter:{view:e.getView(),selection:s,merges:r,ranges:r,selectOptions:i?.autoSelect}}),e.autoSelect(i?.autoSelect??!1,s)}catch(e){throw u.rollback(),e}}function ET(e,t,r){if(e.protectionCheck(vT,t),Ey(t))throw new n.ExpectedError((0,n.t)(`error.sheet.unmergeOverlapping`));if(!e.getState())return;let i=n.CoordUtils.unionRangesArrays(t),a=zy(t),o=e.beginCommit({description:r?.description??(0,n.messageKey)(`op.unmerge`)}),s=e.stateFor(o).mergeSpatial,c=[];try{let l=t.length;for(let e=0;e<l;e++){let r=t[e],a=s.search(r),o=a.length;for(let e=0;e<o;e++){let t=a[e];if(!n.CoordUtils.isSingleCell(r)&&!n.CoordUtils.isRangeWithinRange(t,i))throw new n.ExpectedError((0,n.t)(`error.sheet.unmergePartial`));c.push(t)}}if(c.length===0)return void o.rollback();e.indexMerges(null,c),e.commitAndAutoSelect(o,a,r?.autoSelect,{viewAfter:{merges:t,ranges:t}})}catch(e){throw o.rollback(),e}}function DT(e,r,i,a=void 0,o=null){if(!r)return;let s=o?.isCell??!1,c=o?.isHyperlink??!1,l=r.tuples,u=r.bounds,d=null,f=e.isDataColumn,p=f?t.IRange.Axis.Column:t.IRange.Axis.Row,m=e.getProtection().isLocked(),h=e.getProtection().isFormatCellsAllowed(),g=e.strings,_=u.majorStart,v=u.majorEnd,y=u.minorStart,b=u.minorEnd,x={colStart:f?_:y,rowStart:f?y:_,colEnd:f?v:b,rowEnd:f?b:v};(a??=((t,r)=>{e.validateCoords(t,r??(0,n.t)(`error.sheet.oobRange`))}))(x);let S={[q.Type.BorderStyle]:!1,[q.Type.FillStyle]:!1,[q.Type.ContentStyle]:!1,[q.Type.Table]:!1},C=!1,w=!1;m&&e.hasRangedEntries(`protectedRanges`,x)&&(S[q.Type.Unlock]=!1,C=!0,w=!0),e.hasRangedEntries(`mergeSpatial`,x)&&(S[q.Type.Merge]=!1,C=!0);let T=e.beginCommit({description:i?.description??(0,n.messageKey)(`op.updateCells`),viewAfter:w?{skipProtectionCheck:!0}:void 0}),E=e.rangeStateIterator({bounds:x,axis:p,searchTypes:S}),D=E.next(),O=-1,k=-1,A=-1,j=-1,M=null;if(!D.done){let e=D.value,t=e.start,n=e.end;O=f?t.colIndex:t.rowIndex,k=f?n.colIndex:n.rowIndex,A=f?t.rowIndex:t.colIndex,j=f?n.rowIndex:n.colIndex,M=e.intersection}let N=(e,t)=>{do{if(!M||e<=A&&t<A)return null;if(e>=O&&t>=A&&e<=k&&t<=j)return M;if(D=E.next(),D.done)M=null,N=null,C=!1;else{let e=D.value;O=f?e.start.colIndex:e.start.rowIndex,k=f?e.end.colIndex:e.end.rowIndex,A=f?e.start.rowIndex:e.start.colIndex,j=f?e.end.rowIndex:e.end.colIndex,M=e.intersection}}while(M);return M},P=e.stateFor(T),F=P.cellValuesGrid.clone(),I=P.calcGrid.clone(),L=P.spillSpatial.clone(),ee=P.pendingSpatial.clone(),R=P.calcErrorsSpatial.clone(),z=P.circularSpatial.clone(),te=P.errorSpatial,ne=P.contentfulSpatial.clone(),re=to(f),B=to(f),ie=to(f,(e,t)=>{if(e===t)return t}),ae=to(f,(e,t)=>{if(e===t)return t}),oe=to(f,(e,t)=>{if(e===t)return t}),se=[],ce=null,le=null;!1!==i?.textParser&&(le={ignoreQuotePrefix:!1,parse:null,...i&&!0!==i.textParser?i.textParser:{}},ce=new yO(g,null,e.cellOptions));let ue=[],de=e.runtime,fe=new Map,pe=CO,me,he=!1,ge=(e,r,i)=>{let a=N?.(r,i);if(a?.merge){let e=a.merge.getCoords(),t=f?e.colStart:e.rowStart,n=f?e.rowStart:e.colStart;if(t!==r||n!==i)return}let o=a?.contentStyle;if(me!==o&&(me=o,he=!1,o)){let e=o.getPropertiesAt(0,0,null)?.numberFormat;e&&(he=!!(l=e)&&(l===49||l===`@`||typeof l!=`number`&&(Dc().getFormatInfo(l)?.isText??!1)))}var l;if(s&&e&&e.isICell){let t=e;if(t.isTopLeft()){let e=t.getSpans();se.push({colStart:f?r:i,rowStart:f?i:r,colEnd:(f?r:i)+e.width-1,rowEnd:(f?i:r)+e.height-1})}}let u=bC(de,e,he?null:le,fe);if(u===void 0)return;let d=u.value;if(typeof d==`string`&&d.length>t.Scalar.MAX_TEXT_LENGTH&&(d=d.slice(0,t.Scalar.MAX_TEXT_LENGTH)),u.stringToParse){bT[0].colIndex=f?r:i,bT[0].rowIndex=f?i:r,bT[1]=d,bT[2]=a,ce.setState(bT);let e=le?.parse(u.stringToParse,ce.context),t=bC(de,e,le,fe,!0);if(ce.clear(),t===null)return t;t!==void 0&&(u={...t})}if(m){let t=!1,r=!1,i=a?.unlock;if(i)if(Array.isArray(i)){let e=i.length;for(let n=0;n<e;n++){if(i[n].isUnlocked()){t=!0;break}r=!0}}else i.isUnlocked()?t=!0:r=!0;if(!t){let t=r?(0,n.t)(`error.sheet.protectedRangeLocked`):(0,n.t)(`error.sheet.protectedSheet`);if(e===null||u.value!==void 0||!h&&u.style!==void 0)throw new n.ExpectedError(t)}}if(!c){let e=u.style;e===void 0||e===null&&!s||ie.append(r,i,e);let t=u.hyperlink;t===void 0||t===null&&!s||ae.append(r,i,t)}let p=u.formula;return p===void 0||p===null&&!s||oe.append(r,i,p),d},_e=-1,ve=-1;try{let r=l.length;for(let e=0;e<r;e++){let r=l[e],i=r[0];if(_e>=i)throw new vi.OutOfOrderError(`Duplicate or out of order major indices: {${i}}.`);if(_e=i,ve=-(2**53-1),i<_||i>v)throw new n.OutOfBoundsError(`Provided major bounds is invalid`);let a=r[1],o=[],c=a.length;for(let e=0;e<c;e++){let r=a[e],c=r[1],l=c.length,u=r[0],d=u;if(ve>d)throw new vi.OutOfOrderError(`Duplicate or out of order minor indices: {${d}}.`);if(d<y||d+l>b+1)throw new n.OutOfBoundsError(`Provided minor bounds is invalid`);let f=[],p=typeof c.at==`function`;for(let e=0;e<l;e++){let n=p?c.at(e):c[e],r=null;if(C||typeof n!=`number`?(C||n!==null||s)&&(r=ge(n,i,d)):r=n,typeof r==`number`&&(r=ek(r)),r==null){if(r===null&&re.append(i,d),f.length>0){let e=pe(f,g);o.push([u,e]),f=[]}u=d+1}else f.push(r),t.FormulaError.isError(r)&&B.append(i,d);d++}if(ve=d,f.length>0){let e=pe(f,g);o.push([u,e]),f=null}}o.length>0&&ue.push([i,o])}let a=re.done(),o=a.length;for(let e=0;e<o;e++){let t=a[e];F.delete(a[e]),ne.insertNonOverlapping({...t,value:null}),I.remove(t)}let c=wO(ue,f),p=c.length;for(let e=0;e<p;e++){let t=c[e],n=L.search(t),r=n.length;for(let e=0;e<r;e++){let r=n[e];Qw(r.rowStart,r.colStart,t)&&F.delete(r)}}let m;ue.length>0&&(F.setValues(ue),m={tuples:ue,bounds:u});let h=oe.done();h.length>1&&(h=Pa(h,t.IRange.Axis.Column,1)),(m||h.length>0)&&I.setInputs(m,h);for(let e=0;e<p;e++)ne.insertNonOverlapping(c[e]);let S=ie.done();S.length>0&&wT(e,S),se.length>0&&TT(e,se);let w=ae.done();if(w.length>0&&CT(e,w),!z.isEmpty()){for(let e=0;e<o;e++)z.insertNonOverlapping({...a[e],value:null});for(let e=0;e<p;e++){let t=c[e];z.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:null})}}let E=B.done();if(!te.isEmpty()||E.length>0){te=te.clone();for(let e=0;e<o;e++)te.insertNonOverlapping({...a[e],value:null});for(let e=0;e<p;e++){let t=c[e];te.insertNonOverlapping({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,value:null})}let e=E.length;for(let t=0;t<e;t++)te.insertNonOverlapping({...E[t],value:!0})}if(e.cloneRangeStats(F),e.updateState({cellValuesGrid:F,contentfulSpatial:ne,calcGrid:I,spillSpatial:L,pendingSpatial:ee,calcErrorsSpatial:R,circularSpatial:z,errorSpatial:te}),i?.autoFit){let t=typeof i.autoFit==`boolean`?_T:i.autoFit;e.autoFit([x],t)}d={ranges:[x]},e.addEvent(`data`,x),e.commitAndAutoSelect(T,d,i?.autoSelect,{viewAfter:{formulas:[x],ranges:[x]}})}catch(e){throw T.rollback(),e}}function OT(e,t,r,i,a){if(e.isEmpty())return;let o=e.search(t),s=o.length;if(s===0)return;let c=new Set;for(let e=0;e<s;e++){let t=o[e].value;t!==void 0&&c.add(t)}let l=a?r.rowStart:r.colStart,u=a?r.rowEnd:r.colEnd;for(let o of c){let s=e.getCoords(o);if(!s)continue;let c=[];for(let e=0;e<s.length;e++){let o=n.CoordUtils.intersectRanges(s[e],t);if(!o)continue;let d=a?o.rowStart:o.colStart,f=a?o.rowEnd:o.colEnd,p=Math.ceil((l-f)/i),m=Math.floor((u-d)/i);if(m<p)continue;let h=(e,t)=>{let i=a?{...o,rowStart:e,rowEnd:t}:{...o,colStart:e,colEnd:t},s=n.CoordUtils.intersectRanges(i,r);s&&c.push(s)};if(f-d+1===i)h(d+p*i,f+m*i);else for(let e=p;e<=m;e++)e!==0&&h(d+e*i,f+e*i)}c.length!==0&&o._extendRanges(c)}}function kT(e,t){let n=e.search(t),r=n.length;if(r===0)return e;let i=new Set;for(let e=0;e<r;e++){let t=n[e].value;t!==void 0&&i.add(t)}for(let n of i){let r=e.getCoords(n);r&&(e=e.setCoords(n,Vy(r,[t])))}return e}function AT(e,t,r=null,i,a=!1,o=!1){let s=null,c=(0,n.messageKey)(`op.clear`),l=!1,u=!1,d=!1,f=!1,p=!1;r===Qv.Content.Formulas?(c=(0,n.messageKey)(`op.clearFormulas`),f=!0):r===Qv.Content.Values?(c=(0,n.messageKey)(`op.clearValues`),f=!0):r===Qv.Content.Formats?(c=(0,n.messageKey)(`op.clearFormats`),l=!0,s=[`formatCells`]):r===Qv.Content.Comments?(c=(0,n.messageKey)(`op.clearComments`),d=!0):r===Qv.Content.Hyperlinks?(c=(0,n.messageKey)(`op.clearHyperlinks`),u=!0,s=[`formatCells`]):(s=[],c=(0,n.messageKey)(`op.clearAll`),f=!0,l=!0,u=!0,d=!0,p=!0),s!==null&&e.protectionCheck(()=>s,t,i?.description??c);let m=zy(t),h=e.beginCommit({description:i?.description??c}),g,_=e.getState(),v=_.cellValuesGrid,y=_.calcGrid,b=_.contentfulSpatial,x=_.spillSpatial,S=_.pendingSpatial,C=_.calcErrorsSpatial,w=_.circularSpatial,T=_.errorSpatial,E=_.rangesListenerSpatial2,D=_.conditionalFormats,O=_.dataValidations;try{let s=n.CoordUtils.sanitizeRangeArray(t);if(u&&!_.hyperlinkSpatial.isEmpty()&&CT(e,s,null),d&&!_.commentsSpatial.isEmpty()&&xT(e,s,null),l&&(wT(e,s,null),a||ET(e,s)),l||f){let i=t.length;for(let s=0;s<i;s++){let i=t[s];if(!l||a||D.isEmpty()||(D=kT(D,i)),!p||a||O.isEmpty()||(O=kT(O,i)),!a){let t=e.getTables().getItems({address:i}),a=t.length;for(let e=0;e<a;e++){let a=t[e];n.CoordUtils.isRangeWithinRange(a.getRange().getCoords(),i)&&(r===Qv.Content.Formats?a.updateStyleOptions({name:null}):a.delete())}let o=e.getAutoTable();if(o){if(!n.CoordUtils.isRangeWithinRange(o.getRange().getCoords(),i))continue;o.delete()}}if(o){let e=E.search(i),t=e.length;for(let r=0;r<t;r++){let t=e[r];n.CoordUtils.isRangeWithinRange(t,i)&&(E===_.rangesListenerSpatial2&&(E=E.clone()),console.log(`cut and move listener`),E.remove(t))}}}}if(f&&(v=v.clone(),e.cloneRangeStats(v),y=y.clone(),b=b.clone(),x=x.clone(),S=S.clone(),C=C.clone(),w=w.clone(),T.isEmpty()||(T=T.clone())),l||f){let e=(e,t)=>{g||=[],e&&g.push(e),t&&g.push(t)},n=t.length;for(let r=0;r<n;r++){let n=t[r];if(f){let t=lT(n,x,v,b,e);v.delete(n);let r={...n,value:null};b.insertNonOverlapping(r),T!==_.errorSpatial&&T.insertNonOverlapping({...n,value:null}),w.isEmpty()||w.insertNonOverlapping({...n,value:null}),f&&$w(-1,[n],[],b,x,v,void 0,void 0,e),y.remove(n),t?.()}}}e.cloneRangeStats(v),e.updateState({cellValuesGrid:v,calcGrid:y,spillSpatial:x,pendingSpatial:S,calcErrorsSpatial:C,circularSpatial:w,errorSpatial:T,contentfulSpatial:b,rangesListenerSpatial2:E,conditionalFormats:D,dataValidations:O}),e.commitAndAutoSelect(h,m,i?.autoSelect,{viewAfter:{ranges:t,spills:g}})}catch(e){throw h.rollback(),e}}function jT(e,t,n,r,i){let a=n=>{let i=t+n-1,a=t+n;for(let t=0;t<e.length;t++){let n=e[t],o=r?n.rowStart:n.colStart,s=r?n.rowEnd:n.colEnd;if(o<=i&&s>=a)return!0}return!1},o=[0];for(let e=1;e<n;e++)a(e)||o.push(e);return o.push(n),i?o:o.map(e=>n-e).sort((e,t)=>e-t)}function MT(e,t){return e._withProjectedMerge(t)}function NT(e,t){return{coords:t,getCellAt:(t,n)=>e.getCell({rowIndex:t,colIndex:n})}}function PT(e){let{ctx:t,template:r,destination:i,mergesTemplate:a,filler:o,contentsOnly:s,isVertical:c,isForward:l,templateStart:u,templateEnd:d,templateSize:f,fillerOptions:p,scanFills:m,safeCreateFillAt:h}=e,g=t.getState(),_=t.getAutoFillPreviewCache(),v;return _&&_.state===g&&_.isForward===l&&_.filler===o&&_.fillerOptions===p&&n.CoordUtils.isEqualRanges(_.template,r)?v=_.seriesByLine:(v=new Map,t.setAutoFillPreviewCache({state:g,template:r,isForward:l,filler:o,fillerOptions:p,seriesByLine:v})),{coords:i,getCellAt:(e,i)=>{let p={rowIndex:e,colIndex:i};if(n.CoordUtils.isCellWithinRange(p,r))return t.getCell(p);let g=null;if(a.length>0){let t=c?e:i,n=c?i:e,r=u+((t-u)%f+f)%f;for(let e=0;e<a.length;e++){let i=a[e],o=c?i.rowStart:i.colStart,s=c?i.rowEnd:i.colEnd,l=c?i.colStart:i.rowStart,u=c?i.colEnd:i.rowEnd;if(o<=r&&r<=s&&l<=n&&n<=u){let e=t-(r-o);g=c?{rowStart:e,rowEnd:e+(s-o),colStart:l,colEnd:u}:{rowStart:l,rowEnd:u,colStart:e,colEnd:e+(s-o)};break}}}if(g&&(e!==g.rowStart||i!==g.colStart))return MT(t.createCell(null,p),g);let _=(e=>{if(v.has(e))return v.get(e);let t={...r};c?t.colStart=t.colEnd=e:t.rowStart=t.rowEnd=e;let n=m(t),i=n.length>0?n[n.length-1]:null,a=i?h(o,i.values):null;return v.set(e,a),a})(c?p.colIndex:p.rowIndex);if(!_)return t.createCell(null,p);let y=c?p.rowIndex:p.colIndex,b=l?y-u:u-y+f-1,x=_(b),S={...p},C=b%f;S[c?`rowIndex`:`colIndex`]=l?C+u:d-C;let w=t.getCell(S),T={value:w.getFormula()===null?x:null,style:w.getStyle()},E=s?t.createCell(T,p):t.createCell(null,p).createCell(T);return g?MT(E,g):E}}}function FT(e,r,i,a){let{direction:o,amount:s}=bO(r,i),c=!0===a?.preview;if(s===0)return!!c&&NT(e,i);if(s<0)return c?NT(e,i):IT(e,r,i,o,a);let l=o===t.IRange.Direction.Up||o===t.IRange.Direction.Down,u=e.getSelection().getCoords(),d=[],f=a?.contentsOnly,p=a?.filler??Yw.Types.Series,m={...a?.fillerOptions},h=null,g=null;try{let v={...r},y={...r},b=[r],x=e.getMerges(b);if(x.length>0&&!n.CoordUtils.isRangeWithinRange(n.CoordUtils.unionRangesArrays(x),r))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));if(o===t.IRange.Direction.Left)v.colStart=y.colStart=r.colStart-s,v.colEnd=r.colStart-1;else if(o===t.IRange.Direction.Right)v.colEnd=y.colEnd=r.colEnd+s,v.colStart=r.colEnd+1;else if(o===t.IRange.Direction.Up)v.rowStart=y.rowStart=r.rowStart-s,v.rowEnd=r.rowStart-1;else{if(o!==t.IRange.Direction.Down)throw new n.ExpectedError(n.CommonMessages.MESSAGE_ERROR_INVALID_ARG(o));v.rowEnd=y.rowEnd=r.rowEnd+s,v.rowStart=r.rowEnd+1}if(x.length>0){let e=o===t.IRange.Direction.Down||o===t.IRange.Direction.Right,i=l?r.rowStart:r.colStart,a=(l?r.rowEnd:r.colEnd)-i+1,c=jT(x,i,a,l,e),u=s%a;if(!c.some(e=>e%a===u)){let e=a;for(let t=0;t<c.length;t++){let n=c[t];n>0&&n<e&&(e=n)}throw new n.ExpectedError((_=e,(0,n.t)(`error.sheet.autofillMultiple`,{modulus:_})))}}let S=l?`rowIndex`:`colIndex`,C=l?`colIndex`:`rowIndex`,w=l?r.rowEnd+1-r.rowStart:r.colEnd+1-r.colStart,T=l?r.rowStart:r.colStart,E=l?r.rowEnd:r.colEnd,D=l?i.rowStart:i.colStart,O=l?i.rowEnd:i.colEnd,k=l?o===t.IRange.Direction.Down:o===t.IRange.Direction.Right;k||(m.reverse=!0);let A=k?E+1:D,j=k?O:T-1,M=j-A+1;d.push(n.CoordUtils.unionRanges(v,r));let N=n=>{let r=[],i=null,a=e.cellIterator({bounds:n,reverse:!k,axis:l?t.IRange.Axis.Column:t.IRange.Axis.Row,searchTypes:{[q.Type.DateFormat]:!1}}),o=a.next();for(;!o.done;){let e=o.value.context,t=e.getCell(),n=e.getCoords();i?.oppositeIndex!==n[C]&&(i={oppositeIndex:n[C],lastIndex:k?T-1:E+1,values:[]},r.push(i));let s=n[S];if(k)for(let e=i.lastIndex+1;e<s;e++)i.values.push(null);else for(let e=i.lastIndex-1;e>s;e--)i.values.push(null);i.lastIndex=s;let c=t.getDate();if(c)i.values.push(c);else{let e=t.getValue();i.values.push(e)}o=a.next()}let s=r.length;for(let e=0;e<s;e++){let t=r[e].values;for(let e=t.length;e<w;e++)t.push(null)}return r},P=(e,t)=>{if(e.canFill(t[0],[])){let n=e.createFillAt(t,m);if(n)return n}return Yw.Types.Copy.createFillAt(t)};if(c)return PT({ctx:e,template:r,destination:i,mergesTemplate:x,filler:p,contentsOnly:!0===f,isVertical:l,isForward:k,templateStart:T,templateEnd:E,templateSize:w,fillerOptions:a?.fillerOptions,scanFills:N,safeCreateFillAt:P});h=e.beginCommit({description:(0,n.messageKey)(`op.autoFill`),operation:{name:`autoFill`,params:[r,i,a]}});let F=N(r),I=e.createSparseBuilder({axis:l?t.IRange.Axis.Column:t.IRange.Axis.Row}),L=F.length;F.sort((e,t)=>e.oppositeIndex-t.oppositeIndex);for(let t=0;t<L;t++){let n=t,r=P(p,F[n].values),i=F[n].oppositeIndex,a=k?w:w+M-1,o=e.runtime.isDate1904();for(let e=0;e<M;e++){let t=r(a+(k?e:-e));ar(t,!0)&&(t=hr(t,o));let n=A+e;l?I.pushAt(n,i,t):I.pushAt(i,n,t)}}AT(e,[v],a?.contentsOnly?Qv.Content.Formats:void 0),I.apply();let ee=e.getMerges([y]),R=n.CoordUtils.unionRangesArrays(ee);if(ee.length>0&&!n.CoordUtils.isRangeWithinRange(R,y))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));if(ee.length>0){let n=[],i=ee.length;if(l){let e=r.rowEnd-r.rowStart+1,a=o===t.IRange.Direction.Up?-e:e;for(let e=0;e<i;e++){let t=ee[e],r=t.rowEnd-t.rowStart+1;for(let e=1;;e++){let i=t.rowStart+e*a,o=i+r-1;if(i<v.rowStart||o>v.rowEnd)break;n.push({colStart:t.colStart,rowStart:i,colEnd:t.colEnd,rowEnd:o})}}}else{let e=r.colEnd-r.colStart+1,a=o===t.IRange.Direction.Left?-e:e;for(let e=0;e<i;e++){let t=ee[e],r=t.colEnd-t.colStart+1;for(let e=1;;e++){let i=t.colStart+e*a,o=i+r-1;if(i<v.colStart||o>v.colEnd)break;n.push({colStart:i,rowStart:t.rowStart,colEnd:o,rowEnd:t.rowEnd})}}}TT(e,n)}let z=e.getState(),te={},ne={};ne.borderSpatial=z.borderSpatial,ne.fillSpatial=z.fillSpatial,ne.contentSpatial=z.contentSpatial,ne.continuousFillSpatial=z.continuousFillSpatial,ne.dateFormatSpatial=z.dateFormatSpatial;let re=r,B=v;if(!k){let e=(l?y.rowEnd+1-y.rowStart:y.colEnd+1-y.colStart)%w,t=l?`rowStart`:`colStart`,n=l?`rowEnd`:`colEnd`;e!==0&&(B={...v,[n]:Math.min(v[n],v[t]+e)},re={...r,[t]:r[n]-e+1},v[t]=v[t]+e)}let ie=Object.keys(ne),ae=ie.length;for(let e=0;e<ae;e++){let t=ie[e],n=ne[t].createCopiedEntries(re,B),r=z[t].clone(),i=n.removes,a=i.length;for(let e=0;e<a;e++)r.remove(i[e]);r.load(n.inserts),te[t]=r}if(k){let t=e.getTables().getItems({address:{rowIndex:r.rowEnd,colIndex:r.colEnd}});if(t.length===1){let e=t[0],n=e.getRange().getCoords();(v.rowEnd>n.rowEnd||v.colEnd>n.colEnd)&&e.resize({colStart:n.colStart,rowStart:n.rowStart,colEnd:Math.max(n.colEnd,v.colEnd),rowEnd:Math.max(n.rowEnd,v.rowEnd)})}}if(!a?.contentsOnly){let e=l?{colStart:r.colStart,colEnd:r.colEnd,rowStart:A,rowEnd:j}:{rowStart:r.rowStart,rowEnd:r.rowEnd,colStart:A,colEnd:j};OT(z.conditionalFormats,r,e,w,l),OT(z.dataValidations,r,e,w,l)}let oe=z.calcGrid.clone();oe.autoFill(r,v),te.calcGrid=oe,e.updateState(te),g={...u,ranges:d},h.commit({viewBefore:{view:e.getView(),selection:zy([r]),selectOptions:a?.autoSelect},viewAfter:{view:e.getView(),selection:g,selectOptions:a?.autoSelect}}),e.autoSelect(a?.autoSelect??!1,g)}catch(e){throw h?.rollback(),e}var _;return!0}function IT(e,r,i,a,o){let s={...r};if(a===t.IRange.Direction.Down)s.rowStart=i.rowEnd+1;else if(a===t.IRange.Direction.Up)s.rowEnd=i.rowStart-1;else if(a===t.IRange.Direction.Right)s.colStart=i.colEnd+1;else{if(a!==t.IRange.Direction.Left)throw new n.ExpectedError(n.CommonMessages.MESSAGE_ERROR_INVALID_ARG(a));s.colEnd=i.colStart-1}let c=e.getMerges([s]);if(c.length>0&&!n.CoordUtils.isRangeWithinRange(n.CoordUtils.unionRangesArrays(c),s))throw new n.ExpectedError((0,n.t)(`error.sheet.autofillOverlapMerge`));let l=e.getSelection().getCoords(),u={colStart:i.colStart,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd},d=e.beginCommit({description:`Auto Fill`,operation:{name:`autoFill`,params:[r,i,o]}});try{AT(e,[s],o?.contentsOnly?Qv.Content.Values:void 0);let t={...l,cell:{rowIndex:Math.min(Math.max(l.cell.rowIndex,u.rowStart),u.rowEnd),colIndex:Math.min(Math.max(l.cell.colIndex,u.colStart),u.colEnd)},ranges:[u]};d.commit({viewBefore:{view:e.getView(),selection:zy([r]),selectOptions:o?.autoSelect},viewAfter:{view:e.getView(),selection:t,selectOptions:o?.autoSelect}}),e.autoSelect(o?.autoSelect??!1,t)}catch(e){throw d?.rollback(),e}return!0}function LT(e,t,r,i=null){let a=null;return i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`)),(r||i)&&(a={getOptions:r,readOnly:i}),new PD(function(e,t){if(!e)return e;let n=!1;for(let r=0;r<e.length;r++){let i=e[r]?.scope;if(i&&rO(i,t)){n=!0;break}}return n?e.map(e=>typeof e==`string`||!0===e?.isICellRange?e:nO(e,t)):e}(t,e.internal.getSheet()),e.internal,a)}function RT(e,t,r=(0,n.t)(`error.sheet.oobRange`),i=!1){if(!i&&!n.CoordUtils.isRangeWithinRange(t,e.getEntireCoords()))throw new n.OutOfBoundsError(r);let a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd;if(c<o||s<a)throw new n.ExpectedError((0,n.t)(`error.address.invalidRangeInverted`));if(!(Number.isInteger(a)&&Number.isFinite(a)&&Number.isInteger(o)&&Number.isFinite(o)&&Number.isInteger(s)&&Number.isFinite(s)&&Number.isInteger(c)&&Number.isFinite(c)))throw new n.ExpectedError((0,n.t)(`error.address.invalidRangeCoords`))}function zT(e){return e?new n.ExpectedError((0,n.t)(`error.address.noAddress`)):new n.ExpectedError(k_(e))}function BT(e,t=null,r=null,i=null){if(t&&e.isClosed)return;if(!e.isInitializing&&e.readonly)throw new n.ExpectedError(((e=(0,n.messageKey)(`op.update`))=>(0,n.t)(`error.sheet.readonlySheet`,{description:(0,n.t)(e)}))(i));r&&!Array.isArray(r)&&(r=[r]);let a=t(r),o=e.getProtection();if(o?.getProperties()){if(a.length===0)throw new n.ExpectedError((0,n.t)(`error.sheet.protectedSheet`));if(a){let e=a.length;for(let t=0;t<e;t++)if(!0!==o[a[t]])throw new n.ExpectedError(yb())}}}function VT(e,t,r=null,i=!0,a=!1,o=!1){if(r&&e.isClosed||t==null)return n.CommonUtils.EmptyArray;let s=su(t,e.getEntireCoords(),a?tu:nu,t=>{if(i&&typeof t==`string`){let r=(e.getNames()?.getByName(t))?.getRanges?.();if(r)return r.getCoords();let i=e.resolveRange(t);if(i&&i.getSheet()===e.internal.getSheet())return console.warn((0,n.t)(`error.sheet.addressInvalidScope`)),[i.getCoords()];throw new n.ExpectedError(`Invalid sheet reference '${t}'.`)}}),c=s.length;for(let t=0;t<c;t++){let r=s[t];if(r){if(a){let t=r.scope;if(t&&t!==e.getName())throw new n.ExpectedError((0,n.t)(`error.sheet.addressInvalidScope`))}RT(e,r,void 0,o)}}if(!r)return s;if(s.length===0)throw zT(t);return BT(e,r,s),s}function HT(e,t,r=null,i=!0){if(!t)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let a=VT(e,t,r?e=>r(e):void 0,i);if(a.length===0)throw new n.ExpectedError(k_(t));return a[0]}var UT=class e{constructor(e,t,n){this.groupId=e,this.uuid=t,this.noShift=n}onRemove(e){}getShifted(t){if(!t.after)return null;let n=this.noShift;return n?void 0:{...t.after,value:new e(this.groupId,this.uuid,n)}}getSplit(e,t){}copyTo(t,n){return{...t,value:new e(this.groupId,this.uuid,this.noShift)}}canTile(e,t){return!1}},WT=class e{constructor(e,t,n,r,i,a,o,s,c,l){this.uuid=e,this.spatialsIds=t,this.isRanges=r,this.coords=n,this.sheet=i,this.generation=a,this.handler=o,this.handlerW=s,this.removeListener=c,this.options=l}delete(){this.removeListener()}createRangeEvent(e,t){let n=this,r,i=()=>{if(r)return r;let e=n.sheet,i=n.isRanges,a=n.coords;return t||!a||a.length===0?iO(e,e.getEntireRange().getCoords(),null,t):i?(r=e.getRanges(n.coords),r):(r=e.getRange(n.coords[0]),r)},a=e.trigger;return{getSource:i,getFrom:()=>null,getTo:()=>null,trigger:a,getTransactionId:e.getTransactionId,toString:()=>`SheetRangeEvent: ('${a}', ${i().toString()})`,timeStamp:e.timeStamp??Date.now()}}notify(e,t){let n=this.createRangeEvent(e,t),r=this.handler??this.handlerW.deref();try{r?.(n)}catch(e){console.warn(e)}this.options?.once&&this.removeListener()}processRemove(t){let n=this.spatialsIds,r=n.indexOf(t.value.uuid);console.assert(r!==-1,`invalid uuid`);let i=this.coords,a=i.slice(0,r).concat(i.slice(r+1)),o=n.slice(0,r).concat(n.slice(r+1));return new e(this.uuid,o,a,this.isRanges,this.sheet,this.generation,this.handler,this.handlerW,this.removeListener,this.options)}processShift(t){let r=this.spatialsIds.indexOf(t.value.uuid);console.assert(r!==-1,`invalid uuid`);let i=[...this.coords];return i[r]={...i[r],...n.CoordUtils.sanitizeRange(t)},new e(this.uuid,this.spatialsIds,i,this.isRanges,this.sheet,this.generation,this.handler,this.handlerW,this.removeListener,this.options)}processSplit(e){}processMerge(e){}},GT=class e{constructor(e){if(this._magicCell=null,this._adjusting=null,this._firstActiveCoords=null,this._cache={range:null,ranges:null},this._sheet=e.sheet,!this._sheet)throw Error(`Sheet is required`);this._coords=e.coords??n.CoordUtils.EmptySelection,this._emitter=new v(this),this._adjusting=null,this._shapePolicy=e.shapePolicy??`mixed`,this._navigationPolicy=e.navigationPolicy??`clear`}navigate(e,r=!1,i=!1,a=0){let o=this._coords;if(!o.cell)return this;let s=o.cell,c=o.cell;if(r&&o.ranges.length>0){let n=o.ranges[o.rangeIndex],r=o.cell;switch(e){case t.IRange.Direction.Up:c={rowIndex:r.rowIndex===n.rowStart?n.rowEnd:n.rowStart,colIndex:n.colEnd},s={rowIndex:r.rowIndex===n.rowStart?n.rowStart:n.rowEnd,colIndex:n.colStart};break;case t.IRange.Direction.Down:c={rowIndex:r.rowIndex===n.rowEnd?n.rowStart:n.rowEnd,colIndex:n.colEnd},s={rowIndex:r.rowIndex===n.rowEnd?n.rowEnd:n.rowStart,colIndex:n.colStart};break;case t.IRange.Direction.Left:c={rowIndex:n.rowEnd,colIndex:r.colIndex===n.colStart?n.colEnd:n.colStart},s={rowIndex:n.rowStart,colIndex:r.colIndex===n.colStart?n.colStart:n.colEnd};break;case t.IRange.Direction.Right:c={rowIndex:n.rowEnd,colIndex:r.colIndex===n.colEnd?n.colStart:n.colEnd},s={rowIndex:n.rowStart,colIndex:r.colIndex===n.colEnd?n.colEnd:n.colStart}}}let l=this._getRangeFromCell(c),{rowStart:u,colStart:d}=l,f=this._magicCell;if(f)switch(e){case t.IRange.Direction.Up:case t.IRange.Direction.Down:f.colIndex>=l.colStart&&f.colIndex<=l.colEnd&&(d=f.colIndex);break;case t.IRange.Direction.Left:case t.IRange.Direction.Right:f.rowIndex>=l.rowStart&&f.rowIndex<=l.rowEnd&&(u=f.rowIndex)}if(!a){let r=this._getEntireRange(),a=r.rowStart??0,o=r.rowEnd??2**53-1,s=r.colStart??0,f=r.colEnd??2**53-1;switch(e){case t.IRange.Direction.Up:u=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenRowsAt.bind(this),Math.max(l.rowStart-1,a),e,Math.max(a,this._hiddenRowsAt(a,!1)));break;case t.IRange.Direction.Down:u=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenRowsAt.bind(this),Math.min(l.rowEnd+1,o),e,Math.min(o,o-this._hiddenRowsAt(o,!0)));break;case t.IRange.Direction.Left:d=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenColumnsAt.bind(this),Math.max(l.colStart-1,s),e,Math.max(s,this._hiddenColumnsAt(s,!1)));break;case t.IRange.Direction.Right:d=n.SelectionTraversalUtils.traverseHiddenHeaders(this._hiddenColumnsAt.bind(this),Math.min(l.colEnd+1,f),e,Math.min(f,f-this._hiddenColumnsAt(f,!0)))}if(i)switch(e){case t.IRange.Direction.Up:case t.IRange.Direction.Down:u=this._contentfulCellFinder({...c,colIndex:this._coords.cell.colIndex},e);break;case t.IRange.Direction.Left:case t.IRange.Direction.Right:d=this._contentfulCellFinder({...c,rowIndex:this._coords.cell.rowIndex},e)}u=Math.min(Math.max(u,a),o),d=Math.min(Math.max(d,s),f)}let p=null;a&&(p={});let m={rowIndex:u,colIndex:d},h=this._getRangeFromCell(m),g={rowIndex:h.rowStart,colIndex:h.colStart};r||(this._magicCell=m);let _=this._firstActiveCoords,v=n.CoordUtils.isEqualCells(_,g)&&n.CoordUtils.isEqualCells(_,s);if(r&&!v?this.modify(g,s):this.clearAndModify(g),p)this._scrollCellCoordsIntoView(p);else{if(r&&_){let n=this._getEntireRange();if(e===t.IRange.Direction.Right&&_.colIndex===n.colEnd||e===t.IRange.Direction.Left&&_.colIndex===n.colStart||e===t.IRange.Direction.Up&&_.rowIndex===n.rowEnd||e===t.IRange.Direction.Down&&_.rowIndex===n.rowStart)return this}e===t.IRange.Direction.Left||e===t.IRange.Direction.Right?this._scrollCellCoordsIntoView({colStart:m.colIndex}):e!==t.IRange.Direction.Up&&e!==t.IRange.Direction.Down||this._scrollCellCoordsIntoView({rowStart:m.rowIndex})}return this}getCoords(){return this._coords}hasTopOrLeft(){let e=this._coords;if(e.cell.rowIndex===0||e.cell.colIndex===0)return!0;let t=e.ranges,n=t.length;for(let e=0;e<n;e++){let n=t[e];if(n.rowStart===0||n.colStart===0)return!0}return!1}getSheet(){return this._sheet}getCell(){let e=this._coords;return this._sheet.getCell(e.cell)}getRange(e){let t=this._coords,n=this._cache;if(!e&&n.range)return n.range;let r=Ry(t),i=this._sheet.getRange(this._localCoords(r[0]));return e||(n.range=i),i}getRanges(e){let t=this._coords,n=this._cache;if(!e&&n.ranges)return n.ranges;let r=Ry(t),i=this._sheet.getRanges(r,e);return e||(this._cache.ranges=i),i}updateCoords(e){let t=this._coords;if(n.CoordUtils.isEqualSelectionCoords(t,e))return this;let r=this._resolveEntireHeaderSelection(Ly(e,this._coords,this._getEntireRange()));if(n.CoordUtils.isEqualSelectionCoords(t,r))return this;this._coords=r;let i=this._cache;return i.range=null,i.ranges=null,this._emitter.notify(`onChange`),this}isEntire(){let e=this._coords;if(e.ranges.length===0)return!1;let t=this._getEntireRange(),r=e.ranges,i=r.length;for(let e=0;e<i;e++){let i=r[e];if(!n.CoordUtils.isRangeWithinRange(t,i))return!1}return!0}getSelectedRuns(e){return Iy(e,this._coords,this._getEntireRange())}isEquals(e){let t=this._coords,r=e.getCoords();return n.CoordUtils.isEqualSelectionCoords(t,r)}traverse(e=t.IRange.Axis.Row,r=!1,i){let a=t.IRange.Direction.Right;a=e===t.IRange.Axis.Row?r?t.IRange.Direction.Left:t.IRange.Direction.Right:r?t.IRange.Direction.Up:t.IRange.Direction.Down;let o=this._coords;if(o.ranges.length===0){if(i&&!n.CoordUtils.isSingleCell(i)){let e={ranges:[i],cell:o.cell,rangeIndex:0},t=n.SelectionTraversalUtils.findNextCellWithinSelection(e,a,this._getRangeFromCell.bind(this),this._hiddenRowsAt.bind(this),this._hiddenColumnsAt.bind(this));return this.clearAndModify(t.cell),this._scrollCellCoordsIntoView({rowStart:t.cell.rowIndex,colStart:t.cell.colIndex}),this}return this.navigate(a)}let s=this._getRangeFromCell(o.cell);if(n.CoordUtils.isEqualRangesArrays([s],o.ranges))return this.navigate(a);let c=n.SelectionTraversalUtils.findNextCellWithinSelection(o,a,this._getRangeFromCell.bind(this),this._hiddenRowsAt.bind(this),this._hiddenColumnsAt.bind(this));return this.updateCoords(c)}traverseCorners(){let e=this._coords;if(e.ranges.length===0)return this;let r=e.ranges[e.rangeIndex],i=this._hiddenRowsAt.bind(this),a=this._hiddenColumnsAt.bind(this),o=n.SelectionTraversalUtils.traverseHiddenHeaders(i,r.rowStart,t.IRange.Direction.Down,r.rowEnd),s=n.SelectionTraversalUtils.traverseHiddenHeaders(i,r.rowEnd,t.IRange.Direction.Up,r.rowStart),c=n.SelectionTraversalUtils.traverseHiddenHeaders(a,r.colStart,t.IRange.Direction.Right,r.colEnd),l=n.SelectionTraversalUtils.traverseHiddenHeaders(a,r.colEnd,t.IRange.Direction.Left,r.colStart),{rowIndex:u,colIndex:d}=e.cell,f;return f=u===o&&d===c?{rowIndex:o,colIndex:l}:u===o&&d===l?{rowIndex:s,colIndex:c}:u===s&&d===c?{rowIndex:s,colIndex:l}:{rowIndex:o,colIndex:c},this.updateCoords({ranges:e.ranges,rangeIndex:e.rangeIndex,cell:f}),this._scrollCellCoordsIntoView({rowStart:f.rowIndex,colStart:f.colIndex}),this}clearHidden(){let e=this.getRanges().getVisible();if(!e)return this;let t=e.getCoords();if(t.length===0)return this;let r=this._coords.cell,i=this._hiddenRowsAt(r.rowIndex)>0||this._hiddenColumnsAt(r.colIndex)>0?{rowIndex:t[0].rowStart,colIndex:t[0].colStart}:r,a=0;for(let e=0;e<t.length;e++)if(n.CoordUtils.isCellWithinRange(i,t[e])){a=e;break}return this.updateCoords({ranges:t,rangeIndex:a,cell:i})}_resolveEntireHeaderSelection(e){let t=e.rangeIndex,n=t>=0?e.ranges[t]:null;if(!n)return e;let r=this._getEntireRange(),i=QD([n],r,!0),a=$D([n],r,!0);if(i===a)return e;let o=e.cell;if(i&&o.rowIndex!==n.rowStart||a&&o.colIndex!==n.colStart)return e;let s=this._sheet.getView();if(!s)return e;let c=(i?this._entireColumnsToTableBody(n):null)??n,l=s.getTopLeftCell(),u=i?Math.max(c.rowStart,Math.min(l.rowIndex,c.rowEnd)):o.rowIndex,d=a?Math.max(c.colStart,Math.min(l.colIndex,c.colEnd)):o.colIndex;return c===n&&u===o.rowIndex&&d===o.colIndex?e:Object.freeze({cell:Object.freeze({...o,rowIndex:u,colIndex:d}),ranges:c===n?e.ranges:e.ranges.map((e,n)=>n===t?c:e),rangeIndex:t})}_entireColumnsToTableBody(e){let t=this._sheet.getColumnHeaders(),n=t.at(e.colStart)?.getColumn();if(!n)return null;let r=n.getTable();for(let n=e.colStart+1;n<=e.colEnd;n++)if(t.at(n)?.getColumn()?.getTable()!==r)return null;let i=r.getDataRange().getCoords();return!i||i.rowStart>i.rowEnd?null:Object.freeze({...e,rowStart:i.rowStart,rowEnd:i.rowEnd})}_isEntireRange(e){e||=Ry(this._coords)[0];let t=this._sheet.getEntireRange().getCoords();return $D([e],t,!0)&&QD([e],t,!0)}async selectRegion(e){let r=e?.entireRegion??!1,i=e?.contentOnly??!1,a=e?.axis,o=this._sheet;if(a!==void 0){let e=this._coords,r=o.getCell(e.cell).getTable(),i=(r?r.getDataRange():o.getEntireRange()).getCoords(),s=e.ranges.length&&e.rangeIndex>=0?e.ranges[e.rangeIndex]:n.CoordUtils.cellToRange(e.cell),c=a===t.IRange.Axis.Column||a===t.IRange.AxisSelection.Both,l=a===t.IRange.Axis.Row||a===t.IRange.AxisSelection.Both,u={rowStart:c?i.rowStart:s.rowStart,rowEnd:c?i.rowEnd:s.rowEnd,colStart:l?i.colStart:s.colStart,colEnd:l?i.colEnd:s.colEnd},d=e.rangeIndex;return this._setSelectionRanges(e=>e.length?e.map((e,t)=>t===d?{...e,...u}:e):[u]),o.getRange(u)}let s=null;if(r)s=o.getEntireRange();else{let e=this._coords;if(this._isEntireRange()){let t=o.getRange(e.cell);s=t.getSurrounding(),s.isEntireRange()&&(s=t)}else s=this.getRange().getSurrounding({contentOnly:i})}return s&&await s.select(),s}clear(){this._setSelectionRanges(n.CoordUtils.EmptyRanges)}modify(e,t,n){if(this._shapePolicy===`cell`)return;let r=this._coords,i=this._rangesFromCellOptional(r,e,t??r.cell);if(!i)return;let a=r.rangeIndex;this._setSelectionRanges(e=>e.length?e.map((e,t)=>a===t?{...e,...i}:e):[i]),n&&i&&this._setSelectionCell({colIndex:i.colStart,rowIndex:i.rowStart})}append(e,t=e,r){if(this._shapePolicy!==`ranges`&&this._shapePolicy!==`mixed`||!e||this._isCellOutOfBounds(e)||this._isCellOutOfBounds(t))return;let i=this._coords,a=this._cellToRangeActual(e,t);if(!a)return;let o=i.ranges.length>0?[...i.ranges]:[this._cellToRangeActual(i.cell,i.cell)];o.push(a);let s={ranges:o,cell:{rowIndex:a.rowStart,colIndex:a.colStart,...r},rangeIndex:o.length-1};n.CoordUtils.isEqualSelectionCoords(s,i)||this.updateCoords(s)}clearAndModify(e,t,n){let r=this._coords;e={...r.cell,...e},t??=e;let i=this._rangesFromCellOptional(r,e,t);if(!i)return;let a={rowIndex:i.rowStart,colIndex:i.colStart},o={...a,...n};this._navigationPolicy===`modify`?this.modify(a,a):(this._firstActiveCoords=o,this.clear()),this._setSelectionCell(o)}setAdjusting(e){this._adjusting=e,this._emitter.notify(`onAdjustingChange`)}getAdjusting(){let t=this._adjusting;if(!t)return null;let n=new e({sheet:this._sheet,coords:t,shapePolicy:this._shapePolicy,navigationPolicy:this._navigationPolicy});return n._adjusting=t,n}createSelection(t){return new e({sheet:this._sheet,coords:t?.coords,shapePolicy:t?.shapePolicy??this._shapePolicy,navigationPolicy:t?.navigationPolicy??this._navigationPolicy})}addListeners(e,t){return this._emitter.addListeners(e,t)}_setSelectionRanges(e){let t=this._coords,r=typeof e==`function`?e(t.ranges):e??n.CoordUtils.EmptyRanges;if(n.CoordUtils.isEqualRangesArrays(r,t.ranges))return;let i=Math.max(r.length?0:-1,Math.min(t.rangeIndex,r.length-1)),a=t.cell;i===-1||n.CoordUtils.isCellWithinRange(a,r[i])||(a={rowIndex:r[i].rowStart,colIndex:r[i].colStart}),this._shapePolicy===`mixed`&&r.length===1&&n.CoordUtils.isSingleCell(r[0])&&n.CoordUtils.isCellWithinRange(a,r[0])&&(r=[],i=-1);let o={cell:a,ranges:r,rangeIndex:i};n.CoordUtils.isEqualSelectionCoords(o,t)||this.updateCoords(o)}_setSelectionCell(e){let t=this._coords,r=e??n.CoordUtils.EmptyCell,i=this._getRangeFromCell(r),a=this._shapePolicy===`range`||this._shapePolicy===`ranges`;if(t.ranges.length===0&&(a||!n.CoordUtils.isSingleCell(i)))return this.updateCoords({ranges:[i],rangeIndex:0,cell:r});if(n.CoordUtils.isEqualCells(r,t.cell))return this;let o=t.ranges,s=t.rangeIndex;this._shapePolicy===`mixed`&&t.ranges.length===1&&(n.CoordUtils.isSingleCell(t.ranges[0])&&n.CoordUtils.isCellWithinRange(r,t.ranges[0])||!n.CoordUtils.isCellWithinRange(r,t.ranges[0]))&&(o=[],s=-1);let c={ranges:o,rangeIndex:s,cell:r};return n.CoordUtils.isEqualSelectionCoords(c,t)?this:this.updateCoords(c)}_isCellOutOfBounds(e){let t=this._getEntireRange();return e.rowIndex<t.rowStart||e.colIndex<t.colStart||e.colIndex>t.colEnd||e.rowIndex>t.rowEnd}_cellToRangeActual(e,t){let r={rowStart:Math.min(e.rowIndex,t.rowIndex),colStart:Math.min(e.colIndex,t.colIndex),rowEnd:Math.max(e.rowIndex,t.rowIndex),colEnd:Math.max(e.colIndex,t.colIndex)};if(this._canSelectionSpanMergedCells(r))return r;let i=this._getRangeFromCell(e),a=this._getRangeFromCell(t),o={rowStart:Math.min(i.rowStart,a.rowStart),colStart:Math.min(i.colStart,a.colStart),rowEnd:Math.max(i.rowEnd,a.rowEnd),colEnd:Math.max(i.colEnd,a.colEnd)},s=this._getMergedRanges(o);return n.CoordUtils.extendRangeToUnionRanges(o,s)}_rangesFromCellOptional(e,t,n){let r=e.ranges.length>0?e.ranges[e.rangeIndex]:{rowStart:e.cell.rowIndex,colStart:e.cell.colIndex,rowEnd:e.cell.rowIndex,colEnd:e.cell.colIndex},i={rowStart:Math.min(t.rowIndex??r.rowStart,n.rowIndex??r.rowStart),colStart:Math.min(t.colIndex??r.colStart,n.colIndex??r.colStart),rowEnd:Math.max(t.rowIndex??r.rowEnd,n.rowIndex??r.rowEnd),colEnd:Math.max(t.colIndex??r.colEnd,n.colIndex??r.colEnd)},a={rowIndex:i.rowStart,colIndex:i.colStart},o={rowIndex:i.rowEnd,colIndex:i.colEnd};if(!this._isCellOutOfBounds(a)&&!this._isCellOutOfBounds(o))return this._cellToRangeActual(a,o)}_getEntireRange(){return this._sheet.getEntireRange().getCoords()}_hiddenRowsAt(e,t){return this._sheet.getRowHeaders().hiddenHeadersAt(e,t)}_hiddenColumnsAt(e,t){return this._sheet.getColumnHeaders().hiddenHeadersAt(e,t)}_localCoords(e){if(!e||e.scope===void 0)return e;let{scope:t,...n}=e;return n}_getRangeFromCell(e){let t=n.CoordUtils.cellToRange(e);if(this._sheet.isDeleted())return t;let r=this._sheet.getRange(this._localCoords(t),{ignoreHidden:!0}).getMerges();return r.length===0?t:r[0]}_canSelectionSpanMergedCells(e){let t=this._sheet.getRange(this._localCoords(e));return t.isEntireColumns()||t.isEntireRows()}_getMergedRanges(e){return this._sheet.getRange(this._localCoords(e),{ignoreHidden:!0}).getMerges()}_isContentfulCell(){return!1}_contentfulCellFinder(e,r){let i=this._sheet.getRange(this._localCoords(n.CoordUtils.cellToRange(e))).getExtended(r,e).getCoords();switch(r){case t.IRange.Direction.Up:return i.rowStart;case t.IRange.Direction.Down:return i.rowEnd;case t.IRange.Direction.Left:return i.colStart;case t.IRange.Direction.Right:return i.colEnd}}_scrollCellCoordsIntoView(e,t){return this._sheet.scrollTo(e,t?{scroll:t}:void 0)}get[Symbol.toStringTag](){return`[RangeShape]`}toString(){let e=``;return e+=`selection:[${this._sheet.getRange(this._localCoords(this._coords.cell)).toString()}`,this._coords.ranges&&this._coords.ranges.length>0&&(e+=`, ${this._sheet.getRanges(this._coords.ranges.map(e=>this._localCoords(e))).toString()}`),this._coords.rangeIndex!==void 0&&this._coords.rangeIndex!==-1&&(e+=`, ${this._coords.rangeIndex}`),e+=`]`,e}},KT=Object.freeze({coords:n.CoordUtils.EmptyCell,topLeft:n.TypesUtils.EmptyTopLeft}),qT=(Object.freeze({cell:n.CoordUtils.EmptyCell,ranges:n.CommonUtils.EmptyArray,rangeIndex:0}),Object.freeze({selection:null,topLeft:n.TypesUtils.EmptyTopLeft,freezePanes:KT,showRowHeaders:!0,showColumnHeaders:!0,showRowGridlines:!0,showColumnGridlines:!0,rowHeaderStyle:lb.HeaderTextStyle.One,columnHeaderStyle:lb.HeaderTextStyle.A1,tableNames:lb.ColumnHeaderTableNames.Sticky,showFormulas:!1,showZeros:!0,rightToLeft:!1,zoomScale:100,gridLineColor:null}));function JT(e,t=!0,n=15,r=10,i=400){let a=Math.max(e-r,0)+(t?1:-1);return Math.min(i,Math[t?`ceil`:`floor`](a/n)*n+r)}var YT=class{constructor(e){let t=e?.sheet;if(!t)throw Error(`SheetView requires a sheet.`);let n=new v(this);this._emitter=n,this._sheet=t;let r=new GT({sheet:t});this._rangeSelection=r,this.clear(!1),e?.json&&this._fromJSON(e.json);let i=this,a={onChange(e){i._emitter.notify(`onSelectionChange`)}};this._rangeSelectionRemoveListener=r.addListeners(a,{transactional:!1})}addListeners(e,t){return this._emitter.addListeners(e,t)}setTopLeft(e){if(!e)return this;let t=this._state,n=t.topLeft,r=n.left,i=n.top,a=e.left??r,o=e.top??i;return a===r&&o===i||(t.topLeft=Object.freeze({left:a,top:o}),this._emitter.notify(`onTopLeftChange`)),this}getTopLeft(){return this._state.topLeft}getTopLeftCell(){let e=this._state.topLeft,t=this._state.freezePanes,n=t?.coords,r=t?.topLeft,i=(n?.rowIndex??0)>0,a=(n?.colIndex??0)>0;return{rowIndex:this._sheet.getRowHeaders().getIndex(i?r?.top??0:e.top),colIndex:this._sheet.getColumnHeaders().getIndex(a?r?.left??0:e.left)}}getFreezePanes(){return this._state.freezePanes}setFreezePanes(e){return this._state.freezePanes=this._mergeFreezePanes(e),this._emitter.notify(`onFreezePaneChange`),this}_mergeFreezePanes(e){return e?{...this._state.freezePanes,coords:{colIndex:e?.coords?.colIndex??this._state.freezePanes.coords.colIndex,rowIndex:e?.coords?.rowIndex??this._state.freezePanes.coords.rowIndex},topLeft:{left:e?.topLeft?.left??this._state.topLeft.left,top:e?.topLeft?.top??this._state.topLeft.top}}:KT}isShowRowHeaders(){return this._state.showRowHeaders}setShowRowHeaders(e){return this._update(e,`showRowHeaders`,`onHeaderChange`),this}isShowColumnHeaders(){return this._state.showColumnHeaders}setShowColumnHeaders(e){return this._update(e,`showColumnHeaders`,`onHeaderChange`),this}isShowRowGridlines(){return this._state.showRowGridlines}setShowRowGridlines(e){return this._state.showRowGridlines=e,this._notifyAll(),this}isShowColumnGridlines(){return this._state.showColumnGridlines}setShowColumnGridlines(e){return this._state.showColumnGridlines=e,this._notifyAll(),this}getRowHeaderStyle(){return this._state.rowHeaderStyle}setRowHeaderStyle(e){return this._update(e,`rowHeaderStyle`,`onHeaderChange`),this}setColumnHeaderStyle(e){return this._update(e,`columnHeaderStyle`,`onHeaderChange`),this}getColumnHeaderStyle(){return this._state.columnHeaderStyle}setColumnHeaderTableNames(e){return this._update(e,`tableNames`,`onHeaderChange`),this}getColumnHeaderTableNames(){return this._state.tableNames}getZoomScale(){return this._state.zoomScale}setZoomScale(e){e<1&&console.warn(`Zoom scale is expressed as a whole number percentage (e.g., 100 for 100%).`);let t=Math.min(400,Math.max(10,e));return this._state.zoomScale===t?this:this._updateZoom(t)}zoomIn(){return this._updateZoom(JT(this.getZoomScale(),!0))}zoomOut(){return this._updateZoom(JT(this.getZoomScale(),!1))}_updateZoom(e){return e===this.getZoomScale()||(this.update({zoomScale:e}),this._emitter.notify(`onZoomScaleChange`)),this}getNextZoomScale(e,t){return JT(this.getZoomScale(),e,t)}isShowFormulas(){return this._state.showFormulas}setShowFormulas(e){return this._state.showFormulas=e,this._notifyAll(),this}isRightToLeft(){return this._state.rightToLeft}setRightToLeft(e){return this._state.rightToLeft=e,this._notifyAll(),this}isShowZeros(){return this._state.showZeros}setShowZeros(e){return this._state.showZeros=e,this._notifyAll(),this}getGridLineColor(){return this._state.gridLineColor}setGridLineColor(e){return this._state.gridLineColor=e,this._notifyAll(),this}getRangeSelection(){return this._rangeSelection}getMovableSelection(){return this._movableSelection}setMovableSelection(e){let t=this._movableSelection;return this._movableSelection=Object.freeze(e??[]),n.CommonUtils.isEqualArrays(t,this._movableSelection)||this._emitter.notify(`onMovableSelectionChange`),this}selectMovables(e,t=!1){let r=new Set(this._sheet.getMovables().getItems()),i=null,a=!1;if(t){i=[...this._movableSelection];for(let t=e.length-1;t>=0;t--){let n=e[t],o=i.indexOf(n);if(o!==t){if(a=!0,!r.has(n))throw Error(`Movable ${n.getName()} not found in sheet.`);o!==-1&&i.splice(o,1),i.unshift(n)}}}else a=!n.CommonUtils.isEqualArrays(e,this._movableSelection),i=[...e];return a?(this._movableSelection=i,this._emitter.notify(`onSelectionChange`),this._emitter.notify(`onMovableSelectionChange`),this):this}unselectMovables(e){let t=this._movableSelection,n=[];for(let r=0;r<t.length;r++){let i=t[r];e.indexOf(i)===-1&&n.push(i)}return t.length!==n.length&&(this._movableSelection=n,this._emitter.notify(`onSelectionChange`),this._emitter.notify(`onMovableSelectionChange`)),this}_update(e,t,n){let r=this._state,i=r[t];return r[t]=e,i!==e&&this._emitter.notify(n),i}_notifyAll(){let e=this._emitter;e.notify(`onSelectionChange`),e.notify(`onTopLeftChange`),e.notify(`onZoomScaleChange`),e.notify(`onFreezePaneChange`),e.notify(`onAnyChange`),e.notify(`onHeaderChange`)}toJSON(){let e={},t=Object.keys(this._state),n=t.length;for(let r=0;r<n;r++){let n=t[r],i=this._state[n];i!=null&&i!==qT[n]&&(e[n]=i)}delete e.movableSelection,delete e.gridLineColor,this._state.gridLineColor instanceof Mp&&(e.gridLineColor=this._state.gridLineColor.toString()),delete e.topLeft,!this._state.topLeft||this._state.topLeft.left===0&&this._state.topLeft.top===0||(e.topLeft={left:this._state.topLeft.left??0,top:this._state.topLeft.top??0}),delete e.selection;let r=this._rangeSelection.getCoords();if(r){let t={};!r.cell||r.cell.colIndex===0&&r.cell.rowIndex===0||(t.cell=Wl(r.cell)),r.ranges&&r.ranges.length>0&&(t.ranges=ru(r.ranges),r.rangeIndex!==void 0&&r.rangeIndex!==-1&&r.rangeIndex!==0&&(t.rangeIndex=r.rangeIndex)),Object.keys(t).length>0&&(e.selection=t)}return delete e.freezePanes,!this._state.freezePanes||this._state.freezePanes.coords.colIndex===0&&this._state.freezePanes.coords.rowIndex===0||(e.freezePanes={...this._state.freezePanes}),Object.keys(e).length===0?null:e}_fromJSON(e){let t=JSON.parse(JSON.stringify(e||{}));t?.zoomScale&&(t.zoomScale=n.CommonUtils.roundAccurately(parseFloat(e.zoomScale),2));let r=e=>{let t=this._sheet.getRange(e).getBounds();return{x:1*t.x,y:1*t.y,width:1*t.width,height:1*t.height}};if(typeof t?.gridLineColor==`string`&&(this._sheet?.getStyles()?t.gridLineColor=this._sheet.getStyles().parseColor(e.gridLineColor):console.warn(`Style was created with no styles so gridLineColor can't be parsed.`)),t.topLeft)if(typeof t.topLeft==`string`){let e=r(cu(t.topLeft));t.topLeft={left:e.x,top:e.y}}else t.topLeft=Object.freeze({left:t.topLeft?.left??t?.x??0,top:t.topLeft?.top??t?.y??0});if(t.selection){let e=cu(t.selection.cell??`A1`);if(t.selection.cell=e,t.selection.ranges){let r=Math.max(0,Math.min(t.selection.rangeIndex??t.selection.ranges?.length-1,t.selection.ranges?.length-1));t.selection.rangeIndex=r;let i=!1;for(let a=0;a<t.selection.ranges.length;a++){let o=fu(t.selection.ranges[a]);t.selection.ranges[a]=o,a===r&&e&&!n.CoordUtils.isCellWithinRange(e,o)&&(i=!0)}if(i)for(let r=0;i&&r<t.selection.ranges.length;r++)n.CoordUtils.isCellWithinRange(e,t.selection.ranges[r])&&(i=!1,t.selection.rangeIndex=r);i&&(t.selection.ranges.push(n.CoordUtils.cellToRange(e)),t.selection.rangeIndex=t.selection.ranges.length-1)}else delete t.selection.rangeIndex}if(t.freezePanes){let e=t.freezePanes;if(typeof e.coords==`string`&&(e.coords=cu(e.coords)),typeof e.topLeft==`string`){let n=cu(e.topLeft),i=r({colIndex:n.colIndex,rowIndex:n.rowIndex}),a=r({colIndex:e?.coords?.colIndex??0,rowIndex:e?.coords?.rowIndex??0});e.topLeft={left:0,top:0},t.topLeft||={top:0,left:0},n.colIndex>0&&(e.topLeft.left=t.topLeft?.left??0,t.topLeft.left=i.x-a.x+e.topLeft.left),n.rowIndex>0&&(e.topLeft.top=t.topLeft?.top??0,t.topLeft.top=i.y-a.y+e.topLeft.top)}t.freezePanes={coords:{colIndex:e?.coords?.colIndex??0,rowIndex:e?.coords?.rowIndex??0},topLeft:{left:e?.topLeft?.left??0,top:e?.topLeft?.top??0}}}this.update(t)}clear(e=!0){return this._state={...qT},this._movableSelection=n.CommonUtils.EmptyArray,this._rangeSelection.clear(),e&&this._notifyAll(),this}update(e){let t={...qT,...this._state,...e};return t.selection&&(this._rangeSelection.updateCoords(t.selection),delete t.selection),t.freezePanes=this._mergeFreezePanes(t.freezePanes),t.zoomScale=Math.min(400,Math.max(10,t.zoomScale)),this._state=t,this._notifyAll(),this}get[Symbol.toStringTag](){return`[SheetView]`}toString(){let e=this.toJSON();return e?JSON.stringify(e):`DefaultSheetView`}get isISheetView(){return!0}},XT=class e{constructor(e){this._version=0,this._iterationId=0,this._emitter=null,this._isProcessingJSON=!1,e={...e},this._options=e,this._context=e.context,this._container=e.container,this._calculation=e.calculation,this._gridId=e.uuid||`gen`+n.CommonUtils.uuidV4();let r={...PO},i=e.getEntireCoords??(()=>r);if(this._getEntireCoords=i,this._unanchored=!0===e.unanchored,!this._context||!this._container)throw Error(`Invalid Options`);this._onCalculated=e?.onCalculated??(()=>{}),this._values=new ro({axis:t.IRange.Axis.Column}),this._iterationId=0,this._contentfulSpatial=new Ta({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0}});let a={updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!1}};this._spillSpatial=new Ta(a),this._errorSpatial=new Ta(a),this._pendingSpatial=new Ta(a),this._circularSpatial=new Ta(a),this._notifyValues=new Ta,this._notifySpillsInsert=[],this._notifySpillsRemove=[],this._notifyFormats=new Ta,this._notifyPending=new Ta,this._notifyCircular=new Ta,this._container.registerGrid(this)}beginUpdates(){return{gridId:this._gridId,values:this._values,spillSpatial:this._spillSpatial,errorSpatial:this._errorSpatial,pendingSpatial:this._pendingSpatial,circularSpatial:this._circularSpatial,contentfulSpatial:this._contentfulSpatial,notifyValues:this._notifyValues,notifySpillsInsert:this._notifySpillsInsert,notifySpillsRemove:this._notifySpillsRemove,notifyFormats:this._notifyFormats,notifyPending:this._notifyPending,notifyCircular:this._notifyCircular,pendingConflating:null,circularConflating:null,errorRemovesConflating:null,errorInsertsConflating:null,formatsConflating:null,done:(e,t)=>this._notifyCalculated(e,t)}}async calculate(e){return this._container.calculateGrid(this._gridId,e?oE:void 0)}addListeners(e,t){return this._emitter||=new v(this),this._emitter.addListeners(e,t)}shift(e){let r=e.cloneIfUpdate??!0,i=r?this.clone(this):this,a=this.getId(),o={...e};o.range={...o.range},o.range.scope=a,delete o.cloneIfUpdate,delete o.onShift;let s=i._values,c=o.range,l=o.direction,u=l===t.IRange.Direction.Left||l===t.IRange.Direction.Right,d=l===t.IRange.Direction.Down||l===t.IRange.Direction.Right,f=d?1:-1,p=i._spillSpatial,m=i._contentfulSpatial,h=lT(c,p,s,m);s.shift(o.range,o.direction),o.onUpdates=(e,t)=>{i._notifySpillsRemove.push(...t),i._notifySpillsInsert.push(...e)},i._spillSpatial=p.shift(o),delete o.onUpdates,i._contentfulSpatial=m.shift(o);let g=i._container,_=g.getFormulas(),v=g.getPrecedents();r&&(_=_.clone(),v=v.clone());let y=this.getEntireCoords(),b={colStart:c.colStart,rowStart:c.rowStart,colEnd:u&&f===1?y.colEnd:c.colEnd,rowEnd:u||f!==1?c.rowEnd:y.rowEnd,scope:a},x=d?iT(v,b,aT):function(e,t){return iT(e,t,oT)}(v,c);x&&lE(_,v,x.formulas.inserts,x.formulas.removes);let S=(u?c.colEnd-c.colStart+1:c.rowEnd-c.rowStart+1)*f,C,w=function(e,r,i,a,o){let s=e(),c=s.search(i),l=c.length;if(l===0)return null;let u=i.colStart,d=i.rowStart,f=a.colIndex,p=a.rowIndex,m=a.scope,h=o?o.colEnd:i.colEnd,g=o?o.rowEnd:i.rowEnd,_=[],v=[],y=[],b=new Map,x=[];for(let e=0;e<l;e++){let r=c[e],a=r.value,o=a.formulaEntry,s=b.get(o)??o,l=s.value,S=l.ref,C=r.colStart,w=r.rowStart,T=r.colEnd,E=r.rowEnd,D=!1;if(a.index<0){x.push(r);continue}if((m===void 0||l.gridId===m)&&n.CoordUtils.isRangeWithinRange(S,i))continue;let O=a.index,k=l.getReferences(S.rowStart,S.colStart),A=k.length>0?k[O]:null;if(!A||t.FormulaError.isError(A)||`nameId`in A)continue;let j=A,M=l.unanchored,N=M&&!j.$colStart,P=M&&!j.$colEnd,F=M&&!j.$rowStart,I=M&&!j.$rowEnd,L=j;if(f!==0){let e=j.$colStart?j.colStart:S.colStart+j.colStart,t=j.$colEnd?j.colEnd:S.colEnd+j.colEnd;f<0&&!N&&!P&&u<=e&&h>=t?L=null:(!N&&e>=u&&(L=L===j?{...j}:L,L.colStart+=Math.max(f,u-e)),!P&&t>=u&&(L=L===j?{...j}:L,L.colEnd+=Math.max(f,u-1-t)))}if(p!==0){let e=j.$rowStart?j.rowStart:S.rowStart+j.rowStart,t=j.$rowEnd?j.rowEnd:S.rowEnd+j.rowEnd;p<0&&!F&&!I&&d<=e&&g>=t?L=null:(!F&&e>=d&&(L=L===j?{...j}:L,L.rowStart+=Math.max(p,d-e)),!I&&t>=d&&(L=L===j?{...j}:L,L.rowEnd+=Math.max(p,d-1-t)))}if(L!==j){if(L!==null&&(C=L.$colStart?L.colStart:S.colStart+L.colStart,w=L.$rowStart?L.rowStart:S.rowStart+L.rowStart,T=L.$colEnd?L.colEnd:S.colEnd+L.colEnd,E=L.$rowEnd?L.rowEnd:S.rowEnd+L.rowEnd,D=!0),l=l.setReferenceAt(O,L),_.push(r),D){let e={...r};e.value={...a},e.value.formulaEntry=s,e.colStart=C,e.rowStart=w,e.colEnd=T,e.rowEnd=E,v.push(e),y.push(o)}s={...s},s.value=l,b.set(o,s)}}let S=x.length;if(S>0||b.size>0){let e=r();if(S>0){s.removeAll(x,gT);for(let t=0;t<S;t++){let n=x[t].value.formulaEntry.value,r=e.get(n);r&&(s.removeAll(r,gT),e.delete(n))}}for(let t of b.keys()){let n=t.value;if(!n)continue;let r=e.get(n);r&&(s.removeAll(r,gT),e.delete(n))}}for(let e=0;e<v.length;e++){let t=b.get(y[e]);t&&(v[e].value.formulaEntry=t)}let C=Array.from(b.keys());return{precedents:{inserts:v,removes:_},formulas:{inserts:Array.from(b.values()),removes:C}}}(()=>v,()=>{let e=g.getDynamics();return C=new Map(e),C},{colStart:c.colStart,rowStart:c.rowStart,colEnd:u?y.colEnd:c.colEnd,rowEnd:u?c.rowEnd:y.rowEnd,scope:a},{colIndex:u?S:0,rowIndex:u?0:S,scope:a},d?void 0:c),T,E;w&&lE(_,v,w.formulas.inserts,w.formulas.removes),o.onUpdates=(e,t)=>{T=e,E=t},_.shift(o),(T||E)&&dE(v,T,E),r&&(g.setFormulas(_),g.setPrecedents(v),C&&g.setDynamics(C)),h?.(d,u?0:S,u?S:0);let D=[{...y,scope:this._gridId}];if(w){let e=w.formulas.inserts;for(let t=0;t<e.length;t++){let n=e[t];n.scope!==this._gridId&&D.push({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope})}}return g.markDirty(D),i}clone(t){if(t!==void 0&&this._cloneKey===t)return this;let n=new e(this._options);return n._cloneKey=t,n._version=this._version+1,n._gridId=this._gridId,n._values=this._values.clone(n),n._contentfulSpatial=this._contentfulSpatial.clone(n),n._spillSpatial=this._spillSpatial.clone(n),n._errorSpatial=this._errorSpatial.clone(n),n._pendingSpatial=this._pendingSpatial.clone(n),n._circularSpatial=this._circularSpatial.clone(n),n._notifyValues=this._notifyValues.clone(n),n._notifySpillsInsert=[...this._notifySpillsInsert],n._notifySpillsRemove=[...this._notifySpillsRemove],n._notifyFormats=this._notifyFormats.clone(n),n._notifyPending=this._notifyPending.clone(n),n._notifyCircular=this._notifyCircular.clone(n),n._emitter=this._emitter,n._iterationId=this._iterationId+1,this._container.registerGrid(n),n}setInputs(e,t){return this._setInputs(e,t)}remove(e){return this._setInputs(null,[{...e,scope:this._gridId,value:null}],{...e,scope:this._gridId})}autoFill(e,t){typeof e==`string`&&(e=fu(e)),typeof t==`string`&&(t=fu(t));let n=this._gridId,r=this._container,i={calcGrid:this,formulaSpatial:r.getFormulas(),precedentSpatial:r.getPrecedents(),volatile:r.getVolatiles()};return this._copyTo(i,{...e,scope:n},{...t,scope:n}),this}delete(){let e=this._container,t=e.getFormulas(),n=e.getPrecedents(),r=t,i=n,a=this._gridId,o=[];if(r.getSpatialAt(a)&&(r=r.clone(),r.getSpatialAt(a).clear()),i.getSpatialAt(a)){i=i.clone();let e=i.getSpatialAt(a),t=new Map,n=new Map,s=e.all();for(let e=0;e<s.length;e++){let r=s[e].value,i=r.formulaEntry;if(i.scope!==a){let e=r.index,a=i;t.set(a,a);let o=n.get(a)??a;o={...o},o.value=o.value.setReferenceAt(e,null,{scopeDeleted:!0}),n.set(a,o)}}if(e.clear(),n.size>0||t.size>0){let e=Array.from(n.values());lE(r,i,e,Array.from(t.values()));for(let t=0;t<e.length;t++){let n=e[t];o.push({colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colEnd,rowEnd:n.rowEnd,scope:n.scope})}}}r!==t&&e.setFormulas(r),i!==n&&e.setPrecedents(i),o.length>0&&e.markDirty(o),this._container.unregisterGrid(this._gridId)}markDirtyRegions(e){let t=this._gridId,n=Array(e.length);for(let r=0;r<e.length;r++){let i=e[r];n[r]=i.scope===t?i:{...i,scope:i.scope??t}}this._container.markDirty(n)}getId(){return this._gridId}getEntireCoords(){return this._getEntireCoords()}getBoundingRange(){let e=null;return e=n.CoordUtils.unionRanges(this._values.getCoords(),e),e=n.CoordUtils.unionRanges(this._container.getFormulas().getSpatialAt(this._gridId)?.getBoundingRange(),e),e}getValues(){return this._values}getDirtyRegions(){return this._container.getDirtyGrid(this._gridId)}getFormulas(){return this._container.getFormulas().getSpatialAt(this._gridId)??rE}getSpills(){return this._spillSpatial}getSnapshot(e){let t=this,n=this._container,r={calcGrid:t,formulaSpatial:n.getFormulas(),precedentSpatial:n.getPrecedents(),volatile:n.getVolatiles()},i=Object.freeze({...e}),a=i.range;return typeof a==`string`&&(a=fu(a)),a={...a},a.scope=t.getId(),{async copyTo(e,t){let n=e.calcGrid,o=e.range;typeof o==`string`&&(o=fu(o));let s={...i,...t},c=My(o,a,s.fitDestination,s.transpose);return c.scope=n.getId(),s.isCut?n._moveTo(r,a,c):n._copyTo(r,a,c),o},getCoords:()=>a,getSource:()=>t,getName:()=>`Calculation`,getMarkOptions:()=>i,isISnapshot:!0}}getDirectDependentsAt(e){let t=e.rowStart,r=e.colStart,i=e.rowEnd,a=e.colEnd,o=this._gridId,s=this._container.getPrecedents();nE.colStart=r,nE.rowStart=t,nE.colEnd=a,nE.rowEnd=i,nE.scope=o;let c=s.search(nE);if(c.length===0)return n.CommonUtils.EmptyArray;let l=[];for(let e=0;e<c.length;e++){let n=c[e],s=n.value,u=s.formulaEntry,d=t-n.rowStart,f=r-n.colStart,p=i-n.rowStart,m=a-n.colStart,h=u.rowEnd-u.rowStart,g=u.colEnd-u.colStart,_=s.formulaBlockHeight-1,v=s.formulaBlockWidth-1,y;if(s.index===Zf.Reference){let e=u.value,t=e.ref;y={rowStart:t.rowStart,rowEnd:t.rowEnd,colStart:t.colStart,colEnd:t.colEnd,scope:o===e.gridId?void 0:e.gridId??void 0}}else if(s.index===Zf.Spill||h>_||g>v)y={rowStart:u.rowStart,rowEnd:u.rowEnd,colStart:u.colStart,colEnd:u.colEnd,scope:o===u.scope?void 0:u.scope};else{let e=n.rowEnd-n.rowStart-_,t=n.colEnd-n.colStart-v,r=s.$absRowEnd?0:Math.max(0,d-e),i=s.$absRowStart?_:Math.min(p,_),a=s.$absColEnd?0:Math.max(0,f-t),c=s.$absColStart?v:Math.min(m,v);y={rowStart:u.rowStart+r,rowEnd:u.rowStart+i,colStart:u.colStart+a,colEnd:u.colStart+c,scope:o===u.scope?void 0:u.scope}}l.push(y)}return l=Fa(l,2,n.RangeAxis.Row),l.sort(n.CoordUtils.rowFirstRangeComparator),l}getDirectPrecedentsAt(e){let t=e.rowStart,r=e.colStart,i=e.rowEnd,a=e.colEnd,o=this._container.getFormulas();nE.colStart=r,nE.rowStart=t,nE.colEnd=a,nE.rowEnd=i;let s=this._gridId;nE.scope=s;let c=o.search(nE);if(c.length===0)return n.CommonUtils.EmptyArray;let l=this._getEntireCoords(),u=null,d=e=>{if(!e||e===s)return l;u??=new Map;let t=u.get(e);return t||(t=this._container.getGrid(e)?.getEntireCoords()??l,u.set(e,t)),t},f=[];for(let e=0;e<c.length;e++){let n=c[e],o=n,l=this._container.getDynamics().get(o.value);if(l)for(let e=0;e<l.length;e++){let t=l[e];t.value.index===Zf.Reference&&f.push({rowStart:t.rowStart,rowEnd:t.rowEnd,colStart:t.colStart,colEnd:t.colEnd,scope:t.scope===s?void 0:t.scope})}let u=o.value.formula.getReferences(t,r);if(!u)continue;let p=t-n.rowStart,m=r-n.colStart,h=i-n.rowStart,g=a-n.colStart,_=o.rowEnd-o.rowStart,v=o.colEnd-o.colStart,y=n.rowEnd-n.rowStart-_,b=n.colEnd-n.colStart-v,x=Math.max(0,p-y),S=Math.max(0,m-b),C=Math.min(h,_),w=Math.min(g,v),T=[];for(let e=0;e<u.length;e++){let t=u[e];if(t?.colStart===void 0)continue;let n=t.scope,r=d(n),i=Su(t,o.rowStart+x,o.colStart+S),a=Su(t,o.rowStart+C,o.colStart+w),c={colStart:Math.max(Math.min(i.colStart,a.colStart),r.colStart),rowStart:Math.max(Math.min(i.rowStart,a.rowStart),r.rowStart),colEnd:Math.min(Math.max(i.colEnd,a.colEnd),r.colEnd),rowEnd:Math.min(Math.max(i.rowEnd,a.rowEnd),r.rowEnd),scope:n===s?void 0:n};T.push(c)}f.push(...T)}return f=Fa(f,2,n.RangeAxis.Row),f.sort(n.CoordUtils.rowFirstRangeComparator),f}_directAcrossGrids(e,t){let r=this._gridId,i=e.scope,a=i&&i!==r?this._container.getGrid(i)??null:this;if(!a)return n.CommonUtils.EmptyArray;let o=t?a.getDirectDependentsAt(e):a.getDirectPrecedentsAt(e);if(a===this||o.length===0)return o;let s=Array(o.length);for(let e=0;e<o.length;e++){let t=o[e],n=t.scope??a._gridId;s[e]=n===r?{...t,scope:void 0}:{...t,scope:n}}return s}getDependentsAt(e){let t=za(e,e=>this._directAcrossGrids(e,!0));return t.sort(n.CoordUtils.rowFirstRangeComparator),t}getPrecedentsAt(e){let t=za(e,e=>this._directAcrossGrids(e,!1));return t.sort(n.CoordUtils.rowFirstRangeComparator),t}getFormulaBlockAt(e,t){let n=this._formulaAt(e,t);return n?n.value.formula:null}getReferencesAt(e,t){let r=this._formulaAt(e,t);if(!r)return n.CommonUtils.EmptyArray;let i=r.value.formula.getReferences(e,t);if(!i)return n.CommonUtils.EmptyArray;i=[...i];for(let n=0;n<i.length;n++){let r=i[n];r?.colStart!==void 0&&(i[n]=Su(r,e,t))}return i}setReferenceAt(e,t,n,r){let i=this._formulaAt(e,t),a=r;r&&r.colStart!==void 0?a=Cu(a,e,t):r&&r.colIndex!==void 0&&(a=function(e,t,n){let r=e.$colIndex??!1,i=e.$rowIndex??!1,a={colIndex:r?e.colIndex:e.colIndex-n,rowIndex:i?e.rowIndex:e.rowIndex-t,$colIndex:r,$rowIndex:i};return e.scope&&(a.scope=e.scope),a}(a,e,t));let o=i.value.formula.setReferenceAt(n,a).getTextAt(e,t,!1,void 0,void 0,!0);return o?this._setInputs(null,[{colStart:t,rowStart:e,colEnd:t,rowEnd:e,scope:this._gridId,value:o}]):this.remove({colStart:t,rowStart:e,colEnd:t,rowEnd:e}),this}isVolatileAt(e,t){let n=this._formulaAt(e,t);if(!n?.value)return!1;let r=n.value.calcs[e-n.rowStart]?.[t-n.colStart];return!!r&&this._container.getVolatiles().has(r)}_formulaAt(e,t){tE.colStart=t,tE.rowStart=e,tE.colEnd=t,tE.rowEnd=e,tE.scope=this._gridId,aE.length=0;let n=this._container.getFormulas().search(tE,!1,!1,aE);return n.length===0?null:n[0]}_createCopySpillEntries(e,t,n,r,i){let a=r??[],o=i??[],s=t.colStart,c=t.rowStart,l=t.colEnd,u=t.rowEnd,d=n.colStart,f=n.rowStart,p=e.search(t),m=p.length;for(let e=0;e<m;e++){let t=p[e];o&&o.push(t);let n=t.rowStart,r=t.colStart;if(n<c||n>u||r<s||r>l||t.value.getError())continue;let i=d+(t.colEnd-r),m=f+(t.rowEnd-n),h={colStart:d,rowStart:f,colEnd:i,rowEnd:m};a.push({colStart:d,rowStart:f,colEnd:i,rowEnd:m,value:new Bu(h,0,t.value.getKind())})}return{removes:o,inserts:a}}_reanchorFormulas(e,t,n,r){let i=e?e.length:0;if(i===0)return;let a=this._container,o=n??this._gridId,s=n==null?t??o:o,c=a.getScope();c.gridId=s;let l=t?a.getSymbols().resolve(Of,t)?.toString():void 0,u=this._context;for(let n=0;n<i;n++){let i=e[n],d=i.value,f=d.ref,p=d.formula.getTextAt(f.rowStart,f.colStart,!1,void 0,void 0,!0);c.colIndex=f.colStart,c.rowIndex=f.rowStart;let m=a.createFormulaBlock(s,u,p,f.rowStart,f.colStart);t&&(m=m.reanchorReferences(l,r));let h=new Xf(f,o,m,a,d.unanchored);i.scope=o,i.value=h}}_copyTo(e,t,n){let r=e.calcGrid,i=r.getId(),a=this._gridId,o=e.formulaSpatial,s=o.getSpatialAt(i);if(!s||s.isEmpty())return;let c=this._getEntireCoords(),l=c.colStart,u=c.rowStart,d=c.colEnd,f=c.rowEnd,p=o.createCopiedEntries(t,n),m=p.inserts,h=m.length,g=0,_=r._spillSpatial,v=[];for(;g<h;){let e=m[g];e.scope=a;let n=e.value,r=n.ref,i=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd;this._createCopySpillEntries(_,t,r,v,null);let p=n.formula.getReferences(o,i),y=p.length;for(let t=0;t<y;t++){let a=p[t];if(!a||`nameId`in a)continue;let g=a,_=g.colStart,v=g.rowStart,y=g.colEnd,b=g.rowEnd,x=g.$colStart?_:_+i,S=g.$rowStart?v:v+o,C=g.$colEnd?y:y+s,w=g.$rowEnd?b:b+c;if(_===-(2**53-1)&&(x=l,C=d),v===-(2**53-1)&&(S=u,w=f),x<l||C>d||S<u||w>f){let a=l-x,g=u-S,_=d-C,v=f-w;iE.colStart=Math.max(i,i+a),iE.rowStart=Math.max(o,o+g),iE.colEnd=Math.min(s,s+_),iE.rowEnd=Math.min(c,c+v);let y=ja(e,iE,Ia);if(y){let t=y.length;e=y[t-1],n=e.value,r=n.ref,i=r.colStart,o=r.rowStart,s=r.colEnd,c=r.rowEnd;for(let e=0;e<t-1;e++){let t=y[e];m.push(t),h++}}else n=n.setReferenceAt(t,null),e.value=n,p=n.formula.getReferences(o,i)}}m[g++]=e}let y=this._container,b=y.getFormulas().clone(),x=y.getPrecedents().clone();y.setFormulas(b),y.setPrecedents(x),a!==i&&this._reanchorFormulas(m,void 0,a),lE(b,x,m,p.removes),v&&this._spillSpatial._updateNodes(v,[]),y.markDirty([{...c,scope:this._gridId}])}_moveTo(e,r,i){let a=e.calcGrid,o=a.getId(),s=e.formulaSpatial;this.remove(i);let c=this._container,l=c.getPrecedents().clone(),u=c.getFormulas().clone();c.setPrecedents(l),c.setFormulas(u);let d=iT(l,r,sT);d&&lE(u,l,d.formulas.inserts,d.formulas.removes);let f={cutFrom:r},p=s.createCopiedEntries(r,i,f).inserts,m=p.length,h=this._gridId;if(h!==o){let e=i.colStart-r.colStart,a=i.rowStart-r.rowStart,s=[],l=[];for(let i=0;i<m;i++){let c=p[i],u=c.value,d=u.ref,f=u.formula.resolvedPrecedentsAt(d.rowStart,d.colStart),m=!0,g=f?f.length:0;for(let i=0;i<g;i++){let s=f[i];if(t.FormulaError.isError(s)){m=!1;break}let c=s.scope??h,l;if(c===h)l={colStart:s.colStart-e,rowStart:s.rowStart-a,colEnd:s.colEnd-e,rowEnd:s.rowEnd-a};else{if(c!==o){m=!1;break}l=s}if(!n.CoordUtils.isRangeWithinRange(l,r)){m=!1;break}}m?l.push(c):s.push(c)}if(l.length>0){this._reanchorFormulas(l);let e=c.getSymbols().resolve(Of,o)?.toString(),t=c.getSymbols().resolve(Of,h)?.toString();if(e&&t)for(let n of l){let r=n.value.replaceSheetReferences(e,t);r!==n.value&&(n.value=r)}}s.length>0&&this._reanchorFormulas(s,o)}let g;lE(u,l,p);let _=function(e,r,i,a){let o=e,s=o.search(i),c=s.length;if(c===0)return null;let l=a.colStart-i.colStart,u=a.rowStart-i.rowStart,d=[],f=[],p=new Map,m=new Set;for(let e=0;e<c;e++){let r=s[e],o=r.value,c=o.formulaEntry,h=p.get(c),g=h??c,_=g.value,v=_.ref,y=(v.scope??null)===(i.scope??null)&&n.CoordUtils.isRangeWithinRange(v,i),b=_.getReferences(v.rowStart,v.colStart),x=b?b.length:0;if(x===0)continue;let S=o.index,C=b?b[S]:null;if(!C||t.FormulaError.isError(C)||`nameId`in C)continue;let w=C;if(!h&&x>1)for(let e=0;e<x;e++){if(e===S)continue;let r=b[e];if(!r||t.FormulaError.isError(r)||`nameId`in r)continue;let a=r;if((a.scope??null)!==(i.scope??null)||!n.CoordUtils.isRangeWithinRange(a,i)){m.add(c);break}}let T=g.colEnd-g.colStart,E=g.rowEnd-g.rowStart,D=r.colStart,O=r.rowStart,k=r.colEnd,A=r.rowEnd,j=o.$absColEnd?k-D+1:k-D-T+1,M=o.$absRowEnd?A-O+1:A-O-E+1,N=o.$absRowStart?O>=i.rowStart?0:E+1:Math.max(0,i.rowStart-O),P=o.$absRowEnd?A<=i.rowEnd?E:-1:Math.min(E,i.rowEnd-O-(M-1)),F=o.$absColStart?D>=i.colStart?0:T+1:Math.max(0,i.colStart-D),I=o.$absColEnd?k<=i.colEnd?T:-1:Math.min(T,i.colEnd-D-(j-1));if(N>P||F>I||N!==0||P!==E||F!==0||I!==T)continue;let L=y||_.unanchored,ee=r.scope!==a.scope,R;if(l!==0&&(w.$colStart?(R??={...w},R.colStart+=l):L||(R??={...w},R.colStart+=l),w.$colEnd?(R??={...w},R.colEnd+=l):L||(R??={...w},R.colEnd+=l)),u!==0&&(w.$rowStart?(R??={...w},R.rowStart+=u):L||(R??={...w},R.rowStart+=u),w.$rowEnd?(R??={...w},R.rowEnd+=u):L||(R??={...w},R.rowEnd+=u)),!R&&!ee)continue;R||={...w},_=_.setReferenceAt(S,R),g={...g},g.value=_,p.set(c,g),d.push(r);let z={...r};z.colStart+=l,z.rowStart+=u,z.colEnd+=l,z.rowEnd+=u,z.scope=a.scope,z.value={...o},z.value.formulaEntry=g,f.push(z)}if(p.size>0){let t=r();for(let n of p.keys()){let r=n.value;if(!r)continue;let i=t.get(r);i&&(e.removeAll(i,gT),t.delete(r))}}let h=Array.from(p.keys()),g=Array.from(p.values()),_=m.size;if(_>0){let e=Array.from(m);for(let r=0;r<_;r++){let a=e[r],s=a.value,c=s.ref,l=s.getReferences(c.rowStart,c.colStart),u=l?l.length:0;if(u>1){let e=s.ref,r=e.colStart,c=e.rowStart;for(let e=0;e<u;e++){let s=l[e];if(!s||t.FormulaError.isError(s)||`nameId`in s)continue;let u=s;if(fT.colStart=u.$colStart?u.colStart:r+u.colStart,fT.rowStart=u.$rowStart?u.rowStart:c+u.rowStart,fT.colEnd=u.$colEnd?u.colEnd:r+u.colEnd,fT.rowEnd=u.$rowEnd?u.rowEnd:c+u.rowEnd,fT.scope=u.scope??a.scope,(fT.scope??null)===(i.scope??null)&&n.CoordUtils.isRangeWithinRange(fT,i))continue;fT.colEnd=fT.colStart,fT.rowEnd=fT.rowStart;let m=o.search(fT);for(let e=0;e<m.length;e++){let t=m[e];if(t.value.formulaEntry===a){let e=p.get(a);if(e){let n={...t};n.value={...t.value},n.value.formulaEntry=e,d.push(t),f.push(n)}break}}}}}}return{precedents:{inserts:f,removes:d},formulas:{inserts:g,removes:h}}}(l,()=>{let e=c.getDynamics();return g=new Map(e),g},r,i);if(g&&c.setDynamics(g),_){let e=_.formulas.inserts;r.scope!==i.scope&&e.length>0&&this._reanchorFormulas(e,i.scope,r.scope,!0),lE(u,l,_.formulas.inserts,_.formulas.removes)}let v=this._values;a._values.copyTo(v,{colIndex:i.colStart,rowIndex:i.rowStart},r);let y=a._spillSpatial,b=[],x=[];for(let e=0;e<m;e++){let t=p[e];this._createCopySpillEntries(y,r,t,b,x)}let S=[];b.length>0&&(this._spillSpatial._updateNodes(b,[]),a._spillSpatial._updateNodes([],x),$w(c.getCycleId(),x,n.CommonUtils.EmptyArray,a._contentfulSpatial,y,a._values,(e,t,n,r)=>{S.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:h})},a._notifyValues,(e,t)=>{e&&this._notifySpillsInsert.push(e),t&&this._notifySpillsRemove.push(t)},a._notifyPending,a._errorSpatial,a._values.getAxis()!==t.IRange.Axis.Row,!1,a._circularSpatial));let C=this.getEntireCoords();c.markDirty([{...C,scope:this._gridId}])}_notifyCalculated(e,r){let i,a=!1;a||(typeof r==`boolean`?a=r:r&&(i=r,a=i.full??!1));let o=this._notifyValues,s=o.all(),c=this._notifyPending.all([]);c.length>0&&this._notifyPending.clear();let l=this._notifyCircular.all([]),u,d;l.length>0&&this._notifyCircular.clear(),a?u=this._spillSpatial.all():(u=this._notifySpillsInsert,d=this._notifySpillsRemove),this._notifySpillsInsert=[],this._notifySpillsRemove=[];let f=this._notifyFormats.all();f.length>0&&this._notifyFormats.clear();let p={},m=null,h=s.length;if(h>0){o.clear();let e=s,r=null;for(let e=0;e<h;e++){let t=s[e],n=t.colStart,i=t.colEnd;if(n!==i){r||=[];for(let e=n+1;e<=i;e++)r.push({colStart:e,rowStart:t.rowStart,colEnd:e,rowEnd:t.rowEnd});t.colEnd=n}}r&&(e=s.concat(r)),e.sort(n.CoordUtils.columnFirstRangeComparator);let i=new vi.Builder(e=>new li(e)),a,c=this._values,l=c.getAxis()===t.IRange.Axis.Column,u=e.length;for(let t=0;t<u;t++){let r=e[t];m=n.CoordUtils.unionRanges(m,r,ZT);let o=c.getRuns({bounds:r}),s=o.next(),u=r.colStart,d=r.rowStart,f=r.colEnd,p=r.rowEnd,h=l?d:u,g=l?f:p,_=l?p:f,v=l?u:d,y=h;for(;!s.done;){let e=s.value,t=e[0];for(;v<t;)a||=[],a.push({colStart:l?v:y,rowStart:l?y:v,colEnd:l?v:_,rowEnd:l?_:v}),v++,y=h;let n=e[1],r=e[2],c=Math.max(n,h),u=Math.min(n+r.length-1,_);i.pushMultipleAt(t,c,r),y<c&&(a||=[],a.push({colStart:l?t:y,rowStart:l?y:t,colEnd:l?t:c-1,rowEnd:l?c-1:t})),y=u+1,u>=_?(v=t+1,y=h):v=t,s=o.next()}for(;v<=g;)y<=_&&(a||=[],a.push({colStart:l?v:y,rowStart:l?y:v,colEnd:l?v:_,rowEnd:l?_:v})),v++,y=h}let d=i.build();d&&(p.valueInserts=d),a&&(p.valueRemoves=a)}if(c.length>0){let e=this._pendingSpatial,t,r=c.length;for(let i=0;i<r;i++){let r=c[i];e.insertNonOverlapping(r,{onIntersect:(e,r)=>(t||=[],t.push({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:r.value}),m=n.CoordUtils.unionRanges(m,r),!1===r.value&&(r.value=null),r)})}t&&t.length>0&&(p.pendingUpdates=t,m=n.CoordUtils.unionRangesArrays(t,m??void 0,ZT))}if(l.length>0){let e=this._circularSpatial,t,r=l.length;for(let i=0;i<r;i++){let r=l[i];e.insertNonOverlapping(r,{onIntersect:(e,r)=>{t||=[];let i=!1===r.value;return t.push({colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd,rowEnd:r.rowEnd,value:i?null:r.value}),m=n.CoordUtils.unionRanges(m,r),i&&(r.value=null),r}})}t&&t.length>0&&(p.circularUpdates=t,m=n.CoordUtils.unionRangesArrays(t,m??void 0,ZT))}let g,_,v=d?d.length:0;if(v>0){g=[];for(let e=0;e<v;e++){let t=d[e];g.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd})}g&&(p.spillRemoves=g,m=n.CoordUtils.unionRangesArrays(g,m??void 0,ZT))}let y=u.length;if(y>0){let t=this._spillSpatial,r;for(let n=y-1;n>=0;n--){let i=u[n],o=i.value;if(!a&&o.getCycleId()!==e)continue;let s=t.search(i),c=s.length;for(let t=0;t<c;t++){let n=s[t];if(Qw(i.rowStart,i.colStart,n)&&(a||n.value.getCycleId()===e)){_||(_=[],r=new Set);let e=Vl(n.colStart)+Bl(n.rowStart);if(r.has(e))continue;r.add(e),_.push({colStart:i.colStart,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd,value:n.value.getKind()})}}}_&&(p.spillInserts=_,m=n.CoordUtils.unionRangesArrays(_,m??void 0,ZT))}return f.length>0&&(p.formatInserts=f,m=n.CoordUtils.unionRangesArrays(f,m??void 0,ZT)),m&&(p.bounds={colStart:m.colStart,rowStart:m.rowStart,colEnd:m.colEnd,rowEnd:m.rowEnd}),Object.keys(p).length===0?p.cycleId=e-1:p.cycleId=e,a&&(p.isFull=!0),this._options.onCalculated?.(p),Promise.resolve(p)}_setInputs(e,r,i){let a=this._gridId,o=this._container,s=this._context,c=o.getFormulas(),l=c.getSpatialAt(a),u=!!l&&!l.isEmpty(),d=r?r.length:0;if(this._calculation?.getStatus()===_b.Status.Starting)return o.whenSafe(()=>{let t=(o.getGrid(a)??this)._setInputs(e,r,i),s={cycleId:o.getCycleId(),bounds:n.CoordUtils.unionRangesArrays(t)};return Promise.resolve(s)}),n.CommonUtils.EmptyArray;let f=this._values,p=f.getAxis()!==t.IRange.Axis.Row,m=this._spillSpatial,h=this._errorSpatial,g=this._contentfulSpatial,_=[],v,y,b,x=u?[]:null;if(e&&e.tuples){v=e.tuples;let t=e.bounds;if(t?(y=Ua(t,p),y.scope=a):y={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1,scope:a},x){u&&_.push(y);let e={majorStart:0,minorStart:0,majorEnd:0,minorEnd:0},t=v.length;for(let n=0;n<t;n++){let t=v[n],r=t[0];e.majorStart=r,e.majorEnd=r;let i=t[1],o=i.length;for(let t=0;t<o;t++){let n=i[t];e.minorStart=n[0];let r=n[1];e.minorEnd=e.minorStart+r.length-1;let o=Ua(e,p);o.scope=a,x&&c.search(o).length>0&&x.push(o)}}}b=Hu(e.tuples,a,p)}let S=(e,t)=>{e&&this._notifySpillsInsert.push(e),t&&this._notifySpillsRemove.push(t)};if(i||v){let e;i&&(e=lT(i,m,f,g,S,!1,!0,this._notifyValues,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})})),$w(-1,i?[i]:n.CommonUtils.EmptyArray,b,g,m,f,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})},this._notifyValues,S,this._notifyPending,h,p,!1,this._circularSpatial),i&&f.delete(i),e?.(),v&&f.setValues(v)}let C=o.getScope(),w,T,E,D,O,k=(e,t)=>{let n=e.rowStart,r=e.colStart;C&&(C.rowIndex=n,C.colIndex=r);let i=o.createFormulaBlock(a,s,t,n,r),c=new Xf(e,a,i,o,this._unanchored),l={...e,scope:a,value:c};w||=[],w.push(l)},A=e=>{let t={...e,scope:a,value:null};E.insertNonOverlapping(t,{noMerge:!0,onUpdates(e,t,n){T||=[];for(let e=0;e<t.length;e++){let n=t[e];if(T.push(n),O)for(let e=O.length-1;e>=0;e--)O[e].value===n.value&&O.splice(e,1)}let r=e?e.length:0;for(let t=0;t<r;t++){let n=e[t];n.value!==null&&(O||=[],O.push(n))}}})},j=x?x.length:0,M;if(d>0){M=rk(d);for(let e=0;e<d;e++){let t=r[e],i=t.value,a=n.CoordUtils.sanitizeRange(t);M[e]=a,i!==null&&k(a,i)}}(j>0||d>0)&&(E=o.getFormulas().clone());for(let e=0;e<j;e++)A(x[e]);for(let e=0;e<d;e++)A(M[e]);let N=T?T.length:0;if(N>0){let e=o.getDynamics(),t=null;for(let n=0;n<N;n++){let r=T[n].value,i=e.get(r);i&&(D||=o.getPrecedents().clone(),D.removeAll(i,cE),t||=new Map(e),t.delete(r))}t&&o.setDynamics(t)}let P=[];if((w||T)&&(D||=o.getPrecedents().clone(),lE(E,D,w,T),O&&dE(D,O,null),$w(-1,T,w,g,m,f,(e,t,n,r)=>{_.push({colStart:e,rowStart:t,colEnd:n,rowEnd:r,scope:a})},this._notifyValues,S,this._notifyPending,h,p,!0,this._circularSpatial)),D&&o.setPrecedents(D),E&&o.setFormulas(E),w)for(let e=0;e<w.length;e++){let t=w[e];P.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:a})}if(T)for(let e=0;e<T.length;e++){let t=T[e];P.push({colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colEnd,rowEnd:t.rowEnd,scope:a})}return _.length>0&&o.markDirty(_),P}_clearAll(){this._contentfulSpatial.clear(),this._values.clear(),this._spillSpatial.clear(),this._errorSpatial.clear(),this._pendingSpatial.clear(),this._circularSpatial.clear(),this._notifyValues.clear(),this._notifySpillsInsert=[],this._notifySpillsRemove=[],this._notifyFormats.clear(),this._notifyPending.clear()}fromJSON(e,r){let i=this._calculation?.getStatus();if(i===_b.Status.Starting){let t=this._gridId,n=this._container;n.whenSafe(async()=>{let i=(n.getGrid(t)??this).fromJSON(e,r);return this._options.onCalculated?.(i),i});return}if(i!==_b.Status.Ready)return;this._clearAll();let a={cycleId:0,isFull:!0};if(!e)return a;this._isProcessingJSON=!0;try{if(e.data){let n=e.data;this._values.setValues(n);let r=this._values.getAxis()===t.IRange.Axis.Column,i=Hu(n,this._gridId,r);this._contentfulSpatial.load(i)}let i=this._gridId,o=this._container,s=o.getPrecedents(),c=o.getFormulas(),l={...this._getEntireCoords(),scope:i},u=e.formulas;if(u){let d=e.formulaArray,f=new Set;if(d){let e=d.length;for(let t=0;t<e;t++){let e=Lu(d[t][0],l).split(`:`)[0];f.add(e)}}let p=u.length,m=Array(p),h=[],g=o.getRuntime(),_=this._context,v=o.getScope();v.colIndex=0,v.rowIndex=0,v.gridId=i;for(let e=0;e<p;e++){let n=Tu(u[e],l);n.scope=i;let a=n.value,s=n.rowStart,c=n.colStart;v.colIndex=c,v.rowIndex=s;let d=o.createFormulaBlock(i,_,a,s,c,void 0,r?.formulaTransform),p=d.resolvedPrecedentsAt(s,c,!0,QT,$T),g=p.length;g===1&&(d=d.wrapImplicit(s,c,f)),n.value=new Xf(n,i,d,o,this._unanchored),m[e]=n;let y=n.rowEnd,b=n.colEnd-c,x=y-s,S=[],C=d.getReferences(s,c);for(let e=0;e<g;e++){let r=p[e];if(t.FormulaError.isError(r))continue;let a=tT(C[e],$T[e],QT[e]),o=a.$absColEnd,s=a.$absRowEnd,c={colStart:r.colStart,rowStart:r.rowStart,colEnd:r.colEnd+(o?0:b),rowEnd:r.rowEnd+(s?0:x),scope:r.scope??i,value:{formulaEntry:n,formulaBlockWidth:b+1,formulaBlockHeight:x+1,index:e,$absColStart:a.$absColStart,$absColEnd:o,$absRowStart:a.$absRowStart,$absRowEnd:s}};S.push(r),h.push(c)}}if(c.load(m),s.load(h),d){let e=[],r=[],u=new Map,f=this._values,p=d.length;for(let a=0;a<p;a++){let o=Tu(d[a],l),s=o.value??`dynamic`,p=s===`dynamicSpillError`,m=o.colStart,h=o.rowStart;eE.colStart=m,eE.rowStart=h,eE.colEnd=m,eE.rowEnd=h,eE.scope=i;let _=c.search(eE);if(_.length!==1)continue;let v=_[0].value,y=v.ref,b=v.calcs,x=h-y.rowStart,S=m-y.colStart,C=b[x][S],w=o.colEnd,T=o.rowEnd,E={colStart:m,rowStart:h,colEnd:w,rowEnd:T};C.cachedValue=p?t.FormulaError.BuiltIn.Spill:new zk(g,f,E);let D={colStart:m,rowStart:h,colEnd:w,rowEnd:T,value:new Bu(E,0,s)};r.push(D),n.CoordUtils.isSingleCell(o)||e.push({colStart:m,rowStart:h,colEnd:w,rowEnd:T,value:s}),eT(u,C,E,Zf.Spill)}if(this._spillSpatial.load(r),u.size>0){s.load(Array.from(u.values()).flat());let e=new Map(o.getDynamics());for(let[t,n]of u)e.set(t,n);o.setDynamics(e)}e.length>0&&(a.spillInserts=e)}let y=e.volatile,b=y?y.length:0;if(b>0){let e=o.getVolatiles(),t=t=>{e.add(t)},n=Array(b);for(let e=0;e<b;e++){let r=Iu(y[e],l);n[e]={...r};let i=c.search(r),a=i.length;for(let e=0;e<a;e++){let n=i[e];cT(n,r,t)}}this.markDirtyRegions(n),o.isLoading()?o.whenSafe(async()=>{this.calculate()}):this.calculate()}}}catch(e){throw e}finally{this._isProcessingJSON=!1}return a}async toJSON(e){let r=this._container.getFormulas().getSpatialAt(this._gridId)?.all(),i=r?r.length:0;if(i>0&&(r=Pa(r,n.RangeAxis.Column,2,La),r.sort(n.CoordUtils.rowFirstRangeComparator)),i=r?r.length:0,i===0)return null;let a={};if(i>0){let t=e?.formulaTransform,n=Array(i);for(let e=0;e<i;e++)n[e]=r[e].value.toJSON(!1,t);a.formulas=n}let o=this._spillSpatial.all(),s=o.length;if(s>0){let e=this._getEntireCoords(),t=Array(s);for(let n=0;n<s;n++){let r=o[n];t[n]=[Jl(r,e),r.value.getKind()]}a.formulaArray=t}let c=this._container.getVolatiles(),l=this._gridId;if(c.size>0){let e=c.values(),n=e.next(),r=this._values.getAxis()===t.IRange.Axis.Column,i=to(!0);for(;!n.done;){let t=n.value;if(n=e.next(),t.gridId!==l)continue;let a=t.colIndex,o=t.rowIndex,s=r?a:o,c=r?o:a;i.append(s,c)}let o=i.done(!0),s=o.length;if(s>0){let e=Array(s);for(let t=0;t<s;t++){let n=o[t];e[t]=Jl(n,this._getEntireCoords())}a.volatile=e}}return a}},ZT={rowStart:0,colStart:0,rowEnd:0,colEnd:0},QT=[],$T=[],eE={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},tE={colStart:0,rowStart:0,colEnd:0,rowEnd:0,scope:null},nE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},rE=Object.freeze({search:(e,t,r,i)=>i??n.CommonUtils.EmptyArray,getBoundingRange:()=>null,isEmpty:()=>!0}),iE={colStart:0,rowStart:0,colEnd:0,rowEnd:0},aE=[null],oE=Object.freeze({full:!0}),sE=[];function cE(e,t){return e.value===t.value}function lE(e,t,n,r){(n&&n.length!==0||r&&r.length!==0)&&(dE(t,null,r),uE(e,null,r),uE(e,n,null),dE(t,n,null))}function uE(e,t,n){(t&&t.length!==0||n&&n.length!==0)&&(n&&e.removeAll(n,cE),t&&e.load(t))}function dE(e,n,r){let i=r?r.length:0;for(let n=0;n<i;n++){let i=r[n],a=i.value,o=a.registeredPrecedents;if(o){for(let t=0;t<o.length;t++)e.remove(o[t],cE);a.registeredPrecedents=null}let s=a.ref,c=s.rowStart,l=s.colStart,u=a.formula.resolvedPrecedentsAt(c,l);if(!u)continue;let d=u.length;for(let n=0;n<d;n++){let r=u[n];if(r===null||t.FormulaError.isError(r))continue;nE.rowStart=r.rowStart,nE.colStart=r.colStart,nE.rowEnd=r.rowEnd,nE.colEnd=r.colEnd,nE.scope=r.scope??i.scope,sE.length=0;let a=e.search(nE,!1,!1,sE),o=a.length;for(let t=0;t<o;t++){let n=a[t],r=n.value.formulaEntry;r&&r.value===i.value&&e.remove(n,cE)}}}let a=n?n.length:0;if(a===0)return;let o=[];for(let e=0;e<a;e++){let t=n[e],r=[],i=o.length;rT(t,o,r),o.length>i&&(t.value.registeredPrecedents=o.slice(i))}e.load(o)}sE.fill(null,0,10);var fE=class extends zd{constructor(e,t){super(),this.nodes=e,this.count=t}},pE=class extends zd{constructor(e){super(),this.node=e}},mE=class extends zd{constructor(e){super(),this.node=e}};function hE(e,n=0,r=0){let i=e._values,a=e._coords,o=i.getRuns({bounds:a}),s=i.getAxis()!==t.IRange.Axis.Row,c=s?a.colStart:a.rowStart,l=s?a.rowStart:a.colStart,u=new vi.Builder(null,n,r),d=o.next();for(;!d.done;){let e=d.value;u.pushMultipleAt(e[0]-c,e[1]-l,e[2]),d=o.next()}return u.build()}function gE(e,t,n,r){let i=e.value,a=i.formulaBlockWidth,o=i.formulaBlockHeight,s=i.formulaEntry.value.calcs,c=n-e.colStart,l=t-e.rowStart,u=e.rowEnd-e.rowStart-(o-1),d=e.colEnd-e.colStart-(a-1),f=i.$absRowEnd?0:Math.max(0,l-u),p=i.$absRowStart?o-1:Math.min(o-1,l),m=i.$absColEnd?0:Math.max(0,c-d),h=i.$absColStart?a-1:Math.min(a-1,c);for(let e=f;e<=p;e++){let t=s[e];for(let e=m;e<=h;e++)r(t[e])}}var _E=class{constructor(e,t){this.members=new Set,this.downstream=new Set,this._memberEntry=null,this._downstreamEntry=null,this._iteration=null,this._host=e,this._cycleId=t}getCycleId(){return this._cycleId}isEmpty(){return this.members.size===0&&this.downstream.size===0}getEntry(e){return e?(this._memberEntry||={cycle:this,kind:`member`},this._memberEntry):(this._downstreamEntry||={cycle:this,kind:`downstream`},this._downstreamEntry)}setIteration(e){this._iteration=e}getRepresentative(){let e=this._liveMembers();return e.length>0?this._toCoords(e[0]):null}getMembers(){return this._liveMembers().map(e=>this._toCoords(e))}getMemberCount(){return this._countLive(this.members)}getDownstreamCount(){return this._countLive(this.downstream)}isMember(e){return this._memberAt(e)!==null}getPath(e){let t=this._memberAt(e);if(!t)return[];let n=this.members,r=[t],i=t.cycleNext;for(;i&&i!==t&&r.length<n.size&&n.has(i)&&this._host.isLiveNode(i);)r.push(i),i=i.cycleNext;return r.map(e=>this._toCoords(e))}_memberAt(e){for(let t of this.members)if(t.rowIndex===e.rowIndex&&t.colIndex===e.colIndex&&this._host.isLiveNode(t)&&(e.scope===void 0||e.scope===this._scopeOf(t)))return t;return null}isIterative(){return this._iteration!==null}isConverged(){return this._iteration?.converged??!1}getIterationCount(){return this._iteration?.iterationCount??0}getLastChange(){return this._iteration?.lastChange??0}_liveMembers(){let e=[];for(let t of this.members)this._host.isLiveNode(t)&&e.push(t);return e.sort(vE),e}_countLive(e){let t=0;for(let n of e)this._host.isLiveNode(n)&&t++;return t}_scopeOf(e){return(e.gridId?this._host.resolveScope(e.gridId):void 0)??null}_toCoords(e){return{rowIndex:e.rowIndex,colIndex:e.colIndex,scope:this._scopeOf(e)}}};function vE(e,t){return e.gridId===t.gridId?e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex:e.gridId===null?-1:t.gridId===null?1:e.gridId.localeCompare(t.gridId)}var yE=class{constructor(e,t,r){this._pendingCalcs=new Set,this._circularNodesLength=0,this._demandBatch=[],this._taintGroup=0,this._iterate=null,this._demandActive=!1,this._iterHitsLength=0,this._iterMembersLength=0,this._iterDownstreamLength=0,this._passActive=!1,this._passCycleId=0,this._passMarkId=0,this._flush=null,this._cycles=new Map,this._cycleGroupNext=0,this._demandStats={evaluations:0,retries:0},this._gridUpdates=null,this._addDynamicPrecedent=null,this.scheduleRecalculation=(e,t)=>{if(!t)return;let r=this._pendingCalcs;r.add(t);let i=this;n.TimerUtils.debounce(()=>{let t=i._container.getVolatiles();r.forEach(n=>{n.cycleId>e||t.add(n)}),r.clear(),i._requestCalculate()},100)()},this.doCollectVolatileCalcs=(e,t,n,r,i)=>{let a=r.values,o=r.length;if(!n||n.size===0)return o;let s=o,c=new Map;return n.forEach(n=>{n.markId===t&&n.cycleId===e||(e=>{let t=e.block;if(!t)return!1;let n=c.get(t);if(n!==void 0)return n;TE.colStart=TE.colEnd=e.colIndex,TE.rowStart=TE.rowEnd=e.rowIndex,TE.scope=e.gridId;let r=i.search(TE),a=!1;for(let e=0;!a&&e<r.length;e++)a=r[e].value===t;return c.set(t,a),a})(n)&&(n.markId=t,n.cycleId=e,a[s++]=n,n.pendingPromise&&(n.pendingPromise.cancelled=!0))}),r.length=s,s},this.doCollectDirtyCalcs=(e,t,n,r,i,a,o)=>{let s=r.values,c=r.length,l=n=>{n.cycleId===e&&n.markId===t||(s[c++]=n,n.markId=t,n.cycleId=e,n.pendingPromise&&(n.pendingPromise.cancelled=!0))},u=e=>{let t=e.calcs,n=t.length;for(let e=0;e<n;e++){let n=t[e],r=n.length;for(let e=0;e<r;e++)l(n[e])}},d=(e,t,n,r,i)=>{let a=e.calcs;for(let e=t;e<=n;e++){let t=a[e];for(let e=r;e<=i;e++)l(t[e])}},f=n.length;for(let e=0;e<f;e++){let t=n[e];RE.length=0;let r=RE;a.search(t,!1,!1,r);let s=r.length;i.search(t,!1,!1,r);let c=r.length;if(c===0)continue;let l=t.colStart,f=t.rowStart,p=t.colEnd-l,m=t.rowEnd-f;for(let e=0;e<s;e++){let t=r[e],n=t.value;if(n.index<0){o.push(t),u(n.formulaEntry.value);continue}let i=n.formulaEntry.value,a=i.ref,s=a.colEnd-a.colStart,c=a.rowEnd-a.rowStart,h=t.colEnd-t.colStart-s,g=t.rowEnd-t.rowStart-c,_=0,v=c,y=0,b=s,x=f-t.rowStart,S=l-t.colStart;n.$absRowEnd||(_=Math.min(Math.max(x-g,0),c)),n.$absRowStart||(v=Math.min(x+m,c)),n.$absColEnd||(y=Math.min(Math.max(S-h,0),s)),n.$absColStart||(b=Math.min(p+S,s)),d(i,_,v,y,b)}for(let e=s;e<c;e++){let t=r[e],n=t.value,i=n.ref,a=i.colEnd-i.colStart,o=i.rowEnd-i.rowStart,s=f-t.rowStart,c=l-t.colStart;d(n,Math.min(Math.max(s,0),o),Math.min(s+m,o),Math.min(Math.max(c,0),a),Math.min(p+c,a))}}return r.length=c,c},this._container=e,this._context=t,this._requestCalculate=r,this._cycleHost={isLiveNode:e=>this.isLiveNode(e),resolveScope:t=>e.resolveScope(t)},this._passHook=(e,t,n,r,i)=>{this._onPassRead(e,t,n,r,i)},this._taintDownstream=e=>{(e.state&Zu)===ad&&(e.state=e.state&~Xu|Ju|rd|sd,e.cycleGroup=this._taintGroup,e.demandValue=0,this._addCircular(e))}}execute(e,t,n){let{isFullCalc:r,calcCoords:i,gridId:a,scopeGridId:o}=t,{gridsAll:s,formulaSpatial:c,dirtySpatial:l,oldVolatiles:u}=n,d=this._container,f=e=>d.getIncrementalUpdates(e),p=d.getPrecedents(),m=p,h=d.getDynamics(),g=h,_=new Map;this._gridUpdates=_,this._resetCircular(),this._iterate=t.iterate??null,this._context._setDynamicReadHook(this._passHook),this._passActive=!0;let v=[],y=()=>{v.length!==0&&(m===p&&(m=m.clone()),m.removeAll(v,cE),v.length=0)},b=1,x=$E;if(x.length=0,r||(this.doCollectVolatileCalcs(e,b,u,x,c),u.clear()),i)s.get(i.scope??a)&&this.doCollectDirtyCalcs(e,b,[i],x,c,m,v);else{let t=o&&s.has(o)?o:null,n=t?[t]:r?s.keys():l.getScopeKeys();for(let i of n){let n=s.get(i);if(!n)continue;let a;if(f(i),r){let e={...n.getEntireCoords()};e.scope=i,a=[e]}else a=[],l.all3D(a),t&&(a=a.filter(e=>e.scope===i));this.doCollectDirtyCalcs(e,b,a,x,c,m,v)}}if(_.size===0&&x.length===0)return this._gridUpdates=null,this._addDynamicPrecedent=null,this._context._setDynamicReadHook(null),this._passActive=!1,null;if(x.length===0)return this._gridUpdates=null,this._addDynamicPrecedent=null,this._context._setDynamicReadHook(null),this._passActive=!1,{precedentSpatial:m,dynamicByBlock:g,lastUpdates:new Map(_)};let S=new Map;this._addDynamicPrecedent=(e,t,n)=>{if(!e?.block)return;let r=e.block,i=t?.scope??e.gridId,a,o,s,c;t?(a=t.colStart,o=t.rowStart,s=t.colEnd,c=t.rowEnd):(a=e.colIndex,o=e.rowIndex,s=e.colIndex,c=e.rowIndex);let l=S.get(r);l||(l=[],S.set(r,l));let u=l.findIndex(e=>e.value.index===n),d=u===-1?void 0:l[u];if(d&&d.scope===i){a<d.colStart&&(d.colStart=a),o<d.rowStart&&(d.rowStart=o),s>d.colEnd&&(d.colEnd=s),c>d.rowEnd&&(d.rowEnd=c);let e=d.value.formulaEntry;e.colStart=d.colStart,e.rowStart=d.rowStart,e.colEnd=d.colEnd,e.rowEnd=d.rowEnd}else{let e=r.ref,t={colStart:a,rowStart:o,colEnd:s,rowEnd:c,scope:i,value:{formulaEntry:{colStart:a,rowStart:o,colEnd:s,rowEnd:c,scope:i,value:r},formulaBlockWidth:e.colEnd-e.colStart+1,formulaBlockHeight:e.rowEnd-e.rowStart+1,index:n,$absColStart:!1,$absColEnd:!1,$absRowStart:!1,$absRowEnd:!1}};u===-1?l.push(t):l[u]=t}};let C=new Map,w=(e,t)=>{(function(e,t,n,r){if(t===0)return;let i,a,o,s=xE,c=()=>{let e=i.build();e&&e.tuples&&o.values.setValues(e.tuples);let t=a.done(!0);for(let e=0;e<t.length;e++){let n=t[e];o.notifyValues.insertNonOverlapping(n)}let n=o.pendingConflating;if(n){let e=n.done(!0);o.notifyPending.load(e),o.pendingConflating=null}let r=o.circularConflating;if(r){let e=r.done(!0);o.notifyCircular.load(e),o.circularConflating=null}let s=o.formatsConflating;if(s){let e=s.done(!0);o.notifyFormats.load(e),o.formatsConflating=null}};e.length=t,e.sort(r?SE:CE);for(let l=0;l<t;l++){let t=e[l],u=t.colIndex,d=t.rowIndex,f=t.gridId;if(f||console.log(`nodeGridId is null`,t),f!==s&&(s!==xE&&c(),i=new vi.Builder(bE),a=to(r),s=f,o=n(f)),!t.cachedValue?.isIRange){let e=r?u:d,n=r?d:u,o=t.cachedValue;i.pushAt(e,n,o),a.append(e,n)}}c()})(e,t,f,!0);for(let n=0;n<t;n++){let t=e[n];t.state=t.state&~Xu|rd}for(let[e,t]of _)C.set(e,t);_.clear()},T=r,E=eD;E.length=0;let D=0,O=!1;do{++b,y(),this.doMarkAndPlan(e,b,x,E);let t=this.doEvaluate(e,f,this.scheduleRecalculation,w,T,E);O=t!==void 0,O&&(T=!1,++b,this.doCollectDirtyCalcs(e,b,t.all(),x,c,m,v),D>200&&(++b,y(),this.doMarkAndPlan(e,b,x,E,!0),this.doEvaluate(e,f,this.scheduleRecalculation,w,!1,E),this._hasCycle()||console.error(`Too many iterations, possible cycle or leak`),O=!1)),D++}while(O);if(S.size>0){m===p&&(m=m.clone()),g===h&&(g=new Map(g));for(let e of S.keys()){let t=g.get(e);t&&m.removeAll(t,cE)}m.load(Array.from(S.values()).flat());for(let[e,t]of S)g.set(e,t);S.clear()}return this._gridUpdates=null,this._addDynamicPrecedent=null,this._context._setDynamicReadHook(null),this._passActive=!1,{precedentSpatial:m,dynamicByBlock:g,lastUpdates:C}}_onPassRead(e,t,n,r,i){if(!this._passActive)return;let a=this._passCycleId,o=this._passMarkId;OE.rowStart=t,OE.colStart=n,OE.rowEnd=r,OE.colEnd=i,OE.scope=e;let s=this._container.getFormulas().search(OE),c=s.length,l=this._iterate!==null,u=0,d=null,f=!1;for(let e=0;e<c;e++){let c=s[e],p=c.value.calcs,m=Math.max(c.rowStart,t),h=Math.min(c.rowEnd,r),g=Math.max(c.colStart,n),_=Math.min(c.colEnd,i);for(let e=m;e<=h;e++){let t=p[e-c.rowStart];for(let e=g;e<=_;e++){let n=t[e-c.colStart];if(n.cycleId!==a||n.markId!==o){l||(n.state&Qu)===0||(d=n);continue}let r=n.state&Xu;if(r!==id||f||(this._flush?.(),f=!0,r=n.state&Xu),r!==nd)r===td||r===id?VE[u++]=n:(n.state&Zu)!==ad&&(l?this._iterRead(n):d=n);else{if(!l||!this._demandActive)throw new pE(n);(n.state&Yu)===0&&(n.state|=Yu,WE[this._iterHitsLength++]=n)}}}}if(u>0)throw new fE(VE,u);if(d)throw new mE(d)}_iterRead(e){let t=this._container.getScope().node;t&&(t.state&Zu)===ad&&(t.state=t.state&~Zu|sd,t.cycleGroup=AE(e),this._addCircular(t),KE[this._iterDownstreamLength++]=t)}_collectUnevaluated(e,t,n){let r=this._passCycleId,i=this._passMarkId,a=this._container.getFormulas().search(e),o=a.length;for(let s=0;s<o;s++){let o=a[s],c=o.value.calcs,l=Math.max(o.rowStart,e.rowStart),u=Math.min(o.rowEnd,e.rowEnd),d=Math.max(o.colStart,e.colStart),f=Math.min(o.colEnd,e.colEnd);for(let e=l;e<=u;e++){let a=c[e-o.rowStart];for(let e=d;e<=f;e++){let s=a[e-o.colStart];s.cycleId===r&&s.markId===i&&(s.state&Xu)===td&&(t[n++]=s)}}}return n}doDemandEvaluate(e,t,n,r){if(n.length===0)return;let i=this._container.getScope();this._demandActive=!0,this._iterMembersLength=0,this._iterDownstreamLength=0;try{this._demandRun(t,n,n.length),this._iterate&&this._iterMembersLength>0&&this._demandSweep(t)}finally{this._demandActive=!1,this._iterHitsLength>0&&this._drainIterHits(),i.node=null,i.colIndex=2**53-1,i.rowIndex=2**53-1}}_writeEarly(e,t,n){let r=n?.isIRange?n.getValueAt(0,0)??0:n;e(t.gridId).values.setValueAt(t.rowIndex,t.colIndex,r)}_demandRun(e,n,r){let i=this._container,a=this._context,o=i.getScope(),s=this._demandStats,c=zE,l=0,u=BE;for(let i=0;i<r;i++){let r=n[i];if((r.state&Xu)===td)for(c[l++]=r;l>0;){let n=c[l-1],r=n.state&Xu;if(r===rd){l--;continue}let i;r===td&&(n.state=n.state&~Xu|nd|Ju,this._addCircular(n));let d=null;if((n.state&Ku)!==0||n.pendingPromise&&(n.state&qu)!==0)i=n.cachedValue??null;else{let e=n.inputs,t=e.length;for(let n=0;n<t;n++)e[n]=void 0;o.node=n,o.gridId=n.gridId,o.rowIndex=n.rowIndex,o.colIndex=n.colIndex,s.evaluations++,a._setReadHook(this._passHook);try{let e=n.block.formula;i=e.evaluateAt(n.rowIndex,n.colIndex),i&&i.then||(i=e.finalizeValueForCell(i))}catch(e){if(!(e instanceof fE||e instanceof pE||e instanceof mE))throw e;d=e}finally{a._setReadHook(null)}let r=this._iterHitsLength;if(r>0){for(let e=0;e<r;e++){let t=WE[e];t.state&=~Yu,this._markCycleSlice(c,l,t)}this._iterHitsLength=0}}if(d instanceof fE){s.retries++;let e=0,r=n.precedents,i=r.length;for(let a=0;a<i;a++){let i=r[a];if(t.FormulaError.isError(i))continue;let o=i;o.scope?e=this._collectUnevaluated(o,u,e):(OE.rowStart=o.rowStart,OE.colStart=o.colStart,OE.rowEnd=o.rowEnd,OE.colEnd=o.colEnd,OE.scope=n.gridId,e=this._collectUnevaluated(OE,u,e))}let a=d.nodes,o=d.count;for(let e=0;e<o;e++){let t=a[e];(t.state&Xu)===td&&(c[l++]=t)}for(let t=0;t<e;t++){let e=u[t];(e.state&Xu)===td&&(c[l++]=e)}continue}if(d instanceof pE){let t=this._markCycleSlice(c,l,d.node);for(let n=t;n<l;n++){let t=c[n];(t.state&Xu)===nd&&(t.state=t.state&~Xu|rd,t.demandValue=0,this._writeEarly(e,t,0))}l=t;continue}d instanceof mE?(n.state=n.state&~(Xu|Zu)|rd|sd,n.cycleGroup=AE(d.node),n.demandValue=0,this._writeEarly(e,n,0),l--):(n.demandValue=i,i&&i.then||this._writeEarly(e,n,i),n.state=n.state&~Xu|rd,l--)}}}_markCycleSlice(e,t,n){let r=t-1;for(;r>=0&&e[r]!==n;)r--;r<0&&(r=t-1);let i=0;for(let n=r;n<t&&i===0;n++){let t=e[n];(t.state&(Xu|Zu))===(nd|od)&&(i=t.cycleGroup)}i===0&&(i=++this._cycleGroupNext);let a=this._iterate!==null,o=null,s=null;for(let n=r;n<t;n++){let t=e[n],r=t.state;(r&Xu)===nd&&(a&&(r&Zu)!==od&&(GE[this._iterMembersLength++]=t),t.state=r&~Zu|od,t.cycleGroup=i,s?s.cycleNext=t:o=t,s=t)}return s&&(s.cycleNext=o),r}_demandSweep(e){let t=this._iterate,n=GE,r=t.maxIterations,i=t.maxChange,a=1,o=!1,s=0,c=!1;for(;a<r&&!c;){let t=0;for(let r=0;r<this._iterMembersLength;r++){let i=n[r],a=i.demandValue,o=this._demandEvaluateOne(e,i);if(i.demandValue=o,o&&o.then){c=!0;break}this._writeEarly(e,i,o);let s=QE(a,o);s>t&&(t=s)}if(a++,s=t,!c&&t<i){o=!0;break}}let l=KE;for(let t=0;t<this._iterDownstreamLength;t++){let n=l[t];if((n.state&Xu)!==rd)continue;let r=this._demandEvaluateOne(e,n);n.demandValue=r,r&&r.then||this._writeEarly(e,n,r)}let u={converged:o,iterationCount:a,lastChange:s},d=this._container.getVolatiles(),f=this._iterMembersLength;for(let e=0;e<f;e++){let t=n[e];this._cycleOf(t.cycleGroup).setIteration(u),d?.add(t)}}_drainIterHits(){let e=this._iterHitsLength;for(let t=0;t<e;t++)WE[t].state&=~Yu;this._iterHitsLength=0}_demandEvaluateOne(e,t){let n=this._context,r=this._container.getScope(),i=t.block.formula,a=t.inputs;for(;;){for(let e=0;e<a.length;e++)a[e]=void 0;r.node=t,r.gridId=t.gridId,r.rowIndex=t.rowIndex,r.colIndex=t.colIndex,this._demandStats.evaluations++;let o,s=null;n._setReadHook(this._passHook);try{o=i.evaluateAt(t.rowIndex,t.colIndex),o&&o.then||(o=i.finalizeValueForCell(o))}catch(e){if(!(e instanceof fE))throw e;s=e}finally{n._setReadHook(null)}if(this._iterHitsLength>0&&this._drainIterHits(),!s)return o;this._demandStats.retries++;let c=s.nodes,l=s.count;for(let e=0;e<l;e++)UE[e]=c[e];this._demandRun(e,UE,l)}}getCycleCells(){let e=[];for(let t of this._cycles.values())for(let n of[t.members,t.downstream])for(let t of n)t.gridId&&this.isLiveNode(t)&&e.push({rowStart:t.rowIndex,rowEnd:t.rowIndex,colStart:t.colIndex,colEnd:t.colIndex,scope:t.gridId});return e}_hasCycle(){let e=HE,t=this._circularNodesLength;for(let n=0;n<t;n++)if((e[n].state&Zu)===od)return!0;return!1}_addCircular(e){(e.state&$u)===0&&(e.state|=$u,HE[this._circularNodesLength++]=e)}_resetCircular(){let e=this._circularNodesLength;for(let t=0;t<e;t++)HE[t].state&=~$u;this._circularNodesLength=0}_trackCircular(e,t,n,r,i){let a=e.state&Zu,o=a===ad?0:e.cycleGroup;if(e.shownGroup===o&&(e.state&Qu)===a<<2)return;if(e.shownGroup!==0){let t=this._cycles.get(e.shownGroup);t&&(t.members.delete(e),t.downstream.delete(e),t.isEmpty()&&this._cycles.delete(e.shownGroup))}let s=!1;if(o!==0){let t=this._cycleOf(o),n=a===od;(n?t.members:t.downstream).add(e),s=t.getEntry(n)}e.shownGroup=o,e.state=e.state&~Qu|a<<2,t.circularConflating||=to(i),t.circularConflating.append(n,r,s)}_cycleOf(e){let t=this._cycles.get(e);return t||(t=new _E(this._cycleHost,e),this._cycles.set(e,t)),t}isLiveNode(e){let t=e.gridId;if(!t)return!1;let n=e.rowIndex,r=e.colIndex,i=this._container.getFormulas().search({colStart:r,colEnd:r,rowStart:n,rowEnd:n,scope:t});for(let t=0;t<i.length;t++){let a=i[t];if(a.value.calcs[n-a.rowStart]?.[r-a.colStart]===e)return!0}return!1}getCircularNodes(){return HE.slice(0,this._circularNodesLength)}getDemandStats(){return{...this._demandStats}}doMarkAndPlan(e,n,r,i,a=!1){let o=r.values,s=r.length,c=i.values,l=0;this._passCycleId=e,this._passMarkId=n;let u=this._container,d=u.getPrecedents(),f=u.getFormulas(),p=0,m=0,h=0,g=0,_=0;for(let t=0;t<s;t++){let r=o[t];if(r.cycleId===e&&r.markId===n)continue;r.markId=n,r.cycleId=e,r.inDegree=0,r.state&=~ed,r.cycleGroup=0;let i=r.inputs,a=i.length;for(let e=0;e<a;e++)i[e]=void 0;FE[p++]=r,IE[_++]=r}let v=t=>{if(t.cycleId===e&&t.markId===n)return;t.markId=n,t.cycleId=e,t.inDegree=0,t.state&=~ed,t.cycleGroup=0;let r=t.inputs,i=r.length;for(let e=0;e<i;e++)r[e]=void 0;FE[p++]=t,IE[_++]=t};for(;g<_;){let e=IE[g++],t=e.colIndex,n=e.rowIndex,r=e.gridId,i;EE.colStart=t,EE.rowStart=n,EE.colEnd=t,EE.rowEnd=n,EE.scope=r,i=d.search(EE),e.dependents=i;let a=i.length;if(a!==0)for(let e=0;e<a;e++)gE(i[e],n,t,v)}let y=null,b=null;for(let r=0;r<p;r++){let i=FE[r],a=i.precedents,o=a.length,s=0;for(let r=0;r<o;r++){let o=a[r];if(t.FormulaError.isError(o))continue;let c=o.colStart,l=o.rowStart,u=o.colEnd,d=o.rowEnd,p=o.scope??i.gridId,m;if(y!==null&&b===p&&c>=y.colStart&&u<=y.colEnd&&l>=y.rowStart&&d<=y.rowEnd)qE[0]=y,m=qE;else if(DE.colStart=c,DE.rowStart=l,DE.colEnd=u,DE.rowEnd=d,DE.scope=p,m=f.search(DE),m.length===1){let e=m[0];e.colEnd>e.colStart||e.rowEnd>e.rowStart?(y=e,b=p):y=null}else y=null;let h=m.length;for(let t=0;t<h;t++){let r=m[t],a=r.colStart,o=r.rowStart,f=r.colEnd,p=r.rowEnd,h=Math.max(a,c),g=Math.max(o,l),_=Math.min(f,u),v=Math.min(p,d),y=r.value.calcs;for(let t=g;t<=v;t++){let r=y[t-o];for(let t=h;t<=_;t++){let o=r[t-a];o.cycleId===e&&o.markId===n?s++:this._iterate||(o.state&Qu)===0||(this._taintGroup=o.shownGroup,this._taintDownstream(i))}}}}i.inDegree=s,i.inDegree===0&&(LE[h++]=i)}let x=e=>{e.markId===n&&(e.inDegree--,e.inDegree===0&&(LE[h++]=e))};for(;m<h;){let e=LE[m++];c[l++]=e;let t=e.colIndex,n=e.rowIndex,r;r=e.dependents;let i=r.length;if(i!==0)for(let e=0;e<i;e++)gE(r[e],n,t,x)}if(a||l<p){let e=this._demandBatch;e.length=0,a&&(l=0);for(let t=0;t<p;t++){let n=FE[t];(a||n.inDegree>0)&&(n.state|=Ju,n.demandValue=void 0,e.push(n))}e.sort(CE);let t=e.length;for(let n=0;n<t;n++){let t=e[n];c[l++]=t,this._addCircular(t)}return i.length=l,!1}return i.length=l,!0}doEvaluate(e,r,i,a,o,s){let c=this._container,l=this._context,u=c.getScope(),d=l.getRuntime(),f=s.values,p=s.length,m=PE,h,g,_,v,y,b,x,S,C,w,T=0,E=e=>{let t=c.getGrid(e);w=t.getEntireCoords.bind(t),g=r(e),_=g.gridId,v=g.values,y=g.contentfulSpatial,b=g.spillSpatial,x=g.notifyValues,S=g.notifySpillsInsert,C=g.notifySpillsRemove,g.notifyFormats,g.notifyPending,u.gridId=_},D=t.IRange.Axis.Column,O=D===t.IRange.Axis.Column,k=()=>{T>0&&(a(m,T),T=0)};this._flush=k;let A=0;for(;A<p;)try{for(;A<p;A++){let s=f[A],l=s.colIndex,p=s.rowIndex;if((s.state&Wu)!==0&&e===s.cycleId){s.state&=~Wu;continue}let j=s.gridId;j!==_&&E(j);let M=s.block,N,P,F=s.cachedValue;F?.isIRange&&(N=F);let I,L=!1;t.FormulaError.isError(F,t.FormulaError.Code.Spill)&&(P=F,L=!0),o&&(F=void 0),!I&&F&&t.FormulaError.isError(F)&&(I=F);let ee=(s.state&Ku)!==0,R=(s.state&Ju)!==0;R&&(s.state&Xu)!==rd&&(k(),this.doDemandEvaluate(e,r,this._demandBatch,k),u.gridId=j);let z=R?null:s.precedents;if(z){let e=s.inputs,n=z.length;for(let r=0;r<n;r++){let n=z[r];if(t.FormulaError.isError(n)){e[r]=n;continue}let i=n.colStart,o=n.rowStart,s=n.colEnd;if(n.rowEnd!==o||i!==s){T>0&&(a(m,T),T=0);let t=n.scope,i=v,o=w;if(t&&t!==_){i=c.getGridValues(t);let e=c.getGrid(t);e&&(o=e.getEntireCoords.bind(e))}e[r]=new eA(d,i,{...n},null,o,c.resolveScope)}}}let te=O?l:p,ne=O?p:l;u.node=s,u.colIndex=l,u.rowIndex=p;let re=M.formula,B,ie=null,ae=(s.state&Gu)!==0,oe,se=ae;if(R&&!this._iterate&&(s.state&Zu)!==ad)s.demandValue=void 0,B=0,se=!1,s.pendingPromise&&(s.pendingPromise.cancelled=!0,s.pendingPromise=null,s.state&=~qu);else if((ee||s.pendingPromise)&&(se=!0,B=s.cachedValue??null,s.pendingPromise&&((s.state&qu)===0?(s.pendingPromise.cancelled=!0,B=void 0):(s.pendingPromise=null,s.state&=~qu,se=!1))),B===void 0){if(u.colIndex=l,u.rowIndex=p,R){let e=s.demandValue;s.demandValue=void 0,B=e===void 0?0:e,ie=B&&B.then?B:null}else s.state=s.state&~Xu|nd,B=re.evaluateAt(p,l),ie=B&&B.then?B:null,ie||(B=re.finalizeValueForCell(B));se=!!ie}else s.demandValue=void 0;if((s.state&Xu)!==rd&&(s.state=s.state&~Xu|id),se!==ae&&(se?s.state|=Gu:s.state&=~Gu,g.pendingConflating||=to(O),g.pendingConflating.append(te,ne,se)),ie&&(B=s.cachedValue??null,!ie.__originator)){ie.__originator=e;let n=s;ME.add(n),n.pendingPromise=ie,n.state&=~qu,ie.then(t=>{if(ME.delete(n),ie.cancelled)return;n.pendingPromise=ie,n.state|=qu;let r=re.finalizeValueForCell(t);r===null&&(r=0),n.cachedValue=r,i(e,n)},r=>{ME.delete(n),n.pendingPromise=null,n.state&=~qu,n.cachedValue=t.FormulaError.BuiltIn.Calc,this.scheduleRecalculation(e,n)})}if(N||P){jE.colStart=l,jE.rowStart=p,jE.colEnd=l,jE.rowEnd=p;let e=b.search(jE);for(let t=0;!oe&&t<e.length;t++){let n=e[t];n.colStart===l&&n.rowStart===p&&(oe=n)}if(oe&&(b.remove(oe,cE),!oe||!oe.value.getError())){let e={...oe,value:null};y.insertNonOverlapping(e),v.delete(e)}}let ce=1,le=1,ue=B,de=ue?.isIRange,fe,pe=t.FormulaError.isError(B,t.FormulaError.Code.Spill);if(de&&ue.size>1){ce=ue.getColumnCount(),le=ue.getRowCount();let r={colStart:l,rowStart:p,colEnd:l+ce-1,rowEnd:p+le-1,scope:j},i=w(),a=!n.CoordUtils.isRangeWithinRange(r,i);if(a&&(r.colEnd=Math.min(r.colEnd,i.colEnd),r.rowEnd=Math.min(r.rowEnd,i.rowEnd)),pe=a,!pe){let e=y.search(r);if(pe=e.length>1,!pe&&e.length===1){let t=e[0],i=n.CoordUtils.intersectRanges(r,t,wE);!i||i.rowEnd===i.rowStart&&i.colStart===i.colEnd&&i.colStart===l&&i.rowStart===p||(pe=!0)}}let o,u;if(pe)B=t.FormulaError.BuiltIn.Spill,ce=1,le=1,o=[[te,[[ne,[B]]]]],v.setValues(o),u={colStart:l,rowStart:p,colEnd:l,rowEnd:p};else{let e=hE(ue,te,ne);e&&(o=e.tuples),o&&v.setValues(o),u=r}let d=pe?{colStart:l,rowStart:p,colEnd:l,rowEnd:p,scope:j}:r;fe={...d,value:new Bu(d,e,pe?`dynamicSpillError`:`dynamic`)},b.insert(fe),c.addDynamicPrecedent(s,r,Zf.Spill),y.insertNonOverlapping({...u,value:new Vu(u,D)})}let me=!1;if((oe||fe||pe||P)&&(me=n.CoordUtils.isEqualRanges(oe,fe),oe&&C.push(oe),fe&&S.push(fe)),fe||oe){let e=1,t=1;oe&&(e=oe.colEnd-oe.colStart+1,t=oe.rowEnd-oe.rowStart+1);let n={colStart:l,rowStart:p,colEnd:l+Math.max(ce,e)-1,rowEnd:p+Math.max(le,t)-1,scope:j};x.insertNonOverlapping(n),me&&pe===L||c.getPrecedents().search(n).length>0&&(s.state|=Wu,h||=new Ta,h.insertNonOverlapping(n))}B&&t.FormulaError.isError(B),re.getError()&&re.getError(),s.cachedValue=B,m[T++]=s,(s.state&Zu)===ad&&s.shownGroup===0||this._trackCircular(s,g,te,ne,O);let he=s.dependents,ge=he.length;if(ge>0){let e=(s.state&Gu)!==0,t=!this._iterate&&(s.state&Zu)!==ad;t&&(this._taintGroup=s.cycleGroup);for(let n=0;n<ge;n++){let r=he[n];t&&gE(r,p,l,this._taintDownstream);let i=r.value.index;i<0||(e?gE(r,p,l,ZE):(JE=i,YE=B,gE(r,p,l,XE)))}}}}catch(t){let n=f[A];if(t instanceof fE||t instanceof pE&&this._iterate)k(),n.state&=~Xu,kE[0]=n,this.doDemandEvaluate(e,r,kE,k);else{if(!(t instanceof pE||t instanceof mE))throw t;{let e=t instanceof pE;n.state=n.state&~(Xu|Zu)|Ju|rd|(e?od:sd),n.demandValue=0,n.cycleGroup=e?++this._cycleGroupNext:AE(t.node),e&&(n.cycleNext=n),this._addCircular(n)}}u.gridId=n.gridId}return u.node=null,u.colIndex=2**53-1,u.rowIndex=2**53-1,k(),this._flush=null,h}},bE=e=>new li(e),xE=Symbol(`unsetGridId`);function SE(e,t){return e.scope===t.scope?e.colIndex===t.colIndex?e.rowIndex-t.rowIndex:e.colIndex-t.colIndex:e.scope===null?-1:t.scope===null?1:e.scope.localeCompare(t.scope)}function CE(e,t){return e.scope===t.scope?e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex:e.scope===null?-1:t.scope===null?1:e.scope.localeCompare(t.scope)}var wE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},TE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},EE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},DE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},OE={rowStart:0,colStart:0,rowEnd:0,colEnd:0,scope:null},kE=[null],AE=e=>(e.state&Zu)===ad?e.shownGroup:e.cycleGroup,jE={rowStart:0,colStart:0,rowEnd:0,colEnd:0};new t.FormulaError.Calc(`Cyclical dependency`);var ME=new Set,NE=1e4,PE=rk(NE),FE=rk(NE),IE=rk(NE),LE=rk(NE),RE=rk(NE),zE=rk(NE),BE=rk(NE),VE=rk(NE),HE=rk(NE),UE=rk(NE),WE=rk(NE),GE=rk(NE),KE=rk(NE),qE=[null],JE=-1,YE=void 0,XE=e=>{e.inputs[JE]=YE},ZE=e=>{e.state|=Ku};function QE(e,t){let n=e??0,r=t??0;if(typeof n==`number`&&typeof r==`number`){let e=Math.abs(r-n);return e==e?e:1/0}return n===r?0:1/0}var $E={values:rk(NE),length:0},eD={values:rk(NE),length:0},tD=class{constructor(e){this._closed=!1,this._wiringDirty=!1,this._wiringBatchDepth=0,this._container=e?.container??null,this._context=e?.context??null,this._ready=e?.ready??null,this._getActiveCell=e?.getActiveCell??(()=>null),this._createVirtualGrid=e?.createVirtualGrid??null,this._getRange=e?.getRange,this._getRanges=e?.getRanges,this._createGraphRanges=e?.createGraphRanges,this._resolveSheetScope=e?.resolveSheetScope??null,this._isReadOnly=e?.isReadOnly??null,this._getOrBindProxyFakeId=e?.getOrBindProxyFakeId??null,this._queuePendingAction=e?.queuePendingAction??null,this._isEngineReady=e?.isEngineReady??null;let t=this;this._transactions=e?.transactions??new m({transient:!0}),this._stateId=this._transactions.create(),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onAfterStateChange(e){t._emitter.notify(`onCollectionChange`)}}),this._emitter=new v(this,this._transactions),this._initState()}hydrate(e,t){if(!e)return;let r=e.length;for(let i=0;i<r;i++){let r=e[i];try{this.add({name:r.name,expression:r.ref,scope:r.scope??null,comment:r.comment,hidden:r.hidden,formulaTransform:t})}catch(e){n.Notifier.warn(`Unable to load named item '${r?.name}'.`,{meta:e?.message})}}}toJSON(){let e=this._getState();if(!e||e.itemsById.size===0)return null;let t=Array.from(e.itemsById.values());t.sort((e,t)=>{let n=rD(e.getScope()).localeCompare(rD(t.getScope()));return n===0?rD(e.getName()).localeCompare(rD(t.getName())):n});let n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e].toJSON();r&&n.push(r)}return n.length>0?n:null}add(e){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));if(!e?.name)throw Error(`name is required`);if(!e?.expression)throw Error(`expression is required`);let t=null;if(e.cell&&this._getRange){let r=this._getRange(e.cell)?.getCoords()??null;r&&n.CoordUtils.isSingleCell(r)&&(t={colIndex:r.colStart,rowIndex:r.rowStart})}t||=this._getActiveCell?.()??n.CoordUtils.EmptyCell;let r=t.scope??this._getActiveCell?.()?.scope??null,i=this._resolveScopeInput(e.scope??null),a=this._findSameIdentity(e.name,i);if(a){if(!e.replaceExisting)throw Error((0,n.t)(`error.named.nameExists`,{name:e.name}));a.delete()}let o=this._container&&this._context&&this._ready?{container:this._container,context:this._context,ready:this._ready,getScopeGridId:()=>r||(i?this._container?.getSymbols().bind(Of,i)??null:this._getActiveCell?.()?.scope??null),queuePendingAction:this._queuePendingAction??void 0,isEngineReady:this._isEngineReady??void 0,markWired:()=>this._markWired(),getRanges:this._getRanges,getRange:this._getRange,createGraphRanges:this._createGraphRanges,resolveSheetScope:this._resolveSheetScope??void 0,getNamedById:e=>this.getById(e)}:null,s=this._getOrBindProxyFakeId?.(e.name,this._resolveScopeName(i))??null;s&&this._createVirtualGrid&&!this._container?.getGrid(s)&&this._createVirtualGrid(s);let c=new nD(t,{...e,scope:i},()=>this._remove(c.getId()),o,s,e=>{let t=this._findSameIdentity(e,c.getScopeId());if(t&&t!==c)throw Error((0,n.t)(`error.named.nameExists`,{name:e}))},this._transactions,this._isReadOnly,this._resolveSheetScope??void 0,()=>this._markContentsChanged());return this._updateState(e=>({...e,itemsById:new Map(e.itemsById).set(c.getId(),c)}),(0,n.t)(`op.addNamedFormulaNamed`,{name:e.name})),o&&this._isEngineReady?.()&&c._wireNow(),c}_markWired(){this._markContentsChanged()}_graphNode(e,t){let n=this.getById(e);return n?t&&(this._container?.getNamedDependents(e).length??0)===0?null:n._asGraphNode():null}_markContentsChanged(){this._closed||(this._wiringDirty=!0,this._wiringBatchDepth===0&&this._flushWired())}_beginWiringBatch(){this._wiringBatchDepth++}_endWiringBatch(){this._wiringBatchDepth>0&&this._wiringBatchDepth--,this._wiringBatchDepth===0&&this._flushWired()}_flushWired(){this._wiringDirty&&!this._closed&&(this._wiringDirty=!1,this._emitter.notify(`onCollectionChange`))}*[Symbol.iterator](){yield*this.getItems()}getItems(e){let t=this._getState();if(!t)return n.CommonUtils.EmptyArray;let r=Array.from(t.itemsById.values());if(!e)return r;let i=e.name?.toUpperCase(),a=`scope`in e;return r.filter(t=>(!i||t.getName().toUpperCase()===i)&&(!a||t.getScope()===e.scope))}getByName(e,t){if(!e)return null;let n=this._getState();if(!n)return null;let r=e.toUpperCase(),i=t?t.toUpperCase():null,a=null,o=null;for(let e of n.itemsById.values()){if(e.getName().toUpperCase()!==r)continue;let t=e.getScope();if(t!==null){if(i!==null&&t.toUpperCase()===i)return e;o||=e}else a||=e}return i===null?a??o:a}getCount(){return this._getState()?.itemsById.size??0}addListeners(e,t){return this._emitter.addListeners(e,t)}getById(e){return e?this._getState()?.itemsById.get(e)??null:null}_findSameIdentity(e,t){let n=this._getState();if(!n)return null;let r=e.toUpperCase();for(let e of n.itemsById.values())if(e.getScopeId()===t&&e.getName().toUpperCase()===r)return e;return null}_resolveScopeInput(e){if(!e)return null;try{return this._container?.getSymbols().bind(Of,e)??e}catch{return e}}_resolveScopeName(e){return e?this._resolveSheetScope?.(e)??e:null}_remove(e){this._updateState(t=>{let n=new Map(t.itemsById);return n.delete(e),{...t,itemsById:n}},(0,n.messageKey)(`op.removeNamedFormula`))}isClosed(){return this._closed}close(){this._closed||(this._closed=!0,this._transactionsRemoveListener?.())}_getState(){return this._closed?null:this._transactions.getState(this._stateId)}_beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}_updateState(e,t=(0,n.messageKey)(`op.update`),r){let i=this._beginCommit(t);try{i.updateState(this._stateId,e),i.commit(r)}catch(e){throw i.rollback(),e}}_initState(){this._updateState(()=>({itemsById:new Map}),(0,n.messageKey)(`op.initialize`),{forceAmend:!0})}},nD=class extends Ex{_getNamedState(){return this._transactions.getState(this._stateId)}get _block(){return this._options.getCalcGrid?.()?.getFormulaBlockAt(0,0)}constructor(e,t,r,i,a,o,s,c,l,u){let d=a??n.CommonUtils.uuidV4();super(e,null,{getRanges:e=>i?.getRanges?.(e)??null,getRange:e=>i?.getRange?.(e)??null,getCalcGrid:()=>i?.container?.getGrid(d)??null,resolveSheetScope:e=>i?.resolveSheetScope?.(e)??null,getOwnScope:()=>{let e=i?.getScopeGridId();return e?i?.resolveSheetScope?.(e)??null:null}}),this._closed=!1,this._id=d,this._transactions=s??new m({transient:!0}),this._stateId=this._transactions.create({name:t.name,scope:t.scope??null,comment:t.comment??null,hidden:t.hidden??!1,isDeleted:!1,expression:iD(t.expression)}),this._deleteFromCollection=r,this._checkRename=o??null,this._wire=i,this._formulaTransform=t.formulaTransform??null,this._isReadOnly=c??null,this._resolveSheetScope=l??null,this._notifyCollection=u??null;let f=this;this._emitter=new v(this,this._transactions),this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onRestoreOrRevert(){f._emitter.notify(`onInvalidated`),f._notifyCollection?.(),f._wire&&f._block&&(f._wire.container.invalidateNamed(f._id),f._emitter.notify(`onRangesChange`),f._wire.markWired?.())}}),i&&!i.isEngineReady?.()&&(i.queuePendingAction?i.queuePendingAction(()=>this._doWireCore()):this._wireAsync())}_wireNow(){this._wire&&!this._closed&&this._doWireCore()}getId(){return this._id}getName(){return this._getNamedState().name}getScope(){let e=this._getNamedState().scope;return e?this._resolveSheetScope?.(e)??e:null}getScopeId(){return this._getNamedState().scope}getType(){return`formula`}getValue(){return this.getExpression()}setName(e,t){let r=this._getNamedState();return e&&e!==r.name?(this._checkRename?.(e),this._updateNamedState({name:e},(0,n.t)(`op.updateNamed`,{name:e}),t)):this}setExpression(e,t){if(!e)throw Error(`expression is required`);let r=iD(e);return r===this._getNamedState().expression||(this._updateNamedState({expression:r},(0,n.t)(`op.updateNamed`,{name:this.getName()}),t),this._wire&&this._block&&this._doWireCore()),this}getComment(){return this._getNamedState().comment}setComment(e,t){return this._updateNamedState({comment:e},(0,n.messageKey)(`op.setComment`),t)}isHidden(){return this._getNamedState().hidden}setHidden(e=!1,t){return this._updateNamedState({hidden:e},(0,n.messageKey)(`op.setHidden`),t)}_updateNamedState(e,t,r){if(this._closed)throw Error((0,n.t)(`error.model.modelClosed`));let i=this._transactions.beginCommit({description:t,...r});try{i.updateState(this._stateId,e),this._emitter.notify(`onAnyChange`),i.commit()}catch(e){throw i.rollback(),e}return this._notifyCollection?.(),this}async select(e){return await this.getRanges()?.select(e),this}toJSON(){let e=this._getNamedState(),t={name:e.name,ref:this.getExpression()},n=this.getScope();return n&&(t.scope=n),e.comment&&(t.comment=e.comment),e.hidden&&(t.hidden=!0),t}isReadOnly(){return this._isReadOnly?.()??!1}isDeleted(){return this._getNamedState()?.isDeleted??!1}addListeners(e,t){return this._emitter.addListeners(e,t)}getVersionId(){return this._transactions.getVersionId(this._stateId)}beginCommit(e){return this._transactions.beginCommit(typeof e==`string`?{description:e}:e)}doBatch(e,t){return this._transactions.doBatch(e,typeof t==`string`?{description:t}:t)}isClosed(){return this._closed}close(){this._closed||(this._emitter.notify(`onClose`),this._closed=!0,this._transactionsRemoveListener?.())}get isIModel(){return!0}get isINamed(){return!0}getRanges(){return this._block?.isReferenceOnly()?this.getReferences():null}getDirectDependents(){return this._dependentRanges(!0)}getDependents(){return this._dependentRanges(!1)}_asGraphNode(){let e=this,t=this._coords,n=t?.scope,r=(n?this._wire?.resolveSheetScope?.(n):null)??this.getScope()??null;return{id:this._id,name:this.getName(),sheetName:r,rowIndex:t?.rowIndex??0,colIndex:t?.colIndex??0,ranges:()=>e.getRanges(),directPrecedents:()=>e._precedentRanges(!0),precedents:()=>e._precedentRanges(!1),directDependents:()=>e._dependentRanges(!0),dependents:()=>e._dependentRanges(!1)}}getDirectPrecedents(){return this._precedentRanges(!0)}getPrecedents(){return this._precedentRanges(!1)}_precedentRanges(e){let t=this._wire,r=t?.container;if(!t||!r)return null;let i=t.resolveSheetScope,a=[],o=new Set,s=[this._id],c=new Set(s);for(let l=0;l<s.length;l++){let u=r.getGrid(s[l]);if(!u)continue;let d=e?u.getDirectPrecedentsAt(n.CoordUtils.EmptyRange):u.getPrecedentsAt(n.CoordUtils.EmptyRange);for(let e=0;e<d.length;e++){let t=d[e],n=t.scope?i?.(t.scope):null;n&&a.push({...t,scope:n})}let f=u.getFormulaBlockAt(0,0)?.getNamedIds()??n.CommonUtils.EmptyArray;for(let n=0;n<f.length;n++){let r=f[n];t.getNamedById?.(r)&&(o.add(r),e||c.has(r)||(c.add(r),s.push(r)))}}let l=[];for(let e of o){let n=t.getNamedById?.(e);n&&l.push(n._asGraphNode())}if(a.length===0&&l.length===0)return null;let u=a.length>0?Fa(a):[];return l.length===0?t.getRanges?.(u)??null:t.createGraphRanges?.(u,l)??(u.length>0?t.getRanges?.(u)??null:null)}_dependentRanges(e){let t=this._wire,r=t?.container;if(!t||!r)return null;let i=t.resolveSheetScope,a=[],o=[this._id],s=new Set(o),c=new Set,l=e=>{c.add(e),s.has(e)||(s.add(e),o.push(e))},u=e=>{l(e);for(let t of r.getNamedDependentNames(e))l(t)};if(!e)for(let e of r.getNamedDependentNames(this._id))l(e);for(let t=0;t<o.length;t++){let s=r.getNamedDependents(o[t]);for(let t=0;t<s.length;t++){let o=s[t],l=o.scope;if(!l)continue;let d=i?.(l);if(!d){e&&c.add(l);continue}if(a.push({...o,scope:d}),e)continue;let f=r.getGrid(l)?.getDependentsAt(o)??n.CommonUtils.EmptyArray;for(let e=0;e<f.length;e++){let t=f[e],n=t.scope?i?.(t.scope):d;n?a.push({...t,scope:n}):t.scope&&u(t.scope)}}}let d=[];if(c.size>0&&t.getNamedById)for(let e of c){let n=t.getNamedById(e);n&&d.push(n._asGraphNode())}if(a.length===0&&d.length===0)return null;let f=a.length>0?Fa(a):[];return d.length===0?t.getRanges?.(f)??null:t.createGraphRanges?.(f,d)??(f.length>0?t.getRanges?.(f)??null:null)}delete(e){if(this._getNamedState()?.isDeleted)return;let t=this._wire?.container,r=this._transactions.beginCommit({description:(0,n.t)(`op.deleteNamedItem`,{name:this.getName()}),...e});try{if(this._block&&t){let e=t.getGrid(this._id);e&&e.setInputs(null,[{colStart:0,rowStart:0,colEnd:0,rowEnd:0,value:`#NAME?`}])}r.updateState(this._stateId,{isDeleted:!0}),this._deleteFromCollection(),this._emitter.notify(`onDelete`),r.commit()}catch(e){throw r.rollback(),e}t?.recompileNamed(this._id)}async evaluate(e){this._wire&&!this._block&&await this._wire.ready();let t=this._wire,n=this._block;if(!t||!n)throw Error(`Named formula '${this.getName()}' cannot be evaluated: calculation engine not available.`);let{container:r,context:i}=t,a=typeof e==`number`?e:e?.evalIndex,o=r.getScope();o.rowIndex=0,o.colIndex=0,o.gridId=this._id,o.node=null;let s=tk(n.evaluateAt(0,0,a),i);return s===null&&(s=0),s}getCalculationStatus(){return this._block?_b.ResultStatus.Ready:_b.ResultStatus.Stale}getExpression(e){let t=this._block;if(!t)return this._getNamedState().expression;let n=e?.cell?.rowIndex??0,r=e?.cell?.colIndex??0,i=e?.r1c1??!1,a=e?.evalIndex;return t.getTextAt(n,r,i,e?.formulaTransform,a,e?.canonical)}getTokens(e){return this._block?super.getTokens(e):n.CommonUtils.EmptyArray}isReferenceOnly(){return this._block?.isReferenceOnly()??!1}getReferences(){return this._block?this._resolveReferences(this._options.getCalcGrid?.()?.getReferencesAt(0,0)):null}setReferenceAt(e,t,n){throw Error(`setReferenceAt is not supported on a named formula.`)}setReferenceModeAt(e,t,n,r){throw Error(`setReferenceModeAt is not supported on a named formula.`)}async _wireAsync(){return await this._wire.ready(),this._doWireCore()}async _doWireCore(){let{container:e,context:t,getScopeGridId:n}=this._wire,r=n();if(!r)return;let i=this._coords?.rowIndex??0,a=this._coords?.colIndex??0,o=e.createFormulaBlock(r,t,this._getNamedState().expression,i,a,void 0,this._formulaTransform??void 0).reanchorReferences(r).getTextAt(0,0,!1,void 0,void 0,!0),s=e.getGrid(this._id);s&&(s.setInputs(null,[{colStart:0,rowStart:0,colEnd:0,rowEnd:0,value:o}]),e.recompileNamed(this._id),this._emitter.notify(`onRangesChange`),this._wire.markWired?.())}toString(){return`${this.getName()} => ${this._block?this._block.getTextAt(0,0,!1):this._getNamedState().expression}`}get[Symbol.toStringTag](){return`[NamedFormula]`}};function rD(e){return e?e.toUpperCase():``}function iD(e){return e.startsWith(`=`)?e.substring(1):e}var aD=class extends ty{constructor(e){super(e),this._status=_b.Status.Off,this._statusTransition=null,this._pendingNames=null,this._cycleId=0,this._volatiles=new Set,this._calculatedCommitId=null,this._pendingActions=null,this._pendingPriority=null,this._draining=!1,this._drainScheduled=!1,this._calcOwed=!1,this._calcMode=_b.CalculationMode.Automatic,this._iterate=!1,this._maxIterations=100,this._maxIterateChange=.001,this._calcJSON=null,this._removeNamedItemsListeners=null,this._namedDependents=null,this._namedDependentsOf=null,this._resolvers=null,this._initialize(e)}_initialize(e){this._runtime=e?.runtime??new Br(`Calculation Runtime`),this._getActiveCell=e?.getActiveCell??(()=>null),this._getRange=e?.getRange??(()=>null),this._getRanges=e?.getRanges??(()=>null);let n=e,r=n?.namedCollection??null,i=new Rf(e=>r?.getByName(e,!0)??null,e=>r?.getById(e)??null),a=new zf((e,t)=>{try{e=e.toLowerCase(),t=t?.toLowerCase();let n=r?.getByName(t,!0)??null;if(!n)return null;let a=n.getValue().getColumnByName(e);return a?`_`+(i.bind(t)??``)+`:`+a.getId():null}catch{return null}},e=>{if(!e.startsWith(`_`))return null;let t=(e=e.substring(1)).split(`:`),n=t[0],r=t[1],a=i.getRealById(n);if(!a)return null;let o=a.getValue().getColumnById(r);return o?{stableId:e,toString:()=>o.getName()??`(untitled)`}:null}),o=n?.getSheetById,s=n?.getSheetByName,c=new Pf(e=>{let t=s?.(e);return t?t.getId()??null:null},e=>{let n=o?.(e);if(n)return{stableId:e,toString:()=>n.getName()??`(untitled)`,getEntireCoords:()=>n.getEntireCoords()??null};let r=m._getState().gridsAll.get(e);return r?{stableId:e,toString:()=>t.FormulaError.BuiltIn.Ref.toString(),getEntireCoords:()=>r.getEntireCoords()}:null}),l=new Nf;l.registerProvider(Of,c),l.registerProvider(Af,i),l.registerProvider(jf,a);let u=null;this._resolvers={getStructureReferenceCoords:(e,n,r,a)=>{if(!e)return t.FormulaError.BuiltIn.Ref;let o=e.tableId;if(!o)return null;let s=i.getRealById(o);if(!s)return t.FormulaError.BuiltIn.Ref;let c=s.getValue();if(!c)return t.FormulaError.BuiltIn.Ref;let l,u;switch(e.spec){case 1:{let e=c.getRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 2:{if(!c.isShowHeaders())return t.FormulaError.BuiltIn.Ref;let e=c.getHeaderRowRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 3:{if(!c.isShowTotals())return t.FormulaError.BuiltIn.Ref;let e=c.getTotalRowRange().getCoords();l=e.rowStart,u=e.rowEnd;break}case 4:{let e=c.isShowHeaders()?c.getHeaderRowRange().getCoords():c.getDataRange().getCoords(),t=c.getDataRange().getCoords();l=e.rowStart,u=t.rowEnd;break}case 5:{let e=c.getDataRange().getCoords(),t=c.isShowTotals()?c.getTotalRowRange().getCoords():e;l=e.rowStart,u=t.rowEnd;break}default:{let e=c.getDataRange().getCoords();l=e.rowStart,u=e.rowEnd}}let d=c.getRange().getCoords(),f=d.colStart,p=d.colEnd,m=e.columnFromId,h=e.columnToId;if(m){let e=m.indexOf(`:`),n=e>=0?m.substring(e+1):m,r=c.getColumnById(n);if(!r)return t.FormulaError.BuiltIn.Ref;if(f=d.colStart+r.getIndex(),p=f,h&&h!==m){let e=h.indexOf(`:`),n=e>=0?h.substring(e+1):h,r=c.getColumnById(n);if(!r)return t.FormulaError.BuiltIn.Ref;p=d.colStart+r.getIndex()}}if(e.isThisRow){if(n<l||n>u)return t.FormulaError.BuiltIn.Value;l=n,u=n}return{colStart:f,colEnd:p,rowStart:l,rowEnd:u,scope:c.getSheet().getId(),$colStart:!0,$rowStart:!0,$colEnd:!0,$rowEnd:!0}},getNamedFormulaBlock:e=>g.getGrid(e)?.getFormulaBlockAt(0,0)??null},this._emitter=new v(this),this._updateState({gridsAll:new Map});let d=e?.json;this._calcJSON=d?{...d}:null,this._calcMode=d?.calcMode??_b.CalculationMode.Automatic,this._iterate=d?.iterate??e?.enableIterativeCalculations??!1,this._maxIterations=d?.maxIterations??e?.maxIterations??100,this._maxIterateChange=d?.maxIterateChange??e?.maxIterateChange??.001;let f=new fo({updateEntryOptions:{isMergeOnShift:!0,isSplitOnExpand:!0}}),p=new fo({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!1}});this._updateState({formulaSpatial:f,precedentSpatial:p,dynamicByBlock:new Map,dirtySpatial:new fo});let m=this,h={rowIndex:0,colIndex:0,gridId:null,node:null,depth:0,activeNames:new Set},g={getRuntime:()=>m._runtime,getScope:()=>h,createFormulaBlock(e,t,n,r,i,a,o){return m._compiler,new iC((a?m._getEditingCompiler():m._compiler).compile(t.getRuntime(),r,i,n,g.getSymbols(),e=>t.getFunction(e),l.resolve(Of,e)?.toString()??null,o),t,h,e,()=>this.getGrid(e)?.getEntireCoords()??null,m._resolvers)},getSymbols:()=>l,resolveScope:e=>l.resolve(Of,e)?.toString(),getSheetIndex:e=>m._options.getSheetIndex?.(e)??-1,getSheetCount:()=>m._options.getSheetCount?.()??0,getFormulas:()=>m._getState().formulaSpatial,setFormulas(e){m._updateState({formulaSpatial:e},cD)},getPrecedents:()=>m._getState().precedentSpatial,setPrecedents(e){m._updateState({precedentSpatial:e},cD)},getDynamics:()=>m._getState().dynamicByBlock,setDynamics(e){m._updateState({dynamicByBlock:e},cD)},addDynamicPrecedent(e,t,n){m._calcExecutor._addDynamicPrecedent?.(e,t,n)},getVolatiles:()=>m._volatiles,getGridValues(e){let t=m._calcExecutor._gridUpdates?.get(e);if(t)return t.values;let n=m._getState().gridsAll.get(e);return n?n.getValues():(console.warn(`invalid gridId for updates`,e),null)},getIncrementalUpdates(e){let t=m._calcExecutor._gridUpdates;if(!t)return null;let n=t.get(e);if(!n){let r=g.getGrid(e);if(!r)return console.warn(`invalid gridId for updates`,e),null;n=r.beginUpdates(),t.set(e,n)}return n},registerGrid:e=>{m._registerGrid(e)},unregisterGrid:e=>{m._unregisterGrid(e)},getGrid:e=>m._getState().gridsAll.get(e)??null,markDirty:e=>{let n=m._getState(),r=n.dirtySpatial.clone(),i=n.precedentSpatial,a=n.formulaSpatial,o=!1,s=Pa(e,t.IRange.Axis.Column,2);for(let e=0;e<s.length;e++){let t=s[e];(i?.has(t)||a?.has(t))&&(o=!0,r.insertNonOverlapping(t))}return o&&m._updateState({dirtySpatial:r},cD),o},getDirtyGrid:e=>m._getState().dirtySpatial.getSpatialAt(e),calculateGrid:(e,t)=>m._calculate(t,e),getCycleId:()=>m._cycleId,getNow:()=>m._getTransactions().getCurrentCommit().getTimestamp(),whenSafe:e=>{m._whenSafe(e)},isLoading:()=>m._draining||m._status===_b.Status.Starting,recompileNamed(e){m._whenSafe(async()=>{let t=m._namedTargets(new Set([e])),n=m._getState().formulaSpatial.all3D();for(let e=0;e<n.length;e++){let r=n[e].value,i=r.getNamedIds(),a=!1;for(let e=0;e<i.length&&!a;e++)a=t.has(i[e]);if(!a)continue;let o=g.getGrid(r.gridId);if(!o)continue;let s=r.ref;o.setInputs(null,[{...s,value:r.getTextAt(s.rowStart,s.colStart)}])}})},invalidateNamed(e){m._whenSafe(async()=>{m._markDirtyReferencing(new Set([e]))})},getNamedDependents:e=>m._getNamedDependents(e),getNamedDependentNames:e=>m._getNamedDependentNames(e)};this._container=g,this._removeNamedItemsListeners=r?.addListeners({onCollectionChange:()=>{if(m.isClosed())return;let e=i.reconcile(),t=r.getItems(),n=this._getState().itemRemoveListeners;n?.forEach(e=>e()),n=[];for(let e of t)if(e.getType()===`table`){let t=e.getValue();n.push(t.addListeners({onAnchorCoordsChange:(e,n)=>{g.markDirty([{...t.getRange().getCoords(),scope:t.getSheet().getId()}])}}))}this._updateState({itemRemoveListeners:n},cD),m._markDirtyReferencing(new Set(e))}})??null;let _=new Wf(g,t.IRange.Axis.Column,this._options?.functions);this._context=_;let y=new tD({container:g,context:_,ready:()=>this.ready(),getActiveCell:()=>this._getActiveCell(),getRange:e=>this._getRange(e),getRanges:e=>this._getRanges(e),createGraphRanges:this._options?.createGraphRanges,resolveSheetScope:e=>this._options?.getSheetById?.(e)?.getName()??null,createVirtualGrid:e=>{this._createCalcGrid({uuid:e,getEntireCoords:LO,unanchored:!0})},getOrBindProxyFakeId:(e,t)=>u?.bind(e,{scope:t,own:!0})??null,queuePendingAction:e=>this._whenSafe(e,!0),isEngineReady:()=>this._status===_b.Status.Ready&&!this._draining,transactions:n?.transactions,isReadOnly:()=>this.isReadOnly()});this._namedFormulas=y,u=new Rf((e,t)=>y.getByName(e,t),e=>y.getById(e)),l.registerProvider(kf,u),this._pendingNames=n?.names??null,y.addListeners({onCollectionChange:()=>{if(m.isClosed())return;let e=u.reconcile();m._markDirtyReferencing(new Set(e))}}),this._calcExecutor=new yE(g,_,()=>this.calculate())}_markDirtyReferencing(e){if(e.size===0)return!1;let t=this._namedTargets(e),n=this._getState().formulaSpatial.all3D(),r=[];for(let e=0;e<n.length;e++){let i=n[e].value;if(i.gridId==null)continue;let a=i.getReferencedSymbolIds();for(let e=0;e<a.length;e++)if(t.has(a[e])){r.push({...i.ref,scope:i.gridId});break}}return r.length!==0&&(this._container.markDirty(r),!0)}_getNamedDependents(e){let t=this._getState().formulaSpatial;if(this._namedDependentsOf!==t||!this._namedDependents){let e=new Map,n=t.all3D();for(let t=0;t<n.length;t++){let r=n[t].value;if(r.gridId==null)continue;let i=r.getNamedIds();if(i.length===0)continue;let a=r.ref,o={rowStart:a.rowStart,colStart:a.colStart,rowEnd:a.rowEnd,colEnd:a.colEnd,scope:r.gridId};for(let t=0;t<i.length;t++){let n=e.get(i[t]);n?n.push(o):e.set(i[t],[o])}}this._namedDependents=e,this._namedDependentsOf=t}return this._namedDependents.get(e)??n.CommonUtils.EmptyArray}_getNamedDependentNames(e){let t=new Set,n=[e];for(let e=0;e<n.length;e++){let r=this._getNamedDependents(n[e]);for(let e=0;e<r.length;e++){let i=r[e].scope;i&&!t.has(i)&&this._namedFormulas.getById(i)&&(t.add(i),n.push(i))}}return t}_namedTargets(e){let t=new Set(e);for(let n of e)for(let e of this._getNamedDependentNames(n))t.add(e);return t}start(){return this._statusTransition||(this._statusTransition=(async()=>{if(this._status===_b.Status.Off)try{this._status=_b.Status.Starting,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStarting`);let e=this._container,t=this._context,[n,r]=await Promise.all([t._initialize(),Promise.resolve().then(()=>require("./DcLpXGexEtOxi-dD.cjs"))]),i=n.functions;this._functions=i,e.getSymbols().registerProvider(Mf,new Hf(()=>i)),this._compilerModule=r,this._compiler=new r.FormulaCompiler,this._status=_b.Status.Ready,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onReady`),this.hydrateNames(),this._pendingActions?.length&&await this._drainPending()}catch(e){throw this._status=_b.Status.Off,this._emitter.notify(`onError`,e),this._emitter.notify(`onStatusChange`),e}finally{this._statusTransition=null}})(),this._statusTransition.catch(()=>{})),this._statusTransition}_whenSafe(e,t=!1){if(t){let t=this._pendingPriority;t||(this._pendingPriority=t=[]),t.push(e)}else{let t=this._pendingActions;t||(this._pendingActions=t=[]),t.push(e)}this._scheduleDrain()}_scheduleDrain(){this._drainScheduled||this._draining||this._status===_b.Status.Ready&&(this._drainScheduled=!0,queueMicrotask(()=>{this._drainScheduled=!1,this.isClosed()||this._status!==_b.Status.Ready||(this._pendingActions?.length||this._calcOwed)&&this._drainStandalone().catch(e=>{this.isClosed()||this._emitter.notify(`onError`,e)})}))}async _drainStandalone(){await this._drainPending(),this._calcOwed=!1,this.isClosed()||this._status!==_b.Status.Ready||this._getState().dirtySpatial.isEmpty()||await this._calculate()}async _drainPending(){let e=this._draining;this._draining=!0;let t=this._namedFormulas;t?._beginWiringBatch();try{for(;this._pendingPriority?.length||this._pendingActions?.length;){let e=this._pendingPriority;if(e?.length){this._pendingPriority=null;for(let t of e)await t();continue}let t=this._pendingActions;this._pendingActions=null;for(let e of t)await e()}this._pendingPriority=null,this._pendingActions=null}finally{this._draining=e,t?._endWiringBatch()}!e&&this._calcOwed&&this._scheduleDrain()}async calculate(e){let t;return!0===e?t=lD:e&&(t=e),this._calculate(t)}async _calculate(e,t){let n=this.getStatus();if(n===_b.Status.Off&&(await this.start(),n=this.getStatus()),n===_b.Status.Starting)return this._whenSafe(()=>this._calculate(e,t)),n;if(n!==_b.Status.Ready)return n;if(t&&this._draining)return this._calcOwed=!0,n;this._pendingActions?.length&&await this._drainPending();let r=this._getState();if(t&&this._calcMode===_b.CalculationMode.Manual)return r.dirtySpatial.isEmpty()||this._emitter.notify(`onStale`),n;let i,a=e?.full??r.isFullCalcRequired,o=e?.range;if(o){let e=this._options;e.getRange?i=e.getRange(o)?.getCoords():o?.rowStart===void 0?a=!0:i=o}if(t&&!a&&!i){let e=this._getTransactions().getCurrentCommit().getId();if(e===this._calculatedCommitId&&r.dirtySpatial.isEmpty())return this.getStatus();this._calculatedCommitId=e}let s=this._volatiles;this._volatiles=new Set;let c=++this._cycleId,l=this._calcExecutor.execute(c,{isFullCalc:a,calcCoords:i,gridId:t,scopeGridId:e?.scope,iterate:this._iterate?{maxIterations:this._maxIterations,maxChange:this._maxIterateChange}:null},{gridsAll:r.gridsAll,formulaSpatial:r.formulaSpatial,dirtySpatial:r.dirtySpatial,oldVolatiles:s});if(!l)return Promise.resolve(this.getStatus());this._updateState({precedentSpatial:l.precedentSpatial,dynamicByBlock:l.dynamicByBlock,dirtySpatial:new fo,isFullCalcRequired:!1},cD);for(let t of l.lastUpdates.values())t.done(c,e);return this.getStatus()}_createCalcGrid(e){let t=this._options,n=new XT({...t,...e,context:this._context,container:this._container,calculation:this}),r=new Map(this._getState().gridsAll);return r.set(n.getId(),n),this._updateState({gridsAll:r},cD),n}_registerGrid(e){let t=e.getId();this._unregisterGrid(t);let n=new Map(this._getState().gridsAll);n.set(t,e),this._updateState({gridsAll:n},cD)}_unregisterGrid(e){let t=new Map(this._getState().gridsAll);t.get(e),t.delete(e),this._updateState({gridsAll:t},cD)}async stop(){this._status===_b.Status.Ready&&(this._status=_b.Status.Stopping,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStopping`),this._status=_b.Status.Off,this._emitter.notify(`onStatusChange`),this._emitter.notify(`onStop`))}getStatus(){return this._status}getCalculationMode(){return this._calcMode}setCalculationMode(e){if(!sD.has(e))throw Error(`Invalid calculation mode: '${e}'.`);if(e===this._calcMode)return this;let t=this._calcMode===_b.CalculationMode.Manual;return this._calcMode=e,this._emitter.notify(`onOptionsChange`),t&&this.isCalculationRequired()&&this.calculate(),this}isCalculationRequired(){return!this._getState().dirtySpatial.isEmpty()}getIterativeCalculation(){return{enabled:this._iterate,maxIterations:this._maxIterations,maxChange:this._maxIterateChange}}setIterativeCalculation(e){let t=typeof e==`boolean`?{enabled:e}:e??{},n=t.enabled??this._iterate,r=Math.max(1,Math.floor(t.maxIterations??this._maxIterations))||1,i=Math.max(0,t.maxChange??this._maxIterateChange)||0;if(n===this._iterate&&r===this._maxIterations&&i===this._maxIterateChange)return this;if(this._iterate=n,this._maxIterations=r,this._maxIterateChange=i,this._emitter.notify(`onOptionsChange`),this._status===_b.Status.Ready){let e=this._calcExecutor.getCycleCells();e.length>0&&this._container.markDirty(e),this.calculate()}return this}toJSON(){let e={...this._calcJSON??{}};return this._calcMode===_b.CalculationMode.Automatic?delete e.calcMode:e.calcMode=this._calcMode,this._iterate?e.iterate=!0:delete e.iterate,this._maxIterations===100?delete e.maxIterations:e.maxIterations=this._maxIterations,this._maxIterateChange===.001?delete e.maxIterateChange:e.maxIterateChange=this._maxIterateChange,e}async ready(e){if(this._status===_b.Status.Off?await this.start():this._status===_b.Status.Starting&&await this._statusTransition,this._pendingActions?.length&&await this._drainPending(),this._calcMode===_b.CalculationMode.Manual)return oD;let t=typeof e==`boolean`?e:e?.full??!1,n=this._getState(),r=n.gridsAll,i=t?r.keys():n.dirtySpatial.getScopeKeys(),a=[];for(let e of i){let t=r.get(e);t&&a.push(t.calculate())}return await Promise.all(a),oD}_getEditingCompiler(){let e=this._compilerModule;if(!e)throw Error(`Calculation not started.`);let t=Ib(this._runtime.getLocaleProfile().decimal),n=Bb(t),r=n.specifiers,i=r?`${r.all},${r.data},${r.headers},${r.totals},${r.thisRow}`:``,a=`${t.separatorDecimal}|${t.separatorFunction}|${t.separatorRow}|${n.booleanTrue}|${n.booleanFalse}|${n.errorLiterals.join(`,`)}|${n.errorRefs.join(`,`)}|${i}`;if(!this._compilerEditing||this._compilerEditingSig!==a){let t={locale:n};this._compilerEditing=new e.FormulaCompiler({profile:`editing`,lexerOptions:t}),this._compilerEditingSig=a}return this._compilerEditing}createFormula(e,t){this._checkReady(),e.startsWith?.(`=`)&&(e=e.substring(1));let r=this._container,i=this._context,a=null,o=0,s=0,c=this._getActiveCell()?.scope??null,l=null;if(t)a=t.scope,o=t.colIndex??0,s=t.rowIndex??0,a&&(c=r.getSymbols().bind(Of,a));else{l=c,c=`temporary`;let e=r.getGrid(c);e||(e=this._createCalcGrid({context:i,container:r,calculation:this,uuid:c}),this._registerGrid(e))}let u=this._getState().gridsAll.get(c);if(!u)throw Error(`'${a}' not found.`);let d=r.getScope(),f;d.colIndex=o,d.rowIndex=s,d.gridId=c,f=l?r.createFormulaBlock(l,i,e,s,o,!0):r.createFormulaBlock(c,i,e,s,o,!0);let p=new Xf(n.CoordUtils.EmptyRange,c,f,r,!0);return new Dx({colIndex:o,rowIndex:s},f,{...this._options,getRange:this._getRange,getRanges:this._getRanges,getCalcGrid:()=>u,resolveSheetScope:e=>this._options?.getSheetById?.(e)?.getName()??null,getOwnScope:()=>this._options?.getSheetById?.(c)?.getName()??null,autoCorrect:e=>{let n=this._getEditingCompiler().autoCorrect(e);if(n===null)return null;let r=this.createFormula(n,t);return r.isValid()?r:null},createAt:(e,n)=>this.createFormula(e,{scope:t?.scope,rowIndex:n.rowIndex,colIndex:n.colIndex})},async(e,t)=>{await this.ready();let n=p.calcs[0][0];d.colIndex=o,d.rowIndex=s,d.gridId=c,n.gridId=c,n.colIndex=o,n.rowIndex=s,d.node=n;let r=typeof t==`number`?void 0:t,a=typeof t==`number`?t:t?.evalIndex,l=r?.block;if(l){let t=l.rowStart,o=l.colStart,s=l.rowEnd-t+1,c=l.colEnd-o+1,u=i.createRange(s,c).sparseBuilder();for(let r=0;r<s;r++)for(let i=0;i<c;i++){let s=t+r,c=o+i;d.node=n,n.rowIndex=s,n.colIndex=c;let l=e.evaluateAt(s,c,a);l&&l.then&&(l=await l);let f=e.finalizeValueForCell(l);f?.isIRange&&(f=f.getValueAt(0,0)??0),u.pushAt(r,i,f)}let f=u.build();return s!==1||c!==1||r?.alwaysReturnRange?f:f.getValueAt(0,0)??0}let u=e.evaluateAt(s,o,a),f=e.finalizeValue(u);return f===null&&(f=0),!r?.alwaysReturnRange||f?.isIRange||Array.isArray(f)?f:i.createRange(1,1,f)})}async evaluate(e,t){let n,r;return await this.ready(),typeof t==`number`?n=t:(n=t,r=t),this.createFormula(e,r).evaluate(n)}getFunctions(){return this._checkReady(),this._functions}getNamedFormulas(){return this._namedFormulas}hydrateNames(){let e=this._pendingNames;e&&(this._pendingNames=null,this._namedFormulas.hydrate(e,this._options?.formulaTransform))}getRuntime(){return this._runtime}_checkReady(){if(this._status!==_b.Status.Ready)throw Error(this._statusMessage())}_statusMessage(){switch(this._status){case _b.Status.Off:return`Calculation is off`;case _b.Status.Starting:return`Calculation is starting`;case _b.Status.Ready:return`Calculation is ready`;default:return`Unknown calculation status`}}get[Symbol.toStringTag](){return`[Calculation]`}toString(){return`Calculation`}},oD=Promise.resolve(_b.Status.Ready),sD=new Set(Object.values(_b.CalculationMode)),cD=Object.freeze({description:(0,n.messageKey)(`op.updateCalculations`),forceAmend:!0}),lD=Object.freeze({full:!0}),uD=e=>{if(typeof e==`string`)return`'${e}'`;try{return JSON.stringify(e)}catch{return String(e)}},dD=(e,t)=>{if(!e)return null;let n={colStart:Math.max(e.colStart,t.colStart),rowStart:Math.max(e.rowStart,t.rowStart),colEnd:Math.min(e.colEnd,t.colEnd),rowEnd:Math.min(e.rowEnd,t.rowEnd)};return n.rowStart>n.rowEnd||n.colStart>n.colEnd?null:n},fD=class e{_getInternal(){return this._internal}_getReadCtx(){if(!this._readCtx){let e=this;this._readCtx={get state(){return e._getState()},get rowHeaders(){return e._rowHeaders},get columnHeaders(){return e._colHeaders},get cellOptions(){return e._cellOptions},get strings(){return e._strings},getEntireCoords:this._getEntireCoords.bind(this),getUsedCoords:this._getUsedCoords.bind(this),getErrorSpatial:this._getErrorSpatialReconciled.bind(this)}}return this._readCtx}_getErrorSpatialReconciled(){let e=this._getState()?.cellValuesGrid??null,n=this._errorReconciled;if(n&&n.grid===e&&n.epoch===this._errorEpoch)return n.spatial;let r=new Ta;if(e){let n=e.getAxis()===t.IRange.Axis.Column,i=[],a=(e,t,r)=>{i.push({colStart:n?e:t,rowStart:n?t:e,colEnd:n?e:r,rowEnd:n?r:e,value:!0})},o=e.getRuns(),s=o.next();for(;!s.done;){let[e,n,r]=s.value;s=o.next();let i=r.length,c=-1;for(let o=0;o<i;o++)t.FormulaError.isError(r.at(o))?c===-1&&(c=o):c!==-1&&(a(e,n+c,n+o-1),c=-1);c!==-1&&a(e,n+c,n+i-1)}i.length>0&&r.load(Pa(i,t.IRange.Axis.Column,2**53-1))}return this._errorReconciled={grid:e,epoch:this._errorEpoch,spatial:r},r}_getMutationCtx(){return this._mutationCtx||=this._buildMutationCtx(),this._mutationCtx}_buildMutationCtx(){let e=this;return{get rowHeaders(){return e._rowHeaders},get columnHeaders(){return e._colHeaders},get rowHeadersShiftCallback(){return e._rowHeadersShiftCallback},get columnHeadersShiftCallback(){return e._colHeadersShiftCallback},getEntireCoords:this._getEntireCoords.bind(this),getView:this.getView.bind(this),beginCommit:this._beginCommit.bind(this),updateState:this._updateState.bind(this),getState:this._getState.bind(this),stateFor:e=>e.getState(this._stateId),invalidateUsedCoords:()=>{e._lastUsedCoordsRead.coords=null},validateCoords:this._validateCoords.bind(this),protectionCheck:this._protectionCheck.bind(this),getDefaultShiftAxis:this._getDefaultShiftAxis.bind(this),processListenerShift:this._processListenerShift.bind(this),processLayoutChange:this._processLayoutChange.bind(this),markColumnHeaderTableNames:this._markColumnHeaderTableNames.bind(this),commitAndAutoSelect:this._commitAndAutoSelect.bind(this),cloneRangeStats:t=>{e._rangeStats=e._rangeStats.clone(t)},get styles(){return e._styles},getRangedEntries:this._getRangedEntries.bind(this),createSparseBuilder:this._createSparseBuilder.bind(this),composeDirectStyleView:this._composeDirectStyleView.bind(this),autoFit:this._autoFit.bind(this),notify:this._notify.bind(this),getRange:this.getRange.bind(this),getSelection:this.getSelection.bind(this),getMerges:this._getMerges.bind(this),indexMerges:this._indexMerges.bind(this),validateOrRemoveOverlaps:this._validateOrRemoveOverlaps.bind(this),autoSelect:this._autoSelect.bind(this),get isDataColumn(){return e._isDataColumn},get strings(){return e._strings},get cellOptions(){return e._cellOptions},get runtime(){return e._runtime},getProtection:this.getProtection.bind(this),hasRangedEntries:this._hasRangedEntries.bind(this),rangeStateIterator:this._rangeStateIterator.bind(this),addEvent:this._addEvent.bind(this),getTables:this.getTables.bind(this),getAutoTable:this.getAutoTable.bind(this),cellIterator:this._cellIterator.bind(this),rangeToCoords:this._rangeToCoords.bind(this),getCell:this.getCell.bind(this),createCell:this.createCell.bind(this),getAutoFillPreviewCache:()=>e._autoFillPreviewCache,setAutoFillPreviewCache:t=>{e._autoFillPreviewCache=t}}}_getCoordCtx(){return this._coordCtx||=this._buildCoordCtx(),this._coordCtx}_buildCoordCtx(){let e=this;return{get internal(){return e._internal},get readonly(){return e._options.readonly??!1},get isClosed(){return e._closed},get isInitializing(){return e._initializing},get lastCellDecoded(){return e._lastCellDecoded},getEntireCoords:this._getEntireCoords.bind(this),getNamedFormulas:()=>e._calculation?.getNamedFormulas(),getNames:this.getNames.bind(this),getProtection:this.getProtection.bind(this),getName:this.getName.bind(this),resolveRange:t=>e._options.resolveRange?.(t)}}constructor(e){this._lastTransactionUUID=null,this._initializing=!0,this._namesScoped=null,this._rangesListenerSorted=null,this._lastCellDecoded={address:null,coords:null},this._lastCellSelected={coords:null,cell:null},this._lastCellRead={coords:null,cell:null},this._lastValueRead={range:null,isDateOrTime:null},this._lastGetRangeRead={},this._lastUsedCoordsRead={coords:null,range:null},this._lastRangeRead={address:null,range:null,ranges:null},this._isDataColumn=!0,this._isDate1904=!1,this._colHeaders=null,this._colHeadersShiftCallback=null,this._colHeadersListener=null,this._colHeadersRemoveListener=null,this._colHeadersHiddenRemoveListener=null,this._rowHeaders=null,this._rowHeadersShiftCallback=null,this._rowHeadersListener=null,this._rowHeadersRemoveListener=null,this._rowHeadersHiddenRemoveListener=null,this._isAdjustHeaders=!1,this._closed=!1,this._internal={getSheet:()=>this,getState:this._getState.bind(this),isDataColumn:()=>this._isDataColumn,createRange:this._createRange.bind(this),isContentful:this._isContentful.bind(this),cellToCoords:this._cellToCoords.bind(this),rangeToCoords:this._rangeToCoords.bind(this),rangesToCoords:this._rangesToCoords.bind(this),validateCoords:this._validateCoords.bind(this),getScalar:this._getScalar.bind(this),getCellAt:this._getCellAt.bind(this),cellIterator:this._cellIterator.bind(this),getVisible:this._getVisible.bind(this),getUsedCoords:this._getUsedCoords.bind(this),updateTuples:this._updateTuples.bind(this),merge:this._merge.bind(this),unmerge:this._unmerge.bind(this),getMerges:this._getMerges.bind(this),insertFrom:this._insertFrom.bind(this),insertCells:this._insertCells.bind(this),deleteCells:this._deleteCells.bind(this),getStyle:this._getStyle.bind(this),updateStyles:this._updateStyles.bind(this),getSnapshot:this._getSnapshot.bind(this),getRangeStats:this._getRangeStats.bind(this),getDefaultShiftAxis:this._getDefaultShiftAxis.bind(this),getDefaultSortCriteria:this._getDefaultSortCriteria.bind(this),find:this._find.bind(this),copyFrom:this._copyFrom.bind(this),contentCounts:this._contentCounts.bind(this),featureCounts:this._featureCounts.bind(this),featureRegions:this._featureRegions.bind(this),dependencyRanges:this._dependencyRanges.bind(this),clear:this._clear.bind(this),calculate:this._calculate.bind(this),autoSelect:this._autoSelect.bind(this),autoFit:this._autoFit.bind(this),addRangesListeners:this._addRangesListeners.bind(this),addRangesListeners2:this._addRangesListeners2.bind(this),surroundingRegion:this._surroundingRegion.bind(this),sort:this._sort.bind(this),filter:this._filter.bind(this),setHyperlinks:this._setHyperlinks.bind(this),setComments:this._setComments.bind(this),getBoundsAtCoords:this._getBoundsAtCoords.bind(this),extendRange:this._extendRange.bind(this),createTupleBuilder:e=>this._createTupleBuilder(e),createSparseBuilder:this._createSparseBuilder.bind(this),autoFill:this._autoFill.bind(this),autoFillRange:this._autoFillRange.bind(this)},this._readCtx=null,this._errorReconciled=null,this._errorEpoch=0,this._mutationCtx=null,this._autoFillPreviewCache=null,this._coordCtx=null;let t=Object.freeze({...e}),r=e?.container?.getName?.();this._id=(r?r+`-`:``)+n.CommonUtils.uuidV4(),jd._validate(!0),this._transactions=t.transactions??new m,this._ownTransactions=!t.transactions,this._stateId=this._transactions.create();let i=this,a=this._beginCommit({description:(0,n.messageKey)(`op.newSheet`)});try{this._strings=t.strings??new J_,this._ownStrings=!t.strings;let e=t.styles??new kg;this._styles=e,this._ownStyles=!t.styles,this._namedTableSource=new lv({getSheets:()=>[i]}),this._names=t.names??new yy({addressToRanges:e=>i.getRanges(e),getCurrentScope:()=>i.getName(),isReadOnly:()=>i._options.readonly??!1,transactions:i._transactions,getSources:()=>i._calculation?[i._calculation.getNamedFormulas(),i._namedTableSource]:n.CommonUtils.EmptyArray}),this._ownNames=!t.names,this._namesRemoveListener=this._names.addListeners({onCollectionChange:e=>{i._calculateFull()}},{transactional:!1}),this._runtime=t.runtime??new Br(`Sheet Runtime`,{isDate1904:()=>this._isDate1904}),this._calculation=t.calculation,this._ownCalculation=!t.calculation,this._calculation||=new aD({runtime:i._runtime,getActiveCell:()=>{let e=i.getSelectedRange()?.getCoords();return e?{rowIndex:e.rowStart,colIndex:e.colStart,scope:i.getId()}:null},getRange:i.getRange.bind(i),getRanges:i.getRanges.bind(i),getSheetIndex:e=>+(e===void 0||e===i.getName()),getSheetCount:()=>1,getSheetById:e=>this.getId()===e?this:null,getSheetByName:e=>i,namedCollection:i.getNames(),strings:i._strings,transactions:i._transactions}),this._workbook=t.workbook??null,this._normalStyleRanged=e.getNamed(X.BuiltInName.Normal).getRanged(),this._resources=t.resources??new q_,this._ownResources=!t.resources;let r=async()=>{this._ownCalculation&&await this._calculation.start(),this._starting=null};this._starting=r(),this._starting?.catch(()=>{}),t.container?.setNameChangeCallback&&t.container.setNameChangeCallback(()=>{i._notify(`onNameChange`);let e=this._getState().rangesListenerMap,t=new Map;e.forEach((e,n)=>{t.set(n,{beforeState:e,afterState:e})});let r=this._beginCommit({description:(0,n.messageKey)(`op.setName`)});r.updateState(i._stateId,{}),r.commit({viewAfter:{ranges:[i._getEntireCoords()],listeners:t},forceAmend:!0}),i._calculateFull()}),t.container?.setVisibilityCallback&&t.container.setVisibilityCallback(()=>{i._notify(`onVisibilityChange`)}),t.container?.setIndexCallback&&t.container.setIndexCallback(()=>{i._calculateFull(),i._notify(`onIndexChange`)}),this._movables=new gy(this._addMovable.bind(this),this._searchMovables.bind(this),()=>{let e=i._getState();return e?e.movableMapModel?.size??0:0},this._updateSelectedMovables.bind(this),(e,t)=>this._emitterMovables.addListeners(e,t),this._addMovablePicture.bind(this)),this._emitterMovables=new v(this._movables,this._transactions),this._tables=new Fy(this._addTable.bind(this),this._getTables.bind(this),e=>{let t=i._getState();return t?t.tables.getByName(e):null}),this._dataValidations=new pb(this._addDataValidation.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.dataValidations,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{condition:{selector:Q.BuiltInSelectorNames.List,operator:Q.BuiltInOperatorNames.InSet,param:{items:[]}}}}],n=i._getState().dataValidations.clone(),r;return i._createDataValidations(n,`dataValidations`,t,e=>(r=new db({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._conditionals=new cb(this._addConditionalFormat.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.conditionalFormats,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{condition:{operator:Q.BuiltInOperatorNames.Between,param:null}}}],n=i._getState().conditionalFormats.clone(),r;return i._createConditionalFormats(n,`conditionalFormats`,t,e=>(r=new eb({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._protectedRanges=new gb(this._addProtectedRange.bind(this),(e,t,r)=>{let a=e?this._rangeToCoords(e):this._getEntireCoords(),o=i._getState();return o?i._getRangedEntries(o.protectedRanges,[a],{ignoreHidden:t,fullyContained:r},!0):n.CommonUtils.EmptyArray},e=>{let t=i._getState();return t?t.protectedRanges.getByName(e):null},e=>{let t=[{r:e?.getRanges().getCoords()??this.getSelectedRanges().getCoords(),v:e?.toJSON()??{name:i._nextProtectedRangeName()}}],n=i._getState().protectedRanges.clone(),r;return i._createProtectedRanges(n,`protectedRanges`,t,e=>(r=new mb({...e,transactions:null,setContainerCallbacks:null,setContainerCoords:null,setContainerName:null,setContainerIndex:null,isProtected:null,invalidate:null}),r)),r}),this._options=t,this._emitter=new v(this,this._transactions),this._view=new YT({sheet:this}),this._initListenerState(),t?.container?.beforeFromJSON?.(this),this._fromJSON(t?.json,t.disableLoadAutoFit),a.commit({forceAmend:this._ownTransactions,viewAfter:{initial:!0,skipProtectionCheck:!0}})}catch(e){throw a.rollback(),e}this._initializing=!1}_createRange(e,t,r=null){return function(e,t,r,i=null){if(typeof t==`string`){let a=t,o=e.getNamedFormulas()?.getById?.(a),s=o?.getName()??a,c=(o?.isReferenceOnly?.()?o.getReferences()?.at(0)?.getCoords():null)??e.getEntireCoords();i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`));let l=null;return(r||i)&&(l={getOptions:r,readOnly:i}),new jb(a,s,c,e.internal,l,o?()=>o.getRanges():null)}if(!t)return iO(e.internal.getSheet(),e.getEntireCoords());if(RT(e,t),e.isClosed)return iO(null,e.getEntireCoords(),t);i===null&&e.readonly&&(i=(0,n.messageKey)(`error.sheet.readonlyRange`));let a=null;(r||i)&&(a={getOptions:r,readOnly:i});let o=nO(t,e.internal.getSheet()),s=tO(e.internal,o.scope);return s?new Ob(function(e){if(!e)return null;let t={colStart:e.colIndex??e.colStart??0,rowStart:e.rowIndex??e.rowStart??0,colEnd:e.colIndex??e.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??0};return e.scope&&(t.scope=e.scope),(e.$colStart||e.$colIndex)&&(t.$colStart=!0),(e.$colEnd||e.$colIndex)&&(t.$colEnd=!0),(e.$rowStart||e.$rowIndex)&&(t.$rowStart=!0),(e.$rowEnd||e.$rowIndex)&&(t.$rowEnd=!0),t}(o),s,a):iO(e.internal.getSheet(),e.getEntireCoords(),t)}(this._getCoordCtx(),e,t,r)}_createRanges(e,t,n=null){return LT(this._getCoordCtx(),e,t,n)}getRange(e,t){if(e===void 0)return this.getSelectedRange(t);let r=e?.scope;r!==void 0&&r!==this.getName()&&console.warn(`Sheet.getRange(${uD(e)}) called with a scope (${r}) that does not match this sheet (${this.getName()}).`,e);let i=!t&&e&&(e.rowStart!==void 0||typeof e==`string`);if(i){if(typeof e==`string`){if(this._lastRangeRead.address===e)return this._lastRangeRead.range}else if(e.rowStart!==void 0&&gO(e,this._lastRangeRead.address))return this._lastRangeRead.range}try{let r=this._rangesToCoords(e);if(r.length>1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnlyAlt`));let a=r[0]?.scope;a!==void 0&&a!==this.getName()&&console.warn(`Sheet.getRange(${uD(e)}) called with a scope (${a}) that does not match this sheet (${this.getName()}).`,e);let o=this._createRange(r[0],t);return i&&(this._lastRangeRead.address={...e},this._lastRangeRead.range=o),o}catch(t){throw t instanceof n.OutOfBoundsError?new n.OutOfBoundsError(t.message):new n.ExpectedError(t.message??k_(e))}}getCell(e){if(e===void 0)return this.getSelectedCell();let t=this.getRange(e);if(t.size>1)throw new n.ExpectedError((0,n.t)(`error.address.singleCellOnly`));return t.getCell()}getRanges(e,t){if(!e)throw new n.ExpectedError((0,n.t)(`error.address.noAddress`));let r=this._rangesToCoords(e);if(r.length===0)throw this._createRangeError(e);return this._createRanges(r,t)}getEntireRange(e){if(!e){let e=this._entireRangeCache;return e||(e=this._createRange(this._getEntireCoords()),this._entireRangeCache=e),e}return this.getRange(this._getEntireCoords(),e)}_getEntireCoords(){let e=this._entireCoordsCache;if(!e){let t=this._getState();if(!t)return null;e=t.entireCoords,this._entireCoordsCache=e}return e}getEntireCoords(){return this._getEntireCoords()}getUsedRange(e){let t=this._getUsedCoords(e),n=t?this.getRange(t,e):null;return e||(this._lastUsedCoordsRead.coords=t,this._lastUsedCoordsRead.range=n),n}getStats(e){let t=this._getUsedCoords();return this._getRangeStats(t?[t]:[],e)}getRegions(e,t){let n=Cb(e??t?.features);return new Tb(this._getEntireCoords(),this._getInternal(),n,t)}_cellToCoords(e){return function(e,t){let r=e.lastCellDecoded;if(r.address===t)return r.coords;let i=HT(e,t);if(!i||!n.CoordUtils.isSingleCell(i))throw new n.ExpectedError((0,n.t)(`error.address.singleCellOnly`));let a={colIndex:i.colStart,rowIndex:i.rowStart};return r.address=t,r.coords=a,a}(this._getCoordCtx(),e)}_validateCoords(e,t=(0,n.t)(`error.sheet.oobRange`),r=!1){RT(this._getCoordCtx(),e,t,r)}_createRangeError(e){return zT(e)}_protectionCheck(e=null,t=null,n=null){BT(this._getCoordCtx(),e,t,n)}_rangesToCoords(e,t=null,n=!0,r=!1,i=!1){return VT(this._getCoordCtx(),e,t,n,r,i)}_rangeToCoords(e,t=null,n=!0){return HT(this._getCoordCtx(),e,t,n)}_collectRanges(e,t=[],n=!0,r=this._getState(),i){Kw(this._getReadCtx(),e,t,n,i,r)}_cellIterator(e){let t=this._cellOptions,n=this._strings,r=this._cellStateIterator(e),i=e?.reuseContext?new yO(n,e,t):null;return{next(a){let o=r.next(a);if(o.done)return si;let s=o.value,c=i??new yO(n,e,t),l=c.context;return{done:!1,value:{value:c.setState(s),context:l}}},[Symbol.iterator](){return this}}}_rangeStateIterator(e){return qw(this._getReadCtx(),e)}_overflowAndStops(e,t){return Jw(this._getReadCtx(),e,t)}_cellStateIterator(e){return function(e,r){let i=e.state;if(!i)return ci;let a=r?.bounds,o=a??e.getEntireCoords(),s=r?.axis??t.IRange.Axis.Row,c=r?.reverse??!1,l=r?.includeEmpty,u={bounds:o,axis:s,reverse:c},d;l&&(d={bounds:o,axis:s,reverse:c});let f=r?.ignoreHidden;if(!0===f||f===t.IRange.Axis.Row){let t=pO(e.rowHeaders);u.processRowSkip=ai(t),l&&(d.processRowSkip=ai(t))}if(!0===f||f===t.IRange.Axis.Column){let t=pO(e.columnHeaders);u.processColumnSkip=ai(t),l&&(d.processRowSkip=ai(t))}let p=l||!r?.ignoreEmptyIntersections,m=r?.includeMergeOverflow??!1,h=r?.injectReferences,g=r.searchTypes;!0===g?g=ip:g||!h&&!m||(g=n.CommonUtils.EmptyObject);let _=g?qw(e,{bounds:o,axis:s,reverse:c,searchTypes:g,includeMergeOverflow:m,ignoreHidden:f,injectReferences:h,byCell:!0}):ci,v,y;if(m&&a){let t=Jw(e,a);t&&(v=t.overflows,v?.sort(n.CoordUtils.createCellComparator(s,c)),y=t.stops,y?.sort(n.CoordUtils.createCellComparator(s,c)))}let b=v?v.length:0,x=y?y.length:0,S=0,C=0,w=i?.cellValuesGrid??null,T=w?w.entries(u):ci,E=T.next(),D=null,O=null,k=null;E.done||(D=E.value[0],O=E.value[1]);let A=v?.[S++],j=_.next(),M=null,N=s!==t.IRange.Axis.Row,P,F=n.CoordUtils.createCellComparator(s,c),I;if(!j.done){let e=j.value;M=e.intersection,I=e.start}P=e=>{let t=null,n=null,r=null,i=!1,a=!1,o=null,s=null,c=!1;if(A&&(D?F(A,D)<0&&(c=!0):I?F(A,I)<0&&(c=!0):S<=b&&(c=!0)),c)t={colIndex:A.colIndex,rowIndex:A.rowIndex},n=A.scalar,r=A.intersection,A=v[S++];else if(D&&I){let e=F(D,I);e<0?(t=D,n=O,i=!0):e>0?(t=I,r=M,a=!0):(t=D,n=O,r=M,i=!0,a=!0)}else if(D)t=D,n=O,i=!0;else{if(!I||!p)return si;t=I,r=M,a=!0}if(i&&(E=T.next(),E.done?D=null:(D=E.value[0],O=E.value[1])),a){let e=p?void 0:D;if(j=_.next(e),j.done)I=null,M=null;else{let e=j.value;M=e.intersection,I=e.cell}}let l=!1,u=t.rowIndex,d=t.colIndex;N||(l=u===k?.rowIndex);let f=!1;if(N||(f=u===D?.rowIndex),l)o=k;else if(m){let e=!1;for(;!e&&C<x;){let t=y[C],n=t.rowIndex;n<u?C++:(e=!0,n===u&&t.colIndex<d&&(C++,o={colIndex:t.colIndex,rowIndex:t.rowIndex}))}}if(f)s=D;else if(m){let e=!1;for(;!e&&C<x;){let t=y[C],n=t.rowIndex;n<u?C++:(e=!0,n===u&&t.colIndex>d&&(C++,s={colIndex:t.colIndex,rowIndex:t.rowIndex}))}}return(i||c)&&(k=t),{done:!1,value:[t,n,r,o,s]}};let L={next:P,return:e=>null,throw:e=>null};return l&&(L=new Ka(L,u)),L}(this._getReadCtx(),e)}_indexMerges(e,t=null){if(!(e&&e.length!==0||t&&t.length!==0))return;let n=this._getState();if(!n)return;let r=this._beginCommit({description:`indexMerges`}),i=n.mergeSpatial.clone();if(t){let e=t.length;for(let n=0;n<e;n++)i.remove(t[n])}if(e){let t=e=>this._getState().cellValuesGrid.getValueAt(e.rowStart,e.colStart),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];n.push({...r,value:new Tx(r,t)})}i.load(n)}this._updateState({mergeSpatial:i}),r.commit()}_composeDirectStyleView(e,t){let n=this._getState(),r=t??{border:n.borderSpatial,fill:n.fillSpatial,content:n.contentSpatial},i=new Hw({entireCoords:this._getEntireCoords()}),a=(e,t)=>({...t,value:Tg.mergeOverlay(e.value,t.value)}),o=t=>{let n=e?t.search(e):t.all(),r=n.length;for(let e=0;e<r;e++){let t=n[e];t.value&&i.insertNonOverlapping({...t,value:t.value},{onIntersect:a})}};return o(r.content),o(r.fill),o(r.border),i}_updateStyles(e,t,n,r=!1){wT(this._getMutationCtx(),e,t,n,r)}_createSparseBuilder(e,r=null,i){let a=e?.axis??t.IRange.Axis.Row,o=e?.allowUnorderedWrites??!1,s=a===t.IRange.Axis.Column,c=s!==this._isDataColumn,l=this,u,d,f,p=this._createTupleBuilder(c),m=null;if(r){let e=r.getCoords(),t=e.colStart,i=e.rowStart,a=e.colEnd,o=e.rowEnd;m=(e,r)=>{if(e<i||e>o||r<t||r>a)throw new n.OutOfBoundsError}}s?(d=(e,t,n)=>(m?.(e,t),p.pushAt(t,e,n),u),f=(e,t,n)=>(m?.(e,t+(n?.length??0)),p.pushMultipleAt(t,e,n),u)):(d=(e,t,n)=>(m?.(e,t),p.pushAt(e,t,n),u),f=(e,t,n)=>(m?.(e+(n?.length??0),t),p.pushMultipleAt(e,t,n),u));let h=e=>{let t=p.build();return t&&l._updateTuples(t,e,null,i),r},g=!1===o?null:n.CoordUtils.createCellComparator(e?.axis),_=n.CommonUtils.isObject(o)?o:void 0,v=null;return u=Object.freeze({push:(e,t)=>{let n=l._cellToCoords(e);return g&&(v&&g(n,v)<=0&&(h(_),p=l._createTupleBuilder(c)),v=n),d(s?n.colIndex:n.rowIndex,s?n.rowIndex:n.colIndex,t)},pushAt:d,pushMultipleAt:f,apply:h}),u}_updateTuples(e,t,n=void 0,r=null){DT(this._getMutationCtx(),e,t,n,r)}_sort(e,t){return Nb(this,e,t)}_filter(e,t,n){return Pb(this,e,t,n)}_autoFill(e,t,n){return FT(this._getMutationCtx(),e,t,n)}_autoFillRange(e,n){return function(e,n,r){let{direction:i,amount:a}=bO(n,r);if(a<=0)return{...r};let o=e.getMerges([n]);if(o.length===0)return{...r};let s=i===t.IRange.Direction.Up||i===t.IRange.Direction.Down,c=i===t.IRange.Direction.Down||i===t.IRange.Direction.Right,l=s?n.rowStart:n.colStart,u=(s?n.rowEnd:n.colEnd)-l+1,d=jT(o,l,u,s,c),f=e.getEntireCoords(),p=c?s?f.rowEnd-n.rowEnd:f.colEnd-n.colEnd:s?n.rowStart-f.rowStart:n.colStart-f.colStart,m=function(e,t,n){let r=e-e%t,i=e%t;for(let e=0;e<n.length;e++)if(n[e]>=i)return r+n[e];return r+t}(a,u,d);return m>p&&(m=function(e,t,n){if(e<0)return 0;let r=e-e%t,i=e%t;for(let e=n.length-1;e>=0;e--)if(n[e]<=i)return r+n[e];return r}(p,u,d)),m<=0?{...n}:s?c?{...n,rowEnd:n.rowEnd+m}:{...n,rowStart:n.rowStart-m}:c?{...n,colEnd:n.colEnd+m}:{...n,colStart:n.colStart-m}}(this._getMutationCtx(),e,n)}_autoFillShrink(e,t,n,r){return IT(this._getMutationCtx(),e,t,n,r)}_setHyperlinks(e,t,n){CT(this._getMutationCtx(),e,t,n)}_realizeCalcedValues(e){if(!e)return;let r=this._getState();if(!r)return;this._errorEpoch++;let i=e.valueInserts,a=e.spillRemoves,o=e.errorRemoves,s=r.cellValuesGrid,c=this._beginCommit((0,n.messageKey)(`op.realizeCalcs`));e.isFull&&(r.calcErrorsSpatial.clear(),r.spillSpatial.clear(),r.pendingSpatial.clear(),r.circularSpatial.clear());let l=e.valueRemoves;if(l){let e=r.contentfulSpatial,t=l.length;for(let n=0;n<t;n++){let t=l[n];s.delete(t),e.insertNonOverlapping({...t,value:null})}}if(a){let e=r.spillSpatial,t=a.length;for(let n=0;n<t;n++){let t=a[n];e.remove(t)}}if(o){let e=r.calcErrorsSpatial,t=o.length;for(let n=0;n<t;n++){let t=o[n];e.remove(t)}}let u=e.formatInserts;if(u){let e=u.length;for(let t=0;t<e;t++){let e=u[t];e.value={numberFormat:e.value}}this._updateStyles(u,void 0,{autoFit:!0},!0)}if(i){let e=i.tuples;s.setValues(e),this._rangeStats.clear();let n=this._isDataColumn,a=n?t.IRange.Axis.Column:t.IRange.Axis.Row,o=r.contentfulSpatial,c=e.length;for(let t=0;t<c;t++){let r=e[t],i=r[0],s=r[1],c=s.length;for(let e=0;e<c;e++){let t=s[e],r=t[0],c=r+t[1].length-1,l={colStart:n?i:r,rowStart:n?r:i,colEnd:n?i:c,rowEnd:n?c:i};o.insertNonOverlapping({colStart:l.colStart,rowStart:l.rowStart,colEnd:l.colEnd,rowEnd:l.rowEnd,value:new Vu(l,a)})}}}let d=e.spillInserts;if(d){let e=d.length;for(let t=0;t<e;t++){let e=d[t],r=e.value;e.value=new Bu(n.CoordUtils.sanitizeRange(e),0,r)}r.spillSpatial.load(d)}let f=e.pendingUpdates;if(f){let e=r.pendingSpatial,t=f.length;for(let n=0;n<t;n++){let t=f[n];!1===t.value&&(t.value=null),e.insertNonOverlapping(t)}}let p=e.circularUpdates;if(p){let e=r.circularSpatial,t=p.length;for(let n=0;n<t;n++)e.insertNonOverlapping(p[n])}let m=e.errorInserts;if(m&&r.calcErrorsSpatial.load(m),c.commit({forceAmend:!0,viewAfter:{calculationSideEffect:!0}}),(e.bounds||e.isFull)&&!this._initializing){this._invalidateCaches(),this._notifyUsedRangeChange();let t=this._rangesListenerMap;if(t.size>0){let n={isDataChange:!0,getTransactionId:CD,timeStamp:Date.now(),isUndo:!1,trigger:`calc`};this._notifyRangeListeners(this._rangeListenerSpatial,t,[e.bounds??this._getEntireCoords()],n)}(d||a)&&this._notify(`onSpillsChange`),this._notify(`onDataChange`)}}calculate(e){return this._calculation.calculate({full:e,scope:this._getState().calcGrid.getId()})}_calculate(e,t){let n=this._getState().calcGrid;n.markDirtyRegions(e),this._calculation.calculate({...t,scope:n.getId()})}_calculateFull(){this._ownCalculation&&!this._initializing&&this._calculation.calculate(!0)}_setComments(e,t,n){xT(this._getMutationCtx(),e,t,n)}_clear(e,t=null,n,r=!1,i=!1){AT(this._getMutationCtx(),e,t,n,r,i)}_merge(e,t=null){TT(this._getMutationCtx(),e,t)}_unmerge(e,t){ET(this._getMutationCtx(),e,t)}_getMerges(e,t=!1){if(e.length===0)return n.CommonUtils.EmptyArray;let r=this._getState();return r?this._getRangedEntries(r.mergeSpatial,e,{ignoreHidden:t,fullyContained:!1,onEntry:e=>e.getCoords()}):n.CommonUtils.EmptyArray}_clone(){let t={...this._options,container:{getName:()=>`Snapshot of ${this.getName()}`,getIndex:()=>1}};this._ownStyles&&(t.styles=this._styles),this._ownStrings&&(t.strings=this._strings),this._ownResources&&(t.resources=this._resources),this._ownNames&&(t.names=this._names),this._ownCalculation&&(t.calculation=this._calculation),t.transactions=new m({transient:!0});let n=new e(t),r=this._transactions.getState(this._stateId);n._updateState(r);let i=new YT({sheet:this,json:this.getView().toJSON()});return i.selectMovables(this.getView().getMovableSelection()),n.setView(i),n}_getSnapshot(e,t,r){if(e.length===0)return n.CommonUtils.EmptyArray;let i=this._getState();if(!r){let e=this._transactions.getCurrentCommit().getId();e&&(r=()=>e)}if(!i)return null;t=Object.freeze({...t});let a=this._clone();a.isMarked=!0;let o=this,s=o.getView(),c=(0,n.messageKey)(`op.range`),l=[];if(e.length>1)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMultipleRanges`));let u=TO(e,a._getState().mergeSpatial,a.getEntireCoords()),d=function(e,t,r,i){let a=[],o=null,s=null,c=r&&r.length>0;if(c){let e=r.length;for(let t=0;t<e;t++){let e=r[t].getSnapshot?.(i);e&&(a.push(e),o=aw(e.getCoords(),o))}}else if(t){let r=t.length;for(let c=0;c<r;c++){let r=t[c],l=e.getMovables().getItems({ignoreHidden:!1,fullyContained:!0,address:r}),u=l.length;for(let t=0;t<u;t++){let c=l[t].getSnapshot?.(i);c&&(a.push(c),o=aw(e.getRange(r).getBounds(),o),s=n.CoordUtils.unionRanges(s,r))}}}if(a.length===0)return null;let l=()=>i.description??(a?.length===1?x(a[0]?.getName()):`Drawings`);return{copyTo:async(t,r)=>{let s={...i,...r},c=t.getSheet(),u=c.getView(),d=u.getMovableSelection(),f=t.getCoords(),p=s?.isCut??!1,m=u.getMovableSelection();u.selectMovables([]);let h=c.beginCommit(s.description??(p?(0,n.t)(`op.cutNamed`,{name:l()}):(0,n.t)(`op.copyNamed`,{name:l()})));try{let t=0,n=0;if(m.length>0&&a.length>0){let e=2**53-1,r=2**53-1;for(let t=0;t<d.length;t++){let n=d[t].getBounds();e=Math.min(n.x,e),r=Math.min(n.y,r)}let i=2**53-1,o=2**53-1,s=a.length;for(let e=0;e<s;e++){let t=a[e].getCoords();i=Math.min(t.x,i),o=Math.min(t.y,o)}t=e-i,n=r-o;let l=a[0].getCoords(),u={...l,x:l.x+t,y:l.y+n},f=Ty(c.getMovables(),u);t+=f.x,n+=f.y}else if(o){let e=c.getRange(f).getBounds();t=e.x-o.x,n=e.y-o.y}let r=[],i=a.length;for(let e=0;e<i;e++){let i=a[e],o=i.getCoords(),l={...o,x:o.x+t,y:o.y+n};r.push(i.copyTo({movables:c.getMovables(),bounds:l},{autoSelect:{addToSelection:!0},...s}))}await Promise.all(r),h?.updateState(c._getStateId(),{}),h.commit({viewBefore:t=>({...t,view:e.getView(),movableSelection:m})})}catch(e){throw h.rollback(),e}return null},getName:l,getCoords:()=>s,getMarkOptions:()=>i,toText:()=>c?a[0].toText?.()??null:null,toHtml:()=>c?a[0].toHtml?.()??null:null,toImage:()=>c?a[0].toImage?.()??null:null,getSource:()=>e,isISnapshot:!0}}(a,u,s.getMovableSelection(),t);if(d){if(s.getMovableSelection().length>0)return d;l.push(d)}let f={singleMerge:null};l.push({copyTo(r,i){let o={...t,...i},s=r.getSheet(),c=r.getCoords(),l=c,u=s.getRange(l),d=!1,p=u.getMerges();if(p.length===1&&n.CoordUtils.isEqualRanges(p[0],c))if(n.CoordUtils.isSingleCell(e[0]))d=!0;else{let e=ky(b);a._getMerges([n.CoordUtils.cellToRange(e)]).length===1&&(d=!0)}return d?(f.singleMerge=c,u.clear(o.type??Qv.Content.Values)):u.clear(o.type),l}});let p=a._getEntireCoords(),m=u.length;for(let e=0;e<m;e++){let n=u[e],o=i.rangeListenerSpatial.search(n,!1),s=i.rangesListenerMap;l.push({async copyTo(e,t){if(!t?.isCut)return null;let n=new Set,i=o.length;for(let t=0;t<i;t++){let i=o[t].value,c=i.id;if(n.has(c))continue;let l=s.get(c);if(n.add(c),l.ranges[i.offset]===null)return null;let d={getTransactionId:r,isDataChange:!1,trigger:`moveCells`,from:a.getRanges(u),to:e},f=a._createRangeEvent(l.ranges,d);a._notifyRangeListener2(l,f,d)}return null},getMarkOptions:()=>t,getCoords:()=>null,isISnapshot:!0})}let h={ignoreHidden:!1,fullyContained:!0,onEntry:e=>e.model},g=a._getState();if(!g)return n.CommonUtils.EmptyArray;for(let e=0;e<m;e++){let n=u[e],r=a._getRangedEntries(g.tables,[n],h),i=r.length;for(let e=0;e<i;e++){let i=r[e],o=i.getRange().getCoords(),s=o.colStart-n.colStart,c=o.rowStart-n.rowStart,u=i.getSnapshot(t);l.push({async copyTo(e,t){let n=e.getSheet(),r=e.getCoords();if(a.getProtection().isLocked())return null;let i={colStart:r.colStart+s,rowStart:r.rowStart+c,colEnd:r.colEnd+s,rowEnd:r.rowEnd+c};return u.copyTo({tables:n.getTables(),range:i},t)}})}}for(let e=0;e<m;e++){let n=u[e];l.push(kw(o.getColumnHeaders().getRange(n),n,Object.freeze({...t,includeHeaders:n.rowStart<=p.rowStart&&n.rowEnd>=p.rowEnd})))}for(let e=0;e<m;e++){let n=u[e];l.push(kw(o.getRowHeaders().getRange(n),n,Object.freeze({...t,includeHeaders:n.colStart<=p.colStart&&n.colEnd>=p.colEnd})))}let _=Aw(o,a,u,c,t,(e,t)=>a._copyRange(o,a,u,e,t,f));l.push(_);let v=a._getState().calcGrid.getSnapshot({range:u[0]});l.push({async copyTo(e,n){if(n?.type&&n?.type!==Qv.Content.Formulas)return null;let r=e.getSheet(),i=e.getCoords();if(a.getProtection().isLocked())return null;let o=r._getState().calcGrid,s=v.copyTo({calcGrid:o,range:i},n);return{...t,...n}.isCut,s}});let y={ignoreHidden:!1,fullyContained:!1};for(let e=0;e<m;e++){let r=u[e],i=a._getRangedEntries(g.conditionalFormats,[r],y,!0),s=i.length;for(let e=0;e<s;e++){let s=i[e],c=s.getRanges().getCoords(),u=[];for(let e=0;e<c.length;e++){let t=n.CoordUtils.intersectRanges(c[e],r);t&&u.push(t)}if(u.length===0)continue;let d=s.getSnapshot(t),f=e;l.push({async copyTo(e,n){let i={...t,...n};if(i.type&&i.type!==Qv.Content.Formats||a.getProtection().isLocked())return null;let s=e.getSheet(),c=Ow(u,r,e.getCoords(),!!i.transpose);return c.length===0?null:d.copyTo({conditionals:s.getConditionalFormats(),range:c[0],ranges:c,extend:s===o,index:f},n)}})}let c=a._getRangedEntries(g.dataValidations,[r],y,!0),d=c.length;for(let e=0;e<d;e++){let i=c[e],s=i.getRanges().getCoords(),u=[];for(let e=0;e<s.length;e++){let t=n.CoordUtils.intersectRanges(s[e],r);t&&u.push(t)}if(u.length===0)continue;let d=i.getSnapshot(t),f=e;l.push({async copyTo(e,n){let i={...t,...n};if(i.type||a.getProtection().isLocked())return null;let s=e.getSheet(),c=Ow(u,r,e.getCoords(),!!i.transpose);return c.length===0?null:d.copyTo({validations:s.getDataValidations(),range:c[0],ranges:c,extend:s===o,index:f},n)}})}}let b=u[0];return function(e,t,r,i,a,o,s=null){return{async copyTo(t,i){let s=null,c={...a,...i},l=r.beginCommit(c.description??o);try{let r=e.length;for(let i=0;i<r;i++){let r=await e[i].copyTo(t,c);r&&(s=n.CoordUtils.unionRanges(s,r))}l.commit()}catch(e){throw l.rollback(),e}return s},getMarkOptions:()=>a,getName:()=>o,getSource:()=>t,getCoords:()=>i,toText(){let t=s?.toText?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toText?.();return t??null},toHtml(){let t=s?.toHtml?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toHtml?.();return t??null},toImage(){let t=s?.toImage?.()??null,n=e.length;for(let r=0;!t&&r<n;r++)t=e?.[r].toImage?.();return t??null},isISnapshot:!0}}(l,o,a,b,t,c,_)}async _copyRange(e,r,i,a,o,s){if(i.length>1)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCopyMultipleRanges`));if(!i||i.length===0)throw new n.ExpectedError((0,n.t)(`error.sheet.copyNoSource`));let c=a.getSheet(),l=a.getCoords(),u={...i[0]},d=(o={...o}).isCut,f=!o.type||o.type===Qv.Content.Formats,p=!o.type||o.type===Qv.Content.Values,m=!o.type||o.type===Qv.Content.Formats||o.type===Qv.Content.Hyperlinks,h=c.getEntireRange(),g=h.getCoords(),_=[],v=[],y=[],b=[],x=[],S=(o.fitDestination??!1)&&!n.CoordUtils.isSingleCell(l),C=l;if(S&&(u={...u,colEnd:u.colStart+Math.min(C.colEnd-C.colStart,u.colEnd-u.colStart),rowEnd:u.rowStart+Math.min(C.rowEnd-C.rowStart,u.rowEnd-u.rowStart)}),!n.CoordUtils.isRangeWithinRange(C,g))throw console.warn(C,g),new n.ExpectedError((0,n.t)(`error.sheet.pasteOob`));let w=null;w=o.undoRange?{view:c.getView(),selection:zy([o.undoRange.getCoords()])}:{sheet:c,selection:zy([C])};let T=c.getTransactions().beginCommit({description:o.description??(0,n.messageKey)(`op.paste`)});try{if(!this._getState())return n.CommonUtils.EmptyArray;let i=new Set,a=o.transpose,g=!((a||o.adjustCells)&&f)&&i.size===1;if(g){let e=i.values().next();g=n.CoordUtils.isRangeWithinRange(u,e.value.getCoords())&&!gO(u,e.value.getCoords())}g&&=c.getTables().getItems({address:C}).length===0,a&&(g=!0),s.singleMerge&&(f=!1,m=!1);let S=l.colStart-u.colStart,E=l.rowStart-u.rowStart,D=o.adjustCells,O={...ap};if(delete O[q.Type.BorderStyle],delete O[q.Type.FillStyle],delete O[q.Type.ContentStyle],!f){let e=this.getProtection().isLocked();O={},e&&(O[q.Type.Unlock]=!1)}let k=t.IRange.Axis.Column,A;if(p){A=h.createSparseBuilder({axis:o.transpose?t.IRange.Axis.Row:t.IRange.Axis.Column});let e={axis:k,searchTypes:O,bounds:u},r=new yO(this._strings,e,this._cellOptions),i=(e,t,n)=>{let i=e[0],s=r.setState(e),c=r.context,d=c.getCell(),h=d.isTopLeft(),v=E,y=S;if(a){let e=i.colIndex-u.colStart,r=i.rowIndex-u.rowStart;v=e+n+l.rowStart,y=r+t+l.colStart}else v=E+i.rowIndex+t,y=S+i.colIndex+n;let b=!1,x={value:void 0,style:void 0,hyperlink:void 0};if(p&&(x.value=s,b=!0),f){let t=e[2];t&&(t.borderStyle||t.fillStyle||t.contentStyle||t.table)&&(x.style=d.getStyle(!g),b=!0)}m&&(x.hyperlink=d.getHyperlink(),b=!0);let C=x;if(D&&h){let e=D(s,c,{rowIndex:v,colIndex:y},o);e!==void 0&&(C=e,b=!0)}if(b&&(A.pushAt(v,y,C),f)){let e=d.getSpans();(e.width>1||e.height>1)&&h&&_.push({colStart:y,rowStart:v,colEnd:y+(o.transpose?e.height:e.width)-1,rowEnd:v+(o.transpose?e.width:e.height)-1})}},c=this._cellStateIterator(e),d={next(){let e=c.next();if(e.done)return si;let t=e.value[0],n;return e.value&&(n=[t,e.value]),{done:e.done,value:n}}};if(!s.singleMerge&&!n.CoordUtils.isEqualRanges(C,u)){let e=C.colEnd-C.colStart+1,t=C.rowEnd-C.rowStart+1;d=new qa({delegate:d,bounds:u,axis:k,dims:{major:o.transpose?t:e,minor:o.transpose?e:t}})}let v=d.next();for(;!v.done;){let e=v.value,t=e[1],n=e[0],r=t[0];i(t,n.rowIndex-r.rowIndex,n.colIndex-r.colIndex),v=d.next()}}let j=r._getState(),M={},N={transpose:a??!1};f&&(M.borderSpatial=j.borderSpatial,M.fillSpatial=j.fillSpatial,M.contentSpatial=j.contentSpatial,M.continuousFillSpatial=j.continuousFillSpatial,M.mergeSpatial=j.mergeSpatial),d&&(e._clear([u],void 0,void 0,!1,!0),b.push(u),M.rangesListenerSpatial2=j.rangesListenerSpatial2);let P=c,F=P._getState(),I=Object.keys(M),L=I.length;for(let e=0;e<L;e++){let t=I[e],n=M[t].createCopiedEntries(u,C,N),r=F[t].clone(),i=n.removes,a=i.length;for(let e=0;e<a;e++)r.remove(i[e]);r.load(n.inserts),F[t]=r}P._updateState(F),b.push(C),x.push(C),v&&v.length>0&&P._colHeaders.updateHeaderPairs(v),y&&y.length>0&&P._rowHeaders.updateHeaderPairs(y),A?.apply(),_.length>0&&c.getRanges(_).merge(),T.commit({viewBefore:w,viewAfter:e=>({...e,view:c.getView(),selection:zy(x),ranges:b})})}catch(e){throw console.warn(e),T.rollback(),Error((E=e.message,(0,n.t)(`error.sheet.paste`,{message:E})),{cause:e})}var E;return n.CoordUtils.unionRangesArrays(x)}_snapShotFromSource(e,t){if(e.isISnapshot)return e;let r=e,i=null;if(r?.isICellRanges)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMultipleRanges`));if(r?.isICellRange)i=r;else{let e=this.getWorkbook();i=typeof r==`string`&&r.includes(`!`)&&e?e.getRange(r):this.getRange(r)}if(i.isICellRange){let e=i;if(e.isInvalid())throw new n.ExpectedError((0,n.t)(`error.sheet.copyInvalidSource`));return e.getSnapshot(t)}throw new n.ExpectedError((0,n.t)(`error.sheet.copyInvalidSource`))}async _copyFrom(e,t,r){if(!t)throw new n.ExpectedError((0,n.t)(`error.sheet.copyMissingArgs`));let i=this._snapShotFromSource(t,r),a=(0,n.messageKey)(`op.paste`),o=this._beginCommit({description:r?.description??a}),s=null;try{let t=My(e,i.getCoords(),r?.fitDestination,r?.transpose),c=this.getRange(t);s=await i.copyTo(c,r);let l=i.getName?.(),u=[s];r?.isCut&&u.push(i.getCoords()),o.commit({description:l?r?.description??(0,n.t)(`op.pasteNamed`,{name:l}):a,viewAfter:{view:this.getView(),selection:zy([s??t]),ranges:u}})}catch(e){throw o.rollback(),e}return s}addAutoTable(e,t){e||=this.getSelectedRange().getCoords();let r=this._rangeToCoords(e);if(r=this._surroundingRegion(r,{contentOnly:!0}),n.CoordUtils.isSingleCell(r)&&!this._isContentful([r]))throw new n.ExpectedError((0,n.t)(`error.sheet.tableEmpty`));r=this._rangeToCoords(r,()=>[`sort`,`autoTable`]);let i=this._getEntireCoords();if(r.rowStart===r.rowEnd){if(r.rowEnd===i.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.table1By1`));r.rowEnd+=1}let a=zy([r]),o={...r},s=(0,n.messageKey)(`op.insertAutoTable`),c=this._beginCommit({description:t?.description??s}),l;try{let e={...t?.properties,style:null};this._validateOrRemoveOverlaps(r,`table`,null,t?.replaceExisting??!1);let n=this,i=this._getState(),s=i.autoTables;s=this._createTables(s,`autoTables`,[{r,v:e}],e=>{let t=new fy(e);return l=t,t},e=>e.addListeners({onDelete:()=>{let t=i.autoTables;t=t.deleteModel(e),n._updateState({autoTables:t}),n._notify(`onAutoTableChange`)}},{once:!0})),this._updateState({autoTables:s}),this._notify(`onAutoTableChange`),this._notify(`onTablesChange`);let u=zy([r]);c.commit({viewBefore:{view:this.getView(),selection:a,ranges:[o]},viewAfter:{view:this.getView(),selection:u,ranges:[r],table:l}})}catch(e){throw c.rollback(),e}return l}getAutoTable(){let e=this._getState();if(!e)return null;let t=e.autoTables.all();return t.length===0?null:t[0]}_getDefaultShiftAxis(e){return function(e,n){if(n){if(e.colStart<=n.colStart&&e.colEnd>=n.colEnd)return t.IRange.Axis.Row;if(e.rowStart<=n.rowStart&&e.rowEnd>=n.rowEnd)return t.IRange.Axis.Column}return e?function(e){return e.rowEnd-e.rowStart>e.colEnd-e.colStart?t.IRange.Axis.Column:t.IRange.Axis.Row}(e):t.IRange.Axis.Row}(e,this._getEntireCoords())}_getTables(e,t=!1,r=!1){let i=e?this._rangeToCoords(e):this._getEntireCoords(),a=this._getState();return a?this._getRangedEntries(a.tables,[i],{ignoreHidden:t,fullyContained:r,onEntry:e=>e.model}):n.CommonUtils.EmptyArray}_getDefaultSortCriteria(e,r=t.IRange.Axis.Row,i){let a=(i?this._cellToCoords(i):null)??ky(e),o=n.CoordUtils.cellToRange(a),s=this._getTables(o)[0]??null;if(!s){let e=this.getAutoTable();e&&e.getRange().getIntersect(o)&&(s=e)}let c=SO(this,e,a,r);if(s){let e=s.getActiveSorts(),t=[];for(let n=0;n<e.length;n++)t.push({index:e[n].getIndex(),criteria:e[n].getCriteria()});let n=s.getRange().getCoords(),r=s.getSortAt(a.colIndex-n.colStart),i=r.getCriteria();t.length===0&&t.push({index:r.getIndex(),criteria:i}),c.options.sorts=t,i!==null&&(c.options.reverse=i.reverse,c.options.collatorOptions=i.collatorOptions);let o=new Map;if(s.isShowHeaders()){let e=s.getColumns();for(let t=0;t<e.length;t++)o.set(t,e[t].getName())}c.headers=o,c.options.hasHeader=s.isShowHeaders()}return c}async _insertFrom(e,r,i){if(!r)throw new n.NullNotAllowedError;let a=this._snapShotFromSource(r),o=a.getCoords(),s=My(e[0],o,i?.fitDestination),c=zy([s]),l=c,u=i?.axis??this._getDefaultShiftAxis(s),d=this._beginCommit({description:i?.description??(0,n.messageKey)(`op.insertCopiedCells`),autoSelect:i?.autoSelect});try{if(this._insertCells([s],u),await this._copyFrom(s,a,{...i,isCut:!1}),i?.isCut){let e={...o};if(c=zy([e]),s={...s},this===a.getSource()){if(u===t.IRange.Axis.Row){if(s.colStart<e.colStart&&s.colEnd>=e.colStart||s.colEnd>e.colEnd&&s.colStart<=e.colEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCutOverlap`));if(e.colStart===s.colStart&&e.colEnd===s.colEnd){let t=e.rowEnd-e.rowStart+1;s.rowStart<=e.rowStart?(e.rowStart+=t,e.rowEnd+=t):(s.rowStart-=t,s.rowEnd-=t)}}else{if(s.rowStart<e.rowStart&&s.rowEnd>=e.rowStart||s.rowEnd>e.rowEnd&&s.rowStart<=e.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.insertCutOverlap`));if(e.rowStart===s.rowStart&&e.rowEnd===s.rowEnd){let t=e.colEnd-e.colStart+1;s.colStart<=e.colStart?(e.colStart+=t,e.colEnd+=t):(s.colStart-=t,s.colEnd-=t)}}l=zy([s])}a.getSource().getRanges([e]).delete(u)}d.commit({viewBefore:{ranges:e,view:this.getView(),selection:c,selectOptions:i?.autoSelect},viewAfter:{ranges:e,view:this.getView(),selection:l,selectOptions:i?.autoSelect}}),this._autoSelect(i?.autoSelect??!1,l)}catch(e){throw d.rollback(),e}return s}_insertCells(e,t,n){this._shiftCells(e,t,!0,n)}_deleteCells(e,t){this._shiftCells(e,t,!1)}_shiftCells(e,r,i,a){(function(e,r,i,a,o){let s;a&&(o??=((t,r)=>{e.validateCoords(t,r??(0,n.t)(`error.sheet.insertOob`))})),i===t.IRange.Axis.Column||i===t.IRange.Axis.Row?(s=i,i={}):i&&(s=i.axis);let c=i?.description??(a?(0,n.messageKey)(`op.insertCells`):(0,n.messageKey)(`op.deleteCells`)),l=(s??e.getDefaultShiftAxis(r[0]))===t.IRange.Axis.Column;if(e.protectionCheck(()=>[l?a?`insertColumns`:`deleteColumns`:a?`insertRows`:`deleteRows`],r,c),Ey(r))throw new n.ExpectedError(a?(0,n.t)(`error.sheet.insertOverlapping`):(0,n.t)(`error.sheet.deleteOverlapping`));let u=e.getEntireCoords(),d=u.colEnd,f=u.rowEnd,p=zy(r),m=e.beginCommit({description:c,operation:{name:a?`insertCells`:`deleteCells`}}),h=e.stateFor(m),g=l?a?t.IRange.Direction.Right:t.IRange.Direction.Left:a?t.IRange.Direction.Down:t.IRange.Direction.Up;try{let n=h.contentfulSpatial,s=h.mergeSpatial,c=h.borderSpatial,_=h.fillSpatial,v=h.contentSpatial,y=h.continuousFillSpatial,b=h.dateFormatSpatial,x=h.errorSpatial,S=h.hyperlinkSpatial,C=h.commentsSpatial,w=h.movableSpatial,T=h.calcGrid,E=h.rangesListenerSpatial2,D=h.rangeListenerSpatial,O=h.rangesListenerMap,k=e.getView().getFreezePanes().coords,A=k.rowIndex>0||k.colIndex>0,j={...k},M=new Map,N=h.cellValuesGrid,P,F=N,I=h.spillSpatial,L=h.pendingSpatial,ee=I,R=L,z=Oi(r.slice(),t.IRange.Direction.Left),te=z.length;for(let t=0;t<te;t++){let r=z[t];d=Math.min(d,r.colStart),f=Math.min(f,r.rowStart);let i=(a?1:-1)*(l?r.colEnd-r.colStart+1:r.rowEnd-r.rowStart+1),p=F.getCoords();if(p){F===N&&(F=F.clone(),e.cloneRangeStats(F)),ee===I&&(ee=ee.clone(),R=R.clone());let t=lT(r,ee,F,n,(e,t)=>{P||=[],e&&P.push(e),t&&P.push(t)},!l);if(a){let e={...r,colEnd:l?Math.max(r.colEnd,p?.colEnd??r.colStart)+(r.colEnd-r.colStart+1):r.colStart,rowEnd:l?r.rowStart:Math.max(r.rowEnd,p?.rowEnd??r.rowStart)+(r.rowEnd-r.rowStart+1)},t=n.search(e),a=t.length;for(let e=0;e<a;e++){let n=t[e],a={...r};l?a.colEnd=Math.max(a.colEnd,n.colEnd)+i:a.rowEnd=Math.max(a.rowEnd,n.rowEnd)+i,o(a)}}F.shift(r,g),ee=ee.shift({range:r,direction:g,cloneIfUpdate:ee===h.spillSpatial,coordValidator:o}),n=n.shift({range:r,direction:g,cloneIfUpdate:n===h.contentfulSpatial,coordValidator:o}),t?.(a,l?0:i,l?i:0),e.updateState({cellValuesGrid:F,contentfulSpatial:n,spillSpatial:ee,pendingSpatial:R})}let m=r.colStart<=u.colStart&&r.colEnd>=u.colEnd,k=r.rowStart<=u.rowStart&&r.rowEnd>=u.rowEnd;A&&(m||k)&&(j=DO(j,r,l,i,u));let L=(e,t,n,r)=>{let i=null;n>1&&(i=e.at(n-1));let a=r-n+1;t?.(n,a),i&&e.updateHeaderPairs([{address:{min:n,max:r},update:i}])};m&&(a?L(e.rowHeaders,e.rowHeadersShiftCallback,r.rowStart,r.rowEnd):e.rowHeadersShiftCallback(r.rowStart,-1*(r.rowEnd-r.rowStart+1))),k&&(a?L(e.columnHeaders,e.columnHeadersShiftCallback,r.colStart,r.colEnd):e.columnHeadersShiftCallback(r.colStart,-1*(r.colEnd-r.colStart+1))),s=s.shift({range:r,direction:g,cloneIfUpdate:s===h.mergeSpatial}),c=c.shift({range:r,direction:g,cloneIfUpdate:c===h.borderSpatial}),_=_.shift({range:r,direction:g,cloneIfUpdate:_===h.fillSpatial}),v=v.shift({range:r,direction:g,cloneIfUpdate:v===h.contentSpatial}),y=y.shift({range:r,direction:g,cloneIfUpdate:y===h.continuousFillSpatial,coordValidator:o}),b=b.shift({range:r,direction:g,cloneIfUpdate:b===h.dateFormatSpatial,coordValidator:o}),x=x.shift({range:r,direction:g,cloneIfUpdate:x===h.errorSpatial,coordValidator:o}),S=S.shift({range:r,direction:g,cloneIfUpdate:S===h.hyperlinkSpatial,coordValidator:o}),C=C.shift({range:r,direction:g,cloneIfUpdate:C===h.commentsSpatial,coordValidator:o}),w=w.shift({range:r,direction:g,cloneIfUpdate:w===h.movableSpatial,coordValidator:o}),T=T.shift({range:r,direction:g,cloneIfUpdate:T===h.calcGrid}),D=D.shift({range:r,direction:g,cloneIfUpdate:D===h.rangeListenerSpatial,onShift:t=>{O===h.rangesListenerMap&&(O=new Map(O)),e.processListenerShift(O,M,h.rangesListenerMap,t)}}),E=E.shift({range:r,direction:g,cloneIfUpdate:E===h.rangesListenerSpatial2,coordValidator:o})}let ne=h.tables.shift({ranges:z,direction:g,coordValidator:o}),re=h.autoTables.shift({ranges:z,direction:g,coordValidator:o}),B=h.dataValidations.shift({ranges:z,direction:g,coordValidator:o}),ie=h.conditionalFormats.shift({ranges:z,direction:g,coordValidator:o}),ae=h.protectedRanges.shift({ranges:z,direction:g,coordValidator:o}),oe=j.rowIndex!==k.rowIndex||j.colIndex!==k.colIndex;oe&&e.getView().setFreezePanes({coords:j}),e.updateState({mergeSpatial:s,borderSpatial:c,fillSpatial:_,contentSpatial:v,continuousFillSpatial:y,dateFormatSpatial:b,errorSpatial:x,hyperlinkSpatial:S,commentsSpatial:C,movableSpatial:w,tables:ne,autoTables:re,dataValidations:B,conditionalFormats:ie,protectedRanges:ae,calcGrid:T,rangesListenerSpatial2:E,rangeListenerSpatial:D,rangesListenerMap:O}),e.processLayoutChange(),e.markColumnHeaderTableNames(),e.commitAndAutoSelect(m,p,i?.autoSelect,{viewBefore:{freezePanes:j?k:void 0},viewAfter:{ranges:z,spills:P,freezePanes:oe?j:void 0,listeners:M}},l?t.IRange.Axis.Column:t.IRange.Axis.Row)}catch(e){throw m.rollback(),e instanceof n.OutOfBoundsError?new n.ExpectedError(e.message||(0,n.t)(`error.sheet.insertOob`)):e}})(this._getMutationCtx(),e,r,i,a)}_processLayoutChange(){let e=this._getState();if(!e)return;this._cellOptions?.renderCellCache?.clear();let t=e.movableSpatial.all(),n=t.length;for(let e=0;e<n;e++)t[e].value.callbacks?.processLayout?.();this._notify(`onLayoutChange`)}_autoFit(e,r){(function(e,r,i){let a=e;if(a._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let o;i={expandOnly:!1,skipCustomSize:!1,minContent:!1,...i};let s=$D(r,a._getEntireCoords(),!0),c=QD(r,a._getEntireCoords(),!0);o=!s&&c?(0,n.messageKey)(`op.autofitColumns`):!c&&s?(0,n.messageKey)(`op.autofitRows`):c&&s?(0,n.messageKey)(`op.autofitAll`):(0,n.messageKey)(`op.autofit`);let l=i.axes!==t.IRange.AxisSelection.Row;a._colHeaders.isProtected()&&(l=!1);let u=i.axes!==t.IRange.AxisSelection.Column;if(a._rowHeaders.isProtected()&&(u=!1),!u&&!l)return;let d=l&&(!1===i.expandOnly||i.expandOnly===t.IRange.Axis.Row),f=u&&(!1===i.expandOnly||i.expandOnly===t.IRange.Axis.Column),p=i.minContent??!1;u&&a._protectionCheck(()=>[`formatRows`],r,o),l&&a._protectionCheck(()=>[`formatColumns`],r,o);let m=zy(r),h=a._beginCommit({description:i.description??o}),g=a._isAdjustHeaders;a._isAdjustHeaders=!0;try{let e=U.getDeviceScale(),o=a._defaultRowHeight()*e,s=a._defaultColWidth(),c={host:a,cellOptions:a._cellOptions,normalStyle:a._styles.getNormal(),isRow:u,isColumn:l,isRowAxis:i.axes===t.IRange.AxisSelection.Row,isShrinkToFitRow:f,isShrinkToFitColumn:d,minContent:p,isFormulaView:i.formulaView??a.getView()?.isShowFormulas()??!1,updateHeaderOptions:{skipCustomSize:i.skipCustomSize},mapCache:new Map,clampHeight:(e,t=1)=>{if(e===0||t>1)return;let n=Math.max(e??0,o);return e=>f?n:Math.max(e??0,n)},clampWidth:(e,t=1)=>{if(e!==0&&!(t>1))return t=>d?e:Math.max(t??0,e??s)}},_=Fa(r,1);_.sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column));let v=_.length;for(let e=0;e<v;e++){let t=_[e],n=YC(c,t),r=[],i=[];ZC(c,t,n,r,i);let a=QC(c,t,n);if($C(c,a,t),l&&tw(c,t,a,i),u){let e=l?ew(c,a):null;e&&$C(c,e,t),nw(c,t,a,r)}}a._isAdjustHeaders=g,a._processLayoutChange(),a._commitAndAutoSelect(h,m,i?.autoSelect,{viewAfter:{ranges:r}})}catch(e){throw a._isAdjustHeaders=g,h.rollback(),e}})(this,e,r)}_createRangeEvent(e,t,n){let r=this,i=()=>{let t=r._getState();return this._closed||t.deleted?iO(null):e?Array.isArray(e)?r._createRanges(e):r._createRange(e):iO(this,this._getEntireCoords())},a=t.trigger;return{getSource:i,getFrom:()=>{let e=t.from;if(e)return e;let a=n;return a||=i().getCoords(),Array.isArray(a)?r._createRanges(a):r._createRanges([a])},getTo:()=>t.to??null,trigger:a,isUndo:t.isUndo??!1,isDataChange:t.isDataChange??!1,getTransactionId:t.getTransactionId,toString:()=>`SheetRangeEvent: ('${a}', ${i().toString()})`,timeStamp:t.timeStamp??Date.now()}}_notifyAddressListeners(e,t,n,r){let i=t.entries(),a=i.next(),o=r.trigger;for(;!a.done;){let t=a.value,s=t[0],c=t[1];if(c||=e.get(s),c&&!n.has(s)){let e=!1,t=c.options;t&&(e=(o===`address`?t.ignoreAddressChanges:t.ignoreDataChanges)??!1),!0!==e&&c.notify(r),n.add(s)}a=i.next()}}_notifyDataListeners(e,t,n=null,r,i){if(!e)return;let a=n.length;for(let o=0;o<a;o++){let a=n[o];if(!a)continue;let s=e.search(a),c=s.length;for(let e=0;e<c;e++){let n=s[e].value.groupId;if(!r.has(n)){let e=t.get(n);!0!==e.options?.ignoreDataChanges&&e.notify(i),r.add(n)}}}}_notifyRangeListeners(e,t,r=null,i){if(!e)return;let a=new Set;i.timeStamp||=Date.now();let o=this._getEntireCoords(),s=r.length;for(let c=0;c<s;c++){let s=n.CoordUtils.intersectRanges(o,r[c],MD);if(!s)continue;let l=e.search(s),u=l.length;for(let e=0;e<u;e++){let n=l[e].value.id;if(a.has(n))continue;let r=t.get(n);a.add(n);let o=r.ranges,c=o.length;for(let e=0;e<c;e++){let t=o[e],n=this._createRangeEvent(t,i,s);this._notifyRangeListener2(r,n,i)}}}}_notifyRangeListener2(e,t=null,n=null){let r=e.options;if(r?.transactional&&n?.isRestoreOrRevert||r?.ignoreDataChanges&&n?.isDataChange)return;let i=e.handler??e.handlerW?.deref();if(i)try{i?.(t)}catch(e){console.warn(e)}}_notifyUsedRangeChange(){this._lastCellRead.coords=null,this._lastUsedCoordsRead.coords=null,this._notify(`onUsedRangeChange`)}_notify(e){return this._emitter.notify(e)}_notifyConditionalFormatsChange(){this._notify(`onConditionalFormatsChange`),this._notify(`onStyleChange`)}_notifyDataValidationsChange(){this._notify(`onDataValidationsChange`),this._notify(`onStyleChange`)}_notifyProtectedRangesChange(){this._notify(`onProtectedRangesChange`),this._notify(`onProtectionChange`)}addListeners(e,t){return this._emitter.addListeners(e,t)}_addRangesListeners(e,t,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!t)throw Error((0,n.t)(`error.sheet.listenerNull`));r=r?{...mD,...r}:mD;let i=r?.transactional??!1,a=this,o=OD++%(2**53-1),s=()=>{let e=null,t=null;if(i){let n=a._getState();if(!n)return;e=n.rangeListenerSpatial.clone(),t=new Map(n.rangesListenerMap)}else e=a._rangeListenerSpatial,t=a._rangesListenerMap;let r=t.get(o);if(!r)return void console.log(`Listener not found`);let s=r.ranges,c=s.length;for(let t=0;t<c;t++){let r=n.CoordUtils.sanitizeRange(s[t]);r!==null&&e.remove(r,(e,t)=>t.value.id===o)}if(t.delete(o),i){let r=this._beginCommit({description:(0,n.messageKey)(`op.removeRangeListener`)});this._updateState({rangeListenerSpatial:e,rangesListenerMap:t}),r.commit({forceAmend:!0})}},c=[...e],l={id:o,handler:null,handlerW:null,removeListener:s,options:r,ranges:c};r?.weakly?l.handlerW=new WeakRef(t):l.handler=t;let u=null,d=null,f=null;if(i){f=this._beginCommit({description:(0,n.messageKey)(`op.addRangeListener`)});let e=this._getState();u=e.rangeListenerSpatial.clone(),d=new Map(e.rangesListenerMap)}else u=a._rangeListenerSpatial,d=a._rangesListenerMap;let p=[],m=e.length;for(let t=0;t<m;t++){let n={...e[t],value:{id:o,offset:t,options:r}};p.push(n)}return u.load(p),d.set(o,l),f&&(this._updateState({rangeListenerSpatial:u,rangesListenerMap:d}),f.commit({forceAmend:!0})),s}_addRangesListeners2(e,t,r,i){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!t)throw new n.ExpectedError((0,n.t)(`error.sheet.listenerNull`));r=r?{...mD,...r}:mD;let a=r?.transactional??!1,o=this,s=n.CommonUtils.uuidV4(),c=kD++,l=()=>{let e=null,t=null,r=o._getState();if(!r)return;e=r.rangesListenerSpatial2.clone(),t=r.rangesListenerMap2;let i=t.get(s);if(i){let n=i.spatialsIds,a=i.coords,o=n.length;for(let t=0;t<o;t++){let r=n[t],i=a[t];e.remove(i,(e,t)=>t.value.uuid===r)}t=new Map(r.rangesListenerMap2),t.delete(s)}let l=this._beginCommit({description:(0,n.messageKey)(`op.removeRangeListener`)});this._updateState({rangesListenerMap2:t}),l.commit({forceAmend:!0}),a||this._rangesListenerSorted.delete(c)},u=null,d=this._beginCommit({description:(0,n.messageKey)(`op.addRangeListener`)}),f=this._getState();u=f.rangesListenerSpatial2.clone();let p=null,m=null;r?.weakly?m=new WeakRef(t):p=t;let h=[],g=[...e],_=[],v=e.length;for(let t=0;t<v;t++){let i={...e[t]};g[t]=i;let a=n.CommonUtils.uuidV4(),o=new UT(s,a,r?.ignoreAddressChanges??!1);_.push(a);let c={...n.CoordUtils.sanitizeRange(i),value:o};h.push(c)}u.load(h),r={...r};let y=new WT(s,_,g,i,this,c,p,m,l,r),b=new Map(f.rangesListenerMap2);return b.set(s,y),this._updateState({rangesListenerSpatial2:u,rangesListenerMap2:b}),a||this._rangesListenerSorted.set(c,y),d.commit({forceAmend:!0}),l}_getUsedCoords(e){let t=this._getState();if(!t)return null;let r=t.cellValuesGrid.getCoords(),i=e?.features;if(i!==void 0){let e=typeof i==`string`?[i]:i;for(let i=0;i<e.length;i++)r=n.CoordUtils.unionRanges(tp(t,e[i]),r);return dD(r,this._getEntireCoords())}return r=n.CoordUtils.unionRanges(t.borderSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.fillSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.contentSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.mergeSpatial.getContentfulCoords(),r),r=n.CoordUtils.unionRanges(t.tables.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.calcGrid.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.spillSpatial.getBoundingRange(),r),r=n.CoordUtils.unionRanges(t.pendingSpatial.getBoundingRange(),r),r=dD(r,this._getEntireCoords()),r?(this._lastUsedCoordsRead&&this._lastUsedCoordsRead.coords&&gO(this._lastUsedCoordsRead.coords,r)||(this._lastUsedCoordsRead.coords=r,this._lastUsedCoordsRead.range=null),this._lastUsedCoordsRead.coords):(this._lastUsedCoordsRead.coords=null,null)}_getRangeStats(e,n){let r=n?.ignoreHidden;if(r&&(e=this._getVisible(e,{axes:!0===r?t.IRange.AxisSelection.Both:r})),e.length===0)return this._rangeStats.toLocalCoords([],n);let i=OO(e);return this._rangeStats.toLocalCoords(i,n)}_isContentful(e,t){return!!this._contentCounts(e,void 0,t)}_getCount(e,t=!1){let n=this._contentCounts(e,gD,t);return n?n[Qv.Content.Values]??0:0}_contentCounts(e,t,n=!1){if(!t){let e=Object.keys(Qv.Content),n=e.length;t=[];for(let r=0;r<n;r++){let n=e[r],i=Qv.Content[n];i!==Qv.Content.Formats&&i!==Qv.Content.Tables&&t.push(i)}}let r={},i=t.length,a,o,s=!1;for(let e=0;e<i;e++){let n=t[e];n===Qv.Content.Values?r[q.Type.Contentful]=!1:n===Qv.Content.Formulas?r[q.Type.Formula]=!1:n===Qv.Content.Formats?(r[q.Type.BorderStyle]=!1,r[q.Type.FillStyle]=!1,r[q.Type.ContentStyle]=!1):n===Qv.Content.Tables&&(r[q.Type.Table]=!1,s=!0)}let c=()=>{a=new Set,o={};for(let e=0;e<i;e++){let n=t[e];o[n]=0}},l=e.length;for(let t=0;t<l;t++){let i=e[t],l=this._rangeStateIterator({searchTypes:r,ignoreHidden:n,bounds:i}),u=l.next();for(;!u.done;){o||c();let e=u.value,t=(e.end.colIndex-e.start.colIndex+1)*(e.end.rowIndex-e.start.rowIndex+1),n=e.intersection;if(n){n.contentful&&(o[Qv.Content.Values]=(o[Qv.Content.Values]??0)+t),n.formula&&(o[Qv.Content.Formulas]=(o[Qv.Content.Formulas]??0)+t);let e=n.table;e&&(s&&!a.has(e)&&(o[Qv.Content.Tables]=(o[Qv.Content.Tables]??0)+1,a.add(e)),n.contentful||(o[Qv.Content.Values]=(o[Qv.Content.Values]??0)+t))}u=l.next()}}return o}_featureCounts(e,t,n=!1){let r=$v.Feature,i=Object.values(r),a=t===void 0?i:typeof t==`string`?[t]:t,o={};for(let e=0;e<i.length;e++)o[i[e]]=0;e.length>1&&(e=OO(e));let s=new Map;for(let e=0;e<a.length;e++){let t=a[e],n=$f[t];if(n===null)continue;let r=s.get(n);r?r.push(t):s.set(n,[t])}let c=e.length;for(let[t,i]of s){let a=t===q.Type.ContentStyle,s={[t]:!1};for(let t=0;t<c;t++){let c=this._rangeStateIterator({searchTypes:s,ignoreHidden:n,bounds:e[t]}),l=c.next();for(;!l.done;){let e=l.value,t=e.intersection;if(t){let n=(e.end.colIndex-e.start.colIndex+1)*(e.end.rowIndex-e.start.rowIndex+1);if(a){let a=t.contentStyle?.getPropertiesAt(e.start.rowIndex,e.start.colIndex,null);if(a)for(let e=0;e<i.length;e++){let t=i[e];(t===r.NumberFormat&&a.numberFormat!==void 0||t===r.Alignment&&a.alignment!==void 0||t===r.Font&&a.font!==void 0)&&(o[t]+=n)}}else for(let e=0;e<i.length;e++){let r=i[e];yD(t,r)&&(o[r]+=n)}}l=c.next()}}}return new _D(o)}_dependencyRanges(e,t,n){let r=this._getState().calcGrid;if(!r)return null;let i=e.scope&&e.scope===this.getName()?{...e,scope:void 0}:e,a=t===`precedents`?n?r.getDirectPrecedentsAt(i):r.getPrecedentsAt(i):n?r.getDirectDependentsAt(i):r.getDependentsAt(i),o=new Set;if(t===`precedents`){let t=r.getFormulas().search(e);for(let e=0;e<t.length;e++){let n=t[e].value?.getNamedIds();if(n)for(let e=0;e<n.length;e++)o.add(n[e])}}let s=this._toRangeScopes(a,t===`dependents`?o:void 0),c=null;if(o.size>0){let e=this._calculation?.getNamedFormulas();if(e?._graphNode){let n=this._internal;for(let r of o){let i=e._graphNode(r,t===`dependents`);if(!i)continue;let a=(i.sheetName?tO(n,i.sheetName):null)??n;(c??=[]).push(new Mb(i,a,null))}}}return s.length!==0||c?this._createRanges(c?[...c,...s]:s):null}_toRangeScopes(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r];if(!i.scope){n.push(i);continue}let a=this._resolveSheetScope(i.scope);a?n.push({...i,scope:a}):t?.add(i.scope)}return n}_resolveSheetScope(e){if(this.getId()===e)return this.getName();let t=this._workbook?.getSheets().getItems();if(t){for(let n of t)if(n.getId()===e)return n.getName()}return null}_featureRegions(e,n,r){let i=$v.Feature,a=r?.containment===`fullyContained`,o={},s=[],c=[];for(let e=0;e<n.length;e++){let t=n[e];switch(t){case i.NumberFormat:case i.Alignment:case i.Font:s.push(t),o[q.Type.ContentStyle]=!1;break;default:{let e=$f[t];if(e===null)return[];o[e]=!1,c.push(t)}}}let l=c.includes(i.Contentful),u=[];for(let e=0;e<c.length;e++)c[e]!==i.Contentful&&u.push($f[c[e]]);let d=e=>{let t=[];l&&t.push(!!e.contentful);for(let n=0;n<u.length;n++)t.push(e[u[n]]);return s.length>0&&t.push(e.contentStyle),t},f=new Map,p=Symbol(`rects`),m=e=>{let t=f;for(let n=0;n<e.length;n++){let r=t.get(e[n]);r||(r=new Map,t.set(e[n],r)),t=r}let n=t.get(p);return n||(n=[],t.set(p,n)),n},h=this._rangeStateIterator({searchTypes:o,ignoreHidden:r?.ignoreHidden??!1,bounds:e,fullyContained:a}),g=h.next();for(;!g.done;){let t=g.value,n=t.intersection;if(n){let r=!1;for(let e=0;!r&&e<c.length;e++)r=yD(n,c[e]);if(!r&&s.length>0){let e=n.contentStyle?.getPropertiesAt(t.start.rowIndex,t.start.colIndex,null);if(e)for(let t=0;!r&&t<s.length;t++){let n=s[t];r=n===i.NumberFormat&&e.numberFormat!==void 0||n===i.Alignment&&e.alignment!==void 0||n===i.Font&&e.font!==void 0}}r&&m(d(n)).push({rowStart:Math.max(t.start.rowIndex,e.rowStart),colStart:Math.max(t.start.colIndex,e.colStart),rowEnd:Math.min(t.end.rowIndex,e.rowEnd),colEnd:Math.min(t.end.colIndex,e.colEnd)})}g=h.next()}let _=[],v=e=>{for(let[n,r]of e)n===p?_.push(...Pa(r,t.IRange.Axis.Column,2**53-1)):v(r)};v(f);let y=r?.axis===t.IRange.Axis.Column,b=!0===r?.reverse;return _.sort((e,t)=>{let n=y?e.colStart-t.colStart||e.rowStart-t.rowStart:e.rowStart-t.rowStart||e.colStart-t.colStart;return b?-n:n}),_}find(e){return e?((e=typeof e==`string`?{text:e}:{...e}).from||(e.from=this.getSelection().getCoords().cell),this.getEntireRange().find(e)):ci}setEntireSize(e,r){e||=wD;let i=this._getEntireCoords(),a=i.colEnd-i.colStart+1,o=i.rowEnd-i.rowStart+1,s=e?.width??a,c=e?.height??o;if(s===a&&c===o)return this;let l=this._beginCommit({description:r?.description??(0,n.messageKey)(`op.setEntireSize`)});try{s<a&&this._deleteCells([{colStart:s,rowStart:i.rowStart,colEnd:i.colEnd,rowEnd:i.rowEnd}],t.IRange.Axis.Column),c<o&&this._deleteCells([{colStart:i.colStart,rowStart:c,colEnd:i.colEnd,rowEnd:i.rowEnd}],t.IRange.Axis.Row);let e=Object.freeze({colStart:0,rowStart:0,colEnd:s-1,rowEnd:c-1}),u=this._getState(),d=u.borderSpatial.clone();d.setEntireCoords(e);let f=u.fillSpatial.clone();f.setEntireCoords(e);let p=u.contentSpatial.clone();p.setEntireCoords(e),this._updateState({entireCoords:e,borderSpatial:d,fillSpatial:f,contentSpatial:p}),this._entireCoordsCache=null,this._entireRangeCache=null,this._emitter.notify(`onViewChange`,{source:this.getView()}),s>a&&this._insertCells([{colStart:i.colEnd+1,rowStart:e.rowStart,colEnd:s-a+i.colEnd,rowEnd:e.rowEnd}],t.IRange.Axis.Column),c>o&&this._insertCells([{colStart:e.colStart,rowStart:i.rowEnd+1,colEnd:e.colEnd,rowEnd:c-o+i.rowEnd}],t.IRange.Axis.Row);let m=this.getSelection(),h=m.getCoords(),g=Ly(h,n.CoordUtils.EmptySelection,e);m.updateCoords(g),this._notify(`onLayoutChange`),l.commit({...r,viewBefore:{view:this.getView(),selection:h},viewAfter:{view:this.getView(),selection:g}}),this._autoSelect(r?.autoSelect,g)}catch(e){throw l.rollback(),e}return this}_find(e,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));typeof r==`string`&&(r={text:r});let i=r?.text;if(!i)return ci;let a=[...e],o=r?.axis??t.IRange.Axis.Row,s=r?.reverse,c=!r?.disableWrap,l=r?.from?this._cellToCoords(r?.from):null,u=null;if(l){let e=-1;for(let t=0;e===-1&&t<a.length;t++)n.CoordUtils.isCellWithinRange(l,a[t])&&(e=t);u=n.CoordUtils.cellToRange(l);let t=Dy(a[e],u,o);t.push(u);let r=n.CoordUtils.createRangeComparator(o,s);t.sort(r);let i=-1,d=t.length;for(let e=0;e<d;e++)r(t[e],u)<=0&&(i=e);a.splice(e,1,...t);let f=e+i,p=[];for(let e=0;e<=f;e++)p.push(a.shift());if(c){let e=p.length;for(let t=0;t<e;t++)a.push(p[t])}}if(a.length===0)return ci;let d=r?.fields?.includes(Qv.Content.Formulas)??!1,f=r?.fields?.includes(Qv.Content.Values)??!0,p=r?.matchEntireCell??!1,m=r?.matchCase??!1,h=r?.useRegex??!1,g=function(e,t,n){let r=t?``:`i`;return n?new RegExp(e,r):new RegExp((e=>{let t=e.replace(/[|\\{}()[\]^$+.]/g,`\\$&`);return t=t.replace(/~\?/g,`\\?`),t=t.replace(/~\*/g,`\\*`),t=t.replace(/~~/g,`~`),t})(e),r)}(i,m,h),_=i.length,v=(e,t)=>{let n=e=>{if(!e)return!1;let t=!!e.match(g);return t&&p&&e.length!==_&&(t=!1),t},r=t.getCell(),i=!1;if(!i&&d){let e=r.getFormulaText();e=e?`=`+e:r.getText(jD),i=n(e)}else f&&(i=n(r.getNumberFormat().displayText));return i};if(r?.matchCustom){let e=r.matchCustom,t={matchCase:m,matchEntireCell:p,useRegex:h,fields:r?.fields??[Qv.Content.Formulas]},n,i,a=v,o=()=>a(n,i);v=(r,a)=>(n=r,i=a,e(r,o,t,a))}let y=-1,b=null,x=si,S=!1,C=()=>{if(x.done){if(y++,y>=a.length)return S=!0,!1;b=this._cellIterator({reverse:s,axis:o,searchTypes:!1,bounds:a[y]})}if(x=b.next(),!x.done){let e=x.value;return v(e.value,e.context)}return!1};return{next:()=>{let e=null;for(;!S&&!e;)C()&&(e=x.value.context.getCell());return e?{value:e,done:!1}:si}}}getRuntime(){return this._runtime}_surroundingRegion(e,t){let r=this._getState(),i=t?.contentOnly??!1,a=this._getEntireCoords();if(!i){let t=r.tables.search(e);if(t.length>0){let r=t[0].value,i=r.getDataRange().getCoords(),o=r.getRange().getCoords();return n.CoordUtils.isEqualRanges(i,e)?o:n.CoordUtils.isEqualRanges(o,e)?a:i}}let o=i?e:a;return function(e,t,r=2e4){if(!t||t.length===0)return null;let i=null,a=!1;for(let r=0;r<t.length;r++){let o=t[r];o&&(i=n.CoordUtils.unionRanges(i,o.getBoundingRange()),a||=o.search(e).length>0)}if(!i)return null;let o={...n.CoordUtils.EmptyRange},s=e,c=a?{...e}:null;if(!c){let r=(e=>{let r=[],i=t.length;for(let n=0;n<i;n++){let i=t[n];if(!i)continue;let a=i.search(e),o=a.length;r=o>0?Array(o):void 0;for(let e=0;e<o;e++){let t=a[e];r[e]=t}}return r||n.CommonUtils.EmptyArray})({colStart:e.colEnd,rowStart:e.rowEnd,colEnd:e.colEnd+1,rowEnd:e.rowEnd+1}),i=r.length;if(i>0){c={...e};for(let e=0;e<i;e++){let t=r[e];c.colEnd=Math.max(c.colEnd,t.colStart),c.rowEnd=Math.max(c.rowEnd,t.rowStart)}}}let l={...n.CoordUtils.EmptyRange},u=()=>{let e=t.length;for(let r=0;r<e;r++){let e=t[r];if(!e)continue;let i=e.search(o),a=i.length;for(let e=0;e<a;e++){let t=i[e];c=n.CoordUtils.unionRanges(c,t,l)}}return c};o.colStart=e.colStart,o.rowStart=e.rowStart,o.colEnd=e.colEnd,o.rowEnd=e.rowEnd,u();let d={...c},f={...n.CoordUtils.EmptyRange},p=0;do{if(o.colStart=f.colStart=d.colStart,o.rowStart=f.rowStart=d.rowStart,o.colEnd=f.colEnd=d.colEnd,o.rowEnd=f.rowEnd=d.rowEnd,d.colStart>i.colStart&&(o.colStart=d.colStart-1,o.colEnd=d.colStart-1,o.rowStart=d.rowStart-1,o.rowEnd=d.rowEnd+1,u()),d.rowStart>i.rowStart&&(o.rowStart=d.rowStart-1,o.rowEnd=d.rowStart-1,o.colStart=d.colStart-1,o.colEnd=d.colEnd+1,u()),d.colEnd<i.colEnd&&(o.colStart=d.colEnd+1,o.colEnd=d.colEnd+1,o.rowStart=d.rowStart-1,o.rowEnd=d.rowEnd+1,u()),d.rowEnd<i.rowEnd&&(o.rowStart=d.rowEnd+1,o.rowEnd=d.rowEnd+1,o.colStart=d.colStart-1,o.colEnd=d.colEnd+1,u()),!c)return null;if(d.colStart=c.colStart,d.rowStart=c.rowStart,d.colEnd=c.colEnd,d.rowEnd=c.rowEnd,n.CoordUtils.isEqualRanges(d,f))return n.CoordUtils.isEqualRanges(s,d)?null:d;if(n.CoordUtils.isEqualRanges(d,s))return null;if(n.CoordUtils.isEqualRanges(d,f))return d;p++}while(p<r);return null}(e,[r.contentfulSpatial,r.mergeSpatial,r.calcGrid.getFormulas(),r.spillSpatial,r.pendingSpatial])||o}_extendRange(e,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let i={...this._getEntireCoords()},a=this.getRowHeaders(),o=this.getColumnHeaders(),s=(this._cacheTableColumnHeaders?.table)?.getRange().getCoords(),c=!1;if(s){let n={...s};n.rowStart+=a.hiddenHeadersAt(n.rowStart,!1),n.rowEnd-=a.hiddenHeadersAt(n.rowEnd,!0),n.colStart+=o.hiddenHeadersAt(n.colStart,!1),n.colEnd-=o.hiddenHeadersAt(n.colEnd,!0),(e===t.IRange.Direction.Up&&r.rowIndex>n.rowStart||e===t.IRange.Direction.Down&&r.rowIndex<n.rowEnd||e===t.IRange.Direction.Left&&r.colIndex>n.colStart||e===t.IRange.Direction.Right&&r.colIndex<n.colEnd)&&(c=!0),c&&(i=n)}i.rowStart+=a.hiddenHeadersAt(i.rowStart,!1),i.rowEnd-=a.hiddenHeadersAt(i.rowEnd,!0),i.colStart+=o.hiddenHeadersAt(i.colStart,!1),i.colEnd-=o.hiddenHeadersAt(i.colEnd,!0);let l=this,u=[],d={ignoreHidden:!0,onFound:(e,t)=>{u.push(n.CoordUtils.intersectRanges(e,t))},onEntry:(e,t)=>t},f={ignoreHidden:!0,onEntry:(e,t)=>e.tvTl()===void 0?null:t},p=this._getState();if(!p)return n.CommonUtils.EmptyArray;let m,h=l._getRangedEntries(p.mergeSpatial,[n.CoordUtils.cellToRange(r)],f);h.length>0&&(m=h[0]);let g=[e=>l._getRangedEntries(l._getState().mergeSpatial,e,f),e=>(u=[],l._getRangedEntries(l._getState().contentfulSpatial,e,d),u)];return c||g.push(e=>(u=[],l._getRangedEntries(l._getState().tables,e,d),u)),function(e,r,i,a,o){let s,c,l,u={...r},d=n.CoordUtils.cellToRange(u),f=a(d).length>0;if(f){let r=1,o=e===t.IRange.Direction.Up||e===t.IRange.Direction.Down;i&&(r+=o?i.rowEnd-i.rowStart:i.colEnd-i.colStart),e!==t.IRange.Direction.Left&&e!==t.IRange.Direction.Up||(r=-r),o?u.rowIndex+=r:u.colIndex+=r,d=n.CoordUtils.cellToRange(u),f=a(d).length>0}switch(e){case t.IRange.Direction.Up:d.rowStart=Math.min(o.rowStart,d.rowStart),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Row,!0)),s=r.rowIndex,l=f?c.length===1&&s===c[0].rowStart?o.rowStart:c[0].rowStart:c.length===0?o.rowStart:c[0].rowEnd;break;case t.IRange.Direction.Down:d.rowEnd=Math.max(o.rowEnd,d.rowEnd),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Row,!1)),s=r.rowIndex,l=f?c.length===1&&s===c[0].rowEnd?o.rowEnd:c[0].rowEnd:c.length===0?o.rowEnd:c[0].rowStart;break;case t.IRange.Direction.Left:d.colStart=Math.min(o.colStart,d.colStart),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column,!0)),s=r.colIndex,l=f?c.length===1&&s===c[0].colStart?o.colStart:c[0].colStart:c.length===0?o.colStart:c[0].colEnd;break;case t.IRange.Direction.Right:d.colEnd=Math.max(o.colEnd,d.colEnd),c=a(d).sort(n.CoordUtils.createRangeComparator(t.IRange.Axis.Column,!1)),s=r.colIndex,l=f?c.length===1&&s===c[0].colEnd?o.colEnd:c[0].colEnd:c.length===0?o.colEnd:c[0].colStart}let p=c?c.length:0;if(f&&p>1){let n=!1;for(let r=1;!n&&r<p;r++){let i=c[r];switch(e){case t.IRange.Direction.Up:i.rowEnd<l-1?n=!0:l=Math.min(l,i.rowStart);break;case t.IRange.Direction.Down:i.rowStart>l+1?n=!0:l=Math.max(l,i.rowEnd);break;case t.IRange.Direction.Left:i.colEnd<l-1?n=!0:l=Math.min(l,i.colStart);break;case t.IRange.Direction.Right:i.colStart>l+1?n=!0:l=Math.max(l,i.colEnd)}}}let m=n.CoordUtils.cellToRange(r);switch(e){case t.IRange.Direction.Up:m.rowStart=l;break;case t.IRange.Direction.Down:m.rowEnd=l;break;case t.IRange.Direction.Left:m.colStart=l;break;case t.IRange.Direction.Right:m.colEnd=l}return m}(e,r,m,e=>{let t=[],n=[e],r=g.length;for(let e=0;e<r;e++){let r=(0,g[e])(n),i=r.length;for(let e=0;e<i;e++){let n=r[e];t.push(n)}}return t},i)}_defaultFontDims(){if(this._defaultFontBoundsCache)return this._defaultFontBoundsCache;let e=this._styles.getNormal(),t=0,n=0;for(let r=0;r<=9;r++){let i=e.measureText(r.toString());t=Math.ceil(Math.max(i.width,t)),n=Math.max(i.lineHeight,n)}return this._defaultFontBoundsCache={width:t,height:n},this._defaultFontBoundsCache}getColumnWidthAsFontUnit(e){let t=Math.round(this._defaultFontDims().width),n=e/(this.getView().isShowFormulas()?2:1);if(!t||!e)return 0;let r=5;return n<r+t&&(r=n*(r/(r+t))),(n-r)/t}_createTupleBuilder(e=!1){return e?new vi.TransposedBuilder:new vi.Builder}_defaultColWidth(){if(this._defaultColWidthCache)return this._defaultColWidthCache;let e=this._defaultFontDims()?.width||7,t=8*Math.round((8*e+5)/8)/Math.round(this._defaultFontDims().width);return this._defaultColWidthCache=t}_defaultRowHeight(){if(this._defaultRowHeightCache)return this._defaultRowHeightCache;let e=this._defaultFontDims();if(!e||e.width===0)return this._defaultRowHeightCache=20/U.getDeviceScale(),this._defaultRowHeightCache;let t=e.height+2;return this._defaultRowHeightCache=Math.round(t/U.getDeviceScale()*4)/4,this._defaultRowHeightCache}getProtection(){return this._protection??null}async _scrollIntoView(e,r){if(!r)return!0;!0===r&&(r=n.CommonUtils.EmptyObject);let i=r.axis,a=e;i===t.IRange.Axis.Column?a={colStart:e.colStart,rowStart:void 0,colEnd:e.colEnd,rowEnd:void 0}:i===t.IRange.Axis.Row&&(a={colStart:void 0,rowStart:e.rowStart,colEnd:void 0,rowEnd:e.rowEnd});let o={coords:a},s=await this._emitter.notify(`onRequestScrollIntoView`,{params:o,async:!0});if(!s)return!1;let c=s.length;for(let e=0;e<c;e++)if(!1===s[e])return!1;return!0}async _selectSheet(e,t){return!1!==await this._options.container?.requestSelect?.()&&this._scrollIntoView(e,t)}async scrollTo(e,t){let n={...t,coords:e},r=await this._emitter.notify(`onRequestScrollIntoView`,{params:n,async:!0});if(!r)return!1;let i=r.length;for(let e=0;e<i;e++)if(!1===r[e])return!1;return!0}_resolveSelectOptions(e,t){return e?(!0===e&&(e={autoFocus:!0,scrollIntoView:!0}),!0===e.scrollIntoView&&(e={...e,scrollIntoView:{}}),t&&(e={...e,scrollIntoView:{axis:t,...e?.scrollIntoView}}),e):null}async _commitAndAutoSelect(e,t,n=!1,r,i){let a=this._resolveSelectOptions(n,i);return r={...r,viewAfter:{view:this.getView(),selection:t,selectOptions:a,...r?.viewAfter}},e.commit(r),this._autoSelect(n,t,i)}async _autoSelect(e,t,r){if(!e)return n.CommonUtils.EmptyArray;let i=this._resolveSelectOptions(e,r),a=i?.autoFocus,o=i?.scrollIntoView,s=i?.anchor,c=this.getSelection().getCoords(),l=Ry(t??null),u=this._getEntireCoords(),d=TO(l,this._getState().mergeSpatial,u),f=-1,p=null;if(!s){let e=c?.cell,t=d.length;for(let r=0;f===-1&&r<t;r++){let t=d[r];n.CoordUtils.isCellWithinRange(e,t)&&(f=r,p=e)}}let m=zy(d,p,f);this.getSelection().updateCoords(m);let h=n.CoordUtils.cellToRange(m.cell);if(i?.preserveSelectedSheet)return await this._scrollIntoView(h,o),d;{let e=await this._selectSheet(h,o);if(!1!==o&&!1===e)return d}if(!1!==a){let e=await this._notify(`onRequestFocus`);if(!e)return d;let t=e.length;for(let n=0;n<t;n++)if(!1===e[n])return d}return d}getSelection(){return this.getView().getRangeSelection()}getSelectedCell(){return this.getSelection().getCell()}getSelectedRange(e){return this.getSelection().getRange(e)}getSelectedRanges(e){return this.getSelection().getRanges(e)}getView(){return this._view}setView(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(!e)throw new n.ExpectedError((0,n.t)(`error.sheet.emptyView`));this._viewRemoveListener?.(),this._view=e;let t=this._viewListener;return this._viewRemoveListener=e.addListeners(t,{transactional:!1}),t.onTopLeftChange?.(e),t.onFreezePaneChange?.(e),t.onHeaderChange?.(e),t.onZoomScaleChange?.(e),t.onSelectionChange?.(e),t.onMovableSelectionChange?.(e),t.onAnyChange?.(e),this._emitter.notify(`onViewChange`,{source:e}),this}getTabColor(){return this._tabColor}setTabColor(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));return this._tabColor=typeof e==`string`?this._styles.parseColor(e):e??null,this._notify(`onTabColorChange`),this}getRowHeaders(){return this._rowHeaders}getColumnHeaders(){return this._colHeaders}async toJSON(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));await this.getCalculation().ready(),await this._emitter.notify(`onBeforeSave`,{async:!0}),await Promise.resolve(this._starting);let r={},i=this._getState();if(!i)return r;let a=this._getEntireCoords(),o=null;try{let n=e?.ignoreData??!1,s=e?.ignoreFormulas,c;n&&s||(o=await i.calcGrid.toJSON(e));try{if(!n){c=this._strings.beginPersist();let e=[],n=this._cellStateIterator({searchTypes:!1,axis:t.IRange.Axis.Column}),i=n.next(),a=-(2**53-1),o=-(2**53-1),s=null,l=null,u=null,d=null;for(;!i.done;){let r=i.value[0],f=r.colIndex,p=r.rowIndex;f!==a&&(d&&e.push(d),s=[],u=[],d=[f,u],a=f,o=p-2),p>o+1&&(s=[],l=[p,s],u.push(l));let m=i.value[1],h=RO(m),g;if(h===t.ScalarType.Number)g=m;else if(h===t.ScalarType.Boolean)g=m;else if(h===t.ScalarType.String)g=``+c.add(m);else if(h===t.ScalarType.Error)g={t:`e`,v:m.getCode()};else if(h===t.ScalarType.RichData){let e=m,t=e.getType(),n=e?.toJSON?.();t&&n&&(g={t:`r`,v:0})}else console.warn(`error`,g);s.push(g),o=p,i=n.next()}d&&e.push(d),e.length>0&&(r.data=e)}c&&this._ownStrings&&(r.strings=await c.toJSONAsync())}catch(e){console.warn(`error`,e)}finally{c?.endPersist()}let l=a.colEnd+1,u=a.rowEnd+1;if(l!==wD.width||u!==wD.height){let e={};l!==wD.width&&(e.width=l),u!==wD.height&&(e.height=u),r.entireSize=e}let d=this._colHeaders.toJSON();d&&(d.headers&&d.headers.length>0&&(r.cols=d.headers),d.defaultSize!==void 0&&d.defaultSize!==-1&&(r.defaultColSize=d.defaultSize));let f=this._rowHeaders.toJSON();f&&(f.headers&&f.headers.length>0&&(r.rows=f.headers),f.defaultSize!==void 0&&f.defaultSize!==-1&&(r.defaultRowSize=f.defaultSize));let p=this.getProtection().toJSON();p&&(r.protection=p);let m=this._view.toJSON();m&&(r.view=m),this._tabColor&&(r.tabColor=this._tabColor.toString())}catch(e){console.warn(e)}if(!e?.ignoreStyles){let o=Oi(i.mergeSpatial.all());o.length>0&&(r.merges=ru(o));let s=Oi(this._composeDirectStyleView().all());if(s.length>0){let i=this._styles.beginPersist(),o=e?.splitDirectBorders,c=e?.includeHeaderStyles;try{let e=s.length,l=[];for(let t=0;t<e;t++){let e=s[t],r=e.value.toJSON();if(!r)continue;let c=!0;if(o&&r.border&&!n.CoordUtils.isSingleCell(e)){let t=yg(e,r,a),n=t.length;for(let e=0;e<n;e++){let n=t[e],r=i.getElementID(n[1]);l.push([n[0],r])}c=!1}if(c){let t=i.getElementID(r);l.push([e,t])}}if(c&&l){let e=function(e,n){if(!e.cells||e.cells.length===0)return e;let r=e.cells.map(([e,t])=>({...e,value:t}));r.sort((e,t)=>e.value-t.value);let i=Sg(r,n,null,e.cols,!0),a=Array(r[r.length-1].value+1).fill(0),o=Math.floor((n.colEnd-n.colStart+1)/2),s,c=i.length;for(let e=0;s===void 0&&e<c;e++){let t=i[e],n=t.value.s,r=a[n]+(t.max-t.min+1);r>o&&(s=n),a[n]=r}let l=Sg(r,n,s,e.rows,!1);if(e.cols===i&&e.rows===l)return e;let u=[],d=ti(i,n,!0),f=ti(l,n,!1),p=r,m=d.length;for(let e=0;e<m;e++){let t=d[e];p.push(t),p.push({...t,value:0})}let h=f.length;for(let e=0;e<h;e++){let t=f[e];p.push(t),p.push({...t,value:0})}let g=new _i.IteratorInstance(p,{axis:t.IRange.Axis.Column}),_=n.rowEnd,v=n.colEnd,y=(e,t)=>{e.rowStart>=_||e.colStart>=v||u.push([e,t])},b=g.next();for(;!b.done;){let e=b.value;b=g.next();let t=e.overlaps,n=e.range,r=t.length;if(r===1){let e=t[0].value;e&&y(n,e);continue}let i,a,o;for(let e=0;e<r;e++){let n=t[e],r=n.value;typeof r==`number`?r===0&&i!==void 0||(i=r):n.rowStart===0&&n.rowEnd===_?o=r.s:n.colStart===0&&n.colEnd===v&&(a=r.s)}a===void 0?o===void 0?(i!==0||r!==2&&r!==4)&&y(n,i):o!==i&&y(n,i):a!==i&&y(n,i)}return u.sort((e,t)=>{let n=e[0],r=t[0];return n.rowStart===r.rowStart?n.colStart-r.colStart:n.rowStart-r.rowStart}),{cols:i,rows:l,cells:u}}({cells:l,cols:r.cols?Pu(r.cols,!0):[],rows:r.rows?Pu(r.rows,!1):[]},a);l=e.cells,e.cols.length>0?r.cols=Nu(e.cols,!0):delete r.cols,e.rows.length>0?r.rows=Nu(e.rows,!1):delete r.rows}let u=l.length;for(let e=0;e<u;e++){let t=l[e];l[e]=[Ny.rangeToString(t[0],a),t[1]]}if(l.length>0&&(r.directStyles=l),this._ownStyles){let e=i.toJSON();e&&Object.keys(e).length>0&&(r.styles=e)}}catch(e){console.warn(e)}finally{i.endPersist()}}let c=Oi(i.hyperlinkSpatial.all()),l=c.length;if(l>0){let e=Array(l);for(let t=0;t<l;t++){let n=c[t],r=n.value;e[t]={r:Ny.rangeToString(n,a),v:r}}r.hyperlinks=e}}let s=Oi(i.commentsSpatial.all()),c=s.length;if(c>0){let e=Array(c);for(let t=0;t<c;t++){let n=s[t],r=n.value;typeof r==`string`&&(r={content:r});let i={...r};e[t]={r:Ny.rangeToString(n,a),v:i}}r.comments=e}let l=i.tables.toJSON();l&&l.length>0&&(r.tables=l);let u=i.autoTables.toJSON();u&&u.length>0&&(r.autoTable=u[0]);let d=i.dataValidations.toJSON();d&&d.length>0&&(r.validations=d);let f=i.conditionalFormats.toJSON();f&&f.length>0&&(r.conditionals=f);let p=i.protectedRanges.toJSON();p&&p.length>0&&(r.protectedRanges=p);let m=null;try{let t=this.getMovables().getItems(),n=t.length,i=e?.ignoreResources??!1,a;if(i?a=()=>0:(m=this._resources.beginPersist(),a=m.toResourceId.bind(m)),n>0){let e=[];for(let r=0;r<n;r++)try{let n=t[r].toJSON?.(a);n&&e.push(n)}catch(e){console.warn(`Unable to persist movable`,e)}e.length>0&&(r.movables=e)}let o=this.getPicture();o&&(r.picture=o.toJSON(a)),!i&&this._ownResources&&(r.resources=await m.toJSONAsync())}catch(e){console.warn(e)}finally{m?.endPersist()}if(o){let e=o.formulas;e&&(r.formulas=e);let t=o.formulaArray;t&&(r.formulaArray=t);let n=o.volatile;n&&(r.volatile=n)}return this._emitter.notify(`onSave`,{params:r}),r}getStyles(){return this._styles}getResources(){return this._resources}getTransactions(){return this._transactions}getStrings(){return this._strings}_searchMovables(e){let t=e?.ignoreHidden??!1,r=e?.bounds,i=e?.fullyContained,a=this,o=this._getState();if(o===null)return n.CommonUtils.EmptyArray;let s=e?.address?this._rangeToCoords(e?.address):this._getEntireCoords();return this._getRangedEntries(o.movableSpatial,[s],{ignoreHidden:t,fullyContained:i,onEntry:n=>{let i=e?.type;if(i){if(Array.isArray(i)){if(!i.includes(n.model.getContent().getType()))return null}else if(i&&n.model.getContent().getType()!==i)return null}let o=null;if(t&&(n.model.isHidden()||(o=a._getBoundsAtCoords(n.model.getRange().getCoords()),o.width===0||o.height===0)))return null;if(r){o||=a._getBoundsAtCoords(n.model.getRange().getCoords());let e=o,t=r;if(e.y>t.y+t.height||e.y+e.height<t.y||e.x>t.x+t.width||e.x+e.width<t.x)return null}return n.model}}).sort((e,t)=>e.getZIndex()-t.getZIndex())}_updateSelectedMovables(e,t){let r=this.getView().getMovableSelection();if(!r||r.length===0)return;let i=this._beginCommit({description:t??(0,n.messageKey)(`op.updateMovables`)});try{let t=r.length;for(let n=0;n<t;n++)e(r[n]);i.commit()}catch(e){throw i.rollback(),e}}async _addMovable(e){if(!this.getProtection().isObjectsAllowed())throw new n.ExpectedError((0,n.t)(`error.sheet.insertItemProtected`));if(!e)throw new n.ExpectedError(`No movable options provided`);if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));if(e.autoPlace===`viewport`&&e.bounds?.width!=null&&e.bounds?.height!=null){let t=(await this._emitter.notify(`onRequestViewport`,{async:!0}))?.find(Boolean)??null;if(t){let n=Math.min(e.bounds.width,t.width-8),r=Math.min(e.bounds.height,t.height-8);e={...e,bounds:{x:t.x+(t.width-n)/2,y:t.y+(t.height-r)/2,width:n,height:r}}}}let t={};e?.type&&(t.content={type:e.type,json:e?.json}),e?.anchorType&&(t.anchorType=e?.anchorType),e.bounds&&(t.anchor=null);let r=this._getState().movableSpatial,i=this._beginCommit({description:e?.description??(0,n.messageKey)(`op.insertDrawing`)}),a=this._createMovableEntry(t,r.size(),e.fromResourceId),o=r.clone();o.insert(a);let s=this._getState().movableMapModel,c=new Map(s),l=a.value.model,u,d;if(c.set(l,a),this._updateState({movableSpatial:o,movableMapModel:c}),e.bounds&&a.value.model.setBounds(e.bounds,e),!1!==e?.autoSelect){u={view:this.getView(),movableSelection:this.getView().getMovableSelection()};let t=e?.autoSelect??!1;!0===t&&(t={autoFocus:!0,scrollIntoView:!0,addToSelection:!1}),t&&this.getView().selectMovables([a.value.model],t.addToSelection),d=e=>({...e,view:this.getView(),movableSelection:this.getView().getMovableSelection()})}return i.commit({viewBefore:u,viewAfter:d}),this._emitterMovables.notify(`onCollectionChange`),this._notify(`onMovablesChange`),a.value.model}async _addMovablePicture(e,t={type:`picture`}){if(!e)throw new n.ExpectedError((0,n.t)(`error.sheet.noImageProvided`));if(!this.getProtection().isObjectsAllowed())throw new n.ExpectedError((0,n.t)(`error.sheet.insertItemProtected`));let r=this._resources.add(e),i=await r.toBuffer(),a=await r.getType(),o=this._getBoundsAtCoords(this.getSelection().getRange().getCoords()),{naturalSize:s,asUrl:c}=await n.ImageUtils.loadImageDetails(i,a?.mime);URL.revokeObjectURL(c);let l={...o,...s,...t?.bounds};if(n.CommonUtils.isNullOrUndefined(t?.bounds?.x)||n.CommonUtils.isNullOrUndefined(t?.bounds?.y)){let e=Ty(this.getMovables(),l,n.CommonUtils.isNullOrUndefined(t?.bounds?.x),n.CommonUtils.isNullOrUndefined(t?.bounds?.y));l.x+=e.x,l.y+=e.y}t?.bounds&&!1!==t?.json?.lockAspect&&(n.CommonUtils.isNullOrUndefined(t?.bounds.width)&&n.CommonUtils.isDefined(t?.bounds.height)&&(l.width=l.height*s.width/s.height),n.CommonUtils.isNullOrUndefined(t?.bounds.height)&&n.CommonUtils.isDefined(t?.bounds.width)&&(l.height=l.width*s.height/s.width));let u={...t?.json,resId:0};return await this._addMovable({anchorType:G_.Type.OneCell,description:(0,n.messageKey)(`op.insertImage`),...t,bounds:l,type:`picture`,json:u,fromResourceId:e=>e===0?r:(console.warn(`received an unexpected resourceId`,e),null)})}setPicture(e,t){let r=this,i;return e&&(i=new by({resource:this._resources.add(e),deleteFromContainer:e=>{r._getState().picture&&(r._updateState({picture:null},{description:(0,n.messageKey)(`op.deletePicture`),...e}),r._notify(`onStyleChange`))},transactions:this._transactions})),r._updateState({picture:i},{description:i?(0,n.messageKey)(`op.setPicture`):(0,n.messageKey)(`op.removePicture`),...t}),this}getPicture(){return this._getState().picture??null}getTables(){return this._tables}getDataValidations(){return this._dataValidations}getConditionalFormats(){return this._conditionals}getProtectedRanges(){return this._protectedRanges}getConditionals(){return this._conditionals}getMovables(){return this._movables}_validateOrRemoveOverlaps(e,t,r=null,i=!1){let a=this;t!==`merge`&&Oy(this._getMerges([e]),e,(e,r)=>{if(r||!i)throw new n.ExpectedError(bb(t));a._unmerge([e])});let o=[],s=this.getTables().getItems({address:e}),c=s.length;for(let e=0;e<c;e++){let t=s[e];r!==t&&o.push(t.getRange().getCoords())}Oy(o,e,(e,r,a)=>{if(r||!i)throw new n.ExpectedError(bb(t));s[a].delete()});let l=this._getState().autoTables.search(e);l.length>0&&Oy(l,e,(e,r,a)=>{if(r||!i)throw new n.ExpectedError(bb(t));l[0].value.delete()})}_addTable(e,r){let i=this._rangeToCoords(e,()=>[`objects`]),a=this._getEntireCoords(),o;if(typeof r==`boolean`?o=r:r&&(o=r.hasHeader),i.rowStart===i.rowEnd){if(i.rowEnd===a.rowEnd)throw new n.ExpectedError((0,n.t)(`error.sheet.table1By1`));i.rowEnd+=1}o===void 0&&(o=SO(this,i)?.options?.hasHeader??!1);let s=zy([i]),c={...i},l=this._beginCommit({description:(0,n.messageKey)(`op.insertTable`)}),u;try{if(!o){let e=i.rowEnd<a.rowEnd,n={colStart:i.colStart,rowStart:i.rowEnd+1,colEnd:i.colEnd,rowEnd:i.rowEnd+1};e&&(this._isContentful([n])||this._contentCounts([n],[Qv.Content.Formats]))&&this._insertCells([{...i,rowStart:i.rowStart,rowEnd:i.rowStart}],t.IRange.Axis.Row),e&&(i={...i,rowEnd:i.rowEnd+1})}this._validateOrRemoveOverlaps(i,`table`,null,!1);let e=r,n=e?.properties?.style??{};typeof n==`string`&&(n={name:n});let d={...e?.properties,style:n};d.style=n,n.name===void 0&&(n.name=this._styles.getDefaultTableStyle().getName());let f=this._getState().tables;f=this._createTables(f,`tables`,[{r:i,v:d}],e=>{let t=new oy({...e,syncSheet:!0});return u=t,t}),this._updateState({tables:f}),this._notify(`onTablesChange`),e?.disabledAutofit||this._autoFit(u.getRanges().getCoords(),{expandOnly:!0,formulaView:!1});let p=zy([i]);l.commit({viewBefore:{view:this.getView(),selection:s,ranges:[c]},viewAfter:{view:this.getView(),selection:p,ranges:[i],table:u}})}catch(e){throw l.rollback(),e}return u}_addAnchored(e,t,r){let{index:i=0,replaceExisting:a=!1,description:o=r.description,autoSelect:s,author:c,readOnly:l,expectedCommitId:u,...d}=t??{},f,p;e||=this.getSelectedRanges(),r.isItem(e)?(f={...e.toJSON()},p=e.getRanges().getCoords()):(f=d,p=e);let m=this._rangesToCoords(p,()=>[`objects`]),h=s?zy(m):null,g=[...m],_=this._beginCommit({description:o}),v;try{let e=this._getState()[r.key],t=a?e.getByIndex(i):null;t&&_O(e.getCoords(t)??void 0,n.CoordUtils.sanitizeRangeArray(m)??void 0)&&(r.isSameItem?.(t,f)??1)?(r.replace(t,f,{description:o}),v=t):(e=r.load(e,{r:m,v:r.prepareInsert?.(f)??f},e=>{v=e}),i<e.size()-1&&(e=e.setIndex(v,i)),this._updateState({[r.key]:e}),r.autoFit&&this._autoFit(v.getRanges().getCoords(),{expandOnly:!0,formulaView:!1})),r.notify(),_.commit({viewBefore:{view:this.getView(),selection:h,ranges:g},viewAfter:{view:this.getView(),selection:h,ranges:g}}),this._autoSelect(s,h)}catch(e){throw _.rollback(),e}return v}_addDataValidation(e,t){return this._addAnchored(e,t,{key:`dataValidations`,isItem:e=>!!e?.isIDataValidation,description:(0,n.messageKey)(`op.insertDataValidation`),load:(e,t,n)=>this._createDataValidations(e,`dataValidations`,[t],e=>{let t=new db(e);return n(t),t}),replace:(e,t,n)=>{e.update(t,n)},notify:()=>this._notifyDataValidationsChange(),autoFit:!0})}_addConditionalFormat(e,t){return this._addAnchored(e,t,{key:`conditionalFormats`,isItem:e=>!!e?.isIConditionalFormat,description:(0,n.messageKey)(`op.insertConditionalFormat`),load:(e,t,n)=>this._createConditionalFormats(e,`conditionalFormats`,[t],e=>{let t=new eb(e);return n(t),t}),isSameItem:(e,t)=>t.scale!==void 0&&e.getScale()?.type===t.scale.type,replace:(e,t,n)=>{e.update(eb.replaceModifiers(t),n)},notify:()=>this._notifyConditionalFormatsChange(),autoFit:!0})}_nextProtectedRangeName(){let e=this._getState()?.protectedRanges;if(!e)return`Range1`;for(let t=1;;t++){let n=`Range${t}`;if(!e.getByName(n))return n}}_addProtectedRange(e,t){return this._addAnchored(e,t,{key:`protectedRanges`,isItem:e=>!!e?.isIProtectedRange,description:(0,n.messageKey)(`op.insertProtectedRange`),load:(e,t,n)=>this._createProtectedRanges(e,`protectedRanges`,[t],e=>{let t=new mb(e);return n(t),t}),prepareInsert:e=>!e.name||this._getState().protectedRanges.getByName(e.name)?{...e,name:this._nextProtectedRangeName()}:e,replace:(e,t,n)=>{let r=t.name?this._getState().protectedRanges.getByName(t.name):null,i=!t.name||r&&r!==e?void 0:t.name;e.update({...t,name:i},n)},notify:()=>this._notifyProtectedRangesChange()})}createCell(e,t=null){return e?.createCell?e:(t?this.getRange(t).getCell():this._emptyCell).createCell(e)}_getBoundsAtCoords(e){let t=this._rowHeaders,n=this._colHeaders,r=n.getOffset(e.colStart),i=t.getOffset(e.rowStart);return{x:r,y:i,width:n.getOffset(e.colEnd+1)-r,height:t.getOffset(e.rowEnd+1)-i}}_getCoordsAtBounds(e){let t=this._rowHeaders,n=this._colHeaders,r=e.x,i=e.y;return{colStart:n.getIndex(r),rowStart:t.getIndex(i),colEnd:n.getIndex(r+e.width),rowEnd:t.getIndex(i+e.height)}}getRangeAtBounds(e,t){if(!e)throw new n.NullNotAllowedError;let r=this._getCoordsAtBounds(e);return this.getRange(r,t)}getRangeAt(e,t,n,r,i){return this.getRange({rowStart:e,colStart:t,rowEnd:n??e,colEnd:r??t},i)}_getVisible(e,r){return function(e,r,i){if(r.length===0)return r;let a=new Ta;a.load(r);let o=i?.axes??t.IRange.AxisSelection.Both,s=(e,t)=>{let n=a.search(e),r=n.length;for(let i=0;i<r;i++){let r=n[i],o=Dy(r,e,t);a.remove(r),a.load(o)}},c=e.getEntireCoords();if(o===t.IRange.AxisSelection.Both||o===t.IRange.AxisSelection.Row){let n=e.rowHeaders,i=r.length;for(let e=0;e<i;e++){let i=r[e];n.getRange({min:i.rowStart,max:i.rowEnd}).forEachSpan((e,n)=>{if(e!==0)return;let r=n.getCoords();s({colStart:c.colStart,rowStart:r.min,colEnd:c.colEnd,rowEnd:r.max},t.IRange.Axis.Row)})}}if(o===t.IRange.AxisSelection.Both||o===t.IRange.AxisSelection.Column){let n=e.columnHeaders,i=r.length;for(let e=0;e<i;e++){let i=r[e];n.getRange({min:i.colStart,max:i.colEnd}).forEachSpan((e,n)=>{if(e!==0)return;let r=n.getCoords();s({colStart:r.min,rowStart:c.rowStart,colEnd:r.max,rowEnd:c.rowEnd},t.IRange.Axis.Column)})}}return a.all().sort(n.CoordUtils.rowFirstRangeComparator)}(this._getReadCtx(),e,r)}_hasRangedEntries(e,t){return function(e,t,r){let i=e.state;if(!i)return!1;let a=i[t];if(!a)throw new n.ExpectedError(`Invalid range key ${t}`);return!a.isEmpty()&&a.has(r)}(this._getReadCtx(),e,t)}_getRangedEntries(e,r,i,a=!1){return function(e,r,i,a){if(i.length===0||!r||r.isEmpty())return n.CommonUtils.EmptyArray;let o=a?.spatialSort??!1,s=a?.ignoreHidden??!1,c=a?.fullyContained??!1,l=a?.onEntry??null,u=a?.onFound??null,d=a?.sort,f;d&&(f=n.CoordUtils.createRangeComparator(d.axis,d.reverse));let p=new Set,m=(e,t)=>{let n=e.length,r=u&&f?[...e].sort(f):e;for(let e=0;e<n;e++){let n=r[e];u&&u(n,t),p.add(n)}},h=i.length;for(let n=0;n<h;n++){let a=i[n];if(s){if(!0===s){let t={min:a.colStart,max:a.colEnd},n={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(n).forEachSpan((n,i)=>{let a=i.getCoords(),s=a.min,l=a.max;e.columnHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,a=n.max,u={colStart:i,rowStart:s,colEnd:a,rowEnd:l},d=r.search(u,c,o);d.length>0&&m(d,u)},Gw)},Gw)}else if(s===t.IRange.Axis.Column){let t={min:a.colStart,max:a.colEnd};e.columnHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,s=n.max,l={colStart:i,rowStart:a.rowStart,colEnd:s,rowEnd:a.rowEnd},u=r.search(l,c,o);u.length>0&&m(u,l)},Gw)}else if(s===t.IRange.Axis.Row){let t={min:a.rowStart,max:a.rowEnd};e.rowHeaders.getRange(t).forEachSpan((e,t)=>{let n=t.getCoords(),i=n.min,s=n.max,l={colStart:a.colStart,rowStart:i,colEnd:a.colEnd,rowEnd:s},u=r.search(l,c,o);u.length>0&&m(u,l)},Gw)}}else{let e=a,t=r.search(e,c,o);t.length>0&&m(t,e)}}if(p.size===0)return n.CommonUtils.EmptyArray;let g=Array.from(p.values());f&&g.sort(f);let _=[],v=new Set,y=g.length;for(let e=0;e<y;e++){let t;l&&(t=l(g[e].value,g[e])),t===void 0&&(t=g[e].value),t===null||v.has(t)||(v.add(t),_.push(t))}return _||=n.CommonUtils.EmptyArray,_}(this._getReadCtx(),e,r,a?{...i,spatialSort:!0}:i)}_processAnchorShift(e){let t=e.after,r=n.CoordUtils.sanitizeRange(e.after),i=n.CoordUtils.sanitizeRange(e.before);e.after&&this._validateCoords(r,(0,n.t)(`error.sheet.insertItemOob`));let a=e.before.value.callbacks?.processShift?.({...e,after:r,before:i});return a&&(gO(a,r)||(t||=e.before,t={...t,...a})),t}_processListenerShift(e,t,r,i){if(i.isSplit||i.before.value.options.ignoreShifts)return[i.before];let a=null;i.after&&(a=n.CoordUtils.intersectRanges(n.CoordUtils.sanitizeRange(i.after),this._getEntireCoords()),{...i.after},a.colStart,a.rowStart,a.colEnd,a.rowEnd);let o=i.before.value,s=o.id,c=e.get(s),l={...c},u=[...c.ranges];l.ranges=u,u[o.offset]=a?{...u[o.offset],...a}:null,e.set(s,l);let d=r.get(s);t.set(s,{beforeState:d,afterState:l})}delete(){if(this._closed)return;try{this._notify(`onBeforeDelete`)}catch(e){throw e instanceof Error?e:new n.ExpectedError(e.message??(0,n.t)(`error.sheet.modelDelete`))}let e=this._beginCommit({description:(0,n.t)(`op.deleteSheet`,{name:this.getName()})}),r=this._getState(),i=r.rangeListenerSpatial,a=r.rangesListenerMap,o=new Map;i=i.shift({range:this._getEntireCoords(),direction:t.IRange.Direction.Left,cloneIfUpdate:i===r.rangeListenerSpatial,onShift:e=>{a===r.rangesListenerMap&&(a=new Map(a)),this._processListenerShift(a,o,r.rangesListenerMap,e)}}),this._updateState({rangeListenerSpatial:i,rangesListenerMap:a,deleted:!0});let s=r.calcGrid.clone();s.delete(),this._updateState({calcGrid:s}),this._deleteCells([this._getEntireCoords()]),this._notify(`onDelete`),this._rangesListenerMap.forEach((e,t)=>{o.set(t,{beforeState:e,afterState:null})}),e.commit({viewAfter:e=>({...e,view:this.getView(),selection:this.getSelection().getCoords(),listeners:o})})}doBatch(e,t){let r=this;return t=typeof t==`string`?{description:t}:{description:(0,n.messageKey)(`op.updateSheet`),...t},this._transactions.doBatch(e,t,(e,n)=>{if(e.getDepth()===0&&(r._lastTransactionUUID=e.getId(),t?.autoSelect)){let t=e.getView()?.selection;t&&r._autoSelect(!0,t)}})}isDeleted(){let e=this._getState();return!e||e?.deleted}isClosed(){return this._closed}close(){if(this._closed)return;this._protectionRemoveListener?.(),this._protection=new O_(void 0,this._options.readonly);let e=this._getState();e.tables.close(),e.autoTables.close(),this._searchMovables().forEach(e=>{e.close()}),this._notify(`onClose`),this._ownResources,this._namesRemoveListener?.(),this._ownNames&&this._names.close(),this._ownCalculation&&this._calculation.close(),this._ownStyles,this._colHeaders.close(),this._rowHeaders.close(),this._emitter.close(),this._transactionsRemoveListener?.(),this._closed=!0}beginCommit(e){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));return this._beginCommit(typeof e==`string`?{description:e}:e)}_getState(){return this._closed?null:this._transactions.getState(this._stateId)}_getStateId(){return this._stateId}_beginCommit(e){let t=this;return this._transactions.beginCommit(e,e=>{e.getDepth()===0&&(t._lastTransactionUUID=e.getId())})}_updateState(e,t){if(!e)return;this._lastGetRangeRead=null;let n=this._transactions.beginCommit(t),r;try{r=n.updateState(this._stateId,e),n.commit()}catch(e){throw n.rollback(),e}return r}_addEvent(e,t){let n=this.getTransactions().getPendingView();if(!n)return;let r=n.events;if(r||(r={},n.events=r),e===`address`){let e=r.address;if(e||(e=new Map,r.address=e),typeof t==`string`)e.set(t,null);else{let n=t;if(n.options.ignoreAddressChanges)return;e.set(n.uuid,t)}}else if(e===`data`)if(typeof t==`string`){let e=r.dataListeners;e||(e=new Map,r.dataListeners=e),e.set(t,null)}else{let e=r.data;e||(e=[],r.data=e),e.push(t)}}_getScalar(e,t,r=!1){let i=this._getState(),a;if(a===void 0&&(a=i.cellValuesGrid.getValueAt(e,t)),a===void 0)return null;let o=a;if(r&&typeof o==`number`){let r=!1;hD.colStart=t,hD.rowStart=e,hD.colEnd=t,hD.rowEnd=e;let a=this._lastValueRead,s=this._lastValueRead.range;if(s&&n.CoordUtils.isRangeWithinRange(hD,s))r=a.isDateOrTime;else{let e=i.dateFormatSpatial.search(hD);r=e.length>0,r&&(a.range=e[0],a.isDateOrTime=!0)}r&&(o=mr(o,this._isDate1904))}return o}_markColumnHeaderTableNames(){let e=this._getState();if(!e)return;let t=this.getView().getColumnHeaderTableNames(),r=this._cacheTableColumnHeaders,i=r.showInHeader,a=e.tables;if(t===lb.ColumnHeaderTableNames.None||a.isEmpty())return void(r.table&&(r.table=null,r.showInHeader=!1,r.tableMin=-1,r.tableMax=-1,r.lastTop=-1,r.lastColIndex=-1,r.lastRowIndex=-1,i&&this._notify(`onViewChange`)));let o=this.getSelection().getCoords().cell,s=o.colIndex,c=o.rowIndex,l=s!==r.lastColIndex||c!==r.lastRowIndex,u=r.table,d;if(l?(r.lastColIndex=s,r.lastRowIndex=c,u&&n.CoordUtils.isCellWithinRange(o,u.getRange().getCoords())?d=u:(xD.colStart=s,xD.rowStart=c,xD.colEnd=s,xD.rowEnd=c,d=a.search(xD)[0]?.value??null)):d=u,!d)return r.showInHeader=!1,r.table=null,r.tableMin=-1,r.tableMax=-1,void(i&&this._notify(`onViewChange`));r.table=d;let f=d.getRange().getCoords();if(!f)return;let p;if(r.tableMin=f.colStart,r.tableMax=f.colEnd,t===lb.ColumnHeaderTableNames.Sticky){let e=r.lastTop,t=this.getView(),i=t.getFreezePanes(),a=((i.coords?.rowIndex??0)>0?i.topLeft:t.getTopLeft())?.top??e;if(e===a&&u===d)return;r.lastTop=a;let o={colIndex:f.colStart,rowIndex:this.getRowHeaders().getIndex(a)-1};p=n.CoordUtils.isCellWithinRange(o,f)}else t===lb.ColumnHeaderTableNames.Hidden&&(p=d.isITable&&!d.isHeaderVisible());r.showInHeader=p,p!==i&&this._notify(`onViewChange`)}_getCellAt(e,r){let i=this._getState();if(!i)return this._emptyCell;let a={rowIndex:e,colIndex:r},o=i.cellValuesGrid.getValueAt(e,r),s=o===void 0?null:o,c=[];this._collectRanges(n.CoordUtils.cellToRange(a),c);let l=mO(c);if(l&&Object.keys(l).length===0&&(l=null),s===null&&!l)return new IC(this._cellOptions,a);let u=s===null?t.ScalarType.Null:RO(s);return new IC(this._cellOptions,a,u,s,l)}_queryStyle(e,t,r){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));SD.length=0;let i=SD;return this._collectRanges(e,i),AC(null,e,mO(i),t,!0,r)}_getStyle(e,t,n){let r;if(t)r={colStart:t.cell.colIndex,rowStart:t.cell.rowIndex,colEnd:t.cell.colIndex,rowEnd:t.cell.rowIndex};else{let t=e[0];r={colStart:t.colStart,rowStart:t.rowStart,colEnd:t.colStart,rowEnd:t.rowStart}}let i=e.length===1?e[0]:void 0,a=this,o=this._cellOptions;return o={...o,styleUpdater:(t,s)=>(n?n(t,s):a._updateStyles(e,t,s),a._queryStyle(r,o,i))},a._queryStyle(r,o,i)}_initHeadersState(e,n){let r=this;this._cacheTableColumnHeaders={table:null,showInHeader:!1,tableMin:-1,tableMax:-1,lastTop:0,lastColIndex:-1,lastRowIndex:-1},this._defaultFontBoundsCache=null,this._defaultColWidthCache=0,this._defaultRowHeightCache=0,this._colHeadersRemoveListener?.(),this._colHeadersHiddenRemoveListener?.(),this._colHeaders=new Bw({sheet:r,json:e,axis:t.IRange.Axis.Column,transactions:this._transactions,isProtected:()=>!r._initializing&&!r.getProtection().isFormatColumnsAllowed(),getColumnAt:e=>{let t=r._cacheTableColumnHeaders;if(!t.showInHeader||e>t.tableMax||e<t.tableMin)return null;let n=e-t.tableMin;return t.table.getColumnAt(n)},getTextAt:e=>{let t=r._cacheTableColumnHeaders;if(t.showInHeader&&e<=t.tableMax&&e>=t.tableMin){let n=t.table.getColumns()[e-t.tableMin];if(n&&n.getName()!==void 0)return n.getName()}let n=this.getView().getColumnHeaderStyle();return n===lb.HeaderTextStyle.A1?ED(e):n===lb.HeaderTextStyle.Zero?TD(e):n===lb.HeaderTextStyle.One?DD(e):void 0},defaultSize:()=>this._defaultColWidth(),scaleFactor:()=>{let e=this.getView().isShowFormulas()?2:1;return Math.round(this._defaultFontDims().width)*e},maxSize:()=>255,getEntireSheetCoords:()=>r._getEntireCoords(),setContainerShiftedCallback:e=>{this._colHeadersShiftCallback=e}}),this._colHeadersRemoveListener=this._colHeaders.addListeners(this._colHeadersListener,{transactional:!0}),this._colHeadersHiddenRemoveListener=this._colHeaders.addListeners({onHiddenChange:()=>{r._notify(`onColumnsHiddenChange`)}},{transactional:!1}),this._rowHeadersRemoveListener?.(),this._rowHeadersHiddenRemoveListener?.();let i=U.getDeviceScale();this._rowHeaders=new Bw({sheet:r,json:n,axis:t.IRange.Axis.Row,transactions:this._transactions,isProtected:()=>!r._initializing&&!r.getProtection().isFormatRowsAllowed(),getTextAt:e=>{let t=this.getView().getRowHeaderStyle();return t===lb.HeaderTextStyle.One?DD(e):t===lb.HeaderTextStyle.Zero?TD(e):t===lb.HeaderTextStyle.A1?ED(e):void 0},defaultSize:()=>this._defaultRowHeight(),scaleFactor:()=>i,minSize:()=>0,maxSize:()=>409,getEntireSheetCoords:()=>r._getEntireCoords(),setContainerShiftedCallback:e=>{this._rowHeadersShiftCallback=e}}),this._rowHeadersRemoveListener=this._rowHeaders.addListeners(this._rowHeadersListener,{transactional:!0}),this._rowHeadersHiddenRemoveListener=this._rowHeaders.addListeners({onHiddenChange:()=>{r._notify(`onRowsHiddenChange`)}},{transactional:!1})}_invalidateCaches(){this._lastCellDecoded.address=null,this._lastCellSelected.coords=null,this._lastCellRead.coords=null,this._lastValueRead.range=null,this._cellOptions?.renderCellCache?.clear(),this._lastGetRangeRead={},this._lastUsedCoordsRead.coords=null,this._lastRangeRead.address=null,this._entireCoordsCache=null,this._entireRangeCache=null}_initListenerState(){let e=this,r=()=>{e._invalidateCaches()};this._transactionsRemoveListener=this._transactions.addStateListener(this._stateId,{onBeforeCommitStart(t,r,i){if(!e._initializing&&!r?.skipProtectionCheck&&e.getProtection().isLocked())throw new n.ExpectedError((0,n.t)(`error.sheet.protectedSheet`))},async onBeforeCommitEnd(t,n,r){let i=()=>r.getId();if(n?.ranges){let a={isDataChange:!0,getTransactionId:i,timeStamp:r.getTimestamp(),trigger:`setCells`},o=t.rangeListenerSpatial,s=t.rangesListenerMap;e._notifyRangeListeners(o,s,n.ranges,a)}if(n?.listeners){let a={isDataChange:!1,getTransactionId:i,timeStamp:r.getTimestamp(),trigger:`shiftCells`},o=t.rangeListenerSpatial,s=t.rangesListenerMap;e._notifyRangeListeners(o,s,n.ranges,a)}},async onRestoreOrRevert(t,n,i,a){r();let o=()=>i.getId();e._calculateFull(),e._rangeStats=e._rangeStats.clone(t.cellValuesGrid),n&&(n===e.getView()&&n.selection&&e._autoSelect(n.selectOptions??!0,n.selection),n.freezePanes&&e.getView().setFreezePanes({coords:n.freezePanes}),n.movableSelection&&e.getView().selectMovables(n.movableSelection)),e._notify(`onViewChange`),e._notify(`onInvalidated`),e._emitterMovables.notify(`onInvalidated`),e._notifyUsedRangeChange();let s=e._rangesListenerMap;if(s.size>0){let t={isDataChange:!0,getTransactionId:o,timeStamp:i.getTimestamp(),isUndo:a,isRestoreOrRevert:!0,trigger:`invalidate`},n=e._rangeListenerSpatial,r=new Set;s.forEach((i,a)=>{let o=i.id;if(r.has(o))return;let c=i.ranges;c&&(r.add(o),e._notifyRangeListeners(n,s,c,t))})}},async onAfterStateChange(t,n,i,a,o){let s=()=>i.getId();r(),n&&i.getId()!==e._lastTransactionUUID&&n.view===e.getView()&&n.selection&&(a||o)&&e._autoSelect(n.selectOptions??!0,n.selection),e._lastTransactionUUID=i.getId(),n?.merges&&e._notify(`onMergesChange`),n?.spills&&e._notify(`onSpillsChange`);let c=e._rangesListenerSorted;if(c.size>0){e._notifyUsedRangeChange();let r=new Set,l=t.rangesListenerMap2,u={getTransactionId:s,timeStamp:i.getTimestamp()};if((o||a)&&(u.trigger=`restore`,e._notifyAddressListeners(l,l,r,u),c.size>l.size)){let e=c.values(),t=e.next(),n=!1;for(;!n&&!t.done;){let r=t.value;n=l.has(r.uuid),n||(r.notify(u,`#N/A`),t=e.next())}}let d=n?.events;d&&(d.address&&(u.trigger=`address`,e._notifyAddressListeners(l,d.address,r,u)),d.dataListeners&&(u.trigger=`data`,e._notifyAddressListeners(l,d.dataListeners,r,u)),d.data&&(u.trigger=`data`,e._notifyDataListeners(t.rangesListenerSpatial2,t.rangesListenerMap2,d.data,r,u)))}if(n&&!n.initial&&((a||o||!n.calculationSideEffect)&&n.ranges&&((a||o)&&t.calcGrid.markDirtyRegions(n.ranges),t.calcGrid.calculate()),n.ranges)){e._notifyUsedRangeChange();let t=e._rangesListenerMap;if(t.size>0){let r={isDataChange:!0,getTransactionId:s,timeStamp:i.getTimestamp(),isUndo:a,trigger:`setCells`};e._notifyRangeListeners(e._rangeListenerSpatial,t,n.ranges,r)}e._notify(`onDataChange`)}},onClose(){let t=e._getState();t&&t.movableSpatial.clear()}}),this._colHeadersListener={onSizesChange:t=>{e._isAdjustHeaders||e._processLayoutChange()}},this._rowHeadersListener={onSizesChange:t=>{e._isAdjustHeaders||e._processLayoutChange()}};let i=new Set,a={onTopLeftChange(t){e._markColumnHeaderTableNames(),e._notify(`onTopLeftChange`)},onZoomScaleChange(t){e._notify(`onZoomScaleChange`)},onFreezePaneChange(t){e._notify(`onFreezePaneChange`)},onHeaderChange(t){e._markColumnHeaderTableNames(),e._notify(`onNameChange`)},onSelectionChange(t){e._markColumnHeaderTableNames(),e._notify(`onSelectionChange`)},onMovableSelectionChange(t){let n=t.getMovableSelection(),r=new Map,a=new Set,o=e._getState().movableMapModel,s=n.length;for(let e=0;e<s;e++){let t=n[e];i.has(t)?i.delete(t):r.set(t,e),a.add(t)}i.forEach(e=>{o.get(e)?.value?.callbacks.processSelection(!1,!1)}),r.forEach((e,t)=>{o.get(t)?.value?.callbacks.processSelection(!0,e===0)}),i=a,e._notify(`onMovableSelectionChange`)},onAnyChange(){e._defaultColWidthCache=0,e._defaultRowHeightCache=0,e._defaultFontBoundsCache=null,e._notify(`onLayoutChange`),e._notify(`onViewChange`)}};this._viewListener=a,this._protectionListener={onChange(){if(e._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));e._getState().movableMapModel.forEach(e=>{e.value?.callbacks.processProtection?.()}),e._getState().tables.processCallbacks((e,t)=>{t.processProtection?.()}),e._notify(`onProtectionChange`)}},this._stylesListener={onAnyChange(){e._defaultColWidthCache=0,e._defaultRowHeightCache=0,e._defaultFontBoundsCache=null,e._notify(`onLayoutChange`),e._notify(`onStyleChange`),e._notify(`onViewChange`);let n=e._getEntireCoords();e._autoFit([n],{axes:t.IRange.AxisSelection.Both,skipCustomSize:!0,expandOnly:!0,formulaView:!1})}}}_initViewState(e,r){this._lastGetRangeRead=null,this._lastCellDecoded.address=null,this._lastCellSelected.coords=null,this._lastCellRead.coords=null,this._cellOptions?.renderCellCache?.clear(),this._entireCoordsCache=e,this._entireRangeCache=null;let i=this;this._protectionRemoveListener?.(),this._protection=new O_(void 0,this._options.readonly),this._protectionRemoveListener=this._protection.addListeners(this._protectionListener),this._stylesRemoveListener?.(),this._stylesRemoveListener=this._styles.addListeners(this._stylesListener),this._viewRemoveListener?.();let a=new YT({sheet:this,json:r});this._view=a,this._viewRemoveListener=a.addListeners(this._viewListener,{transactional:!1}),this._rangeListenerSpatial=new Ta,this._rangesListenerMap=new Map,this._rangesListenerSorted=new hi,this._getEntireCoords.bind(this);let o=e=>{let t=i._getState().rangesListenerSpatial2;if(t.isEmpty())return;let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=t.search(n),o=a.length;for(let e=0;e<o;e++){let t=a[e].value.groupId;i._addEvent(`data`,t)}}},s=this._calculation._createCalcGrid({onCalculated(e){i._realizeCalcedValues(e)},getEntireCoords:()=>i._getEntireCoords(),getSheetName:()=>i.getName(),uuid:i.getId()});s.addListeners({onStart(e){},onInvalidate:()=>{}});let c={getRanges:(e,t)=>{if(!e)return new XD(this);let n=this._rangesToCoords(e);return i._createRanges(n,t)},getEntireRange:i.getEntireRange.bind(i)},l=new ro({axis:this._isDataColumn?t.IRange.Axis.Column:t.IRange.Axis.Row});this._rangeStats=new Lk(this._runtime,l,null),this._updateState({rangesListenerSpatial2:new Ta({updateEntryOptions:{onShifted:e=>{let t=i._getState().rangesListenerMap2;if(t.size===0)return;t=new Map(t);let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=n.value.groupId,o=t.get(a);o=o.processShift(n),i._addEvent(`address`,o),t.set(a,o)}i._updateState({rangesListenerMap2:t})},onRemoved:e=>{let t=i._getState().rangesListenerMap2;if(t.size===0)return;t=new Map(t);let n=e.length;for(let r=0;r<n;r++){let n=e[r],a=n.value.groupId,o=t.get(a);o=o.processRemove(n),i._addEvent(`address`,o),t.set(a,o)}i._updateState({rangesListenerMap2:t})}}}),rangesListenerMap2:new Map,cellValuesGrid:l,spillSpatial:new Ta,pendingSpatial:new Ta,calcErrorsSpatial:new Ta,circularSpatial:new Ta,errorSpatial:new Ta({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),calcGrid:s,borderSpatial:new Hw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),fillSpatial:new Hw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),contentSpatial:new Hw({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0,onUpdated:o,onRemoved:o},entireCoords:e}),continuousFillSpatial:new Ta({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),dateFormatSpatial:new Ta({updateEntryOptions:{isMergeOnShift:!0,isTrailingEdge:!0}}),mergeSpatial:new Hw({updateEntryOptions:{getShifted(e,t,n){let r=Cg(n,i._getEntireCoords());return r?{...r,value:new Tx(r,e.value._tvTl)}:null},getSplit(e,t){throw new n.ExpectedError((0,n.t)(`error.sheet.insertMergeThrough`))},onUpdated:o,onRemoved:o},entireCoords:e}),movableMapModel:new Map,movableSpatial:new Ta({updateEntryOptions:{getShifted(e,t,n){let r=e.value.callbacks.processShift?.(n),a=null,o=new Map(i._getState().movableMapModel),s=e.value.model;return r?(a={...r,value:{...e.value}},o.set(s,a)):o.delete(s),i._updateState({movableMapModel:o}),a}}}),picture:null,hyperlinkSpatial:new Ta({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0}}),commentsSpatial:new Ta({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0,onUpdated:o,onRemoved:o}}),autoTables:new ev(c),tables:new ev(c),conditionalFormats:new ev(c),dataValidations:new ev(c),protectedRanges:new ev(c),entireCoords:{colStart:0,rowStart:0,colEnd:wD.width-1,rowEnd:wD.height-1},rangeListenerSpatial:new Ta,rangesListenerMap:new Map,contentfulSpatial:new Ta({updateEntryOptions:{isSplitOnExpand:!0,isMergeOnShift:!0,onShifted:e=>{let t=this._getEntireCoords(),n=t.rowEnd,r=t.colEnd,a=i._getState().rangesListenerSpatial2;if(a.size()===0)return;let o=e.length;for(let t=0;t<o;t++){let o=e[t],s=a.search({colStart:o.colStart,rowStart:o.rowStart,colEnd:r,rowEnd:n}),c=s.length;for(let e=0;e<c;e++){let t=s[e].value.groupId;i._addEvent(`data`,t)}}},onRemoved:o,onUpdated:o}}),deleted:!1})}_initCellState(){let e=this,r={colStart:0,rowStart:0,colEnd:0,rowEnd:0},i=[r],a={ignoreHidden:!0,sort:{axis:t.IRange.Axis.Column,reverse:!1}};this._cellOptions={runtime:this._runtime,renderCellCache:new V_({max:pD}),doBatchCalcGrid:(t,n)=>{let r=this._getState(),i=this._beginCommit(n);try{let n=r.calcGrid.clone(),a=t(n);e._updateState({calcGrid:n}),e._commitAndAutoSelect(i,null,!1,{viewAfter:{ranges:[a]}})}catch(e){throw i.rollback(),e}},sheet:this,normalStyleRanged:this._normalStyleRanged,colHeaders:this._colHeaders,styles:this._styles,getRange:this.getRange.bind(this),getRanges:this.getRanges.bind(this),getProtection:this.getProtection.bind(this),getCalcGrid:()=>this._getState().calcGrid,dependencyRanges:this._dependencyRanges.bind(this),resolveSheetScope:e=>this._resolveSheetScope(e),autoCorrect:(e,t)=>this.getCalculation().createFormula(e,{...t,scope:this.getName()}).autoCorrect(),createAt:(e,t)=>this.getCalculation().createFormula(e,{...t,scope:this.getName()}),nextContentful:(t,o,s=!1)=>{r.colStart=s?o:t.colIndex+1,r.rowStart=t.rowIndex,r.colEnd=s?t.colIndex-1:o,r.rowEnd=t.rowIndex,a.sort.reverse=s;let c=e._getState();if(!c)return n.CommonUtils.EmptyArray;let l=e._getRangedEntries(c.contentfulSpatial,i,a);if(!l||l.length===0)return o;let u=l[0],d=s?u.getState().colStart:u.getState().colEnd;return s?Math.min(d+1,t.colIndex):Math.max(d-1,t.colIndex)},styleUpdater:(t,n,r)=>{let i=[r];return e._updateStyles(i,t,n),e._getStyle(i)},opener:async(e,t,n,r)=>{if(e.startsWith(`#`)){e=e.substring(1);let n=this._rangesToCoords(e),r=n[0]?.scope;if(r&&r!==this.getName()){let n=this.getWorkbook()?.getSheets().getByName(r)??null;return!!n&&(await n.getRanges(e).select(t??!0),!0)}return await this._autoSelect(t??!0,zy(n)),!0}{let t=this._options.opener;return t?t(e,n??`_blank`,r):n===`_self`&&Z_(e)&&(e=>{if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`iframe`);return t.style.display=`none`,t.setAttribute(`aria-hidden`,`true`),t.src=e,document.body.appendChild(t),setTimeout(()=>t.remove(),5e3),!0})(e)||window.open(e,n??`_blank`,r),!0}}},this._emptyCell=new LC(this._cellOptions)}_createTables(e,t,r,i,a){let o=this,s=()=>{let e=o._cacheTableColumnHeaders;e.lastRowIndex=-1,e.lastColIndex=-1,o._markColumnHeaderTableNames()};a||=e=>e.addListeners({onAnchorCoordsChange(){s(),o._notify(`onTablesChange`)},onSortChange(){o._notify(`onTablesChange`)},onFilterChange(){o._notify(`onTablesChange`)},onHiddenButtonsChange(){o._notify(`onTablesChange`)},onStyleChange(){o._notify(`onStyleChange`)},onDelete(e){s(),o._notify(`onTablesChange`),o._notify(`onStyleChange`)}},{transactional:!1});let c={createModel:e=>i({transactions:o._transactions,sheet:o,names:o._names,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),processTableUpdate(){o._notifyUsedRangeChange()},...e}),addListeners:a,setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.resizeTable`);o._protectionCheck(()=>[`objects`],r,a);let s=r[0];o._validateOrRemoveOverlaps(s,`table`,e);let c=o._beginCommit({description:a}),l=o._getState()?.[t];l=l.setCoords(e,[s]),o._updateState({[t]:l}),c.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},setContainerName(e,r,i){let a=i?.description??(0,n.messageKey)(`op.setTableName`);o._protectionCheck(()=>[`objects`],void 0,a);let s=o._beginCommit({description:a});try{let a=o._getState()?.[t];if(a.getByName(r))throw new n.ExpectedError((e=>(0,n.t)(`error.sheet.uniqueName`,{name:e}))(r));a=a.setName(e,r),o._updateState({[t]:a},i),s.commit()}catch(e){throw s.rollback(),e}},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteTableNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),c=o._getState()?.[t];c=c.deleteModel(e),o._updateState({[t]:c}),o._notify(`onTablesChange`),o._notify(`onLayoutChange`),s(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:zy(e.getRanges().getCoords())}})}};return e.load(r,c)}_createDataValidations(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyDataValidationsChange()},onDelete(e){o._notifyDataValidationsChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),getGridValues:()=>o._getState().cellValuesGrid,getRuntime:()=>o.getRuntime(),getCalculation:()=>o._calculation??null,...e}),addListeners:a,invalidate(e){o._addEvent(`data`,e),o._notifyUsedRangeChange(),o._notifyDataValidationsChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateDataValidations`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyDataValidationsChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderDataValidations`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyDataValidationsChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteDataValidationNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyDataValidationsChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:zy(e.getRanges().getCoords())}})}};return e.load(r,s)}_createConditionalFormats(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyConditionalFormatsChange()},onDelete(e){o._notifyConditionalFormatsChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,sheet:o,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),getGridValues:()=>o._getState().cellValuesGrid,getRuntime:()=>o.getRuntime(),getCalculation:()=>o._calculation??null,...e}),addListeners:a,invalidate(e){o._invalidateCaches(),o._addEvent(`data`,e),o._notifyUsedRangeChange(),o._notifyConditionalFormatsChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateConditionalFormat`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyConditionalFormatsChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderConditionalFormat`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyConditionalFormatsChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteConditionalFormatNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyConditionalFormatsChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:zy(e.getRanges().getCoords())}})}};return e.load(r,s)}_createProtectedRanges(e,t,r,i,a){let o=this;a||=e=>e.addListeners({onAnchorCoordsChange(){o._notifyProtectedRangesChange()},onConfigChange(){o._notifyProtectedRangesChange()},onDelete(e){o._notifyProtectedRangesChange()}},{transactional:!1});let s={createModel:e=>i({transactions:o._transactions,isProtected:()=>!o._initializing&&!o.getProtection().isObjectsAllowed(),...e}),addListeners:a,invalidate(e){o._addEvent(`data`,e),o._notifyProtectedRangesChange()},setContainerCoords(e,r,i){let a=i?.description??(0,n.messageKey)(`op.updateProtectedRanges`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a),o._protectionCheck(()=>[`objects`],r,a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setCoords(e,r),o._updateState({[t]:c}),o._notifyProtectedRangesChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},setContainerName(e,r,i){let a=i?.description??(0,n.messageKey)(`op.setProtectedRangeName`);o._protectionCheck(()=>[`objects`],void 0,a);let s=o._beginCommit({description:a});try{let a=o._getState()?.[t],c=a.getByName(r);if(c&&c!==e)throw new n.ExpectedError((0,n.t)(`error.protectedRange.uniqueName`,{name:r}));a=a.setName(e,r),o._updateState({[t]:a},i),o._notifyProtectedRangesChange(),s.commit()}catch(e){throw s.rollback(),e}},getContainerIndex:e=>(o._getState()?.[t]).getIndex(e)??-1,setContainerIndex(e,r,i){let a=i?.description??(0,n.messageKey)(`op.reorderProtectedRange`);o._protectionCheck(()=>[`objects`],e.getRanges().getCoords(),a);let s=o._beginCommit({description:a}),c=o._getState()?.[t];c=c.setIndex(e,r),o._updateState({[t]:c}),o._notifyProtectedRangesChange(),s.commit({viewAfter:{view:o.getView(),selection:zy(e.getRanges().getCoords())}})},deleteFromContainer(e,r){let i=r?.description??(0,n.t)(`op.deleteProtectedRangeNamed`,{name:e.getName?.()});o._protectionCheck(()=>[`objects`],void 0,i);let a=o._beginCommit({description:i}),s=o._getState()?.[t];s=s.deleteModel(e),o._updateState({[t]:s}),o._notifyProtectedRangesChange(),a.commit({viewAfter:{sheet:o,view:o.getView(),selection:zy(e.getRanges().getCoords())}})}};return e.load(r,s)}_createMovableEntry(e,t,r){let i=null;if(e?.anchor)i={colStart:e.anchor.tl?.c??0,rowStart:e.anchor.tl?.r??0,colEnd:e.anchor.br?.c??0,rowEnd:e.anchor.br?.r??0},e.anchor.br?.x||--i.colEnd,e.anchor.br?.y||--i.rowEnd;else{let e=this.getSelection().getRange().getCoords();i={colStart:e.colStart,rowStart:e.rowStart,colEnd:e.colEnd,rowEnd:e.rowEnd}}let a={model:null,callbacks:{processShift:null,processAfterShift:null,processLayout:null,processDelete:null,processZIndex:null,processSelection:null,processProtection:null},zIndex:t},o={...i,value:a},s=()=>a.model?l._getState()?.movableMapModel?.get(a.model):o,c=(e,t,r=!0)=>{if(d)return;let i=s();if(!i)return;let a=t??(0,n.messageKey)(`op.updateDrawing`);l._protectionCheck(()=>[`objects`],void 0,a);let c=l._beginCommit({description:a}),u=(l._getState()?.movableSpatial).clone(),f=l._getState()?.movableMapModel,p=new Map(f);!1!==e(i,u,p)&&(l._updateState({movableSpatial:u,movableMapModel:p}),r&&(l._emitterMovables.notify(`onCollectionChange`,{source:l,transactional:!0}),l._notify(`onMovablesChange`)),c.commit({viewAfter:e=>{if(o.value.model.isSelected()&&!e?.movableSelection?.includes(o.value.model)){let t=[...e?.movableSelection??[]];return t.push(o.value.model),{...e,view:this.getView(),movableSelection:t}}return e}}))},l=this,u=e.content.type,d=!0,f=(e,t,n,r)=>{let i=n.all().sort((e,t)=>e.value.zIndex-t.value.zIndex),a=t.value.zIndex;if((e=Math.max(0,Math.min(i.length-1,e)))===a)return!1;let o=[],s=[],c=[],l=a<e,u=t=>{let n=i[t];o.push(n);let u={...n,value:{...n.value,zIndex:l?t-1:t+1}};n.value.zIndex===a&&(u.value.zIndex=e),s.push(u),r.set(u.value.model,u),c.push(u)};if(l)for(let t=a;t<=e;t++)u(t);else for(let t=a;t>=e;t--)u(t);let d=o.length;for(let e=0;e<d;e++)n.remove(o[e],AD);n.load(s);let f=c.length;for(let e=0;e<f;e++)c[e].value.callbacks.processZIndex?.()},p=()=>l._resources.beginPersist(),m=u===`picture`,h={content:null,fromResourceId:r,defaultLockAspectRatio:m,beginPersistResource:p,getMaxBounds:()=>l._getBoundsAtCoords(l._getEntireCoords()),getRanges:e=>l.getRanges(e),runtime:this._runtime,transactions:this._transactions,getBoundsAtCoords:l._getBoundsAtCoords.bind(l),getCoordsAtBounds:l._getCoordsAtBounds.bind(l),scrollIntoView:async e=>{let t=s()?.value?.model;return!!t&&l._selectSheet(t.getRange().getCoords(),e)},select:async e=>{let t=s()?.value?.model;if(!t)return!1;try{l.getView().selectMovables([t],e?.addToSelection)}catch(e){return console.warn(e),!1}let n=await l._selectSheet(t.getRange().getCoords(),e?.scrollIntoView);return!e?.scrollIntoView||!1!==n},unselect:()=>{let e=s()?.value?.model;return!!e&&(l.getView().unselectMovables([e]),!0)},isSelected(){let e=s()?.value?.model;return!!e&&l.getView().getMovableSelection().includes(e)},moveToBackOnContainer:()=>{c((e,t,n)=>f(0,e,t,n),(0,n.messageKey)(`op.moveToBack`))},moveBackwardOnContainer:()=>{c((e,t,n)=>f(e.value.zIndex-1,e,t,n),(0,n.messageKey)(`op.moveBackwards`))},moveForwardOnContainer(){c((e,t,n)=>f(e.value.zIndex+1,e,t,n),(0,n.messageKey)(`op.moveForward`))},moveToFrontOnContainer(){c((e,t,n)=>f(t.size()-1,e,t,n),(0,n.messageKey)(`op.moveToFront`))},getZIndex:()=>s()?.value?.zIndex??0,getContainerIndex:()=>s()?.value?.zIndex??0,setContainerIndex(e,t){c((t,n,r)=>f(e,t,n,r),t?.description??(0,n.messageKey)(`op.setIndex`))},setContainerCoords(e,t){if(!e)return;let r=l._rangesToCoords(e,()=>[`objects`]),i=r[0];return o.colStart=i.colStart,o.rowStart=i.rowStart,o.colEnd=i.colEnd,o.rowEnd=i.rowEnd,c((e,t,n)=>{let r={...e,...i};t.remove(e,AD),t.insert(r),n.set(r.value.model,r)},(0,n.messageKey)(`op.updateDrawing`),!1),r},deleteFromContainer(e){let t=s();t?.value&&l.getView().unselectMovables([t.value.model]);let r=[];c((e,t,n)=>{n.delete(e.value.model),t.remove(e,AD),e.value.callbacks.processDelete?.(),r.push(e);let i=e.value.model.getZIndex(),a=t.all().sort((e,t)=>e.value.zIndex-t.value.zIndex),o=[],s=[],c=a.length;for(let e=i+1;e<c;e++){let t=a[e];o.push(t);let r={...t,value:{...t.value,zIndex:e-1}};s.push(r),n.set(r.value.model,r)}let l=o.length;for(let e=0;e<l;e++)t.remove(o[e],AD);t.load(s)},e?.description??(0,n.messageKey)(`op.deleteDrawing`),!0);let i=r.length;for(let e=0;e<i;e++)r[e].value.callbacks.processZIndex?.()},setContainerCallbacks(e){let t=s()?.value??a;t&&(t.callbacks={...t.callbacks,...e},t.removeListener?.())},isProtected:()=>!l._initializing&&!l.getProtection().isObjectsAllowed(),coords:i,getEntireRange:l.getEntireRange.bind(l),json:e},g=e.content.json,_={type:u,transactions:this._transactions,beginPersistResource:p,fromResourceId:r,defaultLockAspectRatio:m,json:g,getName:()=>e.name??``},v=null;return u===`picture`?v=new by(_):u===`chart`?v=new xy(_):u===`sp`||u===`cxnSp`||u===`grpSp`?v=new Sy(_):u===`relIds`?v=new wy({..._,type:`smartArt`}):u===`slicer`?v=new Cy({..._,name:e.name}):(u===`graphicFrame`||console.warn((e=>(0,n.t)(`error.sheet.unsupportedFloatingType`,{type:e}))(u)),v=new wy(_)),a.model=new py({...h,content:v}),d=!1,o}_fromJSON(e,r=!1){this._initializing=!0,this._emitter.notify(`onBeforeLoad`,{params:e});let i=this._beginCommit({description:(0,n.messageKey)(`op.loadSheet`),viewAfter:{initial:!0,skipProtectionCheck:!0}}),a=e||{},s=this._strings,c=s.beginPersist(),l=this._resources.beginPersist(),u=this._styles.beginPersist();try{this._ownStrings&&c.fromJSON(a.strings),this._ownResources&&l.fromJSON(a.resources),this._ownStyles&&u.fromJSON(a.styles);let e={colStart:0,rowStart:0,colEnd:wD.width-1,rowEnd:wD.height-1},d=a.entireSize;d&&(e=Object.freeze({colStart:0,rowStart:0,colEnd:(d.width??wD.width)-1,rowEnd:(d.height??wD.height)-1}));let f=EO(a.cols,t.IRange.Axis.Column,e),p=EO(a.rows,t.IRange.Axis.Row,e);this._initHeadersState({headers:a.cols,defaultSize:a.defaultColSize},{headers:a.rows,defaultSize:a.defaultRowSize}),this._initViewState(e,a.view),this._colHeaders.invalidate(),this._rowHeaders.invalidate(),this._initCellState(),a.tabColor&&(this._tabColor=this._styles.parseColor(a.tabColor));let m=this._getState(),h=m.cellValuesGrid;this._errorEpoch++;let g=m.contentfulSpatial,_=m.errorSpatial,v=a.data,y=v?.length??0,b=CO,x=[],S=this._isDataColumn,C=[];if(y>0){for(let e=0;e<y;e++){let n=v[e];typeof n==`string`&&(n=JSON.parse(n));let r=n[0],i=n[1],a=i.length,o;for(let e=0;e<a;e++){let n=i[e],a=n[1],c=a.length;for(let e=0;e<c;e++){let i,o=a[e],s=o?.t;if(s!==void 0)switch(o=o?.v,s){case`e`:i=t.ScalarType.Error;break;case`r`:i=t.ScalarType.RichData;break;case`n`:i=t.ScalarType.Number;break;case`s`:i=t.ScalarType.String;break;case`b`:i=t.ScalarType.Boolean}else switch(typeof o){case`number`:i=t.ScalarType.Number;break;case`string`:i=t.ScalarType.String,o=parseInt(o);break;case`boolean`:i=t.ScalarType.Boolean}if(i===t.ScalarType.Error){let t=n[0]+e;C.push({colStart:S?r:t,rowStart:S?t:r,colEnd:S?r:t,rowEnd:S?t:r,value:!0})}a[e]=[o,i]}o=b(null,s,a),n[1]=o}x.push(n)}h.setValues(x);let e=wO(x,this._isDataColumn);g.load(e),C.length>0&&_.load(Pa(C,t.IRange.Axis.Column,2**53-1))}let w=m.borderSpatial,T=m.fillSpatial,E=m.contentSpatial,D=m.continuousFillSpatial,O=m.dateFormatSpatial,k=this._options.styles,A=a.directStyles,j,M;if(A){let n=A.length;j=Array(n);for(let r=0;r<n;r++){let n=Tu(A[r],e);n.value={axes:t.IRange.AxisSelection.Both,index:n.value},j[r]=n}}if(f||p){let e=[...j||n.CommonUtils.EmptyArray,...f||n.CommonUtils.EmptyArray,...p||n.CommonUtils.EmptyArray];j=[];try{let n=new _i.IteratorInstance(e,{axis:t.IRange.Axis.Column}),r=n.next();for(;!r.done;){let e=r.value,i=e.overlaps,a=i.length,o;if(a===1){if(o=i[0].value,o.index===0){r=n.next();continue}}else{let e,n,r;for(let o=0;!e&&o<a;o++){let a=i[o].value,s=a.axes;s===t.IRange.AxisSelection.Both?e=a:s===t.IRange.AxisSelection.Row?r=a:s===t.IRange.AxisSelection.Column&&(n=a)}o=e??r??n}let s=e.range;j.push({...s,value:o}),r=n.next()}}catch(e){console.log(e)}}if(j){let e=this._getEntireCoords.bind(this),r=[],i=[],a=[],s=t=>{let s=t.value,c=u.getElementJSON(s.index),l=n.CoordUtils.sanitizeRange(t),d=new Tg(k,e,l,c,void 0,s.axes),f=d._p?.alignment?.horizontal;f===o.HorizontalAlignment.CenterContinuous&&r.push(l),f===o.HorizontalAlignment.Fill&&i.push(l);let p=d._p?.numberFormat;return typeof p==`number`&&(p=qc(p)),p&&(Nr(p)||Pr(p))&&a.push({...l,value:p}),{...l,value:d}},c=j.length;M=Array(c);for(let e=0;e<c;e++)M[e]=s(j[e]);let l=[],d=[],f=[];for(let e=0;e<c;e++){let t=M[e];if(!t.value)continue;let n=t.value.splitByFeature();n.border&&l.push({...t,value:n.border}),n.fill&&d.push({...t,value:n.fill}),n.content&&f.push({...t,value:n.content})}l.length>0&&w.load(l),d.length>0&&T.load(d),f.length>0&&E.load(f);let p=(n,r)=>{let i=(n=Pa(n,t.IRange.Axis.Column,2**53-1)).length,a=Array(i);for(let t=0;t<i;t++){let i=n[t];a[t]={...i,value:new Tg(k,e,i,{alignment:{horizontal:r}})}}D.load(a)};p(r,o.HorizontalAlignment.CenterContinuous),p(i,o.HorizontalAlignment.Fill),a=Pa(a,t.IRange.Axis.Column,2**53-1),O.load(a)}this._rangeStats=this._rangeStats.clone(h),m=this._updateState({cellValuesGrid:h,contentfulSpatial:g,errorSpatial:_,borderSpatial:w,fillSpatial:T,contentSpatial:E,continuousFillSpatial:D,dateFormatSpatial:O,entireCoords:e});let N=a.merges;if(N){let t=[],n=N.length;for(let r=0;r<n;r++){let n=Iu(N[r],e);t.push(n)}this._indexMerges(t)}let P=m.hyperlinkSpatial,F=a.hyperlinks;if(F){let t=F,n=t.length,r=Array(n);for(let i=0;i<n;i++){let n=Tu(t[i],e),a=n.value;n.value=typeof a==`string`?{address:a}:{...a},r[i]=n}P.load(r)}let I=m.commentsSpatial,L=a.comments;if(L){let t=L,n=t.length,r=Array(n);for(let i=0;i<n;i++){let n=Tu(t[i],e),a=n.value;n.value=typeof a==`string`?{content:a}:{...a},r[i]=n}I.load(r)}let ee=m.tables,R=a.tables;R&&(ee=this._createTables(ee,`tables`,R,e=>new oy(e)));let z=m.autoTables,te=a.autoTable;te&&(z=this._createTables(z,`autoTables`,[te],e=>new fy(e)));let ne=m.dataValidations,re=a.validations;re&&(ne=this._createDataValidations(ne,`dataValidations`,re,e=>new db(e)));let B=m.conditionalFormats,ie=a.conditionals;ie&&(B=this._createConditionalFormats(B,`conditionalFormats`,ie,e=>new eb(e)));let ae=m.protectedRanges,oe=a.protectedRanges;oe&&(ae=this._createProtectedRanges(ae,`protectedRanges`,oe,e=>new mb(e)));let se=m.movableMapModel,ce=m.movableSpatial,le=a.movables;if(le){let e=[],t=le.length;for(let n=0;n<t;n++){let t=le[n];try{let r=this._createMovableEntry(t,n,l.fromResourceId.bind(l));se.set(r.value.model,r),e.push(r)}catch(e){console.warn(`Unable to load movable`,n,t,e)}}ce.load(e)}let ue=null,de=a.picture;if(de){let e=this;ue=new by({json:de,fromResourceId:l.fromResourceId.bind(l),deleteFromContainer:t=>{e._getState().picture&&(e._updateState({picture:null},{description:(0,n.messageKey)(`op.deletePicture`),...t}),e._notify(`onStyleChange`))},transactions:this._transactions})}m=this._updateState({hyperlinkSpatial:P,commentsSpatial:I,movableSpatial:ce,movableMapModel:se,autoTables:z,tables:ee,conditionalFormats:B,dataValidations:ne,protectedRanges:ae,picture:ue});let fe=m.calcGrid,pe=fe.fromJSON({formulas:a.formulas,data:x,formulaArray:a.formulaArray,volatile:a.volatile},{formulaTransform:this._options?.formulaTransform});if(m=this._updateState({calcGrid:fe}),!r){let e=this._getUsedCoords();e&&this._autoFit([e],{axes:t.IRange.AxisSelection.Row,skipCustomSize:!0,expandOnly:!0,formulaView:!1})}i.commit(),pe&&this._realizeCalcedValues(pe),a.protection&&this._protection.fromJSON(a.protection),this._notify(`onLoad`)}finally{u.endPersist(),l.endPersist(),c.endPersist()}this._initializing=!1}getId(){return this._id}getVersionId(){return this._transactions.getVersionId(this._stateId)}getName(){return this._closed?Ll:this._options.container?.getName?.()??null}setName(e,t){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let r=this._options.container?.setName;if(!r)throw new n.ExpectedError(`Unable to set name for sheet.`);return r(e,t),this}getVisibility(){return this._closed?dl.Visibility.VeryHidden:this._options.container?.getVisibility?.()??dl.Visibility.Hidden}setVisibility(e=!0,t){if(this._closed)throw Error((0,n.t)(`error.sheet.modelClosed`));let r=this._options.container?.setVisibility;if(!r)throw new n.ExpectedError(`Unable to set visibility for sheet.`);let i;return i=!0===e?dl.Visibility.Visible:!1===e?dl.Visibility.Hidden:e,r(i,t),this}async select(e){return await this._options.container?.requestSelect?.(e),this}async duplicate(){return await this._options.container?.duplicate?.(),this}getIndex(){return this._options.container?.getIndex?.()??-1}setIndex(e,t){return this._options.container?.setIndex?.(e,t),this}getNames(){let e=this._names;return e&&(this._namesScoped||=e._scopedTo(this),this._namesScoped)}getCalculation(){let e=this._calculation;if(!e)return e;if(!this._calculationScoped){let t=this,n=new Map,r=e=>({...e??{},scope:e?.scope??t.getName()});this._calculationScoped=new Proxy(e,{get:(e,t)=>{if(t===`createFormula`)return(t,n)=>e.createFormula(t,r(n));if(t===`evaluate`)return(t,n)=>e.evaluate(t,r(n));let i=Reflect.get(e,t,e);if(typeof i!=`function`)return i;let a=n.get(t);return a||(a=i.bind(e),n.set(t,a)),a}})}return this._calculationScoped}createFormula(e,t){return this.getCalculation().createFormula(e,t)}evaluate(e,t){return t=typeof t==`number`?{evalIndex:t,scope:this.getName()}:{...t,scope:this.getName()},this.getCalculation().evaluate(e,t)}whenCalculationReady(){return this.getCalculation().ready()}getWorkbook(){return this._workbook}get[Symbol.toStringTag](){return`[Sheet]`}toString(){return`[${this.getName()??`(untitled)`}]`}get isISheet(){return!0}},pD=8192,mD={ignoreDataChanges:!1},hD={colStart:-1,rowStart:-1,colEnd:-1,rowEnd:-1},gD=[Qv.Content.Values],_D=class{constructor(e){Object.assign(this,e),Object.freeze(this)}get isICellRangeCounts(){return!0}};function vD(e){return new _D(e)}function yD(e,t){let n=$v.Feature;switch(t){case n.Contentful:return!!e.contentful;case n.DateFormat:return!!e.dateFormat;case n.Formula:return!!e.formula;case n.Spills:return!!e.spills;case n.CalcError:return e.calcError!==void 0;case n.Circular:return!!e.circular;case n.Error:return!!e.error;case n.Fill:return!!e.fillStyle;case n.Border:return!!e.borderStyle;case n.Merge:return!!e.merge;case n.Table:return!!e.table;case n.AutoTable:return!!e.autoTable;case n.Hyperlink:return!!e.hyperlink;case n.Comments:return!!e.comments;case n.Unlock:return!!e.unlock;case n.Conditionals:return!!e.conditionals;case n.DataValidations:return!!e.dataValidations;default:return!1}}t.IRange.Axis.Column;var bD,xD={rowStart:0,colStart:0,rowEnd:0,colEnd:0},SD=[],CD=()=>null,wD={width:2**14,height:2**20},TD=e=>`${e}`,ED=e=>Vl(e),DD=e=>`${e+1}`,OD=0,kD=0,AD=(e,t)=>!(!n.CoordUtils.isEqualRanges(e,t)||e.value.model!==t.value.model),jD={useFormattingCategory:!0},MD={colStart:0,rowStart:0,colEnd:0,rowEnd:0},ND=e=>typeof e==`object`&&!!e&&!0===e.isICellRange,PD=class e{constructor(e,t,n){this._coords=Object.freeze(e),this._internal=t,this._readOnly=n?.readOnly??null,this._options=n??void 0,this._cacheRanges=[]}_getStickyOptions(){return this._options?.getOptions}_createRanges(t,n){let r=this._options;return n&&(r={...this._options,getOptions:xO(this._options?.getOptions,n)}),new e(t,this._internal,r)}_createRange(e,t){if(typeof e==`string`)return this._internal.createRange(e,xO(this._getStickyOptions(),t));let n=this._options;t&&(n={...this._options,getOptions:xO(this._options?.getOptions,t)});let r=tO(this._internal,e?.scope);return r?new Ob(e,r,n):iO(this._internal.getSheet(),this._internal.getSheet().getEntireCoords(),e)}_validateWrite(){let e=this._readOnly;if(e)throw Error((0,n.t)(e))}_byScope(){let e=this.getCoords(),t=this._internal,n=!1;for(let r=0;r<e.length;r++){let i=e[r]?.scope;if(i&&tO(t,i)!==t){n=!0;break}}if(!n)return null;let r=[],i=new Map;for(let n=0;n<e.length;n++){let a=e[n];if(!a)continue;let o=tO(t,a.scope);if(!o)continue;let s=o.getSheet().getName(),c=i.get(s);c||(c={internal:o,coords:[]},i.set(s,c),r.push(c)),c.coords.push(a.scope?{...a,scope:void 0}:a)}return r}_writeByScope(e,t){let n=this._byScope();n?this.doBatch(()=>{for(let t=0;t<n.length;t++)e(n[t].internal,n[t].coords)},t):e(this._internal,this.getCoords())}_readCoordsByScope(e){let t=this._byScope();if(!t)return e(this._internal,this.getCoords());let n=this._internal,r=[];for(let i=0;i<t.length;i++){let a=t[i],o=a.internal===n?void 0:a.internal.getSheet().getName(),s=e(a.internal,a.coords);for(let e=0;e<s.length;e++)r.push(o?{...s[e],scope:o}:s[e])}return r}getCoords(){let e=this._coords;for(let t=0;t<e.length;t++){let n=e[t];if(typeof n==`string`||ND(n))return this._resolveCoords()}return e}_resolveCoords(){let e=this._coords,t=this._cacheRanges,n=Array(e.length);for(let r=0;r<e.length;r++){let i=e[r];if(typeof i==`string`)n[r]=(t[r]??(t[r]=this._createRange(i))).getCoords();else if(ND(i)){t[r]||(t[r]=i);let e=i.getCoords(),a=i.getSheet()?.getName();n[r]=a&&a!==this._internal.getSheet().getName()&&!e.scope?{...e,scope:a}:e}else n[r]=i}return n}[Symbol.iterator](){let e=this.entries({features:Eb});return{next(){let t=e.next();return t.done?si:{done:!1,value:t.value.value}},[Symbol.iterator](){return this}}}entries(e){let t=this.getCoords(),n=e?.reverse??!1,r=n?t.length-1:0,i=this,a=i.at(r),o=a.entries(e),s=o.next();return{next(){let c=s;do{if(s.done){if(r=n?r-1:r+1,r>=t.length||r<0)return s=si,c;a=i.at(r),o=a.entries(e)}s=o.next()}while(s.done);return c},[Symbol.iterator](){return this}}}async select(e){let t=await this._internal.autoSelect(e??!0,zy(this.getCoords()));return this._createRanges(t)}calculate(){let e=this._byScope();if(!e)return this._internal.calculate(this.getCoords()),this;for(let t=0;t<e.length;t++)e[t].internal.calculate(e[t].coords);return this}addListener2(e,t){return this._listenByScope((n,r)=>n.addRangesListeners2(r,e,t,!0))}addListener(e,t){return this._listenByScope((n,r)=>n.addRangesListeners(r,e,t))}addWatch(e,t){return this._addWatch(e,(n,r,i)=>n._addWatch(e,{onValues:e=>{t(e,r,n)}},i))}_addWatch(e,t){let n=this.getCount();if(n===0)return()=>{};let r=this.at(0).getCoords(),i={rowIndex:r.rowStart,colIndex:r.colStart},a=[];for(let e=0;e<n;e++)a.push(t(this.at(e),e,i));return()=>{for(let e=0;e<a.length;e++)a[e]()}}_listenByScope(e){let t=this._byScope();if(!t)return e(this._internal,this.getCoords());let n=Array(t.length);for(let r=0;r<t.length;r++)n[r]=e(t[r].internal,t[r].coords);return()=>{for(let e=0;e<n.length;e++)n[e]?.()}}find(e){let t=this._byScope();if(!t)return this._internal.find(this.getCoords(),e);let n=0,r=t[0].internal.find(t[0].coords,e);return{next(){for(;;){let i=r.next();if(!i.done)return i;if(++n>=t.length)return si;r=t[n].internal.find(t[n].coords,e)}}}}getFlattened(e){let t=this.getCoords();if(t.length===1)return this._createRanges(t,e);let n=OO(t);return this._createRanges(n,e)}getPrecedents(e=!1){return this._trace(!1,e)}getDependents(e=!1){return this._trace(!0,e)}_trace(e,t){let n=this.getCoords(),r=[];for(let i=0;i<n.length;i++){if(!n[i])continue;let a=this.at(i),o=e?t?a.getDependents():a.getDirectDependents():t?a.getPrecedents():a.getDirectPrecedents();o&&o.getCount()>0&&r.push(...this._rehome(o))}return r.length===0?null:this._createRanges(r.length>1?OO(r):r)}_rehome(e){let t=this._internal.getSheet().getName(),n=e.getSheet()?.getName(),r=e.getCoords(),i=Array(r.length);for(let e=0;e<r.length;e++){let a=r[e],o=a.scope??n;i[e]=o===t?a.scope?{...a,scope:void 0}:a:{...a,scope:o}}return i}getVisible(e){let t=this._readCoordsByScope((t,n)=>t.getVisible(n,e));return t&&t.length!==0?this._createRanges(t,e):null}getFixed(e){let t=this.getCoords(),n=t.length,r=Array(n);for(let i=0;i<n;i++)r[i]=vO(t[i],e);return this._createRanges(r)}autoFit(e){return this._validateWrite(),this._writeByScope((t,n)=>t.autoFit(n,e),e),this}clear(e,t){return this._validateWrite(),this._writeByScope((n,r)=>n.clear(r,e,t),t),this}setValue(e,t){this._validateWrite();let r=this.getCoords();return r.length===1?(this._createRange(r[0]).setValue(e,t),this):(this.doBatch(()=>{for(let n=0;n<r.length;n++)this._createRange(r[n]).setValue(e,t)},{description:(0,n.messageKey)(`op.setValue`),...t}),this)}getStyle(){let e=this._byScope();if(!e)return this._internal.getStyle(this.getCoords());let t=e[0];return t.internal.getStyle(t.coords,void 0,(t,n)=>{this.doBatch(()=>{for(let r=0;r<e.length;r++)e[r].internal.updateStyles(e[r].coords,t,n)})})}merge(e){return this._validateWrite(),this._writeByScope((t,n)=>t.merge(n,e),typeof e==`object`?e:void 0),this}unmerge(e){return this._validateWrite(),this._writeByScope((t,n)=>t.unmerge(n,e),e),this}getMerges(){let e=this._getStickyOptions()?.ignoreHidden??!1;return this._readCoordsByScope((t,n)=>t.getMerges(n,e))}insert(e){if(this._validateWrite(),typeof e==`object`&&e?.span){if(this.getCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnly`));return this.at(0).insert(e),this}return this._writeByScope((t,n)=>t.insertCells(n,e),typeof e==`object`?e:void 0),this}delete(e){if(this._validateWrite(),typeof e==`object`&&e?.span){if(this.getCount()!==1)throw new n.ExpectedError((0,n.t)(`error.address.singleRangeOnly`));return this.at(0).delete(e),this}return this._writeByScope((t,n)=>t.deleteCells(n,e),typeof e==`object`?e:void 0),this}async insertFrom(e,t){this._validateWrite();let n=await this._internal.insertFrom(this.getCoords(),e,t);return n?this._createRanges([n]):null}async copyFrom(e,t){let n=await this._internal.copyFrom(this.getCoords()[0],e,t);return n?this._createRanges([n]):null}isInvalidAny(){let e=this.getCoords(),t=e?e.length:0;if(t===0)return!0;for(let n=0;n<t;n++)if(e[n]===null)return!0;return!1}getSnapshot(e){return this._internal.getSnapshot(this.getCoords(),e)}getEntireRows(e,n){return this._createRanges(ZD(this.getCoords(),this._internal.getSheet().getEntireCoords(),t.IRange.Axis.Column,e),n)}getEntireColumns(e,n){return this._createRanges(ZD(this.getCoords(),this._internal.getSheet().getEntireCoords(),t.IRange.Axis.Row,e),n)}getRowHeaders(e){let t=this.getCoords();return this._internal.getSheet().getRowHeaders().getRanges(t,e)}getColumnHeaders(e){let t=this.getCoords();return this._internal.getSheet().getColumnHeaders().getRanges(t,e)}getDefaultShiftAxis(){return this._internal.getDefaultShiftAxis(this.getCoords()[0])}getCount(){return this.getCoords()?.length??0}get size(){let e=this.getCoords();if(!e)return 0;let t=0;for(let n of e)t+=(n.rowEnd-n.rowStart+1)*(n.colEnd-n.colStart+1);return t}get length(){return this.getCount()}getStats(e){return this._internal.getRangeStats(this.getCoords(),e)}getCounts(e){let t=this._getStickyOptions(),n=e??t?.features,r=t?.ignoreHidden??!1,i=this._byScope();if(!i)return this._internal.featureCounts(this.getCoords(),n,r);let a={};for(let e=0;e<i.length;e++){let t=i[e].internal.featureCounts(i[e].coords,n,r);for(let e of Object.keys(t))a[e]=(a[e]??0)+t[e]}return vD(a)}isContentful(e){let t=this._getStickyOptions(),n=e??t?.features;if(n===void 0){let e=this._byScope();if(!e)return this._internal.isContentful(this.getCoords(),t?.ignoreHidden??!1);for(let n=0;n<e.length;n++)if(e[n].internal.isContentful(e[n].coords,t?.ignoreHidden??!1))return!0;return!1}let r=this.getCounts(n),i=typeof n==`string`?[n]:n;for(let e=0;e<i.length;e++)if(r[i[e]]>0)return!0;return!1}getRowCount(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).getHeaderCount()}getColumnCount(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).getHeaderCount()}isEntireRowsAny(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).isEntireHeadersAny()}isEntireColumnsAny(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).isEntireHeadersAny()}isEntireRows(){return this._internal.getSheet().getRowHeaders().getRanges(this.getCoords()).isEntireHeaders()}isEntireColumns(){return this._internal.getSheet().getColumnHeaders().getRanges(this.getCoords()).isEntireHeaders()}isOverlapping(){let e=this._byScope();if(!e)return Ey(this.getCoords());for(let t=0;t<e.length;t++)if(Ey(e[t].coords))return!0;return!1}isSingleCell(){let e=this.getCoords();return e.length===1&&n.CoordUtils.isSingleCell(e[0])}isEqual(e,t){let n=this._internal.rangesToCoords(e,void 0,void 0,void 0,!0);return _O(this.getCoords(),n)}at(e){let t=this.getCoords();if(e<0||e>t.length-1)throw new n.OutOfBoundsError;let r=this._cacheRanges,i=r[e];return i||(i=this._createRange(t[e]),r[e]=i),i}isReadOnly(){return this._readOnly!==null}isInvalid(){return!1}getAddress(e){return iu(this.getCoords(),this._internal.getSheet().getEntireCoords(),void 0,Gl)}getSheet(){return this._internal.getSheet()}doBatch(e,t){return this._internal.getSheet().doBatch(t=>e(t),typeof t==`string`?t:{description:(0,n.messageKey)(`op.rangesUpdate`),...t})}get[Symbol.toStringTag](){return`[SheetRanges]`}toString(){return this.getAddress()}get isICellRanges(){return!0}};function FD(){return!1}function ID(){return!0}function LD(){return null}function RD(){return ci}function zD(){return 0}var BD=new Br(`InvalidRuntime`,null),VD={runtime:BD,sheet:null,styles:null,normalStyleRanged:null,nextContentful:(e,t,n)=>0,getProtection:()=>qD,getRange:e=>YD,getRanges:e=>new XD(null),opener:(e,t,n,r)=>Promise.resolve(!1)},HD=class extends IC{constructor(e=null){super(VD,null),this._invalidSheet=e}getSheet(){return this._invalidSheet}createCell(){return this}getType(){return t.ScalarType.Error}getWarnings(){return[Ll]}getStyle(e=!1){return bD||=new kg().getNormal()}toString(){return`${this._coords?Wl(this._coords):Ll} => ${this._v??`{blank}`}`}},UD=new HD,WD=new WeakMap,GD,KD=()=>YD,qD=new O_(void 0,!0),JD=new ro,YD={forEach:function(){},[Symbol.iterator]:RD,entries:RD,values:RD,select:Z,find:Z,calculate:Z,getCell:()=>UD,getFormula:LD,createFormula:Z,getValue:LD,getInteropValue:LD,setValue:Z,setFormula:Z,setValues:Z,updateCells:Z,getCells:()=>[[UD]],getStyle:Z,getValues:()=>[[null]],getValuesRange:()=>new zk(BD,JD,null,null),setComputedValues:Z,getInteropValues:()=>[[null]],getBounds:LD,getIntersect:KD,getUnion:KD,getDifferences:Z,getResizeBy:KD,getResizeTo:KD,getOffsetBy:KD,getOffsetTo:KD,getFixed:KD,getRangeAt:KD,getRowAt:KD,getRowAfter:KD,getRowBefore:KD,getRowBy:KD,getColumnAt:KD,getColumnAfter:KD,getColumnBefore:KD,getColumnBy:KD,getTopLeft:KD,getBottomRight:KD,getUsedRange:KD,getEntireRows:KD,getEntireColumns:KD,getSurrounding:Z,getExtended:Z,isEntireRows:FD,isEntireColumns:FD,isEntireRange:FD,isSingleCell:ID,isEqual:FD,size:0,sort:Z,sortAt:Z,filter:Z,textToColumns:Z,removeDuplicates:Z,clear:Z,setHyperlink:Z,setComments:Z,merge:Z,unmerge:Z,getMerges:Z,getConditionalFormats:Z,getDataValidations:Z,getTables:Z,getMovables:Z,insert:Z,insertFrom:Z,delete:Z,addAutoTable:Z,addTable:Z,getDefaultShiftAxis:Z,getDefaultSortCriteria:Z,autoFill:Z,autoFit:Z,getSnapshot:Z,copyFrom:Z,doBatch:Z,createSparseBuilder:Z,getRowHeaders:Z,getColumnHeaders:Z,getCounts:Z,getRegions:Z,getDirectPrecedents:Z,getDirectDependents:Z,getPrecedents:Z,getDependents:Z,getCount:zD,getStats:()=>(GD||=new Lk(BD,JD,null,[JD.getMaxCoords()]),GD),isContentful:FD,addListener:Z,addWatch:Z,getColumnStart:zD,getRowStart:zD,getColumnEnd:zD,getRowEnd:zD,getRowCount:zD,getColumnCount:zD,getVisible:Z,getCoords:LD,isEmpty:ID,toString:()=>Ll,getAddress:()=>Ll,isInvalid:ID,getSheet:LD,isReadOnly:ID,isICellRange:!0},XD=class extends PD{constructor(e,t){super(null,e,t)}getMerges(){return Z()}getStyle(){return Z()}find(){return ci}[Symbol.iterator](){return ci}entries(){return ci}calculate(){return Z()}clear(){return Z()}merge(){return Z()}unmerge(){return Z()}insert(){return Z()}delete(){return Z()}insertFrom(){return Z()}getSnapshot(){return Z()}copyFrom(){return Z()}getEntireRows(){return Z()}getEntireColumns(){return Z()}getRowHeaders(){return Z()}getColumnHeaders(){return Z()}getDefaultShiftAxis(){return Z()}getFlattened(){return Z()}getVisible(){return Z()}getAddress(){return Z()}getStats(){return GD}getCounts(){return Z()}getRegions(){return Z()}getDirectPrecedents(){return Z()}getDirectDependents(){return Z()}getPrecedents(){return Z()}getDependents(){return Z()}isContentful(){return Z()}getRowCount(){return 0}getColumnCount(){return 0}isReadOnly(){return!0}isOverlapping(){return!1}isEntireRows(){return!1}isEntireRowsAny(){return!1}isEntireColumns(){return!1}isEntireColumnsAny(){return!1}isInvalidAny(){return!1}isSingleCell(){return!0}isEqual(){return!1}getFixed(){return Z()}getCount(){return 0}at(){return Z()}doBatch(){return Z()}getCoords(){return null}isInvalid(){return!0}toString(){return Ll}select(){return Z()}addListener(){return Z()}};function ZD(e,n,r,i=!1){let a=r===t.IRange.Axis.Row,o=e.length,s=Array(o);for(let t=0;t<o;t++){let r=e[t];if(a){let e=r.colEnd-r.colStart+1;s[t]={...r,colStart:i?r.colEnd+1:r.colStart,rowStart:n.rowStart,colEnd:i?r.colEnd+e:r.colEnd,rowEnd:n.rowEnd}}else{let e=r.rowEnd-r.rowStart+1;s[t]={...r,colStart:n.colStart,rowStart:i?r.rowEnd+1:r.rowStart,colEnd:n.colEnd,rowEnd:i?r.rowEnd+e:r.rowEnd}}}return s}function QD(e,t,n){let r=t,i=e.length,a=r.rowStart,o=r.rowEnd;for(let t=0;t<i;t++){let r=e[t];if((r.rowStart<=a&&r.rowEnd>=o)!==n)return!n}return n}function $D(e,t,n){let r=t,i=e.length,a=r.colStart,o=r.colEnd;for(let t=0;t<i;t++){let r=e[t];if((r.colStart<=a&&r.colEnd>=o)!==n)return!n}return n}function eO(e){return e._getInternal()}function tO(e,t){if(!t)return e;let n=e.getSheet();if(t===n.getName())return e;let r=n.getWorkbook();if(!r)return null;let i=r.getSheets().getItems({name:t,visibility:dl.Visibility.VeryHidden})?.[0];return i?eO(i):null}function nO(e,t){if(!e?.scope||!rO(e.scope,t))return e;let n={...e};return delete n.scope,n}function rO(e,t){return e===t.getName()||e===t.getId()}function iO(e,t=null,n=null,r=Ll){if(!e&&!n)return YD;let i=function(e){if(!e)return UD;let t=WD.get(e);return t||(t=new HD(e),WD.set(e,t)),t}(e);return Object.freeze({...YD,getSheet:()=>e,getCell:()=>i,getCells:()=>[[i]],bounds:()=>n,getAddress:()=>r,toString:()=>n?Jl(n,t):r})}var aO=/(\d)\*\*([-+]?\d)/g,oO=[` `,`\xA0`,` `,` `],sO=RegExp(`([0-9])[`+oO.join(``)+`](?=[0-9])`,`g`),cO=/[^\s#0.,%E+\-_();[\]]/,lO=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),uO=/^[^\w\s+\-().,%]{1,3}/;function dO(e,n,r,i){let a=function(e,t){let n=e.replace(aO,`$1E$2`);return oO.includes(t.group)&&(n=n.replace(sO,`$1${t.group}`)),n}(n.trim(),r);if(!function(e,t){let n=e.trim();if(n===``||(n.includes(`(`)||n.includes(`)`))&&(!n.startsWith(`(`)||!n.endsWith(`)`)||(n=n.slice(1,-1).trim(),n.includes(`(`)||n.includes(`)`))))return!1;let r=()=>{let e=n.match(uO);if(e)return void(n=n.slice(e[0].length).trimStart());let t=[...n].reverse().join(``).match(uO);t&&(n=n.slice(0,n.length-t[0].length).trimEnd())};r(),(n.startsWith(`+`)||n.startsWith(`-`))&&(n=n.slice(1).trimStart(),r()),n.endsWith(`%`)&&(n=n.slice(0,-1).trimEnd());let i=lO(t.decimal),a=lO(t.group),o=t.group?`\\d+|\\d{1,3}(?:${a}\\d{3})+`:`\\d+`;return RegExp(`^(?:(?:${o})(?:${i}\\d*)?|${i}\\d+)(?:[eE][+-]?\\d+)?$`).test(n)}(a,r))return!1;let o=function(e,t={}){let n=Dt(t.locale||``)||kt,r=n.decimal,i=[...rn[r]||[tn,nn]];i.includes(n.group)||n.group===Qt||n.group===r||i.push(n.group);let a=``,o=``,s=1,c=``,l=!1,u=!1,d=!1,f=!1,p=!1,m=null,h=!1,g=0,_=[Qt,$t,en,`+`,`%`,`(`,`-`].concat(vt);for(;_.includes(e[g]);){let t=e[g];if(t===`-`){if(l||u)return null;l=!0,s=-1}else if(yt.test(t)){if(p)return null;p=!0,m=t}else if(t===`(`){if(u||l)return null;u=!0,s=-1}else if(t===`%`){if(f)return null;f=!0}g++}let v,y=!1;if(e[g]===r||an(e[g]))for(;g<e.length;){let t=e[g];if(!v&&i.includes(t))v=t;else if(!(v&&v===t))if(t===r){if(y)break;a+=`.`,y=!0}else{if(!an(t))break;a+=t}g++}if(e[g]===`e`||e[g]===`E`){o+=e[g],g++,e[g]!==`+`&&e[g]!==`-`||(o+=e[g],g++);let t=g;for(;an(e[g]);)o+=e[g],g++;if(t===g)return null}let b=[Qt,$t,en,`%`,`$`,`)`].concat(vt);for(;b.includes(e[g]);){let t=e[g];if(yt.test(t)){if(p)return null;p=!0,m=t,h=!0}else if(t===`)`){if(d||!u)return null;d=!0}else if(t===`%`){if(f)return null;f=!0}g++}if(g!==e.length)return null;let x=parseFloat(a+o);if(!isFinite(x))return null;if(o){if(f||p)return null;c=`0.00E+00`}else if(f){if(p)return null;c=a.includes(`.`)?`0.00%`:`0%`,x*=.01}else if(p){let e=a.includes(`.`)?`#,##0.00`:`#,##0`;c=h?e+m:m+e}else v&&(c=a.includes(`.`)?`#,##0.00`:`#,##0`);let S={v:x*s};return c&&(S.z=c),S}(t.Scalar.truncateNumberText(a),{locale:r.tag});if(!o||typeof o.v!=`number`)return!1;i.value=o.v;let s=o.z;if(!s)return!0;if(s.includes(`%`))return i.style=e=>{if(!e.getNumberFormat().includes(`%`))return{numberFormat:s}},!0;let c=s.match(cO)?.[0];if(c){let e=s.includes(`.`)?`${c}#,##0.00`:`${c}#,##0`;return i.style=t=>{if(!t.getNumberFormat().includes(c))return{numberFormat:`${e}_);[Red](${e})`}},!0}return i.style={numberFormat:s},!0}function fO(e,t,r,i){if(t===void 0)throw Error(`A value is required to create a cell from a text.`);let a=i??{value:null};if((t=n.CommonUtils.castToString(t)).trim()===``)return a;let s=yo(t);if(s!==void 0)return a.value=s,a;if(t.startsWith(`'`)&&!r?.ignoreQuotePrefix)return a.style={quotePrefix:!0},a.value=t.substring(1,t.length),a;if(a.value=t,dO(0,t,e.getLocaleProfile(),a)||function(e,t,n){if(t.startsWith(` `))return!1;let r=null,i=null;try{i=kr(e,t,!0,!0);let n=t;if(i){let e=i.leadingText.trim(),t=i.trailingText.trim();if(e.length>0&&t.length>0)return!1;n=e.length>0?e:t}n.trim().length>0&&(r=Ar(e,n,null,!1,!0)),!r&&i&&(i.leadingText.trim().length>0||i.trailingText.trim().length>0)&&(i=null)}catch{}if(!r&&!i)return!1;n.style=t=>{let n=t.getNumberFormat(),a=Nr(n);if(r&&a)return;let o=Pr(n);if(!i||!o){if(r&&i&&!a&&!o?n=`m/d/yyyy h:mm`:r&&!a?n=r.numberFormat:i&&!o&&(n=i.numberFormat),i&&i.parsed.serial>1&&(n=`General`),r&&!a&&!i){let t=ll.Parser.formatValue(e,r.numberFormat,r.asSerialDate),i=e.getLocale();t===new Intl.DateTimeFormat(i).format(r.asJSDate)?n=`Short Date`:t===new Intl.DateTimeFormat(i,{dateStyle:`full`}).format(r.asJSDate)?n=`Long Date`:t===new Intl.DateTimeFormat(i,{timeStyle:`medium`}).format(r.asJSDate)&&(n=`Long Time`)}return{numberFormat:n}}};let a=0;return r&&(a+=r.asSerialDate),i&&(a+=i.parsed.serial),n.value=a,!0}(e,t,a))return a;let c=bo(t);if(c)return a.value=c,a;a.value=t;let l=R(t);return l!==null&&(a.hyperlink=l),t.includes(`
|
|
33
|
+
`)&&(a.style={...a?.style,alignment:{overflow:o.Overflow.Wrap}}),a}function pO(e){let t=[];return e.getUsedRange().forEachSpan((e,n)=>{let r=n.getCoords();e===0&&t.push(r)},{includeStyles:!1}),qr(Jr(t))}function mO(e){if(!e)return null;let t=null,n=e.length;for(let r=0;r<n;r++){let n=e[r].value;if(!n)continue;t||={};let i=Object.keys(n),a=i.length;for(let e=0;e<a;e++){let r=i[e],a=t[r];if(a)if(Array.isArray(a)){let e=n[r];if(Array.isArray(e)){let t=e.length;for(let n=0;n<t;n++)a.push(e[n])}else a.push(e)}else t[r]=[a,n[r]];else t[r]=n[r]}}return t}function hO(e,n,r,i=!1,a=!1){let o,s=r?.includeMergeOverflow??!1;if(i)o=!0;else if(a||s){let e={};a&&(e[q.Type.DateFormat]=!1,e[q.Type.Table]=!1),s&&(e[q.Type.Merge]=!1),o=e}let c=r?.axis??t.IRange.Axis.Row,l=r?.maxSize??1e4,u=e({includeEmpty:!0,axis:c,reverse:r?.reverse,ignoreHidden:r?.ignoreHidden,includeMergeOverflow:s,searchTypes:o,bounds:n,reuseContext:!0}),d=c!==t.IRange.Axis.Row,f=[],p,m=-1,h=null,g=0;for(p=u.next();!p.done;){if(g>l)throw Error(xb(l));let e=p.value,t=e.context.getCoords(),n=d?t.colIndex:t.rowIndex;n!==m&&(h=[],f.push(h),m=n);let r=e.value;if(i)r=e.context.getCell();else if(a&&r!==null){let t=e.context.getInteropValue();t&&(r=t)}h.push(r),p=u.next(),g++}return f}function gO(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.$rowStart===t.$rowStart&&e.$rowEnd===t.$rowEnd&&e.$colStart===t.$colStart&&e.$colEnd===t.$colEnd&&e.scope===t.scope}function _O(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!gO(e[r],t[r]))return!1;return!0}function vO(e,t){if(!e)return;let n={...e};return t?typeof t==`boolean`?(n.$colStart=t,n.$rowStart=t,n.$colEnd=t,n.$rowEnd=t,n):(typeof t.colStart==`boolean`&&(n.$colStart=t.colStart),typeof t.rowStart==`boolean`&&(n.$rowStart=t.rowStart),typeof t.colEnd==`boolean`&&(n.$colEnd=t.colEnd),typeof t.rowEnd==`boolean`&&(n.$rowEnd=t.rowEnd),n):n}var yO=class{constructor(e,r,i){this._c=null;let a=this;this.setState=e=>{let n=e[0],i=e[1],a=e[2];if(r&&r.includeMergeOverflow&&a&&a.merge){let e=r.bounds,t=a.merge.getCoords(),o=!1,s=t.colStart,c=t.rowStart,l=e.colStart,u=e.rowStart,d=n.colIndex,f=n.rowIndex;!o&&s<l&&c>=u&&d===l&&f===c&&(o=!0),!o&&c<u&&s>=l&&f===u&&d===s&&(o=!0),!o&&c<u&&s<l&&f===u&&d===l&&(o=!0),o&&(i=a.merge.tvTl())}a&&Object.keys(a).length===0&&(a=null);let o=i;return i===void 0?(this._t=t.ScalarType.Null,this._v=null,o=null):(this._t=RO(o),this._v=o),this._r=a,this._p=e[3],this._n=e[4],this._c=n,o},this.clear=()=>{a._c=null},this.context={getCoords(){let e=a._c;if(!e)throw Error((0,n.t)(`error.sheet.iteratorClosed`));return e},getCell(){let e=a._c;if(!e)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let t=a._r,o=!0!==r?.searchTypes||t?.merge||r?.injectReferences?null:i.renderCellCache,s;if(o){s=32768*e.rowIndex+e.colIndex;let t=o.get(s);if(t)return t}let c=a._t,l=a._v,u=new IC(i,o?{rowIndex:e.rowIndex,colIndex:e.colIndex}:e,c,l,t,a._p,a._n);return o&&o.set(s,u),u},getType:()=>a._t,getInteropType(){let e=a._t;return e===t.ScalarType.Number&&a._r?.dateFormat?t.InteropScalarType.Date:e},getInteropValue(){let e=a._t,n=a._v;return e===t.ScalarType.Number&&a._r?.dateFormat?qO(i.runtime,n,a._t,t.InteropScalarType.Date,!1):n},getAddress(e,t=!1){if(!a.context)throw Error((0,n.t)(`error.sheet.iteratorClosed`));let r=a._c;return e&&(r={...a._c,...e}),i.getRange(r).getAddress(t)},getInjectedReference(e){let t=a._r;if(!t)return;let n=t[e];return n===void 0?void 0:n}}}};function bO(e,r){let i=t.IRange.Direction.Down,a=0,o={...e};if(r.colStart<e.colStart?(i=t.IRange.Direction.Left,a=e.colStart-r.colStart,o.colStart=r.colStart):r.colEnd>e.colEnd?(i=t.IRange.Direction.Right,a=r.colEnd-e.colEnd,o.colEnd=r.colEnd):r.rowStart<e.rowStart?(i=t.IRange.Direction.Up,a=e.rowStart-r.rowStart,o.rowStart=r.rowStart):r.rowEnd>e.rowEnd||r.rowEnd<e.rowEnd?(i=t.IRange.Direction.Down,a=r.rowEnd-e.rowEnd,o.rowEnd=r.rowEnd):r.colEnd<e.colEnd?(i=t.IRange.Direction.Right,a=r.colEnd-e.colEnd,o.colEnd=r.colEnd):r.rowStart>e.rowStart?(i=t.IRange.Direction.Up,a=e.rowStart-r.rowStart,o.rowStart=r.rowStart):r.colStart>e.colStart&&(i=t.IRange.Direction.Left,a=e.colStart-r.colStart,o.colStart=r.colStart),!Aa(o,r))throw new n.ExpectedError(((e,t)=>(0,n.t)(`error.sheet.autofillInvalidDestination`,{template:e,destination:t}))(Jl(e),Jl(r)));return{direction:i,amount:a}}function xO(e,t){if(e||t)return e&&t?{...e,...t}:e||t}function SO(e,r,i,a=t.IRange.Axis.Row){let o=e.getRange(r,{ignoreHidden:a}),s=o.forEach((e,t)=>({break:t.getCoords()}),{features:[],axis:a});if(!s)return;let c=a===t.IRange.Axis.Row,l=new Map,u,d=new Map,f=null,p=c?s.rowIndex:s.colIndex;o.forEach((e,t)=>{let n=t.getCoords(),r=c?n.colIndex:n.rowIndex;if((c?n.rowIndex:n.colIndex)===p)l.set(r,e),u=t.getType();else{let e=t.getType();u!==e&&(f=!0)}if(f)return Qf},{axis:a===t.IRange.Axis.Row?t.IRange.Axis.Column:t.IRange.Axis.Row,features:[],includeEmpty:!0,address:{colStart:r.colStart,rowStart:r.rowStart,colEnd:c?r.colEnd:r.colStart+1,rowEnd:c?r.rowStart+1:r.rowEnd}});let m={colStart:s.colIndex,rowStart:s.rowIndex,colEnd:r.colEnd,rowEnd:r.rowEnd};if(m.colStart>m.colEnd||m.rowStart>m.rowEnd||n.CoordUtils.isSingleCell(m))return null;if(f){let e=c?m.colStart:m.rowStart;l.forEach((t,n)=>{n<e||d.set(n-e,t+``)})}let h=Math.min(Math.max(i?.colIndex??0,m.colStart),m.colEnd),g=Math.min(Math.max(i?.rowIndex??0,m.rowStart),m.rowEnd),_=a!==t.IRange.Axis.Row,v={...$o.DefaultRangeOptions,hasHeader:f,axis:a,sorts:[{index:_?g-m.rowStart:h-m.colStart}]},y=m;return f&&(y={colStart:_?m.colStart+1:m.colStart,rowStart:_?m.rowStart:m.rowStart+1,colEnd:m.colEnd,rowEnd:m.rowEnd}),{coords:m,options:v,headers:d,sortCoords:y}}function CO(e,n,r=null){return oi.fromArray(e,(e,r)=>{let i=e?.[1];if(i==null)return null;let a=e[0]??null;switch(i){case t.ScalarType.String:a=n.getById(a);break;case t.ScalarType.Error:a=t.FormulaError.getBuiltInByCode(a)??t.FormulaError.BuiltIn.Unknown;case t.ScalarType.RichData:}return a},(e,r)=>{let i=RO(e),a=e;switch(i){case t.ScalarType.String:a=n.add(a);break;case t.ScalarType.Error:{let e=a;if(typeof e?.getCode!=`function`)throw Error(`Value is not a valid Error type: '${String(a)}' (${typeof a}). Raw NaN/Infinity must be converted to a FormulaError before reaching storage.`);a=e.getCode();break}case t.ScalarType.RichData:}return[a,i]},r)}function wO(e,n){let r=[],i=n?t.IRange.Axis.Column:t.IRange.Axis.Row,a=e.length;for(let t=0;t<a;t++){let a=e[t],o=a[0],s=a[1],c=s.length;for(let e=0;e<c;e++){let t=s[e],a=t[0],c=t[1].length-1,l={colStart:n?o:a,rowStart:n?a:o,colEnd:n?o:a+c,rowEnd:n?a+c:o,value:new Vu({colStart:n?o:a,rowStart:n?a:o,colEnd:n?o:a+c,rowEnd:n?a+c:o},i)};r.push(l)}}return r}function TO(e,t,r){if(!e||e.length===0||!t)return n.CommonUtils.EmptyArray;let i=[...e],a=i.length,o=r.colStart,s=r.rowStart,c=r.colEnd,l=r.rowEnd;for(let e=0;e<a;e++){let n={...i[e]},r=n,a=t.search(n),u=n.rowStart<=s&&n.rowEnd>=l,d=n.colStart<=o&&n.colStart>=c,f=a.length;for(let e=0;e<f;e++){let t=a[e];u||(r.colStart=Math.min(r.colStart,t.colStart),r.colEnd=Math.max(r.colEnd,t.colEnd)),d||(r.rowStart=Math.min(r.rowStart,t.rowStart),r.rowEnd=Math.max(r.rowEnd,t.rowEnd))}i[e]=r}return i}function EO(e,n,r){if(!e||e.length===0)return null;let i=e.length,a,o=-1,s=[],c=n===t.IRange.Axis.Column,l=c?r.rowStart:r.colStart,u=c?r.rowEnd:r.colEnd,d=c?t.IRange.AxisSelection.Column:t.IRange.AxisSelection.Row;for(let t=0;t<i;t++){let n=Mu(e[t],c),r=n?.value.s;if(!n||r===void 0){o=-1;continue}let i=n.min,f=n.max;r!==o||a.colEnd+1!==i?(a={colStart:c?i:l,rowStart:c?l:i,colEnd:c?f:u,rowEnd:c?u:f,value:{axes:d,index:r}},o=r,s.push(a)):a.colEnd=f}return s.length===0?null:s}function DO(e,t,r,i,a){let o=e,s=r?t.colStart:t.rowStart,c=r?a.colEnd:a.rowEnd,l=r?e.colIndex:e.rowIndex;if(i>0&&l>s||i<0&&s<=l){o={...e};let t=Math.max(l+i,s);if(o[r?`colIndex`:`rowIndex`]=t,l>c)throw new n.ExpectedError((0,n.t)(`error.sheet.insertOobFreeze`))}return o}function OO(e,n=t.IRange.AxisSelection.Both){let r=n===t.IRange.AxisSelection.Both,i=r?2**53-1:1,a=Fa(e,i,n===t.IRange.AxisSelection.Row?t.IRange.Axis.Column:t.IRange.Axis.Row);if(r){let n=Fa(e,i,t.IRange.Axis.Column);n.length<a.length&&(a=n)}return a}function kO(e,t,n,r,i){let a=e._p?.border;if(!a)return;let o,s,c={onIntersect:(e,t)=>{if(!e)return e;let n=e.value?._p?.border;if(!n)return e;let i;return o===W.Edge.Left?n.left&&e.colStart===s&&(i={border:{left:null}}):o===W.Edge.Top?n.top&&e.rowStart===s&&(i={border:{top:null}}):o===W.Edge.Right?n.right&&e.colEnd===s&&(i={border:{right:null}}):o===W.Edge.Bottom&&n.bottom&&e.rowEnd===s&&(i={border:{bottom:null}}),i?{...t,value:r(e.value,i)}:e}};a.right&&t.colEnd<i.colEnd&&(o=W.Edge.Left,s=t.colEnd+1,n.insertNonOverlapping({colStart:s,rowStart:t.rowStart,colEnd:s,rowEnd:t.rowEnd,value:void 0},c)),a.bottom&&t.rowEnd<i.rowEnd&&(o=W.Edge.Top,s=t.rowEnd+1,n.insertNonOverlapping({colStart:t.colStart,rowStart:s,colEnd:t.colEnd,rowEnd:s,value:void 0},c)),a.left&&t.colStart>i.colStart&&(o=W.Edge.Right,s=t.colStart-1,n.insertNonOverlapping({colStart:s,rowStart:t.rowStart,colEnd:s,rowEnd:t.rowEnd,value:void 0},c)),a.top&&t.rowStart>i.rowStart&&(o=W.Edge.Bottom,s=t.rowStart-1,n.insertNonOverlapping({colStart:t.colStart,rowStart:s,colEnd:t.colEnd,rowEnd:s,value:void 0},c))}function AO(e,t,n,r,i){let a=(e,t)=>({...t,value:null}),o={...i,value:null};t.insertNonOverlapping(o,{onIntersect:a}),n.insertNonOverlapping(o,{onIntersect:a}),r.insertNonOverlapping(o,{onIntersect:a});let s=e.search(i);for(let e=0;e<s.length;e++){let i=s[e],a=i.value;if(!a)continue;let o=a.splitByFeature();o.border&&t.insertNonOverlapping({...i,value:o.border}),o.fill&&n.insertNonOverlapping({...i,value:o.fill}),o.content&&r.insertNonOverlapping({...i,value:o.content})}}function jO(e,t){let n=!1;for(let r of e)if(t&&r===t)n=!n;else if(!n){if(r===`,`)return`,`;if(r===` `)return` `}}function MO(e,t,n,r){let i=[],a=``,o=!1,s=t.length;for(let r=0;r<e.length;r++){let c=e[r];n&&c===n?o=!o:o||e.slice(r,r+s)!==t?a+=c:(i.push(a),a=``,r+=s-1)}i.push(a);let c=r?i.map(e=>e.length>0?e:null):i.filter(e=>e.length>0);return c.length>0?c:[null]}function NO(e,t,n){let r=typeof t;if(r===`number`)return``+e+``+t.toString();if(r===`string`){let r=t,i=n.get(r);return i===void 0&&(i=r.toLowerCase(),n.set(r,i)),``+e+``+i}return r===`boolean`?``+e+``+(t?`1`:`0`):t==null?``+e+`\0`:``+e+``+t.getCode()}var PO=Object.freeze({colStart:0,rowStart:0,colEnd:2**14-1,rowEnd:2**20-1});function FO(){return PO}var IO=Object.freeze({colStart:0,rowStart:0,colEnd:2**31-2,rowEnd:2**31-2});function LO(){return IO}var RO=(e,r=!1)=>typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?t.ScalarType.Error:t.ScalarType.Number:typeof e==`string`?t.ScalarType.String:typeof e==`boolean`?t.ScalarType.Boolean:e?.isFormulaError?t.ScalarType.Error:e===null?t.ScalarType.Null:n.CommonUtils.isObject(e)&&e.hasOwnProperty(`getType`)&&typeof e.getType()==`string`?t.ScalarType.RichData:r&&ar(e,!0)?t.InteropScalarType.Date:e===void 0?(console.warn(`undefined`),t.ScalarType.Null):null,zO=new Map([[t.ScalarType.Null,`any`],[t.ScalarType.Number,`number`],[t.ScalarType.String,`string`],[t.ScalarType.Boolean,`boolean`],[t.ScalarType.Error,`FormulaError`],[t.ScalarType.RichData,`richData`],[t.InteropScalarType.Date,`Date`],[`*`,`Scalar`]]),BO=new Map([[`p`,`IReferenceRange`],[`r`,`IRange`],[`m`,`[][]`],[`*`,`any`]]);function VO(e){let t=e.scalar,n=e.range,r=t?zO.get(t)??`InvalidScalar`:``,i=n?BO.get(n)??`InvalidRange`:``,a;return a=t&&n?n===`m`?`${r}${i}`:`${i}<${r}>`:r||i,a+=`[]`.repeat(e.arrayDepth??0),a}var HO={axis:t.IRange.Axis.Row},UO=22250738585072014e-324;function WO(e,t){if(e===0)return`0`;if(!Number.isFinite(e))return e.toString();let n=e<0,[r,i]=Math.abs(e).toExponential(14).split(`e`),a=r.replace(`.`,``),o=a.length;for(;o>1&&a.charCodeAt(o-1)===48;)o--;a=a.slice(0,o);let s=parseInt(i,10),c=t.getLocaleProfile().decimal,l=null;if(s>=0){let e=s+1;a.length>e?l=a.slice(0,e)+c+a.slice(e):e<=20&&(l=a.padEnd(e,`0`))}else{let e=-s-1;2+e+a.length<=20&&(l=`0`+c+`0`.repeat(e)+a)}if(l===null){let e=a.length>1?a[0]+c+a.slice(1):a,t=Math.abs(s);l=e+(s<0?`E-`:`E+`)+(t<10?`0`+t:String(t))}return n?`-`+l:l}function GO(e,n){let r=n.trim();if(r===``)return t.FormulaError.BuiltIn.Value;let i=Number(t.Scalar.truncateNumberText(r));return Number.isFinite(i)?mr(i,e.isDate1904())??t.FormulaError.BuiltIn.Value:t.FormulaError.BuiltIn.Value}function KO(e,n,r){if(!r)switch(n){case t.InteropScalarType.Number:return null;case t.InteropScalarType.String:r=ak;break;case t.InteropScalarType.Boolean:r=ok;break;case t.InteropScalarType.Date:r=sk;break;case t.InteropScalarType.Null:r=ck;break;case t.InteropScalarType.Error:case t.InteropScalarType.RichData:default:return null}let i=!1,a=!1,o=!1,s=!1,c=r.length;for(let e=0;e<c;e++)switch(r[e]){case t.ScalarType.Number:i=!0;break;case t.ScalarType.String:a=!0;break;case t.ScalarType.Boolean:o=!0;break;case t.ScalarType.RichData:break;case t.ScalarType.Null:s=!0}return n===t.ScalarType.Number?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Null:return s?0:null;case t.ScalarType.String:if(!a)return null;let r=n;if(r.length>255)return t.FormulaError.BuiltIn.Value;let i=Number(t.Scalar.truncateNumberText(r));if(i===0&&r.trim()===``)return t.FormulaError.BuiltIn.Value;if(isNaN(i)){let t=fO(e,r);t&&(i=t.value)}return!Number.isFinite(i)||Math.abs(i)>999999999999999e293?t.FormulaError.BuiltIn.Value:i;case t.ScalarType.Boolean:return o?+!!n:null}return null}:n===t.ScalarType.String?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Number:return i?WO(n,e):null;case t.ScalarType.Boolean:return o?_o(n):null;case t.ScalarType.Null:return s?``:null}return null}:n===t.InteropScalarType.Boolean?(e,n)=>{if(n===t.ScalarType.Error)return e;switch(n){case t.ScalarType.Number:return i?e!==0:null;case t.ScalarType.String:if(!a)return null;let n=e;return n===`TRUE`||n!==`FALSE`&&(n=n.toUpperCase(),n===`TRUE`||n!==`FALSE`&&null);case t.ScalarType.Null:return!s&&null}return null}:n===t.InteropScalarType.Date?(n,r)=>{if(r===t.ScalarType.Error)return n;switch(r){case t.ScalarType.Number:return i?mr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value:null;case t.ScalarType.String:if(!a)return null;let r=Fr(e,n);return r===null?GO(e,n):mr(r,e.isDate1904());case t.ScalarType.Null:return s?mr(0,e.isDate1904()):null}return null}:n===t.ScalarType.Null?(e,n)=>{if(n===t.ScalarType.Error)return e;switch(n){case t.ScalarType.Number:return i?0:null;case t.ScalarType.String:return a?``:null;case t.ScalarType.Boolean:return!o&&null}return null}:n===t.InteropScalarType.RichData?(e,t)=>null:null}function qO(e,n,r,i=t.ScalarType.Number,a=!1){if(r===i||!i)return r===t.ScalarType.Number&&(n=tk(n,null,`number`)),n;if(!0===n?.isLambda&&i!==`l`&&i!==`*`)return t.FormulaError.BuiltIn.Value;if(i===t.ScalarType.Number){switch(r){case t.ScalarType.Null:return 0;case t.ScalarType.String:if(n.length>255)return t.FormulaError.BuiltIn.Value;let r=0;try{let t=fO(e,n);r=t&&typeof t.value==`number`?t.value:NaN}catch{}return!Number.isFinite(r)||Math.abs(r)>999999999999999e293?t.FormulaError.BuiltIn.Value:r;case t.ScalarType.Boolean:return a?+!!n:t.FormulaError.BuiltIn.Value;case t.InteropScalarType.Date:return hr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value;case t.ScalarType.Error:return n}return n.toString()}if(i===t.ScalarType.String){switch(r){case t.ScalarType.Null:return``;case t.ScalarType.Number:return WO(n,e);case t.ScalarType.Boolean:return _o(n);case t.ScalarType.Error:return n}return n}if(i===t.InteropScalarType.Boolean){switch(r){case t.ScalarType.Null:return!1;case t.ScalarType.Number:return n!==0;case t.ScalarType.String:let e=n.toUpperCase();return e===`TRUE`||e!==`FALSE`&&t.FormulaError.BuiltIn.Value;case t.ScalarType.Error:return n}return t.FormulaError.BuiltIn.Value}if(i===t.InteropScalarType.Date){switch(r){case t.ScalarType.Null:return mr(0,e.isDate1904());case t.ScalarType.Number:return mr(n,e.isDate1904())??t.FormulaError.BuiltIn.Value;case t.ScalarType.String:let r=Fr(e,n);return r===null?GO(e,n):mr(r,e.isDate1904());case t.ScalarType.Error:return n}return t.FormulaError.BuiltIn.Value}return i===t.InteropScalarType.RichData?null:t.FormulaError.BuiltIn.Value}var JO=(e,n,r=null)=>{let i=Array.isArray(n),a=e.next();for(;!a.done;){let o=a.value;if(r===`reject`&&t.FormulaError.isError(o)||o instanceof t.FormulaError.Value)return o;i?n.push(o):n.values[n.length++]=o,a=e.next()}};function YO(e){let t=e;for(;Array.isArray(t);){if(t.length>1)return!1;t=t[0]}if(!t)return!0;if(t.isIRange&&t.size!==1)return!1;if(t.colStart!==void 0){let e=t;if(e.colStart!==e.colEnd||e.rowStart!==e.rowEnd)return!1}return!0}function XO(e){if(!Array.isArray(e))return!1;let t=e[0];return!(!t||typeof t!=`object`)&&(!!t.isIRange||t.colStart!==void 0)}function ZO(e,n,r,i=!1,a,o,s=null){let c=r;if(c===null)return;if(c.colStart!==void 0){let t=e.getReference?.(c);o&&(t=t.toType(o)),c=t}if(c.isIRange){let e=c,r=s===`reject`?`throw`:`value`;try{return JO(e.values({type:o,onError:r,...HO}),n,s)}catch(e){if(t.FormulaError.isError(e))return e;throw e}}let l=Array.isArray(n);if(Array.isArray(c)){let r=c.length;for(let u=0;u<r;u++){let r=c[u];if(r!==null)if(Array.isArray(r)){let t=ZO(e,n,r,i,a,o,s);if(t)return t}else{if(s===`reject`&&t.FormulaError.isError(r)||o&&(r=qO(e.getRuntime(),r,RO(r,!0),o,i),r instanceof t.FormulaError.Value))return r;l?n.push(r):n.values[n.length++]=c}}return}return s===`reject`&&t.FormulaError.isError(c)||o&&(c=qO(e.getRuntime(),c,RO(c,!0),o,i),c instanceof t.FormulaError.Value)?c:void(l?n.push(c):n.values[n.length++]=c)}function QO(e,n,r,i,a,o=null){if(r===`p`){let e=n;if(!e||!e.isIReferenceRange){if(t.FormulaError.isError(n))return n;let e=n;if(e?.isIRange&&e.size===1){let n=e.getValueAt(0,0);if(t.FormulaError.isError(n))return n}return t.FormulaError.BuiltIn.Value}if(o===`reject`&&e.hasError()){let t=e.errors().next();if(!t.done)return t.value.value}return i&&(e=o===`accept`?e.toType({type:i,onError:`value`}):e.toType(i)),e}let s;try{n?.isIReferenceRange?(s=n,i&&(s=o===`accept`?s.toType({type:i,onError:`value`}):s.toType(i))):o===`accept`?(s=t.FormulaError.isError(n)?e.createRange(1,1,n):e.getRange(n,void 0,a),i&&(s=s.toType({type:i,onError:`value`}))):s=e.getRange(n,i??void 0,a)}catch(e){if(Bd(e))throw e;return e}if(o===`reject`&&s.hasError()){let e=s.errors().next();if(!e.done)return e.value.value}return r===`r`?s:s.getValues()}function $O(e,n,r,i,a,o,s,c,l=null){let u=r;if(u&&u.colStart!==void 0)if(a)u=e.getReference?.(u);else{let t=u.colStart,n=u.rowStart,r=u.colEnd;u=u.rowEnd!==n||t!==r?e.getReference?.(u):e.getValueAt(n,t,u.scope)}if(i&&typeof r==`string`&&(o===t.ScalarType.Boolean||!o&&a))if(r===`TRUE`||r===`FALSE`)u=r===`TRUE`;else{let e=r.toUpperCase();e!==`TRUE`&&e!==`FALSE`||(u=e===`TRUE`)}u?.isIRange&&u.isDirectScalar?.()&&(u=u.getValueAt(0,0));let d=u?function(e){let t=e,n=0;for(;Array.isArray(t);)n++,t=t[0];return t&&(t.isIRange||t.colStart!==void 0)&&(n+=2),n}(u):0;if(d===0&&t.FormulaError.isError(u)){if(l===`reject`)return u;l===`accept`&&(o=null)}if(d===0&&o){let n=RO(u,!0);if(n!==o){let t=!i&&c;u=qO(e.getRuntime(),u,n,o,!t)}if(!s&&t.FormulaError.isError(u))return u}if(c){if(d===3){let t=u;for(let r=0;r<t.length;r++){let u=$O(e,n,t[r],i,a,o,s,c,l);if(u)return u}return}if(!a)return ZO(e,n,u,i,a,o,l);if(u=QO(e,u,a,o,i,l),t.FormulaError.isError(u))return u}else{if(XO(u))return t.FormulaError.BuiltIn.Ref;if(a){if(u=QO(e,u,a,o,i,l),t.FormulaError.isError(u))return u}else if(d>0){if(u=function(e,n=!1){let r=e;for(;Array.isArray(r);){if(r.length>1)return n?t.FormulaError.BuiltIn.Value:r;r=r[0]}if(r?.isIRange){if(n&&r.size!==1)return t.FormulaError.BuiltIn.Value;r=r.getValueAt(0,0)}return r}(u,!0),l===`reject`&&t.FormulaError.isError(u))return u;if(o&&!t.FormulaError.isError(u)){let n=RO(u,!0);if(n!==o&&(u=qO(e.getRuntime(),u,n,o,i)),!s&&t.FormulaError.isError(u))return u}}}if(!s&&t.FormulaError.isError(u))return u;Array.isArray(n)?n.push(u):n.values[n.length++]=u}function ek(e){return e!=e||e===1/0||e===-1/0?t.FormulaError.BuiltIn.Num:e>-22250738585072014e-324&&e<UO?0:e}function tk(e,n,r=typeof e){if(r===`number`)return ek(e);if(r===`string`)return e.length>t.Scalar.MAX_TEXT_LENGTH?t.FormulaError.BuiltIn.Value:e;if(e==null)return null;if(!n)return e;if(Array.isArray(e))try{e=n.getRange(e)}catch{return t.FormulaError.BuiltIn.Value}return e}function nk(e,n,r){let i;i=Array.isArray(e)?Array.isArray(e[0])?e:[e]:[[e]],n||=new ro({axis:t.IRange.Axis.Column});let a=n.getAxis()===t.IRange.Axis.Column,o=Za(i,a,Ha(r?.colStart??0,r?.rowStart??0,void 0,void 0,a),!0),s=Ua(o.bounds,a);return n.setValues(o.tuples),{values:n,coords:s,isLiteral:!r}}function rk(e,t=null){let n=[];for(let r=0;r<e;r++)n.push(t);return n}function ik(e){let t=[];for(let n=0;n<e;n++)t.push(void 0);return t}var ak=Object.freeze([t.ScalarType.Number,t.ScalarType.Boolean,t.ScalarType.Null]),ok=Object.freeze([t.ScalarType.Number,t.ScalarType.Null]),sk=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Null]),ck=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Boolean]),lk=Object.freeze([t.ScalarType.Number,t.ScalarType.String,t.ScalarType.Boolean,t.ScalarType.Null,t.ScalarType.RichData]),uk=new WeakMap,dk=(e,t)=>{let n=uk.get(e);return n||(n=t??{coerce:void 0,byRun:new WeakMap},uk.set(e,n)),n},fk=2**13,pk=Object.freeze({count:0,numericalCount:0,sum:null,min:null,max:null,average:null,var:null,varP:null,stdDev:null,stdDevP:null});function mk(e,n,r,i,a,o,s){if(n.getCount()===0)return null;let c=null,l=n.getAxis()===t.IRange.Axis.Column,u=i.length,d=a?{..._k,...a}:_k,f=d.bounds,p=a?.coerce;o.coerce!==p&&(o.byRun=new WeakMap,o.coerce=p);let m=o.byRun,h=hk(e,a),g=h.coerce,_=h.defaultCoerce,v=a?.onError??`ignore`,y=!1,b=null;if(v!==`ignore`)if(v===`throw`)y=!0;else{if(v===`value`)throw Error(`onError "value" is not supported in RangeStats`);typeof v==`function`&&(b=v)}for(let e=0;e<u;e++){let a=i[e];if(!a)continue;let o=l?a.colStart:a.rowStart,u=l?a.rowStart:a.colStart,p=l?a.colEnd:a.rowEnd,h=l?a.rowEnd:a.colEnd;f.colStart=l?o:u,f.rowStart=l?u:o,f.colEnd=l?p:h,f.rowEnd=l?h:p;let v=n.getRuns(d),x,S,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=!1,P=v.next();for(P.done||c||(c=yk());!P.done;){let[,e,n]=P.value;if(P=v.next(),C=n.length,w=Math.max(0,u-e),T=Math.min(C-1,h-e),!(w>T)){S=m.get(n),S||(E=Math.ceil(C/s),S=Array(E),m.set(n,S)),D=Math.floor(w/s),O=Math.floor(T/s);for(let e=D;e<=O;e++){if(k=e*s,A=Math.min((e+1)*s-1,C-1),j=Math.max(w,k),M=Math.min(T,A),j>M)continue;N=j===k&&M===A;let i=S[e];if(N){if(i){if((y||b)&&(i.typed[t.ScalarType.Error]>0||g!==null&&i.count!==i.typed[t.ScalarType.Number]))for(let e=k;e<=A;e++){x=n.at(e);let i=RO(x,!0);if(i!==t.ScalarType.Number&&(g&&(x=g(x,i,_,r)),t.FormulaError.isError(x))){if(y)throw x;b(x)}}}else{i=yk();for(let e=k;e<=A;e++){i.count++,x=n.at(e);let a=RO(x,!0);if(i.typed[bk(a)]++,a!==t.ScalarType.Number){let e=!0;if(g&&(x=g(x,a,_,r),a=RO(x,!0),e=a!==t.ScalarType.Number),t.FormulaError.isError(x)){if(y)throw x;b&&b(x)}if(e)continue}xk(i,x)}S[e]=i}Sk(c,i)}else for(let e=j;e<=M;e++){c.count++,x=n.at(e);let i=RO(x,!0);if(c.typed[bk(i)]++,i!==t.ScalarType.Number){let e=!0;if(g&&(x=g(x,i,null,r),i=RO(x,!0),e=i!==t.ScalarType.Number),t.FormulaError.isError(x)){if(y)throw x;b&&b(x)}if(e)continue}xk(c,x)}}}}}return c}function hk(e,n){let r=n?.coerce;if(r){if(typeof r==`function`)return{coerce:r,defaultCoerce:KO(e,t.ScalarType.Number,lk)};if(Array.isArray(r))return{coerce:KO(e,t.ScalarType.Number,r),defaultCoerce:null}}return{coerce:null,defaultCoerce:null}}function gk(e){if(!e||e.count===0)return pk;let t=e.numericalCount;if(!t||e.min===void 0)return Object.freeze({...pk,count:e.count});let n=e.sum/t,r=Math.max(0,e.sumSq/t-n*n),i=t>1?r*(t/(t-1)):null,a={count:e.count,numericalCount:t,sum:e.sum,min:e.min,max:e.max,average:n,varP:r,stdDevP:Math.sqrt(r),var:i,stdDev:i===null?null:Math.sqrt(i)};return a.populationVariance=r,Object.freeze(a)}var _k={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},vk={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},yk=()=>({count:0,min:void 0,max:void 0,numericalCount:0,sum:0,sumSq:0,typed:{[t.ScalarType.Number]:0,[t.ScalarType.String]:0,[t.ScalarType.Boolean]:0,[t.ScalarType.Error]:0,[t.ScalarType.RichData]:0,[t.ScalarType.Null]:0}}),bk=e=>{switch(e){case t.ScalarType.Number:case t.ScalarType.String:case t.ScalarType.Boolean:case t.ScalarType.Error:case t.ScalarType.RichData:case t.ScalarType.Null:return e;case t.InteropScalarType.Date:return t.ScalarType.Number;default:return t.ScalarType.Null}},xk=(e,t)=>{e.sum+=t,e.numericalCount++,e.sumSq+=t*t,e.min===void 0?(e.min=t,e.max=t):(t<e.min&&(e.min=t),t>e.max&&(e.max=t))},Sk=(e,n)=>{e.sum+=n.sum,e.numericalCount+=n.numericalCount,e.count+=n.count,e.sumSq+=n.sumSq;let r=e.typed,i=n.typed;r[t.ScalarType.Number]+=i[t.ScalarType.Number],r[t.ScalarType.String]+=i[t.ScalarType.String],r[t.ScalarType.Boolean]+=i[t.ScalarType.Boolean],r[t.ScalarType.Error]+=i[t.ScalarType.Error],r[t.ScalarType.RichData]+=i[t.ScalarType.RichData],r[t.ScalarType.Null]+=i[t.ScalarType.Null],n.min!==void 0&&(e.min===void 0?(e.min=n.min,e.max=n.max):(n.min<e.min&&(e.min=n.min),n.max>e.max&&(e.max=n.max)))},Ck=0x4000000000000,wk=class{constructor(e,t,n){this._kept=[],this._limit=e,this._distinct=t,this._rank=n}offer(e){let t=this._kept,n=this._rank;if(this._distinct){let r=t.length;for(let i=0;i<r;i++)if(n(t[i],e)===0)return}let r=t.length;r<this._limit?t.splice(Tk(t,e,n),0,e):n(e,t[r-1])<0&&(t.pop(),t.splice(Tk(t,e,n),0,e))}values(){return this._kept}};function Tk(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;n(e[a],t)<=0?r=a+1:i=a}return r}function Ek(e,t){let n=e?.compareFn??t;return e?.reverse?n:(e,t)=>n(t,e)}function Dk(e,n,r,i,a){let o=i?.limit??10;if(!(o>0)||e.getCount()===0)return kk;let s=i?.includeBlanks??!1,c=i?.filterFn,l=Ek(i,a),u=new wk(o,i?.distinct??!1,l),d=e.getAxis()===t.IRange.Axis.Column,f=n.length,p=(r?{...Ak,...r}:Ak).bounds,m=0,h=0;for(let t=0;t<f;t++){let r=n[t];if(!r)continue;m+=(r.colEnd-r.colStart+1)*(r.rowEnd-r.rowStart+1);let i=d?r.colStart:r.rowStart,a=d?r.rowStart:r.colStart,o=d?r.colEnd:r.rowEnd,s=d?r.rowEnd:r.colEnd;p.colStart=d?i:a,p.rowStart=d?a:i,p.colEnd=d?o:s,p.rowEnd=d?s:o;let l=e.getRuns(Ak),f=l.next();for(;!f.done;){let[,e,t]=f.value;f=l.next();let n=t.length,r=Math.max(0,a-e),i=Math.min(n-1,s-e);if(!(r>i))for(let e=r;e<=i;e++){h++;let n=t.at(e);c&&!c(n)||u.offer(n)}}}if(s){let e=m-h,t=Math.min(e,o);for(let e=0;e<t;e++)u.offer(null)}return u.values()}function Ok(e,t,n){let r=t?.limit??10;if(!(r>0))return kk;let i=Ek(t,n),a=new wk(r,t?.distinct??!1,i),o=e.length;for(let n=0;n<o;n++){let r=e[n].getRanked(t),i=r.next();for(;!i.done;)a.offer(i.value),i=r.next()}return a.values()}var kk=Object.freeze([]),Ak={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},jk=class e{constructor(e){this._sorted=e}static fromGrid(t,n,r){return new e(e._collectNumbers(t,n,r))}getLarge(e){e=Math.floor(e);let t=this._sorted,n=t.length;return e<1||e>n?null:t[n-e]}getSmall(e){e=Math.floor(e);let t=this._sorted,n=t.length;return e<1||e>n?null:t[e-1]}getPercentile(e,t=!1){let n=this._sorted,r=n.length;if(r===0)return null;if(t){if(e<=0||e>=1)return null;let t=e*(r+1)-1;return t<0||t>r-1?null:Mk(n,t)}return e<0||e>1?null:Mk(n,e*(r-1))}getRankOf(e,t=!0,n=!1){let r=this._sorted,i=r.length;if(i===0)return null;let a=Nk(r,e);if(a>=i||r[a]!==e)return null;let o=Pk(r,e)-1;return n?((t?i-o:a+1)+(t?i-a:o+1))/2:t?i-o:a+1}getPercentRankOf(e,n=!1,r){let i=this._sorted,a=i.length;if(a===0)return null;let o=Nk(i,e),s;if(o<a&&i[o]===e){if(a===1)return 1;s=n?(o+1)/(a+1):o/(a-1)}else{if(o===0||o>=a)return null;let t=i[o-1],r=(e-t)/(i[o]-t);s=n?(o+r)/(a+1):(o-1+r)/(a-1)}if(r===void 0)return s;if(!(r>=1))return t.FormulaError.BuiltIn.Num;let c=10**Math.trunc(r);return Number.isFinite(c)?Math.floor(s*c)/c:t.FormulaError.BuiltIn.Div0}getValues(){return this._sorted}findFloor(e){let t=this._sorted;if(t.length===0)return null;let n=Pk(t,e)-1;return n<0?null:t[n]}findCeiling(e){let t=this._sorted;if(t.length===0)return null;let n=Nk(t,e);return n>=t.length?null:t[n]}static _collectNumbers(e,n,r){if(e.getCount()===0)return Fk;let i=[],a=e.getAxis()===t.IRange.Axis.Column,o=n.length,s=(r?{...Ik,...r}:Ik).bounds;for(let t=0;t<o;t++){let r=n[t];if(!r)continue;let o=a?r.colStart:r.rowStart,c=a?r.rowStart:r.colStart,l=a?r.colEnd:r.rowEnd,u=a?r.rowEnd:r.colEnd;s.colStart=a?o:c,s.rowStart=a?c:o,s.colEnd=a?l:u,s.rowEnd=a?u:l;let d=e.getRuns(Ik),f=d.next();for(;!f.done;){let[,e,t]=f.value;f=d.next();let n=t.length,r=Math.max(0,c-e),a=Math.min(n-1,u-e);if(!(r>a))for(let e=r;e<=a;e++){let n=t.at(e);typeof n==`number`&&i.push(n)}}}return i.sort((e,t)=>e-t),Object.freeze(i)}};function Mk(e,t){let n=Math.floor(t),r=t-n;return r===0?e[n]:e[n]+r*(e[n+1]-e[n])}function Nk(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<t?n=i+1:r=i}return n}function Pk(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}var Fk=Object.freeze([]),Ik={bounds:{colStart:0,rowStart:0,colEnd:0,rowEnd:0},overflowRun:!0},Lk=class e{constructor(e,t,n,r,i,a,o=fk){this._runtime=e,this._grid=t,this._range=n,this._localCoords=r??[t.getCoords()],this._iteratorOptions=i,this._segmentCache=a??dk(t),this._ZoneSizeMinor=o}clone(t,n){return new e(this._runtime,t??this._grid,this._range?.clone()??null,n,this._iteratorOptions,dk(t??this._grid,this._segmentCache),this._ZoneSizeMinor)}clear(){this._sortedNumbers=void 0,this._aggregates=void 0,this._typedCounts=void 0,this._lastNumber=void 0,this._frequencies=void 0,this._ranked=void 0}_getLastNumber(){let e=this._lastNumber;return e===void 0&&(e=function(e,n,r,i,a){if(n.getCount()===0)return;let o=n.getAxis()===t.IRange.Axis.Column,s=i.length,c=hk(e,a),l=c.coerce,u=c.defaultCoerce,d=a?{...vk,...a,overflowRun:!0}:vk,f=d.bounds,p,m=-1,h=-1;for(let e=0;e<s;e++){let a=i[e];if(!a)continue;let s=o?a.colStart:a.rowStart,c=o?a.rowStart:a.colStart,g=o?a.colEnd:a.rowEnd,_=o?a.rowEnd:a.colEnd;f.colStart=o?s:c,f.rowStart=o?c:s,f.colEnd=o?g:_,f.rowEnd=o?_:g;let v=n.getRuns(d),y=v.next();for(;!y.done;){let[e,n,i]=y.value;y=v.next();let a=Math.max(0,c-n),s=Math.min(i.length-1,_-n);if(!(a>s))for(let c=s;c>=a;c--){let a=n+c,s=o?a:e,d=o?e:a;if(s<m||s===m&&d<=h){if(o)break;continue}let f=i.at(c),g=RO(f,!0);if(!(g!==t.ScalarType.Number&&(!l||(f=l(f,g,u,r),RO(f,!0)!==t.ScalarType.Number)))&&(m=s,h=d,p=f,o))break}}}return p}(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions)??null,this._lastNumber=e),e??void 0}toLocalCoords(t,n){return new e(this._runtime,this._grid,this._range,Array.isArray(t)?t:[t],n??this._iteratorOptions,this._segmentCache,this._ZoneSizeMinor)}getSize(){let e=this._localCoords,t=e.length,n=0;for(let r=0;r<t;r++){let t=e[r];n+=(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1)}return n}getCount(){return mk(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,onError:`ignore`}:Rk,this._segmentCache,this._ZoneSizeMinor)?.count??0}getAggregates(e){if(e)return gk(mk(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,...e}:e,this._segmentCache,this._ZoneSizeMinor));let t=this._aggregates;return t||(t=gk(mk(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions,this._segmentCache,this._ZoneSizeMinor)),this._aggregates=t),t}getSnappedSum(e){let t=this.getAggregates(),n=e??t.sum??0;return((e,t)=>e!==0&&e!==1/0&&e!==-1/0&&Math.abs(e)*Ck<=t+Math.abs(e))(n,(e=>{let t=e.min;return t==null?0:Math.max(Math.abs(t),Math.abs(e.max))})(t))?((e,t)=>t===void 0?e:Math.abs(e)*Ck<=Math.abs(e-t)?0:e)(n,this._getLastNumber()):n}getSortedNumbers(){let e=this._sortedNumbers;return e||(e=jk.fromGrid(this._grid,this._localCoords,this._iteratorOptions),this._sortedNumbers=e),e}getRanked(e){if(e)return Dk(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare())[Symbol.iterator]();let t=this._ranked;return t||(t=Dk(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare()),this._ranked=t),t[Symbol.iterator]()}getFrequencies(e){if(e)return this._buildFrequencies(e);let t=this._frequencies;return t||(t=this._buildFrequencies(),this._frequencies=t),t}_buildFrequencies(e){let n=e?.includeBlanks?this.getTypedCounts([t.ScalarType.Null])[t.ScalarType.Null]:0,r=e?.filterFn?void 0:this.getCount()+n;return fv.fromGrid(this._grid,this._localCoords,this._iteratorOptions,e,this._defaultCompare(),n,r)}_defaultCompare(){let e=this._runtime.getLocaleProfile();return(t,n)=>es.compare(t,n,e)}getTypedCounts(e){let n=this._typedCounts;if(!n){let e=mk(this._runtime,this._grid,this._range,this._localCoords,this._iteratorOptions?{...this._iteratorOptions,onError:`ignore`}:Rk,this._segmentCache,this._ZoneSizeMinor)?.typed,r={[t.ScalarType.Number]:e?.[t.ScalarType.Number]??0,[t.ScalarType.String]:e?.[t.ScalarType.String]??0,[t.ScalarType.Boolean]:e?.[t.ScalarType.Boolean]??0,[t.ScalarType.Error]:e?.[t.ScalarType.Error]??0,[t.ScalarType.RichData]:e?.[t.ScalarType.RichData]??0,[t.ScalarType.Null]:0},i=this._localCoords,a=i.length,o=0;for(let e=0;e<a;e++){let t=i[e];t&&(o+=(t.colEnd-t.colStart+1)*(t.rowEnd-t.rowStart+1))}r[t.ScalarType.Null]=Math.max(0,o-r[t.ScalarType.Number]-r[t.ScalarType.String]-r[t.ScalarType.Boolean]-r[t.ScalarType.Error]-r[t.ScalarType.RichData]),n=Object.freeze(r),this._typedCounts=n}if(e===void 0)return n;let r={},i=e.length;for(let t=0;t<i;t++)r[e[t]]=n[e[t]]??0;return r}get isIRangeStats(){return!0}},Rk={onError:`ignore`},zk=class e{constructor(e,t,n,r=null,i=!1,a=!1){this._isLiteral=!1,this._isDirectScalar=!1,this._localRangeStats=null,this._localRangeStatsOptions=void 0,this._runtime=e,this._values=t,this._coords=n,r&&(r={...Wk,...r}).axis===`fastest`&&(r.axis=t.getAxis()),this._optionsIterator=r??Wk,this._isLiteral=i,this._isDirectScalar=a}argsort(e=this,n=1,r=t.IRange.Axis.Row){let i=r===t.IRange.Axis.Column,a=Array.isArray(e)?e:[e],o=Array.isArray(n)?n:[n];return function(e,t,n,r){let i=Array.from({length:e},(e,t)=>t),a=t.length;if(a===1){let e=t[0],a=n[0]??1;return i.sort((t,n)=>Qk(e[t],e[n],a,r)),i}return i.sort((e,i)=>{for(let o=0;o<a;o++){let a=n[o]??1,s=t[o],c=Qk(s[e],s[i],a,r);if(c!==0)return c}return 0}),i}(i?this.getColumnCount():this.getRowCount(),a.map(e=>function(e,t,n){let r=n?e.getColumnCount():e.getRowCount(),i=Array(r).fill(null),a=e.entries(),o=a.next();for(;!o.done;){let{value:e,coords:r}=o.value;(n?r.rowIndex:r.colIndex)===t&&(i[n?r.colIndex:r.rowIndex]=e),o=a.next()}return i}(e,0,i)),o,this._runtime.getLocaleProfile())}uniqueIndices(e=t.IRange.Axis.Row,n=!1){let r=e===t.IRange.Axis.Column,i=r?this.getColumnCount():this.getRowCount(),a=Array(i).fill(``),o=new Map,s=this.entries({axis:e,includeEmpty:!1}),c=s.next();for(;!c.done;){let{value:e,coords:t}=c.value,n=r?t.colIndex:t.rowIndex,i=r?t.rowIndex:t.colIndex;a[n]+=$k(i,e,o),c=s.next()}return function(e,t){let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);let r=new Set,i=[];for(let a=0;a<e.length;a++){let o=e[a];r.has(o)||(r.add(o),t&&n.get(o)!==1||i.push(a))}return i}(a,n)}broadcast(e,r,i){let a=this._coords;if(e===void 0)return this._self();i=i?{...this._optionsIterator,...i}:this._optionsIterator;let o=i?.type,s=i?.otherType??o,c=o?this._coerceValue(null,o,i,t.ScalarType.Null):null,l=s?this._coerceValue(null,s,i,t.ScalarType.Null):null,u=e?.isIRange;if(!u&&a&&r.length===2)return this._broadcastScalar(e,r,i,c,l,s);let d;if(u)d=e;else{let t=this._values.clone();t.setValueAt(0,0,e),d=this._newRange(t,n.CoordUtils.EmptyRange,{type:RO(e,!0),...i})}let f=d,p=this.getColumnCount(),m=this.getRowCount(),h=f.getColumnCount(),g=f.getRowCount(),_=Math.min(p,h),v=Math.min(m,g),y=Math.max(p,h),b=Math.max(m,g),x=i?.misalignValue??null,S=x!==null&&y>_||b>v,C=!1;if(p!==h)if(p===1)_=h;else if(h===1)_=p;else{if(x===null)throw Error(`Incompatible shapes for broadcast: cols ${p} and ${h} must be equal or one must be 1`);C=!0}if(m!==g)if(m===1)v=g;else if(g===1)v=m;else{if(x===null)throw Error(`Incompatible shapes for broadcast: rows ${m} and ${g} must be equal or one must be 1`);C=!0}let w=this._values.getAxis(),T=w,E=T===t.IRange.Axis.Column;a??=n.CoordUtils.EmptyRange;let D,O,k=f._coords??n.CoordUtils.EmptyRange;if(C&&(a={colStart:a.colStart,rowStart:a.rowStart,colEnd:a.colStart+_-1,rowEnd:a.rowStart+v-1},k={colStart:k.colStart,rowStart:k.rowStart,colEnd:k.colStart+_-1,rowEnd:k.rowStart+v-1}),p===1&&p<h||m===1&&m<g){let e={...a};p===1&&(e.colEnd=e.colStart),m===1&&(e.rowEnd=e.rowStart),D=new qa({delegate:this._entries({...i,axis:T,bounds:e,reuseResult:!1}),bounds:e,axis:T,dims:{major:E?_:v,minor:E?v:_}})}else D=this._entries({...i,axis:T,bounds:a,reuseResult:!1});if(h===1&&h<p||g===1&&g<m){let e={...k};h===1&&(e.colEnd=e.colStart),g===1&&(e.rowEnd=e.rowStart),O=new qa({delegate:f._entries({...i,type:s??null,axis:T,bounds:e,reuseResult:!1}),bounds:e,axis:T,dims:{major:E?_:v,minor:E?v:_}})}else O=f._entries({...i,type:s??null,axis:T,bounds:k,reuseResult:!1});let A=a.colStart,j=a.rowStart,M=A-k.colStart,N=j-k.rowStart,P=T===w?new vi.Builder:new vi.TransposedBuilder,F=new Ja({...i,bounds:a,comparator:(E?Ay:jy)(a,k)},D,O),I=r.length===2,L=E?A:j,ee=E?j:A,R=L+(E?_:v)-1,z=ee+(E?v:_)-1,te,ne=L,re=ee,B=(e,t)=>{for(te===void 0&&(te=r(c,l,n.CoordUtils.EmptyCell,this));ne<e;){let e=z+1-re;e>0&&P.pushMultipleAt(ne,re,new Wi([te],e)),ne++,re=ee}re<t&&(P.pushMultipleAt(ne,re,new Wi([te],t-re)),re=t)},ie,ae=F.next();for(;!ae.done;){let e=ae.value,t=e[1],n=e[3],i=e[0],a=e[2],o=i?i.colIndex:a.colIndex+M,s=i?i.rowIndex:a.rowIndex+N,u=r(t??c,n??l,{colIndex:o-A,rowIndex:s-j},this),d=E?o:s,f=E?s:o;I&&(d>ne||f>re)&&B(d,f),P.pushAt(d,f,u),re=f+1,re>z?(ne=d+1,re=ee):ne=d,ae=F.next()}if(I)for(;ne<=R;){let e=z+1-re;e>0&&(te===void 0&&(te=r(c,l,n.CoordUtils.EmptyCell,this)),P.pushMultipleAt(ne,re,new Wi([te],e))),ne++,re=ee}if(S){let e=this._values.clone();if(this._applyBuilder(e,P),y>_){let t=Xa(x,Ha(A+_,j,A+y-1,j+b-1,E),E);e.setValues(t.tuples)}if(b>v){let t=Xa(x,Ha(A,j+v,A+y-1,j+b-1,E),E);e.setValues(t.tuples)}ie=this._newRange(e,{colStart:A,rowStart:j,colEnd:A+y-1,rowEnd:j+b-1},this._optionsIterator)}else ie=this._cloneFromBuilder(P),(y>ie.getColumnCount()||b>ie.getRowCount())&&(ie=ie.resize(b,y));return ie._untyped()}_broadcastScalar(e,r,i,a,o,s){let c=this._coords,l=this._values.getAxis(),u=l===t.IRange.Axis.Column,d=(s?this._coerceValue(e,s,i):e)??o,f=c.colStart,p=c.rowStart,m=u?f:p,h=u?p:f,g=u?c.colEnd:c.rowEnd,_=u?c.rowEnd:c.colEnd,v=r(a,d,n.CoordUtils.EmptyCell,this),y=new vi.Builder,b=m,x=h,S=(e,t)=>{for(;b<e;){let e=_+1-x;e>0&&y.pushMultipleAt(b,x,new Wi([v],e)),b++,x=h}x<t&&(y.pushMultipleAt(b,x,new Wi([v],t-x)),x=t)},C=this._entries({...i,axis:l,bounds:c,reuseResult:!1}),w=C.next();for(;!w.done;){let e=w.value,t=e[0],n=t.colIndex,i=t.rowIndex,o=u?n:i,s=u?i:n;S(o,s),y.pushAt(o,s,r(e[1]??a,d,{colIndex:n-f,rowIndex:i-p},this)),x=s+1,x>_?(b=o+1,x=h):b=o,w=C.next()}for(;b<=g;){let e=_+1-x;e>0&&y.pushMultipleAt(b,x,new Wi([v],e)),b++,x=h}return this._cloneFromBuilder(y)._untyped()}choose(e,r,i){let a=i?.misalignValue??t.FormulaError.BuiltIn.NA;if(this.isEmpty())return this.replace([[a]]);let o=e.map(e=>e.isIRange?e:this.fill(e)),s=o.length,c=this.getColumnCount(),l=this.getRowCount();if(c===1&&l===1){let e=r(this.getValueAt(0,0),n.CoordUtils.EmptyCell,this);return t.FormulaError.isError(e)?this.replace([[e]]):typeof e!=`number`||e<0||e>=s?this.replace([[a]]):o[e]}let u=c,d=l,f=u===1||d===1;for(let e=0;e<s;e++){let t=o[e],n=t.getColumnCount(),r=t.getRowCount();f=f||n===1||r===1,u=Math.max(u,n),d=Math.max(d,r)}let p=this;return f&&u>1&&d>1&&(c===1||l===1)&&(p=p.tile(l===1?d:1,c===1?u:1)),p=p.map((e,n)=>{let i=n.colIndex,c=n.rowIndex,l=r(e,n,this);if(t.FormulaError.isError(l))return l;if(typeof l!=`number`||l<0||l>=s)return a;let u=o[l];f&&(u.getColumnCount()===1&&(i=0),u.getRowCount()===1&&(c=0));let d=u.getValueAt(c,i);return d===void 0?a:d}),p=p.resize(d,u,a),p}clear(){let e=this._coords,t=this._values;return e&&t.getCount()!==0?(t=t.cloneEmpty(),this._newRange(t,this._coords,this._optionsIterator)):this._self()}clone(e,t=!1,n=!1){return this._newRange(this._values,this._coords,e??this._optionsIterator,t,n)}compute(e){return e(this)}concat(e,n=t.IRange.Axis.Row,r=t.FormulaError.BuiltIn.NA){let i=n===t.IRange.Axis.Column,a=this.getColumnCount(),o=this.getRowCount(),s=e.getColumnCount(),c=e.getRowCount(),l=i?a+s:Math.max(a,s),u=i?Math.max(o,c):o+c,d=this.resize(u,l,r).sparseBuilder(t.IRange.Axis.Column),f=i?0:o,p=i?a:0,m=e.entries({axis:t.IRange.Axis.Column,includeEmpty:!1}),h=m.next();for(;!h.done;){let{value:e,coords:t}=h.value;d.pushAt(t.rowIndex+f,t.colIndex+p,e),h=m.next()}return d.build()}empty(){let e=this._coords,t=this._values;return e&&t.getCount()!==0?(t=t.cloneEmpty(),this._newRange(t,null,this._optionsIterator)):this._self()}entries(e){let t=this._coords;if(!t)return ci;let n=e?.bounds;if(e={...this._optionsIterator,...e,bounds:t},n){let r=(n.colStart??0)-t.colStart,i=(n.rowStart??0)-t.rowStart,a=Math.max(r+t.colStart,t.colStart),o=Math.max(i+t.rowStart,t.rowStart),s=Math.min((n.colEnd??2**53-1)-r,t.colEnd-t.colStart)+1,c=Math.min((n.rowEnd??2**53-1)-i,t.rowEnd-t.rowStart)+1;e.bounds={colStart:a,rowStart:o,colEnd:a+s-1,rowEnd:o+c-1}}let r=this._entries(e),i={[Symbol.iterator]:()=>i,next(){for(;;){let e=r.next();if(e.done)return si;let n=e.value,i=n[0];return{done:!1,value:{coords:{colIndex:i.colIndex-t.colStart,rowIndex:i.rowIndex-t.rowStart},value:n[1]??null}}}}};return i}errors(e){let n=this.entries({axis:e?.axis??t.IRange.Axis.Row,bounds:e?.bounds,reverse:e?.reverse,type:null}),r={[Symbol.iterator]:()=>r,next(){let e=n.next();for(;!e.done;){if(t.FormulaError.isError(e.value.value))return e;e=n.next()}return si}};return r}every(e,t){if(!e)return!0;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value;if(!e(t.value,t.coords,this))return!1;r=n.next()}return!0}fill(e,t){let n=this._coords;if(!n||t&&(n=this._absoluteCoords(t),!n))return this._self();let r=this._values.clone();return Gk(r,n,e),this._newRange(r,n,this._optionsIterator)}fillEmpty(e,n){let r=this._coords;if(!r||n&&(r=this._absoluteCoords(n),!r))return this._self();let i=this._values;if(r.rowStart===r.rowEnd&&r.colStart===r.colEnd&&i.getValueAt(r.rowStart,r.colStart)!=null)return this;let a=i.getAxis(),o=a,s=o===t.IRange.Axis.Column,c=s?r.colStart:r.rowStart,l=s?r.rowStart:r.colStart,u=s?r.colEnd:r.rowEnd,d=s?r.rowEnd:r.colEnd,f=i.getRuns({bounds:r,overflowRun:!0}),p=f.next(),m=c,h=l,g=o===a?new vi.Builder:new vi.TransposedBuilder;for(;!p.done;){let t=p.value,n=t[0];for(;m<n;){let t=new Wi([e],d+1-h);g.pushMultipleAt(m,h,t),m++,h=l}let r=t[1],i=Math.max(r,l),a=t[2],o=Math.min(r+a.length-1,d);if(h<i){let t=new Wi([e],r-h);g.pushMultipleAt(m,h,t)}h=o+1,o>=d?(m=n+1,h=l):m=n,p=f.next()}for(;m<=u;){let t=new Wi([e],d+1-h);g.pushMultipleAt(m,h,t),m++,h=l}return this._cloneFromBuilder(g)}filter(e,n){let r=this._coords,i=this._values;if(!r||i.getCount()===0)return this._self();let a=n?.axis===`fastest`?i.getAxis():n?.axis??this._optionsIterator.axis,o=this.empty()._createBuilder(a),s=a===t.IRange.Axis.Column,c=-1,l=-1,u=!1,d=0,f=this.entries(n),p=f.next();for(;!p.done;){let n=p.value,r=n.coords,i=s?r.colIndex:r.rowIndex,a=s?r.rowIndex:r.colIndex,m=n.value;d++;let h=e(m,r,this);h?(i!==c&&(c=i,l++),t.FormulaError.isError(h)&&(m=h),o.pushAt(l,a,m)):u=!0,p=f.next()}return u||d!==this.size?this.empty()._cloneFromBuilder(o):this._self()}flatten(e){let t=[],n=this.values(e),r=n.next();for(;!r.done;)t.push(r.value),r=n.next();return t}forEach(e,t){if(!e)return;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value,i=e(t.value,t.coords,this);if(i)return i.break;r=n.next()}}getColumnCount(){let e=this._coords;return e?e.colEnd-e.colStart+1:0}getRowCount(){let e=this._coords;return e?e.rowEnd-e.rowStart+1:0}getShape(){let e=this._coords;return{rows:e.rowEnd-e.rowStart+1,columns:e.colEnd-e.colStart+1}}getStats(e){let t=this._localRangeStats;if(!t||e!==this._localRangeStatsOptions){let n=this._coords;t=new Lk(this._runtime,this._values,this,[n],e),this._localRangeStats=t,this._localRangeStatsOptions=e}return t}hasError(){return this.size<=Jk?!this.errors({axis:`fastest`}).next().done:(this.getStats().getTypedCounts(Yk)[t.ScalarType.Error]??0)>0}getType(){return this._optionsIterator?.type??void 0}getValueAt(e,t,n){let r=this._coords;if(!r||e<0||t<0||e>=r.rowEnd-r.rowStart+1||t>=this.getColumnCount())return;let i=this._values.getValueAt(e+r.rowStart,t+r.colStart)??null;i===void 0&&(i=null),n=n?{...this._optionsIterator,...n}:this._optionsIterator;let a=n?.type;return a&&(i=this._coerceValue(i,a,n)),i}getValues(e){if(!this._coords)return[[]];let n={...e,includeEmpty:!0,reverse:!1,onError:`value`,bounds:{colStart:0,rowStart:0,colEnd:this.getColumnCount()-1,rowEnd:this.getRowCount()-1}},r=!1;n.axis=e?.axis??t.IRange.Axis.Row,e&&(e.maxRows&&(n.bounds.rowEnd=0+e.maxRows-1),e.maxCols&&(n.bounds.colEnd=0+e.maxCols-1),e.trailingEmpties&&(r=e.trailingEmpties),n.axis=e?.axis??t.IRange.Axis.Row);let i=[];if(!r){n.includeEmpty=!1,n.reverse=!0,n.axis=t.IRange.Axis.Row;let r=this.entries(n).next();if(r.done)return Uk;n.axis=t.IRange.Axis.Column;let i=this.entries(n).next();n.bounds.rowEnd=r.value.coords.rowIndex,n.bounds.colEnd=i.value.coords.colIndex,n.includeEmpty=!0,n.reverse=!1,n.axis=e?.axis??t.IRange.Axis.Row}let a=this.entries(n),o=n.axis!==t.IRange.Axis.Row,s=e?.onValue,c,l=-1,u=[];for(c=a.next();!c.done;){let e=c.value,t=e.coords,n=o?t.colIndex:t.rowIndex;n!==l&&(u=[],i.push(u),l=n);let r=e.value;if(s){let e=s(r,t.rowIndex,t.colIndex,this);e!==void 0&&(r=e)}u.push(r),c=a.next()}return i}map(e,n){let r=this._coords,i=this._values;if(!r)return this._self()._untyped();let a=n?.axis===`fastest`?i.getAxis():n?.axis??this._optionsIterator.axis,o=this.entries(n),s,c=o.next();c.done||(s=this._createBuilder(a));let l=a===t.IRange.Axis.Column,u=l?r.colStart:r.rowStart,d=l?r.rowStart:r.colStart,f;for(;!c.done;){let t=c.value,n=t.coords,r=l?n.colIndex:n.rowIndex,i=l?n.rowIndex:n.colIndex,a=t.value;c=o.next();let p=e(a,n,this);p===void 0?p=a:p===null?(f||=to(l),f.append(r+u,i+d)):s.pushAt(r,i,p)}return this._cloneFromBuilder(s,f)._untyped()}mask(e,n,r){let i=r?.misalignValue??t.FormulaError.BuiltIn.NA,a=r?.emptyValue??null,o=r?.isTrue,s=KO(this._runtime,t.ScalarType.Boolean),c=e?.isIRange?e:this._newRange(this._values,null),l=n?.isIRange?n:this._newRange(this._values,null);if(c.size===1){let e=c.getValueAt(0,0),n=RO(e),i=n===t.ScalarType.Boolean?e:s(e,n);return t.FormulaError.isError(i)?this.empty().replace([[i]]):(!0===i?l:this).fillEmpty(r?.emptyValue??null)}let u=c.getColumnCount(),d=c.getRowCount(),f=l.getColumnCount(),p=this.getColumnCount(),m=Math.max(f,p,u),h=l.getRowCount(),g=this.getRowCount(),_=Math.max(h,g,d);c=c.repeat(d===1?_:1,u===1?m:1);let v=c.getColumnCount(),y=c.getRowCount(),b=this;b=b.repeat(g===1?y:1,p===1?v:1),b=b.fillEmpty(a);let x=h===1,S=f===1,C=b.sparseBuilder(qk),w=Math.max(g===1?y:g,x?y:h),T=Math.max(p===1?v:p,S?v:f);c=c.resize(w,T,i),c.forEach((e,n)=>{let r;if(o)r=o(e,n);else if(!0===e)r=!0;else if(!1===e)r=!1;else{let n=RO(e);r=n===t.ScalarType.Boolean?e:s(e,n)}let c=n.rowIndex,u=n.colIndex,d=null;!1!==r&&(!0===r?d=!S&&u>=f||!x&&c>=h?i:l.getValueAt(x?0:c,S?0:u)??a:t.FormulaError.isError(r)&&(d=r),C.pushAt(c,u,d))},Xk);let E=C.build();return E=E.resize(_,m,i),E}alignValues(e,r){let i=r?{...this._optionsIterator,...r}:this._optionsIterator,a=this._values.getAxis(),o=i.axis,s=o&&o!==`fastest`?o:a,c=s===t.IRange.Axis.Column,l=e=>{let t=e.iterator.next();if(t.done)return void(e.done=!0);let n=t.value;e.value=n[1]??null,e.rowRel=n[0].rowIndex-e.rowBase,e.colRel=n[0].colIndex-e.colBase},u=[],d=(e,t,r)=>{let i=t._coords??n.CoordUtils.EmptyRange,a={slot:e,iterator:t._entries({...r,axis:s,bounds:i,reuseResult:!1}),done:!1,value:null,rowRel:0,colRel:0,rowBase:i.rowStart,colBase:i.colStart};l(a),u.push(a)};d(0,this,i);let f=[],p=e.length;for(let t=0;t<p;t++){let n=e[t];if(n===null){f.push(t+1);continue}d(t+1,n,n._optionsIterator)}let m=p+1,h=u.length,g=f.length,_=c?this.getRowCount():this.getColumnCount();return{[Symbol.iterator](){return this},next:()=>{let e=0,t=0,n=!1;for(let r=0;r<h;r++){let i=u[r];i.done||(n?(c?i.colRel-t||i.rowRel-e:i.rowRel-e||i.colRel-t)<0&&(e=i.rowRel,t=i.colRel):(e=i.rowRel,t=i.colRel,n=!0))}if(!n)return si;let r=Array(m).fill(null);for(let n=0;n<h;n++){let i=u[n];i.done||i.rowRel!==e||i.colRel!==t||(r[i.slot]=i.value,l(i))}if(g>0){let n=c?t*_+e+1:e*_+t+1;for(let e=0;e<g;e++)r[f[e]]=n}return{done:!1,value:[r,{rowIndex:e,colIndex:t}]}}}}alignReduce(e,t,n,r){if(!t)return n;let i=Array.isArray(e)?e:[e],a=this.alignValues(i,r),o=n,s=a.next(),c=r?.emptyFold;if(!c){for(;!s.done;){let[e,n]=s.value;o=t(o,e,n,this),s=a.next()}return o}let l=this.getRowCount(),u=this.getColumnCount(),d=0;for(;!s.done;){let[e,n]=s.value;n.rowIndex<l&&n.colIndex<u&&d++,o=t(o,e,n,this),s=a.next()}let f=l*u-d;return f>0?c(o,f):o}reduce(e,t,n){if(!e)return t;let r=this.entries(n),i=r.next(),a=t;for(;!i.done;){let t=i.value;a=e(a,t.value,t.coords,this),i=r.next()}return a}repeat(e,t){if(e===1&&t===1)return this._self();if(e<=0||t<=0)throw Error(`Invalid tile dimensions: ${e} x ${t}`);let n=this._coords;if(!n)return this._self();let r=this._values.cloneEmpty(),i=n.colStart,a=n.rowStart,o={colStart:0,rowStart:0,colEnd:0,rowEnd:0};this.forEach((n,s)=>{o.colStart=i+s.colIndex*t,o.rowStart=a+s.rowIndex*e,o.colEnd=o.colStart+t-1,o.rowEnd=o.rowStart+e-1,Gk(r,o,n)});let s=this.getColumnCount(),c=this.getRowCount();return n={colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart+t*s-1,rowEnd:n.rowStart+e*c-1},this._newRange(r,n,this._optionsIterator)}reshape(e,t){let n=this.getRowCount(),r=this.getColumnCount();if(e===n&&t===r)return this._self();if(e<=0||t<=0||!Number.isFinite(e)||!Number.isFinite(t))throw Error(`Invalid reshape dimensions: ${e} x ${t}`);if(e*t<n*r)throw Error(`Cannot reshape ${n} x ${r} into ${e} x ${t}; the target holds fewer positions.`);let i=this._coords;if(!i)return this._self();let a=this._values.cloneEmpty(),o=i.rowStart,s=i.colStart;return this.forEach((e,n)=>{let i=n.rowIndex*r+n.colIndex;a.setValueAt(o+Math.trunc(i/t),s+i%t,e)}),this._newRange(a,{colStart:s,rowStart:o,colEnd:s+t-1,rowEnd:o+e-1},this._optionsIterator)}replace(e,t){let r;if(e?.isIRange)r=e;else{let t=nk(e,this._values,this._coords);r=this._newRange(t.values,t.coords,this._optionsIterator,t.isLiteral)}if(this.size===0)return r._self();if(r.size===0)return this._self();let i=this._values.clone(),a=r._values,o=r._coords??n.CoordUtils.EmptyRange,s=this._coords??n.CoordUtils.EmptyRange,c=s.colStart,l=s.rowStart,u=c+(t?.colIndex??0),d=l+(t?.rowIndex??0);a.copyTo(i,{colIndex:u,rowIndex:d},o);let f={colStart:c,rowStart:l,colEnd:c+Math.max(this.getColumnCount(),r.getColumnCount()+(t?.colIndex??0))-1,rowEnd:l+Math.max(this.getRowCount(),r.getRowCount()+(t?.rowIndex??0))-1};return this._newRange(i,f,this._optionsIterator)}resize(e,t,n=null){if(t<0||e<0)throw Error(`Invalid resize dimensions: ${t} x ${e}`);let r=this._coords,i=r?r.colStart:0,a=r?r.rowStart:0,o=r?r.colEnd:0,s=r?r.rowEnd:0;if(t===(r?o-i+1:0)&&e===(r?s-a+1:0))return this._self();let c=i+t-1,l=a+e-1,u=this._values;u=u.clone(),(!r||c>o||l>s)&&Kk(u,r,c,l,n);let d={colStart:i,rowStart:a,colEnd:c,rowEnd:l};return this._newRange(u,d,this._optionsIterator)}select(e,t,n,r,i){Array.isArray(e)||(e=[e]);let a=e.length,o=-1;return n!==void 0&&(t=[...t,n],o=t.length-1),this.choose(t,(t,n)=>{let i=n.colIndex,s=n.rowIndex;for(let o=0;o<a;o++){let a=e[o];if(a.isIRange){let e=a,t=e.getColumnCount(),n=e.getRowCount();i+1>t&&t===1&&(i=0),s+1>n&&n===1&&(s=0),a=e.getValueAt(s,i)}if(r){if(Zk.colIndex=i,Zk.rowIndex=s,r(t,n,a,Zk,this))return o}else if(t===a)return o}return o},i)}slice(e){if(!e)return this._self();let t=this._absoluteCoords(e);return t?this._newRange(this._values,t,this._optionsIterator):this.empty()}some(e,t){if(!e)return!1;let n=this.entries(t),r=n.next();for(;!r.done;){let t=r.value;if(e(t.value,t.coords,this))return!0;r=n.next()}return!1}sort(e=1,n=t.IRange.Axis.Row){let r=this.argsort(this,e,n);return this.take(r,n)}sparseBuilder(e){let r=this._values,i=this._axisFromOptions(e),a=r.getAxis(),o=i!==t.IRange.Axis.Row,s=i===a?new vi.Builder:new vi.TransposedBuilder,c=this,l=this._coords??n.CoordUtils.EmptyRange,u=l.colStart,d=l.rowStart,f=o?u:d,p=o?d:u,m={pushAt(e,t,n){if(n===null)return m;let r=o?t:e,i=o?e:t;return s.pushAt(r+f,i+p,n),m},pushMultipleAt(e,t,n){let r;r=Array.isArray(n)?n:n.isIRange?n.flatten():[n];let i=o?t:e,a=o?e:t;return s.pushMultipleAt(i+f,a+p,r),m},build:()=>c._cloneFromBuilder(s)};return m}_takeSparse(e,n){let r=this.getRowCount(),i=this.getColumnCount(),a=n===t.IRange.Axis.Column,o=e.length,s=this.empty().resize(a?r:o,a?o:i,null).sparseBuilder(a?t.IRange.Axis.Column:t.IRange.Axis.Row);if(a)for(let t=0;t<o;t++){let n=e[t];for(let e=0;e<r;e++){let r=this.getValueAt(e,n);r!=null&&s.pushAt(e,t,r)}}else for(let t=0;t<o;t++){let n=e[t];for(let e=0;e<i;e++){let r=this.getValueAt(n,e);r!=null&&s.pushAt(t,e,r)}}return s.build()}_takeDense(e,n){let r=this.getRowCount(),i=this.getColumnCount(),a=n===t.IRange.Axis.Column,o=Array.from({length:i},()=>Array(r).fill(null)),s=this.entries(qk),c=s.next();for(;!c.done;){let{value:e,coords:t}=c.value;o[t.colIndex][t.rowIndex]=e,c=s.next()}let l=e.length,u=this.empty().resize(a?r:l,a?l:i,null).sparseBuilder(a?t.IRange.Axis.Column:t.IRange.Axis.Row);if(a)for(let t=0;t<l;t++){let n=o[e[t]];if(n)for(let e=0;e<r;e++){let r=n[e];r!=null&&u.pushAt(e,t,r)}}else for(let t=0;t<l;t++){let n=e[t];for(let e=0;e<i;e++){let r=o[e][n];r!=null&&u.pushAt(t,e,r)}}return u.build()}take(e,n=t.IRange.Axis.Row){let r=this.getRowCount(),i=this.getColumnCount();return e.length*i<i*r*.7?this._takeSparse(e,n):this._takeDense(e,n)}tile(e,t){if(e===1&&t===1)return this._self();if(e<=0||t<=0)throw Error(`Invalid tile dimensions: ${e} x ${t}`);let n=this._coords;if(!n)return this._self();let r=this._values,i=r.cloneEmpty(),a=this.getColumnCount(),o=this.getRowCount(),s=n.colStart,c=n.rowStart,l=0,u=0,d={rowIndex:0,colIndex:0};for(let f=0;f<e;f++){l=f*o;for(let e=0;e<t;e++)u=e*a,d.colIndex=s+u,d.rowIndex=c+l,r.copyTo(i,d,n)}return n={colStart:n.colStart,rowStart:n.rowStart,colEnd:n.colStart+t*a-1,rowEnd:n.rowStart+e*o-1},this._newRange(i,n,this._optionsIterator)}toScalar(){if(this.size!==1)throw Error(`Cannot convert to scalar, range size is ${this.size} not 1`);return this.getValueAt(0,0)}toType(e){let t=typeof e==`string`?{type:e}:e,n=this._optionsIterator;return n=n?{...n,...t}:t,this._newRange(this._values,this._coords,n)}transpose(){if(this.size<=1)return this._self();let e=this._values,n=this._coords,r=e.getAxis(),i=this._entries({axis:r===t.IRange.Axis.Column?t.IRange.Axis.Row:t.IRange.Axis.Column,bounds:n,reuseResult:!0}),a=r===t.IRange.Axis.Column,o=new vi.Builder,s=n.colStart,c=n.rowStart,l=i.next();for(;!l.done;){let e=l.value,t=e[0],n=t.colIndex-s,r=t.rowIndex-c,u=e[1];o.pushAt(a?r:n,a?n:r,u),l=i.next()}return this.empty()._cloneFromBuilder(o)}values(e){let t=this.entries(e);return{[Symbol.iterator](){return this},next(){let e=t.next();return e.done?si:{done:!1,value:e.value.value}}}}zip(e,t,n){let r=e.map(e=>e.isIRange?e:this.fill(e)),i=this._createBuilder();for(let{coords:e,value:a}of this.entries(n)){let{rowIndex:n,colIndex:o}=e,s=[a];for(let e of r){let t=e.getValueAt(n,o);s.push(t)}i.pushAt(n,o,t(s,e,this))}return this._cloneFromBuilder(i)._untyped()}isLiteral(){return this._isLiteral}isDirectScalar(){return this._isDirectScalar}isScalar(){return this.size===1}isEmpty(){return this.size===0}isVector(){let e=this.getColumnCount(),t=this.getRowCount();return e!==0&&t!==0&&(e===1&&t!==1||t===1&&e!==1)}get size(){let e=this._coords;return e?(e.colEnd-e.colStart+1)*(e.rowEnd-e.rowStart+1):0}[Symbol.iterator](){let e=this.entries();return{next(){let t=e.next();return t.done?si:{done:!1,value:t.value.value}},[Symbol.iterator](){return this}}}toString(){let e=this._coords;return e?`${e.rowEnd-e.rowStart+1}x${e.colEnd-e.colStart+1}:${this._toStringValues()}`:`0x0:{}`}get[Symbol.toStringTag](){return`[Range]`}_validateCoords(e){}_axisFromOptions(e){let t=this._optionsIterator;if(!e)return t.axis;let n;return n=typeof e==`object`&&`axis`in e?e.axis:e,n?n===`fastest`?this._values.getAxis():n:t.axis}_toStringValues(e=39){let n=`{`,r=this.entries({includeEmpty:!0,axis:t.IRange.Axis.Row,onError:`value`}),i=r.next(),a=0,o=i.value?.coords.rowIndex??0;for(;!i.done&&n.length<e;){let e=i.value;e.coords.rowIndex>o?(n+=`;`,o=e.coords.rowIndex):a>0&&(n+=`,`),a++;let t=e.value;t===null?t=``:typeof t==`string`?t=`"${t}"`:typeof t==`boolean`&&(t=t?`TRUE`:`FALSE`),n+=t,i=r.next()}return i.done?n+=`}`:n+=`...`,n}_entries(e){if(!this._coords)return ci;let n=this._values,r=this._optionsIterator,i=e?.axis===`fastest`?n.getAxis():e?.axis??r.axis,a=e?{...r,...e,axis:i}:r,o=n.entries(a),s=e?.type,c=null,l=e?.includeEmpty??!1,u=e?.errorOnInvalidCoercion??!1;if(l&&(o=new Ka(o,a),s&&(c=this._coerceValue(null,s,{...e,onError:`value`},t.ScalarType.Null))),s){let n=o,r=e.onError??`throw`,i=r===`ignore`,a=!1,d=!1,f=null;i||(r===`throw`?a=!0:r===`value`?d=!0:typeof r==`function`&&(f=r));let p=this._runtime,m=this,h=KO(p,s),g=e.coerce,_;g&&(typeof g==`function`?(h=g,_=KO(p,s,lk)):Array.isArray(g)&&(h=KO(p,s,g)));let v=this._isDirectScalar;o={[Symbol.iterator]:()=>o,next(){for(;;){let e=n.next();if(e.done)return si;let r=e.value,o=r[1],g=null;if(o===void 0||o===null&&i)g=c;else if(s){let e=RO(o,!0);if(v&&!h&&e!==s&&(o=qO(p,o,e,s,!0),e=RO(o,!0)),e===s)g=o;else{if(h?(g=h(o,e,_,m),u&&g===null&&o!==null&&(g=t.FormulaError.BuiltIn.Value)):e===t.ScalarType.Error&&(g=o),t.FormulaError.isError(g))if(i)g=null;else{if(a)throw g;d||f&&f(o)}if(g===null){if(l)return{done:!1,value:[r[0],g]};continue}}}return g===o?e:{done:!1,value:[r[0],g]}}}}}return o}_absoluteCoords(e,t){let r=this._coords??n.CoordUtils.EmptyRange,i=r.colStart,a=r.rowStart;Hk.colStart=(e.colStart??0)+i,Hk.rowStart=(e.rowStart??0)+a,Hk.colEnd=(e.colEnd??r.colEnd-i)+i,Hk.rowEnd=(e.rowEnd??r.rowEnd-a)+a;let o=n.CoordUtils.intersectRanges(r,Hk,t);return o&&this._validateCoords(o),o}_self(){return this._isLiteral?this.clone():this}_untyped(){let e=this._optionsIterator;if(!e?.type)return this;let{type:t,coerce:n,...r}=e;return this._newRange(this._values,this._coords,r,this._isLiteral)}_createBuilder(e){let r=this._coords??n.CoordUtils.EmptyRange,i=this._values.getAxis(),a=e??i,o=a!==t.IRange.Axis.Row,s=o?r.colStart:r.rowStart,c=o?r.rowStart:r.colStart;return a===i?new vi.Builder(null,s,c):new vi.TransposedBuilder(null,s,c)}_applyBuilder(e,t,n=!1){if(!t)return e;let r=t.build();return r?(n&&(e=e.clone()),e.setValues(r.tuples),e):e}_cloneFromBuilder(e,n=null){let r=e?e.build():void 0;if(!r&&!n)return this._self();let i=this._values;i=i.clone();let a=i.getAxis()===t.IRange.Axis.Column;if(n){let e=n.done();for(let t of e)i.delete(t)}let o=this._coords;if(r){let e=Ua(r.bounds,a),t=o,n=t?t.colStart:0,s=t?t.rowStart:0,c=t?t.colEnd:0,l=t?t.rowEnd:0,u=e.colEnd,d=e.rowEnd;(u>c||d>l)&&Kk(i,t,u,d),i.setValues(r.tuples),o={colStart:n,rowStart:s,colEnd:Math.max(u,c),rowEnd:Math.max(d,l)}}return this._newRange(i,o,this._optionsIterator,this._isLiteral)}_coerceValue(e,n,r,i){if(!n)return e;let a=this._runtime,o=KO(a,n),s=r?.coerce,c;s&&(typeof s==`function`?(o=s,c=KO(a,n,lk)):Array.isArray(s)&&(o=KO(a,n,s))),i??=RO(e,!0),this._isDirectScalar&&i!==n&&(e=qO(this._runtime,e,i,n,!0),i=RO(e,!0));let l=null;if(i===n)l=e;else if(o?l=o(e,i,c,this):i===t.ScalarType.Error&&(l=e),t.FormulaError.isError(l)){let e=r?.onError??`throw`;if(e===`throw`)throw l;e===`value`||(e===`ignore`?l=null:typeof e==`function`&&e(l))}return l}_mergeIterators(e,r,i){let a=this._coords??n.CoordUtils.EmptyRange,o=e._coords??n.CoordUtils.EmptyRange,s=this._values.getAxis(),c=i?.axis===`fastest`?s:i?.axis??s,l=c!==t.IRange.Axis.Row,u=this._entries(i),d=this._entries(i),f=a.colStart,p=a.rowStart,m=f-o.colStart,h=p-o.rowStart,g=c===s?new vi.Builder:new vi.TransposedBuilder,_=new Ja({...i,axis:c,bounds:a,comparator:(l?Ay:jy)(a,o)},u,d),v=_.next();for(;!v.done;){let e=v.value,t=e[1],n=e[3],i=e[0],a=e[2],o=i?i.colIndex:a.colIndex+m,s=i?i.rowIndex:a.rowIndex+h,c=r(t,n,{colIndex:o-f,rowIndex:s-p},this),u=l?o:s,d=l?s:o;g.pushAt(u,d,c),v=_.next()}return g}_newRange(t,n,r=null,i=!1,a=!1){return new e(this._runtime,t,n,r,i,a)}get isIRange(){return!0}},Bk=class extends zk{constructor(e,t,n,r){super(e,t,n),this._visibleCoords=r}getStats(e){return super.getStats(e).toLocalCoords(this._visibleCoords,e)}},Vk={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1},Hk={colStart:-(2**53-1),rowStart:-(2**53-1),colEnd:2**53-1,rowEnd:2**53-1},Uk=Object.freeze([Object.freeze([null])]),Wk=Object.freeze({axis:t.IRange.Axis.Row}),Gk=(e,n,r)=>{if(r===null)return void e.delete(n);let i=e.getAxis()===t.IRange.Axis.Column,a=Xa(r,Ha(n.colStart,n.rowStart,n.colEnd,n.rowEnd,i),i);e.setValues(a.tuples)},Kk=(e,t,n,r,i=null)=>{if(!t)return Vk.colStart=0,Vk.rowStart=0,Vk.colEnd=n,Vk.rowEnd=r,void Gk(e,Vk,i);let a=t.colEnd,o=Math.max(n,a),s=t.rowEnd,c=Math.max(r,s);o>a&&(Vk.colStart=a+1,Vk.rowStart=t.rowStart,Vk.colEnd=o,Vk.rowEnd=c,Gk(e,Vk,i),o=a),c>s&&(Vk.colStart=t.colStart,Vk.rowStart=s+1,Vk.colEnd=o,Vk.rowEnd=c,Gk(e,Vk,i))},qk=Object.freeze({axis:`fastest`}),Jk=64,Yk=Object.freeze([t.ScalarType.Error]),Xk=Object.freeze({axis:`fastest`,onError:`value`}),Zk={colIndex:-(2**53-1),rowIndex:-(2**53-1)};function Qk(e,t,n,r){let i=e==null,a=t==null;return i||a?i&&a?0:i?1:-1:es.compare(e,t,r,r.collator)*n}function $k(e,t,n){if(typeof t!=`string`)return e+pv(t);let r=n.get(t);return r===void 0&&(r=pv(t),n.set(t,r)),e+r}var eA=class e extends zk{constructor(e,t,n,r,i,a){if(super(e,t,n,r??null),this._getEntireCoords=i??FO,this._resolveScope=a,this._coords=tA(n,this._getEntireCoords()),!n)throw Error(`ReferenceRange requires a coords`);this._validateCoords(n)}getCoords(){let e=this._coords;if(e.scope){let n=this._resolveScope(e.scope);if(n==null)throw new t.FormulaError.Ref;e={...e,scope:n}}return e}get isIReferenceRange(){return!0}toType(t){let n=typeof t==`string`?{type:t}:t;return new e(this._runtime,this._values,this._coords,n,this._getEntireCoords,this._resolveScope)}_validateCoords(e){let t=this._getEntireCoords?.();if(t&&(e.rowStart<t.rowStart&&e.rowStart!==-(2**53-1)||e.rowEnd>t.rowEnd&&e.rowEnd!==2**53-1||e.colStart<t.colStart&&e.colStart!==-(2**53-1)||e.colEnd>t.colEnd&&e.colEnd!==2**53-1))throw new n.OutOfBoundsError}get[Symbol.toStringTag](){return`[ReferenceRange]`}toString(){let e=this._coords,n=this._getEntireCoords();return e.scope&&(e={...e},e.scope=this._resolveScope(e.scope)??t.FormulaError.Label.Ref),`${Ql(e,n)}=>${super.toString()}`}},tA=(e,t)=>{let n=e.rowStart,r=e.rowEnd,i=e.colStart,a=e.colEnd,o=!1;return i===-(2**53-1)&&(i=t.colStart,o=!0),n===-(2**53-1)&&(n=t.rowStart,o=!0),r===2**53-1&&(r=t.rowEnd,o=!0),a===2**53-1&&(a=t.colEnd,o=!0),o?{rowStart:n,rowEnd:r,colStart:i,colEnd:a,scope:e.scope}:e};Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return vx}}),Object.defineProperty(exports,"$t",{enumerable:!0,get:function(){return nu}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return mx}}),Object.defineProperty(exports,"At",{enumerable:!0,get:function(){return Kh}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return sx}}),Object.defineProperty(exports,"Bt",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return CS}}),Object.defineProperty(exports,"Cn",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"Ct",{enumerable:!0,get:function(){return k_}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return zS}}),Object.defineProperty(exports,"Dn",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"Dt",{enumerable:!0,get:function(){return Wh}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return dS}}),Object.defineProperty(exports,"En",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"Et",{enumerable:!0,get:function(){return mm}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return Wb}}),Object.defineProperty(exports,"Ft",{enumerable:!0,get:function(){return Np}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return $b}}),Object.defineProperty(exports,"Gt",{enumerable:!0,get:function(){return hf}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return tx}}),Object.defineProperty(exports,"Ht",{enumerable:!0,get:function(){return kp}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return dx}}),Object.defineProperty(exports,"It",{enumerable:!0,get:function(){return $p}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return Gb}}),Object.defineProperty(exports,"Jt",{enumerable:!0,get:function(){return Ll}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return ex}}),Object.defineProperty(exports,"Kt",{enumerable:!0,get:function(){return Wd}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return Kb}}),Object.defineProperty(exports,"Lt",{enumerable:!0,get:function(){return tm}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return ox}}),Object.defineProperty(exports,"Mt",{enumerable:!0,get:function(){return ch}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return qb}}),Object.defineProperty(exports,"Nt",{enumerable:!0,get:function(){return ph}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return IS}}),Object.defineProperty(exports,"On",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"Ot",{enumerable:!0,get:function(){return bm}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return Hb}}),Object.defineProperty(exports,"Pt",{enumerable:!0,get:function(){return Em}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return Yb}}),Object.defineProperty(exports,"Qt",{enumerable:!0,get:function(){return Gl}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return Zb}}),Object.defineProperty(exports,"Rt",{enumerable:!0,get:function(){return wp}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return ES}}),Object.defineProperty(exports,"Sn",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"St",{enumerable:!0,get:function(){return U_}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return OS}}),Object.defineProperty(exports,"Tn",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"Tt",{enumerable:!0,get:function(){return kg}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return nx}}),Object.defineProperty(exports,"Ut",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return ax}}),Object.defineProperty(exports,"Vt",{enumerable:!0,get:function(){return Mp}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return Qb}}),Object.defineProperty(exports,"Wt",{enumerable:!0,get:function(){return bf}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return Xb}}),Object.defineProperty(exports,"Xt",{enumerable:!0,get:function(){return Ql}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return rx}}),Object.defineProperty(exports,"Yt",{enumerable:!0,get:function(){return iu}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return Jb}}),Object.defineProperty(exports,"Zt",{enumerable:!0,get:function(){return su}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return LS}}),Object.defineProperty(exports,"_n",{enumerable:!0,get:function(){return Xn}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return eO}}),Object.defineProperty(exports,"an",{enumerable:!0,get:function(){return wo}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return Ob}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return RS}}),Object.defineProperty(exports,"bn",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"bt",{enumerable:!0,get:function(){return J_}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return PD}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return vo}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return Jy}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return aD}}),Object.defineProperty(exports,"dn",{enumerable:!0,get:function(){return vi}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return Qv}}),Object.defineProperty(exports,"en",{enumerable:!0,get:function(){return dl}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return fx}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Yw}}),Object.defineProperty(exports,"fn",{enumerable:!0,get:function(){return si}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return yy}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return XS}}),Object.defineProperty(exports,"gn",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return pv}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return rw}}),Object.defineProperty(exports,"hn",{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return fv}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return iO}}),Object.defineProperty(exports,"in",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return Mb}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return px}}),Object.defineProperty(exports,"jt",{enumerable:!0,get:function(){return hm}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return nS}}),Object.defineProperty(exports,"kt",{enumerable:!0,get:function(){return xm}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return fD}}),Object.defineProperty(exports,"ln",{enumerable:!0,get:function(){return yo}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return Ny}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return bw}}),Object.defineProperty(exports,"mn",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return Rv}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ok}}),Object.defineProperty(exports,"nn",{enumerable:!0,get:function(){return $o}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return zb}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return xO}}),Object.defineProperty(exports,"on",{enumerable:!0,get:function(){return ho}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return lb}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Cw}}),Object.defineProperty(exports,"pn",{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return oy}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return cx}}),Object.defineProperty(exports,"qt",{enumerable:!0,get:function(){return jd}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return gk}}),Object.defineProperty(exports,"rn",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return _b}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return YD}}),Object.defineProperty(exports,"sn",{enumerable:!0,get:function(){return _o}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return sb}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return jk}}),Object.defineProperty(exports,"tn",{enumerable:!0,get:function(){return ll}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return vD}}),Object.defineProperty(exports,"un",{enumerable:!0,get:function(){return bo}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return $v}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return uS}}),Object.defineProperty(exports,"vn",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"vt",{enumerable:!0,get:function(){return lv}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return SS}}),Object.defineProperty(exports,"wn",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"wt",{enumerable:!0,get:function(){return E_}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return kS}}),Object.defineProperty(exports,"xn",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"xt",{enumerable:!0,get:function(){return q_}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return DS}}),Object.defineProperty(exports,"yn",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"yt",{enumerable:!0,get:function(){return G_}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return ix}}),Object.defineProperty(exports,"zt",{enumerable:!0,get:function(){return X}});
|