@silurus/ooxml 0.78.0 → 0.78.1
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/README.md +1 -1
- package/dist/{canvas-viewer-mechanics-ChxLdOJg.js → canvas-viewer-mechanics-B4K_t5X_.js} +1 -1
- package/dist/{document-pull-client-xsdVDuVD.js → document-pull-client-5AakVD6e.js} +3137 -3016
- package/dist/{docx-CZC3j4s4.js → docx-bjhRwb2u.js} +4 -4
- package/dist/docx.mjs +3 -3
- package/dist/docx_parser_bg.wasm +0 -0
- package/dist/index.mjs +3 -3
- package/dist/{line-distribute-HuZyTARz.js → line-distribute-BVFW1-Hs.js} +1 -1
- package/dist/{line-metrics-z9AdgPaZ.js → line-metrics-DS0NS2Iq.js} +1720 -1686
- package/dist/node.mjs +7 -7
- package/dist/{pptx-c3UgGKIs.js → pptx-D1rCrHGR.js} +5 -5
- package/dist/pptx.mjs +4 -4
- package/dist/pptx_parser_bg.wasm +0 -0
- package/dist/{render-yhFUeiYl.js → render-DhlT5jxZ.js} +1 -1
- package/dist/render-worker-host-CtJo7hc9.js +27 -0
- package/dist/render-worker-host-D8vv-Asx.js +27 -0
- package/dist/render-worker-host-DAjG9nmw.js +27 -0
- package/dist/{resource-measurement-5g27Av6n.js → resource-measurement-BA-4Q-II.js} +1 -1
- package/dist/{session-BOuXp10X.js → session-C_HGxbRD.js} +2 -2
- package/dist/{slide-pull-client-DKckZrLx.js → slide-pull-client-BiC4sVGi.js} +641 -579
- package/dist/types/docx.d.ts +6 -2
- package/dist/types/index.d.ts +13 -4
- package/dist/types/node.d.ts +10 -1
- package/dist/types/pptx.d.ts +6 -2
- package/dist/types/xlsx.d.ts +11 -2
- package/dist/{worksheet-pull-client-CMDRPZ5E.js → worksheet-pull-client-BnvgeqfG.js} +2 -2
- package/dist/{xlsx-BAScjxlC.js → xlsx-BG_WYSc0.js} +484 -449
- package/dist/xlsx.mjs +4 -4
- package/dist/xlsx_parser_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/render-worker-host-BzxTAscX.js +0 -27
- package/dist/render-worker-host-CBjWHxMb.js +0 -27
- package/dist/render-worker-host-Ivhx3KII.js +0 -27
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as e } from "./chunk-DmhlhrBa.js";
|
|
2
|
-
import { $t as t, A as n, B as r, C as i, Ct as a, D as o, Dt as s, Et as c, It as l, J as u, Kt as d, Lt as f, M as p, O as m, Ot as h, R as g, S as _, T as v, Tt as y, Ut as b, V as x, Xt as S, Yt as C, _ as w, _t as T, a as E, an as D, c as O, cn as k, d as A, dn as j, en as M, f as ee, fn as te, g as N, gn as P, gt as F, h as I, hn as L, ht as R, in as z, it as ne, j as B, kt as V, ln as re, m as H, mn as ie, mt as U, n as W, nn as ae, on as G, p as oe, pn as se, pt as ce, q as le, qt as ue, rn as de, s as fe, sn as pe, tn as K, u as q, un as me, vt as
|
|
3
|
-
import { C as
|
|
4
|
-
import { a as
|
|
5
|
-
import { i as
|
|
6
|
-
import { t as
|
|
7
|
-
import { n as
|
|
8
|
-
import { a as
|
|
2
|
+
import { $t as t, A as n, B as r, C as i, Ct as a, D as o, Dt as s, Et as c, It as l, J as u, Kt as d, Lt as f, M as p, O as m, Ot as h, R as g, S as _, T as v, Tt as y, Ut as b, V as x, Xt as S, Yt as C, _ as w, _t as T, a as E, an as D, c as O, cn as k, d as A, dn as j, en as M, f as ee, fn as te, g as N, gn as P, gt as F, h as I, hn as L, ht as R, in as z, it as ne, j as B, kt as V, ln as re, m as H, mn as ie, mt as U, n as W, nn as ae, on as G, p as oe, pn as se, pt as ce, q as le, qt as ue, rn as de, s as fe, sn as pe, tn as K, u as q, un as me, vt as he, w as ge, y as _e, z as ve } from "./line-metrics-DS0NS2Iq.js";
|
|
3
|
+
import { C as J, E as ye, S as be, T as xe, _ as Se, a as Ce, b as we, d as Te, f as Ee, h as De, i as Oe, l as ke, m as Ae, p as je, t as Me, u as Ne, v as Pe, w as Fe, x as Ie, y as Le } from "./canvas-viewer-mechanics-B4K_t5X_.js";
|
|
4
|
+
import { a as Re, i as ze, t as Be } from "./bounded-raw-part-cache-C6ro6Ezf.js";
|
|
5
|
+
import { i as Ve } from "./resource-measurement-BA-4Q-II.js";
|
|
6
|
+
import { t as He } from "./mathjax-CMjda8Ip.js";
|
|
7
|
+
import { n as Ue, r as We, t as Ge } from "./visible-index-CgyJLAS_.js";
|
|
8
|
+
import { a as Ke, c as qe, d as Je, i as Ye, l as Xe, n as Ze, o as Qe, s as $e, t as et, u as tt } from "./worksheet-pull-client-BnvgeqfG.js";
|
|
9
9
|
//#region packages/core/src/sparkline/renderer.ts
|
|
10
|
-
function
|
|
10
|
+
function nt(e, t, n) {
|
|
11
11
|
let { values: r } = n;
|
|
12
12
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
13
13
|
let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
|
|
@@ -16,11 +16,11 @@ function tt(e, t, n) {
|
|
|
16
16
|
m === h && (h = m + 1, --m);
|
|
17
17
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
18
18
|
if (n.kind === "stem") {
|
|
19
|
-
|
|
19
|
+
at(e, n, s, c, l, u);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
if (n.kind === "column") {
|
|
23
|
-
|
|
23
|
+
it(e, n, r, s, c, l, u, m, h);
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -44,7 +44,7 @@ function tt(e, t, n) {
|
|
|
44
44
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
45
45
|
}
|
|
46
46
|
e.stroke(), e.restore();
|
|
47
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
47
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = rt(r, n);
|
|
48
48
|
for (let t = 0; t < v; t++) {
|
|
49
49
|
let a = r[t];
|
|
50
50
|
if (a == null) continue;
|
|
@@ -52,7 +52,7 @@ function tt(e, t, n) {
|
|
|
52
52
|
(n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function rt(e, t) {
|
|
56
56
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
57
57
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
58
58
|
a = e;
|
|
@@ -67,10 +67,10 @@ function nt(e, t) {
|
|
|
67
67
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
68
68
|
return n;
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function it(e, t, n, r, i, a, o, s, c) {
|
|
71
71
|
let l = n.length;
|
|
72
72
|
if (l === 0) return;
|
|
73
|
-
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g =
|
|
73
|
+
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = rt(n, t);
|
|
74
74
|
for (let i = 0; i < l; i++) {
|
|
75
75
|
let a = n[i];
|
|
76
76
|
if (a == null) continue;
|
|
@@ -78,10 +78,10 @@ function rt(e, t, n, r, i, a, o, s, c) {
|
|
|
78
78
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function at(e, t, n, r, i, a) {
|
|
82
82
|
let o = t.values.length;
|
|
83
83
|
if (o === 0) return;
|
|
84
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
84
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = rt(t.values, t);
|
|
85
85
|
for (let r = 0; r < o; r++) {
|
|
86
86
|
let i = t.values[r];
|
|
87
87
|
if (i == null || i === 0) continue;
|
|
@@ -91,16 +91,16 @@ function it(e, t, n, r, i, a) {
|
|
|
91
91
|
}
|
|
92
92
|
//#endregion
|
|
93
93
|
//#region packages/core/src/text/bidi/segments.ts
|
|
94
|
-
function
|
|
94
|
+
function ot(e, t) {
|
|
95
95
|
return e === !0 ? "rtl" : e === !1 ? "ltr" : p().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
96
96
|
}
|
|
97
97
|
//#endregion
|
|
98
98
|
//#region packages/xlsx/src/worker.ts?worker&inline
|
|
99
|
-
var ot = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();_.__wbg_xlsxarchive_free(e,0)}acknowledge_sheet_cursor_terminal(){let e=_.xlsxarchive_acknowledge_sheet_cursor_terminal(this.__wbg_ptr);if(e[1])throw f(e[0])}assert_healthy(){let e=_.xlsxarchive_assert_healthy(this.__wbg_ptr);if(e[1])throw f(e[0])}cancel_sheet_cursor(){_.xlsxarchive_cancel_sheet_cursor(this.__wbg_ptr)}close_sheet_cursor(){_.xlsxarchive_close_sheet_cursor(this.__wbg_ptr)}extract_image(e){let t=d(e,_.__wbindgen_malloc,_.__wbindgen_realloc),n=g,i=_.xlsxarchive_extract_image(this.__wbg_ptr,t,n);if(i[3])throw f(i[2]);var a=r(i[0],i[1]).slice();return _.__wbindgen_free(i[0],i[1]*1,1),a}constructor(e,t,r,i){let a=u(e,_.__wbindgen_malloc),o=g,s=_.xlsxarchive_new(a,o,!l(t),l(t)?BigInt(0):t,!l(r),l(r)?BigInt(0):r,!l(i),l(i)?BigInt(0):i);if(s[2])throw f(s[1]);return this.__wbg_ptr=s[0]>>>0,n.register(this,this.__wbg_ptr,this),this}open_sheet_cursor(e,t){let n=d(t,_.__wbindgen_malloc,_.__wbindgen_realloc),r=g,i=_.xlsxarchive_open_sheet_cursor(this.__wbg_ptr,e,n,r);if(i[1])throw f(i[0])}parse(){let e=_.xlsxarchive_parse(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}pull_sheet_cursor(e){let t=_.xlsxarchive_pull_sheet_cursor(this.__wbg_ptr,e);if(t[3])throw f(t[2]);var n=r(t[0],t[1]).slice();return _.__wbindgen_free(t[0],t[1]*1,1),n}resource_usage(){let e=_.xlsxarchive_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}sheet_cursor_pull_finished(){return _.xlsxarchive_sheet_cursor_pull_finished(this.__wbg_ptr)!==0}sheet_cursor_resource_usage(){let e=_.xlsxarchive_sheet_cursor_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}to_markdown(){let e,t;try{let i=_.xlsxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,f(i[2]);return e=n,t=r,o(n,r)}finally{_.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./xlsx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(o(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(o(e,t))}finally{_.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=d(n,_.__wbindgen_malloc,_.__wbindgen_realloc),i=g;a().setInt32(e+4,i,!0),a().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return o(e,t)},__wbindgen_init_externref_table:function(){let e=_.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>_.__wbg_xlsxarchive_free(e>>>0,1));function r(e,t){return e>>>=0,c().subarray(e/1,e/1+t)}let i=null;function a(){return(i===null||i.buffer.detached===!0||i.buffer.detached===void 0&&i.buffer!==_.memory.buffer)&&(i=new DataView(_.memory.buffer)),i}function o(e,t){return e>>>=0,ee(e,t)}let s=null;function c(){return(s===null||s.byteLength===0)&&(s=new Uint8Array(_.memory.buffer)),s}function l(e){return e==null}function u(e,t){let n=t(e.length*1,1)>>>0;return c().set(e,n/1),g=e.length,n}function d(e,t,n){if(n===void 0){let n=h.encode(e),r=t(n.length,1)>>>0;return c().subarray(r,r+n.length).set(n),g=n.length,r}let r=e.length,i=t(r,1)>>>0,a=c(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=c().subarray(i+o,i+r),a=h.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return g=o,i}function f(e){let t=_.__wbindgen_externrefs.get(e);return _.__externref_table_dealloc(e),t}let p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});p.decode();let m=0;function ee(e,t){return m+=t,m>=2146435072&&(p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),p.decode(),m=t),p.decode(c().subarray(e,e+t))}const h=new TextEncoder;`encodeInto`in h||(h.encodeInto=function(e,t){let n=h.encode(e);return t.set(n),{read:e.length,written:n.length}});let g=0,_;function v(e,t){return _=e.exports,i=null,s=null,_.__wbindgen_start(),_}async function te(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function y(e){if(_!==void 0)return _;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await te(await e,n);return v(r,i)}async function ne(e){return _=void 0,i=null,s=null,y(e)}var b=class e extends Error{code;constructor(t,n){super(n),this.name=`OoxmlError`,this.code=t,Object.setPrototypeOf(this,e.prototype)}},x=class e extends Error{code=`ooxml-resource-limit`;details;constructor(t,n){super(t),this.name=`OoxmlResourceLimitError`;let r=n.violation,i=Object.freeze({format:r.format,operation:r.operation,resource:r.resource,metric:r.metric,...r.part===void 0?{}:{part:r.part},limit:r.limit,observed:r.observed,configurable:r.configurable,usage:Object.freeze({archiveEntryCount:r.usage.archiveEntryCount,declaredInflatedBytes:r.usage.declaredInflatedBytes,...r.usage.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:r.usage.largestInflatedEntryBytes},distinctInflatedBytes:r.usage.distinctInflatedBytes,operationInflatedBytes:r.usage.operationInflatedBytes})});this.details=Object.freeze({stage:n.stage,violation:i}),Object.setPrototypeOf(this,e.prototype)}},re=class e extends RangeError{code=`ooxml-decoded-image-limit`;constructor(t,n,r){super(`OOXML decoded image limit exceeded: ${t} ${r} > ${n}`),this.metric=t,this.limit=n,this.observed=r,this.name=`OoxmlDecodedImageLimitError`,Object.setPrototypeOf(this,e.prototype)}};function ie(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var ae=class{state=`uninitialized`;generationValue=0;readiness;poisonListeners=new Set;constructor(e,t,n){this.initialize=e,this.reinitialize=t,this.normalizeFailure=n}get generation(){return this.generationValue}get poisoned(){return this.state===`poisoned`}onPoison(e){return this.poisonListeners.add(e),()=>this.poisonListeners.delete(e)}async ensureReady(){if(this.state!==`ready`){if(!this.readiness){let e=this.state===`uninitialized`?this.initialize:this.reinitialize;this.readiness=Promise.resolve().then(e).then(()=>{this.generationValue+=1,this.state=`ready`,this.readiness=void 0},e=>{throw this.readiness=void 0,e})}await this.readiness}}run(e){try{return e()}catch(e){let t=this.normalizeFailure(e);throw t?(this.poison(t),t):e}}tryRunReady(e){if(this.state!==`ready`)return{current:!1};let t=this.generationValue,n=this.run(e);return this.state!==`ready`||t!==this.generationValue?{current:!1}:{current:!0,generation:t,value:n}}poison(e){this.state=`poisoned`,this.readiness=void 0;for(let t of this.poisonListeners)t(e)}assertCurrent(e){if(this.state!==`ready`||e!==this.generationValue)throw Error(`WASM archive session belongs to a discarded runtime generation`)}},S=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function oe(e){let t=globalThis.WebAssembly?.RuntimeError;return t&&e instanceof t||e instanceof RangeError?!0:e instanceof Error?e.name===`RuntimeError`||e.name===`CompileError`||e.name===`LinkError`||e.name===`InternalError`||e.name===`OOMError`:!1}function se(e){try{if((typeof e!=`object`||!e)&&typeof e!=`function`)return;let t=Reflect.get(e,`__destroy_into_raw`);typeof t==`function`&&Reflect.apply(t,e,[])}catch{}}function C(e,t){return e({module_or_path:t})}var ce=class{runtime;wasmInput=null;currentArchive=null;constructor(e,t={}){this.init=e,this.options=t,this.runtime=new ae(()=>this.invokeConfigured(this.init),()=>this.invokeConfigured(this.options.reinit??this.init),le),this.runtime.onPoison(()=>this.dropPoisonedArchive())}setWasmInput(e){this.wasmInput=e,this.runtime.ensureReady().catch(()=>void 0)}setWasmUrl(e){this.setWasmInput(e)}get archive(){return this.currentArchive}setArchive(e){this.freeArchive(),this.currentArchive=e}disposeArchive(){this.freeArchive()}get poisoned(){return this.runtime.poisoned}async ensureReady(){await this.runtime.ensureReady()}run(e){return this.runtime.run(e)}poison(){this.runtime.poison(new S(`WASM parser was recycled`))}invokeConfigured(e){return this.wasmInput===null?Promise.reject(Error(`WasmParserHost: setWasmInput was never called`)):C(e,this.wasmInput)}freeArchive(){this.currentArchive!==null&&this.options.freeArchive&&this.options.freeArchive(this.currentArchive),this.currentArchive=null}dropPoisonedArchive(){let e=this.currentArchive;this.currentArchive=null,se(e)}};function le(e){return oe(e)?new S(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`):null}function w(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function ue(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return w(t.requiredBytes)&&w(t.offeredBytes)&&t.requiredBytes>t.offeredBytes}var T=class e extends RangeError{code=`ooxml-insufficient-credit`;requiredBytes;offeredBytes;constructor(t){super(`Pull unit requires ${t.requiredBytes} bytes but credit is ${t.offeredBytes}`),this.name=`PullSessionInsufficientCreditError`,this.requiredBytes=t.requiredBytes,this.offeredBytes=t.offeredBytes,Object.setPrototypeOf(this,e.prototype)}};function de(e){if(e instanceof T)return e;let t=e instanceof Error?e.message:String(e);if(!t.startsWith(`OOXML_INSUFFICIENT_CREDIT:`))return;let n;try{n=JSON.parse(t.slice(26))}catch{return}if(!n||typeof n!=`object`||Array.isArray(n))return;let r=n;if(!(r.code!==`ooxml-insufficient-credit`||!ue(r)))return new T(r)}const E=`OOXML_RESOURCE_LIMIT:`;function D(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function O(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return D(t.archiveEntryCount)&&D(t.declaredInflatedBytes)&&(t.largestInflatedEntryBytes===void 0||D(t.largestInflatedEntryBytes))&&D(t.distinctInflatedBytes)&&D(t.operationInflatedBytes)}function k(e){let t;try{t=JSON.parse(new TextDecoder().decode(e))}catch{throw TypeError(`OOXML resource usage checkpoint is not valid JSON`)}if(!O(t))throw TypeError(`OOXML resource usage checkpoint is invalid`);return t}function fe(e){return e===`docx`||e===`xlsx`||e===`pptx`}function pe(e){return e===`container`||e===`decompression`||e===`parsing`||e===`serialization`||e===`layout`||e===`rendering`||e===`worker`}function A(e,t){return typeof e==`string`&&e.length>0&&e.length<=t&&!/[\\u0000-\\u001f\\u007f]/u.test(e)}function j(e){return A(e,128)&&/^[a-z0-9][a-z0-9-]*$/u.test(e)}function me(e){return!A(e,4096)||e.startsWith(`/`)||e.startsWith(`\\\\`)||e.includes(`\\\\`)||e.includes(`?`)||e.includes(`#`)||e.includes(`://`)||/^[a-z]:/iu.test(e)?!1:e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`)}const M=new Map([[`archive-entry:declared-inflated-bytes`,{stage:`container`,part:`required`}],[`archive-entry:actual-inflated-bytes`,{stage:`decompression`,part:`required`}],[`archive:entry-count`,{stage:`container`,part:`forbidden`}],[`archive:central-directory-bytes`,{stage:`container`,part:`forbidden`,configurable:!1}],[`archive:distinct-inflated-bytes`,{stage:`decompression`,part:`required`}],[`xml-event:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-context:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-tree:depth`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-row:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-shell:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}]]),he=new Set([...M.keys()].map(e=>e.slice(0,e.indexOf(`:`)))),ge=new Set([...M.keys()].map(e=>e.slice(e.indexOf(`:`)+1)));function _e(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!fe(t.format)||!A(t.operation,256)||!j(t.resource)||!j(t.metric)||!D(t.limit)||!D(t.observed)||typeof t.configurable!=`boolean`||!O(t.usage)?!1:!(`part`in t)||me(t.part)}function N(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(!pe(t.stage)||!_e(t.violation))return!1;let n=t.violation,r=M.get(`${n.resource}:${n.metric}`);return r?t.stage!==r.stage||r.configurable===!1&&n.configurable!==!1?!1:r.part===`required`?n.part!==void 0:r.part===`forbidden`?n.part===void 0:!0:!(he.has(n.resource)&&ge.has(n.metric))}function P(e){return{archiveEntryCount:e.archiveEntryCount,declaredInflatedBytes:e.declaredInflatedBytes,...e.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:e.largestInflatedEntryBytes},distinctInflatedBytes:e.distinctInflatedBytes,operationInflatedBytes:e.operationInflatedBytes}}function F(e){if(!N(e))return;let t=e.violation,n={stage:e.stage,violation:{format:t.format,operation:t.operation,resource:t.resource,metric:t.metric,...t.part===void 0?{}:{part:t.part},limit:t.limit,observed:t.observed,configurable:t.configurable,usage:P(t.usage)}};return N(n)?n:void 0}function I(e){let t=e.violation;return`OOXML resource limit exceeded${t.part?` for ${t.part}`:``}: ${t.metric} ${t.observed} > ${t.limit}`}function ve(e){let t=e instanceof Error?e.message:String(e);if(!t.startsWith(E))return;let n;try{n=JSON.parse(t.slice(21))}catch{return}if(!n||typeof n!=`object`)return;let r=n;if(!(r.code!==`ooxml-resource-limit`||!N(r.details)))return new x(I(r.details),r.details)}function ye(e){if(e instanceof re)return{message:e.message,errorName:e.name,code:e.code,decodedImage:{metric:e.metric,limit:e.limit,observed:e.observed}};let t=de(e);if(t)return{message:t.message,errorName:t.name,code:t.code,insufficientCredit:{requiredBytes:t.requiredBytes,offeredBytes:t.offeredBytes}};let n=e instanceof b||e instanceof x?e:ve(e);if(n instanceof x){let e=F(n.details);return e?{message:typeof n.message==`string`?n.message:I(e),errorName:`OoxmlResourceLimitError`,code:`ooxml-resource-limit`,resourceLimit:e}:{message:`Invalid OOXML resource-limit error payload`,errorName:`Error`}}if(n instanceof b)return{message:typeof n.message==`string`?n.message:String(n.message),errorName:A(n.name,128)?n.name:`OoxmlError`,...j(n.code)?{code:n.code}:{}};let r=e instanceof Error?e.message:String(e);if(typeof r==`string`&&r.startsWith(E))return{message:`Invalid OOXML resource-limit payload`,errorName:`Error`};let i=e instanceof Error?e:Error(r),a=i;return{message:typeof i.message==`string`?i.message:String(i.message),errorName:A(i.name,128)?i.name:`Error`,...typeof a.code==`string`?{code:a.code}:{}}}function L(e){try{return ye(e)}catch{return{message:`Worker operation failed with an unreadable error`,errorName:`Error`}}}function be(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength&&e.buffer instanceof ArrayBuffer?e.buffer:e.slice().buffer}Object.freeze({maxArchiveEntryBytes:134217728,maxTotalInflatedBytes:268435456,maxArchiveEntries:4096});function xe(e){return[e.maxArchiveEntryBytes===null?0n:BigInt(e.maxArchiveEntryBytes),e.maxTotalInflatedBytes===null?0n:BigInt(e.maxTotalInflatedBytes),e.maxArchiveEntries===null?0n:BigInt(e.maxArchiveEntries)]}const R=`ooxml-pull-v1`;function z(e,t){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`${t} must be a positive safe integer`)}function Se(e){if(!(typeof e==`string`&&e.length>0||typeof e==`number`&&Number.isSafeInteger(e)&&e>0))throw RangeError(`session id must be a non-empty string or positive safe integer`)}var Ce=class{owner;queue=Promise.resolve();leases=new Map;retainedBytes=0;retainedCount=0;maxRetainedBytes;maxRetainedCount;cleanups=new Set;pendingFatalCleanups=[];poisonRunning=!1;fatal;constructor(e){this.maxRetainedBytes=e?.maxRetainedBytes??64*1024*1024,this.maxRetainedCount=e?.maxRetainedCount??256,z(this.maxRetainedBytes,`max retained lease bytes`),z(this.maxRetainedCount,`max retained lease count`)}enqueue(e){let t=this.queue.then(e,e);return this.queue=t.then(()=>void 0,()=>void 0),t}acquire(e){return this.owner===void 0?(this.owner=e,!0):this.owner===e}release(e){this.owner===e&&(this.owner=void 0)}retainLease(e,t,n){if(!Number.isSafeInteger(n)||n<0)throw RangeError(`retained lease bytes are invalid`);let r=this.leases.get(e)??new Map;if(r.has(t))throw Error(`driver returned a duplicate lease id`);if(this.retainedCount+1>this.maxRetainedCount)throw RangeError(`retained lease count exceeds limit`);if(this.retainedBytes+n>this.maxRetainedBytes)throw RangeError(`retained lease bytes exceed limit`);r.set(t,n),this.leases.set(e,r),this.retainedCount++,this.retainedBytes+=n}releaseLease(e,t){let n=this.leases.get(e),r=n?.get(t);r!==void 0&&(n?.delete(t),n?.size===0&&this.leases.delete(e),this.retainedCount--,this.retainedBytes-=r)}registerCleanup(e){return this.fatal?(this.poisonRunning?this.pendingFatalCleanups.push(e):this.enqueue(e).catch(()=>void 0),()=>void 0):(this.cleanups.add(e),()=>this.cleanups.delete(e))}get fatalError(){return this.fatal}get registeredHostCount(){return this.cleanups.size}async poison(e){if(this.fatal??=e,this.poisonRunning)return this.fatal;this.poisonRunning=!0,this.pendingFatalCleanups.push(...this.cleanups);try{let e;for(;(e=this.pendingFatalCleanups.shift())!==void 0;)await e().catch(()=>void 0)}finally{this.poisonRunning=!1}return this.fatal}},we=class{options;coordinator;coordinatorOwner=Symbol(`pull-session-host`);unregisterCleanup;sequence=0;unacked;leases=new Map;activeDriverLeases=new Set;nextWireLeaseId;cancelRequested=!1;cancelComplete=!1;closeRequested=!1;closeComplete=!1;driverCancelComplete=!1;driverCloseComplete=!1;completed=!1;constructor(e){Se(e.sessionId),z(e.operationId,`operation id`),z(e.generation,`generation`),z(e.maxByteCredit,`max byte credit`),e.wireLeaseIdStart!==void 0&&z(e.wireLeaseIdStart,`wire lease id start`),this.options=e,this.coordinator=e.coordinator,this.nextWireLeaseId=e.wireLeaseIdStart??1,this.unregisterCleanup=this.coordinator.registerCleanup(()=>this.forceFatalCleanup())}dispatch(e,t){return this.coordinator.enqueue(async()=>{let n=await this.execute(e);try{t(n.response,n.transfer)}catch(e){throw await this.rollbackFailedPost(n),e}})}async rollbackFailedPost(e){let t=e.response;if(t.kind===`chunk`){let n=t.leaseId===void 0?void 0:this.leases.get(t.leaseId);try{await this.options.driver.disposeInvalidChunk?.({payload:t.payload,byteLength:t.byteLength,done:t.done,leaseId:n?.driverLeaseId,retainedBytes:n?.retainedBytes,transfer:e.transfer})}catch{}}this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);for(let[e,t]of[...this.leases])try{await this.options.driver.releaseLease?.(t.driverLeaseId)}catch{}finally{this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e)}if(this.cancelRequested=!0,!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch{}this.unregisterCleanup()}async execute(e){try{if(this.isStaleLifecycle(e)){let t=e.kind===`cancel`?`cancel`:`close`;return this.sameOperationIdentity(e)?{response:this.accepted(e,t,!0)}:{response:this.errorResponse(e,{message:`stale lifecycle targets another session or operation`,errorName:`PullSessionProtocolError`,code:`ooxml-stale-lifecycle`})}}this.validateCommandIdentity(e);let t=this.coordinator.fatalError;if(t)return e.kind===`pull`?{response:this.errorResponse(e,t)}:(e.kind===`cancel`?await this.cancel():e.kind===`close`?await this.close():e.kind===`release`&&await this.release(e.leaseId),{response:this.accepted(e,e.kind)});switch(e.kind){case`pull`:return await this.pull(e);case`ack`:return await this.ack(e.sequence),{response:this.accepted(e,`ack`)};case`release`:return await this.release(e.leaseId),{response:this.accepted(e,`release`)};case`cancel`:return await this.cancel(),{response:this.accepted(e,`cancel`)};case`close`:return await this.close(),{response:this.accepted(e,`close`)}}}catch(t){let n=L(t);return n.code===`ooxml-resource-limit`&&(n=await this.coordinator.poison(n)),{response:this.errorResponse(e,n)}}}async pull(e){if(this.closeRequested||this.cancelRequested||this.completed)throw Error(`pull session is closed`);if(this.unacked)throw Error(`previous chunk is not acknowledged`);if(!Number.isSafeInteger(e.sequence)||e.sequence<0||e.sequence!==this.sequence)throw Error(`pull command sequence mismatch`);if(this.validateHostCredit(e.byteCredit),!this.coordinator.acquire(this.coordinatorOwner))throw Error(`another operation has an unacknowledged package chunk`);let t;try{t=await this.options.driver.pull(e.byteCredit)}catch(e){throw this.coordinator.release(this.coordinatorOwner),e}let n=!1,r=!1,i,a;try{let o=this.options.driver.measureChunk(t),s=this.arrayBufferTransferBytes(t.transfer);if(o<s)throw RangeError(`measured chunk bytes are below ArrayBuffer transfer bytes`);if(a=Math.max(o,s),t.leaseId!==void 0){if(z(t.leaseId,`lease id`),t.retainedBytes===void 0)throw Error(`retained lease bytes are required`);if(this.activeDriverLeases.has(t.leaseId))throw r=!0,Error(`driver returned an active duplicate lease id`);i=this.allocateWireLeaseId(),this.coordinator.retainLease(this.coordinatorOwner,i,t.retainedBytes),this.leases.set(i,{driverLeaseId:t.leaseId,retainedBytes:t.retainedBytes}),this.activeDriverLeases.add(t.leaseId),n=!0}else if(t.retainedBytes!==void 0)throw Error(`retained lease bytes require a lease id`);if(!Number.isSafeInteger(a)||a<0)throw RangeError(`host chunk byte length must be a non-negative safe integer`);if(a>e.byteCredit)throw RangeError(`host chunk exceeds byte credit`)}catch(e){let a;try{await this.options.driver.disposeInvalidChunk?.(t)}catch(e){a=e}if(n&&i!==void 0)try{await this.release(i)}catch(e){a??=e}else if(t.leaseId!==void 0&&!r)try{await this.options.driver.releaseLease?.(t.leaseId)}catch(e){a??=e}if(r)try{await this.cancel()}catch(e){a??=e}throw this.coordinator.release(this.coordinatorOwner),a||e}return this.unacked={sequence:this.sequence,done:t.done},{response:{kind:`chunk`,protocol:R,...this.identity(),requestId:e.requestId,sequence:this.sequence,byteLength:a,done:t.done,payload:t.payload,leaseId:i,usage:this.resourceUsage()},transfer:t.transfer}}async ack(e){if(!Number.isSafeInteger(e)||e<0)throw RangeError(`invalid ack sequence`);if(e<this.sequence)return;if(!this.unacked||e!==this.sequence)throw Error(`ack sequence mismatch`);let t=this.unacked.done;await this.options.driver.acknowledge?.(e),this.unacked=void 0,this.coordinator.release(this.coordinatorOwner),this.sequence++,t&&(this.completed=!0,this.maybeUnregisterCompleted())}async release(e){z(e,`wire lease id`);let t=this.leases.get(e);t&&(await this.options.driver.releaseLease?.(t.driverLeaseId),this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e),this.maybeUnregisterCompleted())}async cancel(){if(this.cancelComplete)return;this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.cancelComplete=!0,this.unregisterCleanup()}async close(){if(this.closeComplete)return;this.closeRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCloseComplete)try{await this.options.driver.close?.(),this.driverCloseComplete=!0}catch(t){e??=t}if(e)throw e;this.closeComplete=!0,this.unregisterCleanup()}async releaseAllLeases(){let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(e)throw e}validateCommandIdentity(e){if(e.protocol!==`ooxml-pull-v1`||e.sessionId!==this.options.sessionId||e.operationId!==this.options.operationId||e.generation!==this.options.generation||!Number.isSafeInteger(e.requestId)||e.requestId<=0)throw Error(`stale or mismatched pull session command`)}validateHostCredit(e){if(z(e,`byte credit`),e>this.options.maxByteCredit)throw RangeError(`byte credit exceeds host maximum`)}accepted(e,t,n=!1){return{kind:`accepted`,protocol:R,...n?{sessionId:e.sessionId,operationId:e.operationId,generation:e.generation}:this.identity(),requestId:e.requestId,command:t,usage:this.resourceUsage()}}identity(){return{sessionId:this.options.sessionId,operationId:this.options.operationId,generation:this.options.generation}}isStaleLifecycle(e){return(e.kind===`cancel`||e.kind===`close`)&&e.protocol===`ooxml-pull-v1`&&Number.isSafeInteger(e.requestId)&&e.requestId>0&&Number.isSafeInteger(e.generation)&&e.generation>0&&e.generation<this.options.generation}sameOperationIdentity(e){return e.sessionId===this.options.sessionId&&e.operationId===this.options.operationId}errorResponse(e,t){return{kind:`error`,protocol:R,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:t,usage:this.errorResourceUsage()}}async forceFatalCleanup(){this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.unregisterCleanup()}allocateWireLeaseId(){if(!Number.isSafeInteger(this.nextWireLeaseId)||this.nextWireLeaseId<=0)throw RangeError(`wire lease id space exhausted`);return this.nextWireLeaseId++}arrayBufferTransferBytes(e){let t=0;for(let n of e??[])if(n instanceof ArrayBuffer&&(t+=n.byteLength,!Number.isSafeInteger(t)))throw RangeError(`ArrayBuffer transfer bytes overflow`);return t}maybeUnregisterCompleted(){this.completed&&this.leases.size===0&&this.unregisterCleanup()}resourceUsage(){return this.options.driver.resourceUsage?.()}errorResourceUsage(){try{return this.resourceUsage()}catch{return}}};function Te(e,t){for(let n of e)for(let e of n.cells){let n=e.value;if(n.type===`shared`){let r=t[n.si];if(r){let t={type:`text`,text:r.text};r.runs!==void 0&&(t.runs=r.runs),r.phoneticRuns!==void 0&&(t.phoneticRuns=r.phoneticRuns),r.phoneticPr!==void 0&&(t.phoneticPr=r.phoneticPr),e.value=t}else e.value={type:`text`,text:``}}}return e}function Ee(e,t,n,r){let i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength),a=JSON.parse(new TextDecoder().decode(i));if(!a||typeof a!=`object`||!(`kind`in a))throw Error(`worksheet cursor returned an invalid unit`);let o=a;if(t!==(o.kind===`finished`))throw Error(`worksheet cursor terminal marker mismatch`);if(o.kind===`rows`){if(!Array.isArray(o.rows))throw Error(`worksheet row unit is missing rows`);return n&&Te(o.rows,n),r?.(o.rows),{kind:`rows`,rows:o.rows}}if(o.kind===`finished`){if(!o.worksheet||typeof o.worksheet!=`object`)throw Error(`worksheet terminal unit is missing its worksheet`);return o.worksheet.rows=[],{kind:`finished`,worksheet:o.worksheet}}throw Error(`worksheet cursor returned an unknown unit kind`)}function B(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}function V(e,t,n){return B(e,`resource measurement`),B(t,`resource measurement`),B(n,`resource measurement limit`),e>n||t>n||t>n-e?n===2**53-1?n:n+1:e+t}function H(e,t=2**53-1){B(t,`resource measurement limit`);let n=0;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r),a;if(i<=127)a=1;else if(i<=2047)a=2;else if(i>=55296&&i<=56319&&r+1<e.length){let t=e.charCodeAt(r+1);t>=56320&&t<=57343?(a=4,r+=1):a=3}else a=3;if(n=V(n,a,t),n>t)return n}return n}function U(e,t=2**53-1){B(t,`resource measurement limit`);let n=V(0,2,t);if(n>t)return n;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r),a;if(i===34||i===92||i===8||i===9||i===10||i===12||i===13)a=2;else if(i<=31)a=6;else if(i<=127)a=1;else if(i<=2047)a=2;else if(i>=55296&&i<=56319&&r+1<e.length){let t=e.charCodeAt(r+1);t>=56320&&t<=57343?(a=4,r+=1):a=6}else a=i>=55296&&i<=57343?6:3;if(n=V(n,a,t),n>t)return n}return n}function W(e,t){return V(0,e,t)}function G(e,t=2**53-1,n=!1){if(B(t,`resource measurement limit`),e===null)return{jsonBytes:W(4,t),stringValueUtf8Bytes:0};if(typeof e==`string`)return{jsonBytes:U(e,t),stringValueUtf8Bytes:H(e,t)};if(typeof e==`boolean`)return{jsonBytes:W(e?4:5,t),stringValueUtf8Bytes:0};if(typeof e==`number`)return{jsonBytes:W((Number.isFinite(e)?String(Object.is(e,-0)?0:e):`null`).length,t),stringValueUtf8Bytes:0};if(typeof e==`bigint`)throw TypeError(`BigInt values cannot be serialized to JSON`);if(Array.isArray(e)){let n=W(2,t),r=0;for(let i=0;i<e.length;i+=1){i!==0&&(n=V(n,1,t));let a=G(e[i],t,!0);n=V(n,a.jsonBytes,t),r=V(r,a.stringValueUtf8Bytes,t)}return{jsonBytes:n,stringValueUtf8Bytes:r}}if(typeof e==`object`){let n=W(2,t),r=0,i=0;for(let[a,o]of Object.entries(e)){if(o===void 0||typeof o==`function`||typeof o==`symbol`)continue;i++!==0&&(n=V(n,1,t)),n=V(n,U(a,t),t),n=V(n,1,t);let e=G(o,t);n=V(n,e.jsonBytes,t),r=V(r,e.stringValueUtf8Bytes,t)}return{jsonBytes:n,stringValueUtf8Bytes:r}}return{jsonBytes:n?W(4,t):0,stringValueUtf8Bytes:0}}const K=1e5,q=25e4,J=33554432,Y=67108864,De=Object.freeze({archiveEntryCount:0,declaredInflatedBytes:0,distinctInflatedBytes:0,operationInflatedBytes:0});function Oe(e){let t=e.reduce((e,t)=>V(e,t.cells.length,q),0);return{rows:e.length,cells:t,ownedUtf8Bytes:e.reduce((e,t)=>t.cells.reduce((e,t)=>{let n=G(t.value,J).stringValueUtf8Bytes;return V(e,V(n,t.formula===void 0?0:H(t.formula,J),J),J)},e),0)}}function ke(e,t){let n=G(e,67108864);return{...t,jsonBytes:n.jsonBytes}}function Ae(e,t){return{rows:V(e.rows,t.rows,K),cells:V(e.cells,t.cells,q),ownedUtf8Bytes:V(e.ownedUtf8Bytes,t.ownedUtf8Bytes,J)}}function X(e,t,n,r,i,a,o){let s=n===`worksheet-json`?`serialization`:`parsing`;return new x(`OOXML resource limit exceeded${t?` for ${t}`:``}: ${r} ${a} > ${i}`,{stage:s,violation:{format:`xlsx`,operation:e,resource:n,metric:r,...t===void 0?{}:{part:t},limit:i,observed:Math.min(a,i+1),configurable:!1,usage:o??De}})}function Z(e,t,n,r){let i=[[`rows`,e.rows,K],[`cells`,e.cells,q],[`owned-utf8-bytes`,e.ownedUtf8Bytes,J]];for(let[e,a,o]of i)if(a>o)throw X(t,n,e===`owned-utf8-bytes`?`worksheet-cell-content`:`worksheet-model`,e,o,a,r)}function je(e,t,n,r){if(e>Y)throw X(t,n,`worksheet-json`,`bytes`,Y,e,r)}var Me=class{coordinator=new Ce;sessions=new Map;operationTail=Promise.resolve();pendingOpens=new Map;resourceFailure;constructor(e,t,n=e=>e(this.requireArchive()),r){this.archive=e,this.acceptWorksheet=t,this.executeArchive=n,this.prepareRows=r}reserveOpen(e){this.pendingOpens.set(e.sessionId,{identity:e,canceled:!1})}abandonOpen(e){this.pendingOpens.delete(e)}get pendingOpenCount(){return this.pendingOpens.size}async open(e,t,n){if(this.resourceFailure)throw this.resourceFailure;let r=this.pendingOpens.get(n.sessionId);if(!r||r.identity.operationId!==n.operationId||r.identity.generation!==n.generation)throw Error(`worksheet pull session open reservation is stale or missing`);let i,a=new Promise(e=>{i=e}),o=this.operationTail.then(()=>this.coordinator.enqueue(async()=>{if(r.canceled)throw Error(`worksheet pull session open was canceled`);this.executeArchive(n=>n.open_sheet_cursor(e,t));let a=[],o={rows:0,cells:0,ownedUtf8Bytes:0},s,c=!1,l=new we({...n,maxByteCredit:67108864,coordinator:this.coordinator,driver:{pull:()=>{let e=this.executeArchive(e=>e.pull_sheet_cursor(128)),t=this.executeArchive(e=>e.sheet_cursor_pull_finished());if(this.acceptWorksheet){let n=Ee(e,t,void 0,this.prepareRows);try{if(n.kind===`rows`){let e=Ae(o,Oe(n.rows));Z(e,`get-worksheet-worker`,void 0,this.readResourceUsage()),a.push(...n.rows),o=e}else s=n.worksheet}catch(e){throw e instanceof x&&(this.resourceFailure??=e),e}}c=t;let n=be(e);return{payload:n,byteLength:n.byteLength,done:t,transfer:[n]}},measureChunk:({payload:e})=>e.byteLength,acknowledge:()=>{if(!c)return;let t,r;try{if(this.acceptWorksheet){if(!s)throw Error(`worksheet terminal payload is missing`);s.rows=s.parseError?[]:a;let n=s.parseError?{rows:0,cells:0,ownedUtf8Bytes:0}:o,i=ke(s,n),c=this.readResourceUsage();Z(i,`get-worksheet-worker`,void 0,c),je(i.jsonBytes,`get-worksheet-worker`,void 0,c);let l=this.acceptWorksheet(e,s,i,c);typeof l==`function`?t=l:l&&({rollback:t,commit:r}=l)}this.executeArchive(e=>e.acknowledge_sheet_cursor_terminal()),r?.()}catch(e){throw t?.(),e instanceof x&&(this.resourceFailure??=e),e}c=!1,this.sessions.delete(n.sessionId),i()},cancel:()=>{try{this.archive()&&this.executeArchive(e=>e.cancel_sheet_cursor())}finally{this.sessions.delete(n.sessionId),i()}},close:()=>{try{this.archive()&&this.executeArchive(e=>e.close_sheet_cursor())}finally{this.sessions.delete(n.sessionId),i()}},resourceUsage:()=>this.readResourceUsage()}});this.sessions.set(n.sessionId,{host:l,identity:n}),this.pendingOpens.delete(n.sessionId)}));this.operationTail=o.then(()=>a,()=>void 0);try{await o}catch(e){throw this.pendingOpens.delete(n.sessionId),i(),e}}async postOpenedSafely(e,t,n){try{t()}catch(t){await this.closeIdentity(e);try{n(t)}catch{}}}dispatch(e,t){let n=this.sessions.get(e.sessionId);if(n)return n.host.dispatch(e,t);let r=this.pendingOpens.get(e.sessionId);if(r&&(e.kind===`cancel`||e.kind===`close`)){let n=r.identity.operationId===e.operationId&&r.identity.generation===e.generation;return n&&(r.canceled=!0),t(n?{protocol:R,kind:`accepted`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,command:e.kind}:{protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:{message:`stale lifecycle targets another pending worksheet operation`,errorName:`PullSessionProtocolError`,code:`ooxml-stale-lifecycle`}}),Promise.resolve()}return e.kind===`cancel`||e.kind===`close`?(t({protocol:R,kind:`accepted`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,command:e.kind}),Promise.resolve()):(t({protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:L(Error(`worksheet pull session is not open`))}),Promise.resolve())}async dispatchSafely(e,t){try{await this.dispatch(e,t)}catch(n){try{t({protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:L(n)})}catch{}}}run(e){let t=this.operationTail.then(()=>this.coordinator.enqueue(async()=>{if(this.resourceFailure)throw this.resourceFailure;return e()})).catch(e=>{throw e instanceof x&&(this.resourceFailure??=e),e});return this.operationTail=t.then(()=>void 0,()=>void 0),t}async reset(){for(let e of this.pendingOpens.values())e.canceled=!0;let e=1;for(let{host:t,identity:n}of[...this.sessions.values()])await t.dispatch({protocol:R,kind:`close`,...n,requestId:e++},()=>void 0);this.sessions.clear(),await this.operationTail,this.pendingOpens.clear(),this.resourceFailure=void 0}requireArchive(){let e=this.archive();if(!e)throw Error(`Workbook not loaded`);return e}async closeIdentity(e){let t=this.sessions.get(e.sessionId);if(t){await t.host.dispatch({protocol:R,kind:`close`,...e,requestId:1},()=>void 0);return}let n=this.pendingOpens.get(e.sessionId);n&&n.identity.operationId===e.operationId&&n.identity.generation===e.generation&&(n.canceled=!0)}readResourceUsage(){try{return k(this.executeArchive(e=>e.sheet_cursor_resource_usage()))}catch(e){if(String(e).includes(`worksheet cursor usage is unavailable`))return;throw e}}};function Ne(e){return!!e&&typeof e==`object`&&e.protocol===`ooxml-pull-v1`}const Q=new ce(y,{freeArchive:e=>e.free(),reinit:ne}),$=new Me(()=>Q.archive,void 0,e=>{let t=Q.archive;if(!t)throw Error(`Workbook not loaded`);return Q.run(()=>e(t))});self.onmessage=async t=>{let n=t.data;if(Ne(n)){await $.dispatchSafely(n,(e,t)=>self.postMessage(e,t));return}if(n.type===`init`){Q.setWasmInput(ie(n.wasmUrl)??n.wasmUrl);return}let r=n.id;n.type===`openSheetSession`&&$.reserveOpen(n);try{if(n.type===`openSheetSession`){await Q.ensureReady(),Q.archive&&Q.run(()=>Q.archive?.assert_healthy()),await $.open(n.sheetIndex,n.sheetName,n),await $.postOpenedSafely(n,()=>self.postMessage({type:`sheetSessionOpened`,id:r,sessionId:n.sessionId,operationId:n.operationId,generation:n.generation}),e=>self.postMessage({type:`error`,id:r,...L(e)}));return}n.type===`parse`&&await $.reset(),await $.run(async()=>{if(await Q.ensureReady(),n.type!==`parse`&&Q.archive){let e=Q.archive;Q.run(()=>e.assert_healthy())}if(n.type===`parse`){let[t,i,a]=xe(n.resourcePolicy),o=new Uint8Array(n.data),s=Q.run(()=>{let n=new e(o,t,i,a);return Q.setArchive(n),n.parse()}).buffer,c={type:`parsed`,id:r,workbookJson:s,usage:Q.run(()=>k(Q.archive.resource_usage()))};self.postMessage(c,[s]);return}let t=Q.archive;if(n.type===`extractImage`){if(!t)throw Error(`No xlsx loaded`);let e=Q.run(()=>t.extract_image(n.path).buffer),i={type:`imageExtracted`,id:r,bytes:e};self.postMessage(i,[e]);return}if(n.type===`resourceUsage`){if(!t)throw Error(`No xlsx loaded`);let e=Q.run(()=>k(t.resource_usage()));self.postMessage({type:`resourceUsage`,id:r,usage:e});return}if(n.type===`toMarkdown`){if(!t)throw Error(`No xlsx loaded`);let e={type:`markdownRendered`,id:r,markdown:Q.run(()=>t.to_markdown())};self.postMessage(e);return}})}catch(e){n.type===`openSheetSession`&&$.abandonOpen(n.sessionId);let t={type:`error`,id:r,...L(e)};try{self.postMessage(t)}catch{}}};", st = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", ot], { type: "text/javascript;charset=utf-8" });
|
|
100
|
-
function
|
|
99
|
+
var st = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();_.__wbg_xlsxarchive_free(e,0)}acknowledge_sheet_cursor_terminal(){let e=_.xlsxarchive_acknowledge_sheet_cursor_terminal(this.__wbg_ptr);if(e[1])throw f(e[0])}assert_healthy(){let e=_.xlsxarchive_assert_healthy(this.__wbg_ptr);if(e[1])throw f(e[0])}cancel_sheet_cursor(){_.xlsxarchive_cancel_sheet_cursor(this.__wbg_ptr)}close_sheet_cursor(){_.xlsxarchive_close_sheet_cursor(this.__wbg_ptr)}extract_image(e){let t=d(e,_.__wbindgen_malloc,_.__wbindgen_realloc),n=g,i=_.xlsxarchive_extract_image(this.__wbg_ptr,t,n);if(i[3])throw f(i[2]);var a=r(i[0],i[1]).slice();return _.__wbindgen_free(i[0],i[1]*1,1),a}constructor(e,t,r,i){let a=u(e,_.__wbindgen_malloc),o=g,s=_.xlsxarchive_new(a,o,!l(t),l(t)?BigInt(0):t,!l(r),l(r)?BigInt(0):r,!l(i),l(i)?BigInt(0):i);if(s[2])throw f(s[1]);return this.__wbg_ptr=s[0]>>>0,n.register(this,this.__wbg_ptr,this),this}open_sheet_cursor(e,t){let n=d(t,_.__wbindgen_malloc,_.__wbindgen_realloc),r=g,i=_.xlsxarchive_open_sheet_cursor(this.__wbg_ptr,e,n,r);if(i[1])throw f(i[0])}parse(){let e=_.xlsxarchive_parse(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}pull_sheet_cursor(e){let t=_.xlsxarchive_pull_sheet_cursor(this.__wbg_ptr,e);if(t[3])throw f(t[2]);var n=r(t[0],t[1]).slice();return _.__wbindgen_free(t[0],t[1]*1,1),n}resource_usage(){let e=_.xlsxarchive_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}sheet_cursor_pull_finished(){return _.xlsxarchive_sheet_cursor_pull_finished(this.__wbg_ptr)!==0}sheet_cursor_resource_usage(){let e=_.xlsxarchive_sheet_cursor_resource_usage(this.__wbg_ptr);if(e[3])throw f(e[2]);var t=r(e[0],e[1]).slice();return _.__wbindgen_free(e[0],e[1]*1,1),t}to_markdown(){let e,t;try{let i=_.xlsxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,f(i[2]);return e=n,t=r,o(n,r)}finally{_.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./xlsx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(o(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(o(e,t))}finally{_.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=d(n,_.__wbindgen_malloc,_.__wbindgen_realloc),i=g;a().setInt32(e+4,i,!0),a().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return o(e,t)},__wbindgen_init_externref_table:function(){let e=_.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>_.__wbg_xlsxarchive_free(e>>>0,1));function r(e,t){return e>>>=0,c().subarray(e/1,e/1+t)}let i=null;function a(){return(i===null||i.buffer.detached===!0||i.buffer.detached===void 0&&i.buffer!==_.memory.buffer)&&(i=new DataView(_.memory.buffer)),i}function o(e,t){return e>>>=0,ee(e,t)}let s=null;function c(){return(s===null||s.byteLength===0)&&(s=new Uint8Array(_.memory.buffer)),s}function l(e){return e==null}function u(e,t){let n=t(e.length*1,1)>>>0;return c().set(e,n/1),g=e.length,n}function d(e,t,n){if(n===void 0){let n=h.encode(e),r=t(n.length,1)>>>0;return c().subarray(r,r+n.length).set(n),g=n.length,r}let r=e.length,i=t(r,1)>>>0,a=c(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=c().subarray(i+o,i+r),a=h.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return g=o,i}function f(e){let t=_.__wbindgen_externrefs.get(e);return _.__externref_table_dealloc(e),t}let p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});p.decode();let m=0;function ee(e,t){return m+=t,m>=2146435072&&(p=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),p.decode(),m=t),p.decode(c().subarray(e,e+t))}const h=new TextEncoder;`encodeInto`in h||(h.encodeInto=function(e,t){let n=h.encode(e);return t.set(n),{read:e.length,written:n.length}});let g=0,_;function v(e,t){return _=e.exports,i=null,s=null,_.__wbindgen_start(),_}async function te(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function y(e){if(_!==void 0)return _;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await te(await e,n);return v(r,i)}async function ne(e){return _=void 0,i=null,s=null,y(e)}var b=class e extends Error{code;constructor(t,n){super(n),this.name=`OoxmlError`,this.code=t,Object.setPrototypeOf(this,e.prototype)}},x=class e extends Error{code=`ooxml-resource-limit`;details;constructor(t,n){super(t),this.name=`OoxmlResourceLimitError`;let r=n.violation,i=Object.freeze({format:r.format,operation:r.operation,resource:r.resource,metric:r.metric,...r.part===void 0?{}:{part:r.part},limit:r.limit,observed:r.observed,configurable:r.configurable,usage:Object.freeze({archiveEntryCount:r.usage.archiveEntryCount,declaredInflatedBytes:r.usage.declaredInflatedBytes,...r.usage.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:r.usage.largestInflatedEntryBytes},distinctInflatedBytes:r.usage.distinctInflatedBytes,operationInflatedBytes:r.usage.operationInflatedBytes})});this.details=Object.freeze({stage:n.stage,violation:i}),Object.setPrototypeOf(this,e.prototype)}},re=class e extends RangeError{code=`ooxml-decoded-image-limit`;constructor(t,n,r){super(`OOXML decoded image limit exceeded: ${t} ${r} > ${n}`),this.metric=t,this.limit=n,this.observed=r,this.name=`OoxmlDecodedImageLimitError`,Object.setPrototypeOf(this,e.prototype)}};function ie(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var ae=class{state=`uninitialized`;generationValue=0;readiness;poisonListeners=new Set;constructor(e,t,n){this.initialize=e,this.reinitialize=t,this.normalizeFailure=n}get generation(){return this.generationValue}get poisoned(){return this.state===`poisoned`}onPoison(e){return this.poisonListeners.add(e),()=>this.poisonListeners.delete(e)}async ensureReady(){if(this.state!==`ready`){if(!this.readiness){let e=this.state===`uninitialized`?this.initialize:this.reinitialize;this.readiness=Promise.resolve().then(e).then(()=>{this.generationValue+=1,this.state=`ready`,this.readiness=void 0},e=>{throw this.readiness=void 0,e})}await this.readiness}}run(e){try{return e()}catch(e){let t=this.normalizeFailure(e);throw t?(this.poison(t),t):e}}tryRunReady(e){if(this.state!==`ready`)return{current:!1};let t=this.generationValue,n=this.run(e);return this.state!==`ready`||t!==this.generationValue?{current:!1}:{current:!0,generation:t,value:n}}poison(e){this.state=`poisoned`,this.readiness=void 0;for(let t of this.poisonListeners)t(e)}assertCurrent(e){if(this.state!==`ready`||e!==this.generationValue)throw Error(`WASM archive session belongs to a discarded runtime generation`)}},S=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function oe(e){let t=globalThis.WebAssembly?.RuntimeError;return t&&e instanceof t||e instanceof RangeError?!0:e instanceof Error?e.name===`RuntimeError`||e.name===`CompileError`||e.name===`LinkError`||e.name===`InternalError`||e.name===`OOMError`:!1}function se(e){try{if((typeof e!=`object`||!e)&&typeof e!=`function`)return;let t=Reflect.get(e,`__destroy_into_raw`);typeof t==`function`&&Reflect.apply(t,e,[])}catch{}}function C(e,t){return e({module_or_path:t})}var ce=class{runtime;wasmInput=null;currentArchive=null;constructor(e,t={}){this.init=e,this.options=t,this.runtime=new ae(()=>this.invokeConfigured(this.init),()=>this.invokeConfigured(this.options.reinit??this.init),le),this.runtime.onPoison(()=>this.dropPoisonedArchive())}setWasmInput(e){this.wasmInput=e,this.runtime.ensureReady().catch(()=>void 0)}setWasmUrl(e){this.setWasmInput(e)}get archive(){return this.currentArchive}setArchive(e){this.freeArchive(),this.currentArchive=e}disposeArchive(){this.freeArchive()}get poisoned(){return this.runtime.poisoned}async ensureReady(){await this.runtime.ensureReady()}run(e){return this.runtime.run(e)}poison(){this.runtime.poison(new S(`WASM parser was recycled`))}invokeConfigured(e){return this.wasmInput===null?Promise.reject(Error(`WasmParserHost: setWasmInput was never called`)):C(e,this.wasmInput)}freeArchive(){this.currentArchive!==null&&this.options.freeArchive&&this.options.freeArchive(this.currentArchive),this.currentArchive=null}dropPoisonedArchive(){let e=this.currentArchive;this.currentArchive=null,se(e)}};function le(e){return oe(e)?new S(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`):null}function w(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function ue(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return w(t.requiredBytes)&&w(t.offeredBytes)&&t.requiredBytes>t.offeredBytes}var T=class e extends RangeError{code=`ooxml-insufficient-credit`;requiredBytes;offeredBytes;constructor(t){super(`Pull unit requires ${t.requiredBytes} bytes but credit is ${t.offeredBytes}`),this.name=`PullSessionInsufficientCreditError`,this.requiredBytes=t.requiredBytes,this.offeredBytes=t.offeredBytes,Object.setPrototypeOf(this,e.prototype)}};function de(e){if(e instanceof T)return e;let t=e instanceof Error?e.message:String(e);if(!t.startsWith(`OOXML_INSUFFICIENT_CREDIT:`))return;let n;try{n=JSON.parse(t.slice(26))}catch{return}if(!n||typeof n!=`object`||Array.isArray(n))return;let r=n;if(!(r.code!==`ooxml-insufficient-credit`||!ue(r)))return new T(r)}const E=`OOXML_RESOURCE_LIMIT:`;function D(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function O(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return D(t.archiveEntryCount)&&D(t.declaredInflatedBytes)&&(t.largestInflatedEntryBytes===void 0||D(t.largestInflatedEntryBytes))&&D(t.distinctInflatedBytes)&&D(t.operationInflatedBytes)}function k(e){let t;try{t=JSON.parse(new TextDecoder().decode(e))}catch{throw TypeError(`OOXML resource usage checkpoint is not valid JSON`)}if(!O(t))throw TypeError(`OOXML resource usage checkpoint is invalid`);return t}function fe(e){return e===`docx`||e===`xlsx`||e===`pptx`}function pe(e){return e===`container`||e===`decompression`||e===`parsing`||e===`serialization`||e===`layout`||e===`rendering`||e===`worker`}function A(e,t){return typeof e==`string`&&e.length>0&&e.length<=t&&!/[\\u0000-\\u001f\\u007f]/u.test(e)}function j(e){return A(e,128)&&/^[a-z0-9][a-z0-9-]*$/u.test(e)}function me(e){return!A(e,4096)||e.startsWith(`/`)||e.startsWith(`\\\\`)||e.includes(`\\\\`)||e.includes(`?`)||e.includes(`#`)||e.includes(`://`)||/^[a-z]:/iu.test(e)?!1:e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`)}const M=new Map([[`archive-entry:declared-inflated-bytes`,{stage:`container`,part:`required`}],[`archive-entry:actual-inflated-bytes`,{stage:`decompression`,part:`required`}],[`archive:entry-count`,{stage:`container`,part:`forbidden`}],[`archive:central-directory-bytes`,{stage:`container`,part:`forbidden`,configurable:!1}],[`archive:distinct-inflated-bytes`,{stage:`decompression`,part:`required`}],[`xml-event:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-context:bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`xml-tree:depth`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-row:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}],[`worksheet-shell:projected-bytes`,{stage:`parsing`,part:`optional`,configurable:!1}]]),he=new Set([...M.keys()].map(e=>e.slice(0,e.indexOf(`:`)))),ge=new Set([...M.keys()].map(e=>e.slice(e.indexOf(`:`)+1)));function _e(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!fe(t.format)||!A(t.operation,256)||!j(t.resource)||!j(t.metric)||!D(t.limit)||!D(t.observed)||typeof t.configurable!=`boolean`||!O(t.usage)?!1:!(`part`in t)||me(t.part)}function N(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(!pe(t.stage)||!_e(t.violation))return!1;let n=t.violation,r=M.get(`${n.resource}:${n.metric}`);return r?t.stage!==r.stage||r.configurable===!1&&n.configurable!==!1?!1:r.part===`required`?n.part!==void 0:r.part===`forbidden`?n.part===void 0:!0:!(he.has(n.resource)&&ge.has(n.metric))}function P(e){return{archiveEntryCount:e.archiveEntryCount,declaredInflatedBytes:e.declaredInflatedBytes,...e.largestInflatedEntryBytes===void 0?{}:{largestInflatedEntryBytes:e.largestInflatedEntryBytes},distinctInflatedBytes:e.distinctInflatedBytes,operationInflatedBytes:e.operationInflatedBytes}}function F(e){if(!N(e))return;let t=e.violation,n={stage:e.stage,violation:{format:t.format,operation:t.operation,resource:t.resource,metric:t.metric,...t.part===void 0?{}:{part:t.part},limit:t.limit,observed:t.observed,configurable:t.configurable,usage:P(t.usage)}};return N(n)?n:void 0}function I(e){let t=e.violation;return`OOXML resource limit exceeded${t.part?` for ${t.part}`:``}: ${t.metric} ${t.observed} > ${t.limit}`}function ve(e){let t=e instanceof Error?e.message:String(e);if(!t.startsWith(E))return;let n;try{n=JSON.parse(t.slice(21))}catch{return}if(!n||typeof n!=`object`)return;let r=n;if(!(r.code!==`ooxml-resource-limit`||!N(r.details)))return new x(I(r.details),r.details)}function ye(e){if(e instanceof re)return{message:e.message,errorName:e.name,code:e.code,decodedImage:{metric:e.metric,limit:e.limit,observed:e.observed}};let t=de(e);if(t)return{message:t.message,errorName:t.name,code:t.code,insufficientCredit:{requiredBytes:t.requiredBytes,offeredBytes:t.offeredBytes}};let n=e instanceof b||e instanceof x?e:ve(e);if(n instanceof x){let e=F(n.details);return e?{message:typeof n.message==`string`?n.message:I(e),errorName:`OoxmlResourceLimitError`,code:`ooxml-resource-limit`,resourceLimit:e}:{message:`Invalid OOXML resource-limit error payload`,errorName:`Error`}}if(n instanceof b)return{message:typeof n.message==`string`?n.message:String(n.message),errorName:A(n.name,128)?n.name:`OoxmlError`,...j(n.code)?{code:n.code}:{}};let r=e instanceof Error?e.message:String(e);if(typeof r==`string`&&r.startsWith(E))return{message:`Invalid OOXML resource-limit payload`,errorName:`Error`};let i=e instanceof Error?e:Error(r),a=i;return{message:typeof i.message==`string`?i.message:String(i.message),errorName:A(i.name,128)?i.name:`Error`,...typeof a.code==`string`?{code:a.code}:{}}}function L(e){try{return ye(e)}catch{return{message:`Worker operation failed with an unreadable error`,errorName:`Error`}}}function be(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength&&e.buffer instanceof ArrayBuffer?e.buffer:e.slice().buffer}Object.freeze({maxArchiveEntryBytes:134217728,maxTotalInflatedBytes:268435456,maxArchiveEntries:4096});function xe(e){return[e.maxArchiveEntryBytes===null?0n:BigInt(e.maxArchiveEntryBytes),e.maxTotalInflatedBytes===null?0n:BigInt(e.maxTotalInflatedBytes),e.maxArchiveEntries===null?0n:BigInt(e.maxArchiveEntries)]}const R=`ooxml-pull-v1`;function z(e,t){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`${t} must be a positive safe integer`)}function Se(e){if(!(typeof e==`string`&&e.length>0||typeof e==`number`&&Number.isSafeInteger(e)&&e>0))throw RangeError(`session id must be a non-empty string or positive safe integer`)}var Ce=class{owner;queue=Promise.resolve();leases=new Map;retainedBytes=0;retainedCount=0;maxRetainedBytes;maxRetainedCount;cleanups=new Set;pendingFatalCleanups=[];poisonRunning=!1;fatal;constructor(e){this.maxRetainedBytes=e?.maxRetainedBytes??64*1024*1024,this.maxRetainedCount=e?.maxRetainedCount??256,z(this.maxRetainedBytes,`max retained lease bytes`),z(this.maxRetainedCount,`max retained lease count`)}enqueue(e){let t=this.queue.then(e,e);return this.queue=t.then(()=>void 0,()=>void 0),t}acquire(e){return this.owner===void 0?(this.owner=e,!0):this.owner===e}release(e){this.owner===e&&(this.owner=void 0)}retainLease(e,t,n){if(!Number.isSafeInteger(n)||n<0)throw RangeError(`retained lease bytes are invalid`);let r=this.leases.get(e)??new Map;if(r.has(t))throw Error(`driver returned a duplicate lease id`);if(this.retainedCount+1>this.maxRetainedCount)throw RangeError(`retained lease count exceeds limit`);if(this.retainedBytes+n>this.maxRetainedBytes)throw RangeError(`retained lease bytes exceed limit`);r.set(t,n),this.leases.set(e,r),this.retainedCount++,this.retainedBytes+=n}releaseLease(e,t){let n=this.leases.get(e),r=n?.get(t);r!==void 0&&(n?.delete(t),n?.size===0&&this.leases.delete(e),this.retainedCount--,this.retainedBytes-=r)}registerCleanup(e){return this.fatal?(this.poisonRunning?this.pendingFatalCleanups.push(e):this.enqueue(e).catch(()=>void 0),()=>void 0):(this.cleanups.add(e),()=>this.cleanups.delete(e))}get fatalError(){return this.fatal}get registeredHostCount(){return this.cleanups.size}async poison(e){if(this.fatal??=e,this.poisonRunning)return this.fatal;this.poisonRunning=!0,this.pendingFatalCleanups.push(...this.cleanups);try{let e;for(;(e=this.pendingFatalCleanups.shift())!==void 0;)await e().catch(()=>void 0)}finally{this.poisonRunning=!1}return this.fatal}},we=class{options;coordinator;coordinatorOwner=Symbol(`pull-session-host`);unregisterCleanup;sequence=0;unacked;leases=new Map;activeDriverLeases=new Set;nextWireLeaseId;cancelRequested=!1;cancelComplete=!1;closeRequested=!1;closeComplete=!1;driverCancelComplete=!1;driverCloseComplete=!1;completed=!1;constructor(e){Se(e.sessionId),z(e.operationId,`operation id`),z(e.generation,`generation`),z(e.maxByteCredit,`max byte credit`),e.wireLeaseIdStart!==void 0&&z(e.wireLeaseIdStart,`wire lease id start`),this.options=e,this.coordinator=e.coordinator,this.nextWireLeaseId=e.wireLeaseIdStart??1,this.unregisterCleanup=this.coordinator.registerCleanup(()=>this.forceFatalCleanup())}dispatch(e,t){return this.coordinator.enqueue(async()=>{let n=await this.execute(e);try{t(n.response,n.transfer)}catch(e){throw await this.rollbackFailedPost(n),e}})}async rollbackFailedPost(e){let t=e.response;if(t.kind===`chunk`){let n=t.leaseId===void 0?void 0:this.leases.get(t.leaseId);try{await this.options.driver.disposeInvalidChunk?.({payload:t.payload,byteLength:t.byteLength,done:t.done,leaseId:n?.driverLeaseId,retainedBytes:n?.retainedBytes,transfer:e.transfer})}catch{}}this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);for(let[e,t]of[...this.leases])try{await this.options.driver.releaseLease?.(t.driverLeaseId)}catch{}finally{this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e)}if(this.cancelRequested=!0,!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch{}this.unregisterCleanup()}async execute(e){try{if(this.isStaleLifecycle(e)){let t=e.kind===`cancel`?`cancel`:`close`;return this.sameOperationIdentity(e)?{response:this.accepted(e,t,!0)}:{response:this.errorResponse(e,{message:`stale lifecycle targets another session or operation`,errorName:`PullSessionProtocolError`,code:`ooxml-stale-lifecycle`})}}this.validateCommandIdentity(e);let t=this.coordinator.fatalError;if(t)return e.kind===`pull`?{response:this.errorResponse(e,t)}:(e.kind===`cancel`?await this.cancel():e.kind===`close`?await this.close():e.kind===`release`&&await this.release(e.leaseId),{response:this.accepted(e,e.kind)});switch(e.kind){case`pull`:return await this.pull(e);case`ack`:return await this.ack(e.sequence),{response:this.accepted(e,`ack`)};case`release`:return await this.release(e.leaseId),{response:this.accepted(e,`release`)};case`cancel`:return await this.cancel(),{response:this.accepted(e,`cancel`)};case`close`:return await this.close(),{response:this.accepted(e,`close`)}}}catch(t){let n=L(t);return n.code===`ooxml-resource-limit`&&(n=await this.coordinator.poison(n)),{response:this.errorResponse(e,n)}}}async pull(e){if(this.closeRequested||this.cancelRequested||this.completed)throw Error(`pull session is closed`);if(this.unacked)throw Error(`previous chunk is not acknowledged`);if(!Number.isSafeInteger(e.sequence)||e.sequence<0||e.sequence!==this.sequence)throw Error(`pull command sequence mismatch`);if(this.validateHostCredit(e.byteCredit),!this.coordinator.acquire(this.coordinatorOwner))throw Error(`another operation has an unacknowledged package chunk`);let t;try{t=await this.options.driver.pull(e.byteCredit)}catch(e){throw this.coordinator.release(this.coordinatorOwner),e}let n=!1,r=!1,i,a;try{let o=this.options.driver.measureChunk(t),s=this.arrayBufferTransferBytes(t.transfer);if(o<s)throw RangeError(`measured chunk bytes are below ArrayBuffer transfer bytes`);if(a=Math.max(o,s),t.leaseId!==void 0){if(z(t.leaseId,`lease id`),t.retainedBytes===void 0)throw Error(`retained lease bytes are required`);if(this.activeDriverLeases.has(t.leaseId))throw r=!0,Error(`driver returned an active duplicate lease id`);i=this.allocateWireLeaseId(),this.coordinator.retainLease(this.coordinatorOwner,i,t.retainedBytes),this.leases.set(i,{driverLeaseId:t.leaseId,retainedBytes:t.retainedBytes}),this.activeDriverLeases.add(t.leaseId),n=!0}else if(t.retainedBytes!==void 0)throw Error(`retained lease bytes require a lease id`);if(!Number.isSafeInteger(a)||a<0)throw RangeError(`host chunk byte length must be a non-negative safe integer`);if(a>e.byteCredit)throw RangeError(`host chunk exceeds byte credit`)}catch(e){let a;try{await this.options.driver.disposeInvalidChunk?.(t)}catch(e){a=e}if(n&&i!==void 0)try{await this.release(i)}catch(e){a??=e}else if(t.leaseId!==void 0&&!r)try{await this.options.driver.releaseLease?.(t.leaseId)}catch(e){a??=e}if(r)try{await this.cancel()}catch(e){a??=e}throw this.coordinator.release(this.coordinatorOwner),a||e}return this.unacked={sequence:this.sequence,done:t.done},{response:{kind:`chunk`,protocol:R,...this.identity(),requestId:e.requestId,sequence:this.sequence,byteLength:a,done:t.done,payload:t.payload,leaseId:i,usage:this.resourceUsage()},transfer:t.transfer}}async ack(e){if(!Number.isSafeInteger(e)||e<0)throw RangeError(`invalid ack sequence`);if(e<this.sequence)return;if(!this.unacked||e!==this.sequence)throw Error(`ack sequence mismatch`);let t=this.unacked.done;await this.options.driver.acknowledge?.(e),this.unacked=void 0,this.coordinator.release(this.coordinatorOwner),this.sequence++,t&&(this.completed=!0,this.maybeUnregisterCompleted())}async release(e){z(e,`wire lease id`);let t=this.leases.get(e);t&&(await this.options.driver.releaseLease?.(t.driverLeaseId),this.leases.delete(e),this.activeDriverLeases.delete(t.driverLeaseId),this.coordinator.releaseLease(this.coordinatorOwner,e),this.maybeUnregisterCompleted())}async cancel(){if(this.cancelComplete)return;this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.cancelComplete=!0,this.unregisterCleanup()}async close(){if(this.closeComplete)return;this.closeRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;try{await this.releaseAllLeases()}catch(t){e=t}if(!this.driverCloseComplete)try{await this.options.driver.close?.(),this.driverCloseComplete=!0}catch(t){e??=t}if(e)throw e;this.closeComplete=!0,this.unregisterCleanup()}async releaseAllLeases(){let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(e)throw e}validateCommandIdentity(e){if(e.protocol!==`ooxml-pull-v1`||e.sessionId!==this.options.sessionId||e.operationId!==this.options.operationId||e.generation!==this.options.generation||!Number.isSafeInteger(e.requestId)||e.requestId<=0)throw Error(`stale or mismatched pull session command`)}validateHostCredit(e){if(z(e,`byte credit`),e>this.options.maxByteCredit)throw RangeError(`byte credit exceeds host maximum`)}accepted(e,t,n=!1){return{kind:`accepted`,protocol:R,...n?{sessionId:e.sessionId,operationId:e.operationId,generation:e.generation}:this.identity(),requestId:e.requestId,command:t,usage:this.resourceUsage()}}identity(){return{sessionId:this.options.sessionId,operationId:this.options.operationId,generation:this.options.generation}}isStaleLifecycle(e){return(e.kind===`cancel`||e.kind===`close`)&&e.protocol===`ooxml-pull-v1`&&Number.isSafeInteger(e.requestId)&&e.requestId>0&&Number.isSafeInteger(e.generation)&&e.generation>0&&e.generation<this.options.generation}sameOperationIdentity(e){return e.sessionId===this.options.sessionId&&e.operationId===this.options.operationId}errorResponse(e,t){return{kind:`error`,protocol:R,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:t,usage:this.errorResourceUsage()}}async forceFatalCleanup(){this.cancelRequested=!0,this.unacked=void 0,this.coordinator.release(this.coordinatorOwner);let e;for(let t of[...this.leases.keys()])try{await this.release(t)}catch(t){e??=t}if(!this.driverCancelComplete)try{await this.options.driver.cancel?.(),this.driverCancelComplete=!0}catch(t){e??=t}if(e)throw e;this.unregisterCleanup()}allocateWireLeaseId(){if(!Number.isSafeInteger(this.nextWireLeaseId)||this.nextWireLeaseId<=0)throw RangeError(`wire lease id space exhausted`);return this.nextWireLeaseId++}arrayBufferTransferBytes(e){let t=0;for(let n of e??[])if(n instanceof ArrayBuffer&&(t+=n.byteLength,!Number.isSafeInteger(t)))throw RangeError(`ArrayBuffer transfer bytes overflow`);return t}maybeUnregisterCompleted(){this.completed&&this.leases.size===0&&this.unregisterCleanup()}resourceUsage(){return this.options.driver.resourceUsage?.()}errorResourceUsage(){try{return this.resourceUsage()}catch{return}}};function Te(e,t){for(let n of e)for(let e of n.cells){let n=e.value;if(n.type===`shared`){let r=t[n.si];if(r){let t={type:`text`,text:r.text};r.runs!==void 0&&(t.runs=r.runs),r.phoneticRuns!==void 0&&(t.phoneticRuns=r.phoneticRuns),r.phoneticPr!==void 0&&(t.phoneticPr=r.phoneticPr),e.value=t}else e.value={type:`text`,text:``}}}return e}function Ee(e,t,n,r){let i=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength),a=JSON.parse(new TextDecoder().decode(i));if(!a||typeof a!=`object`||!(`kind`in a))throw Error(`worksheet cursor returned an invalid unit`);let o=a;if(t!==(o.kind===`finished`))throw Error(`worksheet cursor terminal marker mismatch`);if(o.kind===`rows`){if(!Array.isArray(o.rows))throw Error(`worksheet row unit is missing rows`);return n&&Te(o.rows,n),r?.(o.rows),{kind:`rows`,rows:o.rows}}if(o.kind===`finished`){if(!o.worksheet||typeof o.worksheet!=`object`)throw Error(`worksheet terminal unit is missing its worksheet`);return o.worksheet.rows=[],{kind:`finished`,worksheet:o.worksheet}}throw Error(`worksheet cursor returned an unknown unit kind`)}function B(e,t){if(!Number.isSafeInteger(e)||e<0)throw Error(`${t} must be a non-negative safe integer`)}function V(e,t,n){return B(e,`resource measurement`),B(t,`resource measurement`),B(n,`resource measurement limit`),e>n||t>n||t>n-e?n===2**53-1?n:n+1:e+t}function H(e,t=2**53-1){B(t,`resource measurement limit`);let n=0;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r),a;if(i<=127)a=1;else if(i<=2047)a=2;else if(i>=55296&&i<=56319&&r+1<e.length){let t=e.charCodeAt(r+1);t>=56320&&t<=57343?(a=4,r+=1):a=3}else a=3;if(n=V(n,a,t),n>t)return n}return n}function U(e,t=2**53-1){B(t,`resource measurement limit`);let n=V(0,2,t);if(n>t)return n;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r),a;if(i===34||i===92||i===8||i===9||i===10||i===12||i===13)a=2;else if(i<=31)a=6;else if(i<=127)a=1;else if(i<=2047)a=2;else if(i>=55296&&i<=56319&&r+1<e.length){let t=e.charCodeAt(r+1);t>=56320&&t<=57343?(a=4,r+=1):a=6}else a=i>=55296&&i<=57343?6:3;if(n=V(n,a,t),n>t)return n}return n}function W(e,t){return V(0,e,t)}function G(e,t=2**53-1,n=!1){if(B(t,`resource measurement limit`),e===null)return{jsonBytes:W(4,t),stringValueUtf8Bytes:0};if(typeof e==`string`)return{jsonBytes:U(e,t),stringValueUtf8Bytes:H(e,t)};if(typeof e==`boolean`)return{jsonBytes:W(e?4:5,t),stringValueUtf8Bytes:0};if(typeof e==`number`)return{jsonBytes:W((Number.isFinite(e)?String(Object.is(e,-0)?0:e):`null`).length,t),stringValueUtf8Bytes:0};if(typeof e==`bigint`)throw TypeError(`BigInt values cannot be serialized to JSON`);if(Array.isArray(e)){let n=W(2,t),r=0;for(let i=0;i<e.length;i+=1){i!==0&&(n=V(n,1,t));let a=G(e[i],t,!0);n=V(n,a.jsonBytes,t),r=V(r,a.stringValueUtf8Bytes,t)}return{jsonBytes:n,stringValueUtf8Bytes:r}}if(typeof e==`object`){let n=W(2,t),r=0,i=0;for(let[a,o]of Object.entries(e)){if(o===void 0||typeof o==`function`||typeof o==`symbol`)continue;i++!==0&&(n=V(n,1,t)),n=V(n,U(a,t),t),n=V(n,1,t);let e=G(o,t);n=V(n,e.jsonBytes,t),r=V(r,e.stringValueUtf8Bytes,t)}return{jsonBytes:n,stringValueUtf8Bytes:r}}return{jsonBytes:n?W(4,t):0,stringValueUtf8Bytes:0}}const K=1e5,q=25e4,J=33554432,Y=67108864,De=Object.freeze({archiveEntryCount:0,declaredInflatedBytes:0,distinctInflatedBytes:0,operationInflatedBytes:0});function Oe(e){let t=e.reduce((e,t)=>V(e,t.cells.length,q),0);return{rows:e.length,cells:t,ownedUtf8Bytes:e.reduce((e,t)=>t.cells.reduce((e,t)=>{let n=G(t.value,J).stringValueUtf8Bytes;return V(e,V(n,t.formula===void 0?0:H(t.formula,J),J),J)},e),0)}}function ke(e,t){let n=G(e,67108864);return{...t,jsonBytes:n.jsonBytes}}function Ae(e,t){return{rows:V(e.rows,t.rows,K),cells:V(e.cells,t.cells,q),ownedUtf8Bytes:V(e.ownedUtf8Bytes,t.ownedUtf8Bytes,J)}}function X(e,t,n,r,i,a,o){let s=n===`worksheet-json`?`serialization`:`parsing`;return new x(`OOXML resource limit exceeded${t?` for ${t}`:``}: ${r} ${a} > ${i}`,{stage:s,violation:{format:`xlsx`,operation:e,resource:n,metric:r,...t===void 0?{}:{part:t},limit:i,observed:Math.min(a,i+1),configurable:!1,usage:o??De}})}function Z(e,t,n,r){let i=[[`rows`,e.rows,K],[`cells`,e.cells,q],[`owned-utf8-bytes`,e.ownedUtf8Bytes,J]];for(let[e,a,o]of i)if(a>o)throw X(t,n,e===`owned-utf8-bytes`?`worksheet-cell-content`:`worksheet-model`,e,o,a,r)}function je(e,t,n,r){if(e>Y)throw X(t,n,`worksheet-json`,`bytes`,Y,e,r)}var Me=class{coordinator=new Ce;sessions=new Map;operationTail=Promise.resolve();pendingOpens=new Map;resourceFailure;constructor(e,t,n=e=>e(this.requireArchive()),r){this.archive=e,this.acceptWorksheet=t,this.executeArchive=n,this.prepareRows=r}reserveOpen(e){this.pendingOpens.set(e.sessionId,{identity:e,canceled:!1})}abandonOpen(e){this.pendingOpens.delete(e)}get pendingOpenCount(){return this.pendingOpens.size}async open(e,t,n){if(this.resourceFailure)throw this.resourceFailure;let r=this.pendingOpens.get(n.sessionId);if(!r||r.identity.operationId!==n.operationId||r.identity.generation!==n.generation)throw Error(`worksheet pull session open reservation is stale or missing`);let i,a=new Promise(e=>{i=e}),o=this.operationTail.then(()=>this.coordinator.enqueue(async()=>{if(r.canceled)throw Error(`worksheet pull session open was canceled`);this.executeArchive(n=>n.open_sheet_cursor(e,t));let a=[],o={rows:0,cells:0,ownedUtf8Bytes:0},s,c=!1,l=new we({...n,maxByteCredit:67108864,coordinator:this.coordinator,driver:{pull:()=>{let e=this.executeArchive(e=>e.pull_sheet_cursor(128)),t=this.executeArchive(e=>e.sheet_cursor_pull_finished());if(this.acceptWorksheet){let n=Ee(e,t,void 0,this.prepareRows);try{if(n.kind===`rows`){let e=Ae(o,Oe(n.rows));Z(e,`get-worksheet-worker`,void 0,this.readResourceUsage()),a.push(...n.rows),o=e}else s=n.worksheet}catch(e){throw e instanceof x&&(this.resourceFailure??=e),e}}c=t;let n=be(e);return{payload:n,byteLength:n.byteLength,done:t,transfer:[n]}},measureChunk:({payload:e})=>e.byteLength,acknowledge:()=>{if(!c)return;let t,r;try{if(this.acceptWorksheet){if(!s)throw Error(`worksheet terminal payload is missing`);s.rows=s.parseError?[]:a;let n=s.parseError?{rows:0,cells:0,ownedUtf8Bytes:0}:o,i=ke(s,n),c=this.readResourceUsage();Z(i,`get-worksheet-worker`,void 0,c),je(i.jsonBytes,`get-worksheet-worker`,void 0,c);let l=this.acceptWorksheet(e,s,i,c);typeof l==`function`?t=l:l&&({rollback:t,commit:r}=l)}this.executeArchive(e=>e.acknowledge_sheet_cursor_terminal()),r?.()}catch(e){throw t?.(),e instanceof x&&(this.resourceFailure??=e),e}c=!1,this.sessions.delete(n.sessionId),i()},cancel:()=>{try{this.archive()&&this.executeArchive(e=>e.cancel_sheet_cursor())}finally{this.sessions.delete(n.sessionId),i()}},close:()=>{try{this.archive()&&this.executeArchive(e=>e.close_sheet_cursor())}finally{this.sessions.delete(n.sessionId),i()}},resourceUsage:()=>this.readResourceUsage()}});this.sessions.set(n.sessionId,{host:l,identity:n}),this.pendingOpens.delete(n.sessionId)}));this.operationTail=o.then(()=>a,()=>void 0);try{await o}catch(e){throw this.pendingOpens.delete(n.sessionId),i(),e}}async postOpenedSafely(e,t,n){try{t()}catch(t){await this.closeIdentity(e);try{n(t)}catch{}}}dispatch(e,t){let n=this.sessions.get(e.sessionId);if(n)return n.host.dispatch(e,t);let r=this.pendingOpens.get(e.sessionId);if(r&&(e.kind===`cancel`||e.kind===`close`)){let n=r.identity.operationId===e.operationId&&r.identity.generation===e.generation;return n&&(r.canceled=!0),t(n?{protocol:R,kind:`accepted`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,command:e.kind}:{protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:{message:`stale lifecycle targets another pending worksheet operation`,errorName:`PullSessionProtocolError`,code:`ooxml-stale-lifecycle`}}),Promise.resolve()}return e.kind===`cancel`||e.kind===`close`?(t({protocol:R,kind:`accepted`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,command:e.kind}),Promise.resolve()):(t({protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:L(Error(`worksheet pull session is not open`))}),Promise.resolve())}async dispatchSafely(e,t){try{await this.dispatch(e,t)}catch(n){try{t({protocol:R,kind:`error`,sessionId:e.sessionId,operationId:e.operationId,generation:e.generation,requestId:e.requestId,error:L(n)})}catch{}}}run(e){let t=this.operationTail.then(()=>this.coordinator.enqueue(async()=>{if(this.resourceFailure)throw this.resourceFailure;return e()})).catch(e=>{throw e instanceof x&&(this.resourceFailure??=e),e});return this.operationTail=t.then(()=>void 0,()=>void 0),t}async reset(){for(let e of this.pendingOpens.values())e.canceled=!0;let e=1;for(let{host:t,identity:n}of[...this.sessions.values()])await t.dispatch({protocol:R,kind:`close`,...n,requestId:e++},()=>void 0);this.sessions.clear(),await this.operationTail,this.pendingOpens.clear(),this.resourceFailure=void 0}requireArchive(){let e=this.archive();if(!e)throw Error(`Workbook not loaded`);return e}async closeIdentity(e){let t=this.sessions.get(e.sessionId);if(t){await t.host.dispatch({protocol:R,kind:`close`,...e,requestId:1},()=>void 0);return}let n=this.pendingOpens.get(e.sessionId);n&&n.identity.operationId===e.operationId&&n.identity.generation===e.generation&&(n.canceled=!0)}readResourceUsage(){try{return k(this.executeArchive(e=>e.sheet_cursor_resource_usage()))}catch(e){if(String(e).includes(`worksheet cursor usage is unavailable`))return;throw e}}};function Ne(e){return!!e&&typeof e==`object`&&e.protocol===`ooxml-pull-v1`}const Q=new ce(y,{freeArchive:e=>e.free(),reinit:ne}),$=new Me(()=>Q.archive,void 0,e=>{let t=Q.archive;if(!t)throw Error(`Workbook not loaded`);return Q.run(()=>e(t))});self.onmessage=async t=>{let n=t.data;if(Ne(n)){await $.dispatchSafely(n,(e,t)=>self.postMessage(e,t));return}if(n.type===`init`){Q.setWasmInput(ie(n.wasmUrl)??n.wasmUrl);return}let r=n.id;n.type===`openSheetSession`&&$.reserveOpen(n);try{if(n.type===`openSheetSession`){await Q.ensureReady(),Q.archive&&Q.run(()=>Q.archive?.assert_healthy()),await $.open(n.sheetIndex,n.sheetName,n),await $.postOpenedSafely(n,()=>self.postMessage({type:`sheetSessionOpened`,id:r,sessionId:n.sessionId,operationId:n.operationId,generation:n.generation}),e=>self.postMessage({type:`error`,id:r,...L(e)}));return}n.type===`parse`&&await $.reset(),await $.run(async()=>{if(await Q.ensureReady(),n.type!==`parse`&&Q.archive){let e=Q.archive;Q.run(()=>e.assert_healthy())}if(n.type===`parse`){let[t,i,a]=xe(n.resourcePolicy),o=new Uint8Array(n.data),s=Q.run(()=>{let n=new e(o,t,i,a);return Q.setArchive(n),n.parse()}).buffer,c={type:`parsed`,id:r,workbookJson:s,usage:Q.run(()=>k(Q.archive.resource_usage()))};self.postMessage(c,[s]);return}let t=Q.archive;if(n.type===`extractImage`){if(!t)throw Error(`No xlsx loaded`);let e=Q.run(()=>t.extract_image(n.path).buffer),i={type:`imageExtracted`,id:r,bytes:e};self.postMessage(i,[e]);return}if(n.type===`resourceUsage`){if(!t)throw Error(`No xlsx loaded`);let e=Q.run(()=>k(t.resource_usage()));self.postMessage({type:`resourceUsage`,id:r,usage:e});return}if(n.type===`toMarkdown`){if(!t)throw Error(`No xlsx loaded`);let e={type:`markdownRendered`,id:r,markdown:Q.run(()=>t.to_markdown())};self.postMessage(e);return}})}catch(e){n.type===`openSheetSession`&&$.abandonOpen(n.sessionId);let t={type:`error`,id:r,...L(e)};try{self.postMessage(t)}catch{}}};", ct = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", st], { type: "text/javascript;charset=utf-8" });
|
|
100
|
+
function lt(e) {
|
|
101
101
|
let t;
|
|
102
102
|
try {
|
|
103
|
-
if (t =
|
|
103
|
+
if (t = ct && (self.URL || self.webkitURL).createObjectURL(ct), !t) throw "";
|
|
104
104
|
let n = new Worker(t, {
|
|
105
105
|
type: "module",
|
|
106
106
|
name: e?.name
|
|
@@ -109,7 +109,7 @@ function ct(e) {
|
|
|
109
109
|
(self.URL || self.webkitURL).revokeObjectURL(t);
|
|
110
110
|
}), n;
|
|
111
111
|
} catch {
|
|
112
|
-
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(
|
|
112
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(st), {
|
|
113
113
|
type: "module",
|
|
114
114
|
name: e?.name
|
|
115
115
|
});
|
|
@@ -117,19 +117,19 @@ function ct(e) {
|
|
|
117
117
|
}
|
|
118
118
|
//#endregion
|
|
119
119
|
//#region packages/xlsx/src/wasm/xlsx_parser_bg.wasm?url
|
|
120
|
-
var
|
|
120
|
+
var ut = new URL("xlsx_parser_bg.wasm", import.meta.url).href;
|
|
121
121
|
//#endregion
|
|
122
122
|
//#region packages/xlsx/src/sheet-visibility.ts
|
|
123
|
-
function
|
|
123
|
+
function dt(e, t) {
|
|
124
124
|
return !Number.isInteger(t) || t < 0 || t >= e.length ? "visible" : e[t].visibility ?? "visible";
|
|
125
125
|
}
|
|
126
126
|
//#endregion
|
|
127
127
|
//#region packages/xlsx/src/phonetic.ts
|
|
128
|
-
function
|
|
128
|
+
function ft(e) {
|
|
129
129
|
return Array.from(e);
|
|
130
130
|
}
|
|
131
|
-
function
|
|
132
|
-
let a =
|
|
131
|
+
function pt(e, t, n, r, i) {
|
|
132
|
+
let a = ft(t), o = a.length, s = [];
|
|
133
133
|
for (let t of e) {
|
|
134
134
|
let e = t.sb, c = t.eb;
|
|
135
135
|
if (!(e < c) || e >= o) continue;
|
|
@@ -145,37 +145,37 @@ function ft(e, t, n, r, i) {
|
|
|
145
145
|
}
|
|
146
146
|
//#endregion
|
|
147
147
|
//#region packages/xlsx/src/formula.ts
|
|
148
|
-
function
|
|
148
|
+
function Y(e) {
|
|
149
149
|
return Array.isArray(e) ? e : [e];
|
|
150
150
|
}
|
|
151
|
-
function
|
|
151
|
+
function mt(e) {
|
|
152
152
|
return Array.isArray(e) ? e[0] ?? 0 : e;
|
|
153
153
|
}
|
|
154
|
-
var
|
|
155
|
-
function
|
|
154
|
+
var ht = 8;
|
|
155
|
+
function gt(e, t) {
|
|
156
156
|
try {
|
|
157
|
-
return
|
|
157
|
+
return _t(Ct(e, t));
|
|
158
158
|
} catch {
|
|
159
159
|
return !1;
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
function
|
|
163
|
-
let t =
|
|
162
|
+
function _t(e) {
|
|
163
|
+
let t = mt(e);
|
|
164
164
|
return typeof t == "boolean" ? t : typeof t == "number" ? t !== 0 : typeof t == "string" ? t.length > 0 && t.toUpperCase() !== "FALSE" : !1;
|
|
165
165
|
}
|
|
166
|
-
function
|
|
167
|
-
let t =
|
|
166
|
+
function X(e) {
|
|
167
|
+
let t = mt(e);
|
|
168
168
|
if (typeof t == "number") return t;
|
|
169
169
|
if (typeof t == "boolean") return +!!t;
|
|
170
170
|
if (t == null) return 0;
|
|
171
171
|
let n = parseFloat(String(t));
|
|
172
172
|
return isNaN(n) ? 0 : n;
|
|
173
173
|
}
|
|
174
|
-
function
|
|
175
|
-
let t =
|
|
174
|
+
function Z(e) {
|
|
175
|
+
let t = mt(e);
|
|
176
176
|
return t == null ? "" : typeof t == "boolean" ? t ? "TRUE" : "FALSE" : String(t);
|
|
177
177
|
}
|
|
178
|
-
var
|
|
178
|
+
var vt = new Set([
|
|
179
179
|
"<",
|
|
180
180
|
">",
|
|
181
181
|
"=",
|
|
@@ -187,7 +187,7 @@ var _t = new Set([
|
|
|
187
187
|
"^",
|
|
188
188
|
"%"
|
|
189
189
|
]);
|
|
190
|
-
function
|
|
190
|
+
function yt(e) {
|
|
191
191
|
let t = [], n = 0, r = e;
|
|
192
192
|
for (; n < r.length;) {
|
|
193
193
|
let e = r[n];
|
|
@@ -248,7 +248,7 @@ function vt(e) {
|
|
|
248
248
|
}), n = e;
|
|
249
249
|
continue;
|
|
250
250
|
}
|
|
251
|
-
if (
|
|
251
|
+
if (vt.has(e)) {
|
|
252
252
|
(e === "<" || e === ">") && (r[n + 1] === "=" || e === "<" && r[n + 1] === ">") ? (t.push({
|
|
253
253
|
kind: "op",
|
|
254
254
|
text: r.slice(n, n + 2)
|
|
@@ -258,12 +258,12 @@ function vt(e) {
|
|
|
258
258
|
}), n++);
|
|
259
259
|
continue;
|
|
260
260
|
}
|
|
261
|
-
if (e === "$" ||
|
|
261
|
+
if (e === "$" || bt(e)) {
|
|
262
262
|
let e = n;
|
|
263
|
-
for (; e < r.length && (r[e] === "$" ||
|
|
263
|
+
for (; e < r.length && (r[e] === "$" || xt(r[e]));) e++;
|
|
264
264
|
let i = r.slice(n, e);
|
|
265
265
|
n = e;
|
|
266
|
-
let a =
|
|
266
|
+
let a = St(i);
|
|
267
267
|
if (a) t.push({
|
|
268
268
|
kind: "ref",
|
|
269
269
|
text: i,
|
|
@@ -285,13 +285,13 @@ function vt(e) {
|
|
|
285
285
|
}
|
|
286
286
|
return t;
|
|
287
287
|
}
|
|
288
|
-
function yt(e) {
|
|
289
|
-
return e >= "A" && e <= "Z" || e >= "a" && e <= "z" || e === "_";
|
|
290
|
-
}
|
|
291
288
|
function bt(e) {
|
|
292
|
-
return
|
|
289
|
+
return e >= "A" && e <= "Z" || e >= "a" && e <= "z" || e === "_";
|
|
293
290
|
}
|
|
294
291
|
function xt(e) {
|
|
292
|
+
return bt(e) || e >= "0" && e <= "9" || e === ".";
|
|
293
|
+
}
|
|
294
|
+
function St(e) {
|
|
295
295
|
let t = 0, n = !1, r = !1;
|
|
296
296
|
e[t] === "$" && (n = !0, t++);
|
|
297
297
|
let i = t;
|
|
@@ -311,43 +311,43 @@ function xt(e) {
|
|
|
311
311
|
row: s
|
|
312
312
|
};
|
|
313
313
|
}
|
|
314
|
-
function
|
|
315
|
-
return
|
|
316
|
-
toks:
|
|
314
|
+
function Ct(e, t) {
|
|
315
|
+
return Et({
|
|
316
|
+
toks: yt(e),
|
|
317
317
|
pos: 0
|
|
318
318
|
}, t);
|
|
319
319
|
}
|
|
320
|
-
function
|
|
320
|
+
function wt(e) {
|
|
321
321
|
return e.toks[e.pos];
|
|
322
322
|
}
|
|
323
|
-
function
|
|
323
|
+
function Tt(e) {
|
|
324
324
|
return e.toks[e.pos++];
|
|
325
325
|
}
|
|
326
|
-
function Tt(e, t) {
|
|
327
|
-
return Et(e, t);
|
|
328
|
-
}
|
|
329
326
|
function Et(e, t) {
|
|
330
|
-
|
|
327
|
+
return Dt(e, t);
|
|
328
|
+
}
|
|
329
|
+
function Dt(e, t) {
|
|
330
|
+
let n = Ot(e, t), r = wt(e);
|
|
331
331
|
if (r && r.kind === "op" && (r.text === "<" || r.text === ">" || r.text === "<=" || r.text === ">=" || r.text === "=" || r.text === "<>")) {
|
|
332
|
-
|
|
333
|
-
let i =
|
|
334
|
-
return
|
|
332
|
+
Tt(e);
|
|
333
|
+
let i = Ot(e, t);
|
|
334
|
+
return kt(r.text, n, i);
|
|
335
335
|
}
|
|
336
336
|
return n;
|
|
337
337
|
}
|
|
338
|
-
function
|
|
339
|
-
let n =
|
|
338
|
+
function Ot(e, t) {
|
|
339
|
+
let n = At(e, t);
|
|
340
340
|
for (;;) {
|
|
341
|
-
let r =
|
|
341
|
+
let r = wt(e);
|
|
342
342
|
if (!r || r.kind !== "op" || r.text !== "&") break;
|
|
343
|
-
|
|
344
|
-
let i =
|
|
345
|
-
n =
|
|
343
|
+
Tt(e);
|
|
344
|
+
let i = At(e, t);
|
|
345
|
+
n = Z(n) + Z(i);
|
|
346
346
|
}
|
|
347
347
|
return n;
|
|
348
348
|
}
|
|
349
|
-
function
|
|
350
|
-
let r = typeof t == "string" && isNaN(parseFloat(t)) ? null :
|
|
349
|
+
function kt(e, t, n) {
|
|
350
|
+
let r = typeof t == "string" && isNaN(parseFloat(t)) ? null : X(t), i = typeof n == "string" && isNaN(parseFloat(n)) ? null : X(n);
|
|
351
351
|
if (r !== null && i !== null) switch (e) {
|
|
352
352
|
case "<": return r < i;
|
|
353
353
|
case ">": return r > i;
|
|
@@ -367,67 +367,67 @@ function Ot(e, t, n) {
|
|
|
367
367
|
}
|
|
368
368
|
return !1;
|
|
369
369
|
}
|
|
370
|
-
function
|
|
371
|
-
let n =
|
|
370
|
+
function At(e, t) {
|
|
371
|
+
let n = jt(e, t);
|
|
372
372
|
for (;;) {
|
|
373
|
-
let r =
|
|
373
|
+
let r = wt(e);
|
|
374
374
|
if (!r || r.kind !== "op" || r.text !== "+" && r.text !== "-") break;
|
|
375
|
-
|
|
376
|
-
let i =
|
|
377
|
-
n = r.text === "+" ?
|
|
375
|
+
Tt(e);
|
|
376
|
+
let i = jt(e, t);
|
|
377
|
+
n = r.text === "+" ? X(n) + X(i) : X(n) - X(i);
|
|
378
378
|
}
|
|
379
379
|
return n;
|
|
380
380
|
}
|
|
381
|
-
function
|
|
382
|
-
let n =
|
|
381
|
+
function jt(e, t) {
|
|
382
|
+
let n = Mt(e, t);
|
|
383
383
|
for (;;) {
|
|
384
|
-
let r =
|
|
384
|
+
let r = wt(e);
|
|
385
385
|
if (!r || r.kind !== "op" || r.text !== "*" && r.text !== "/") break;
|
|
386
|
-
|
|
387
|
-
let i =
|
|
388
|
-
if (r.text === "*") n =
|
|
386
|
+
Tt(e);
|
|
387
|
+
let i = Mt(e, t);
|
|
388
|
+
if (r.text === "*") n = X(n) * X(i);
|
|
389
389
|
else {
|
|
390
|
-
let e =
|
|
391
|
-
n = e === 0 ? 0 :
|
|
390
|
+
let e = X(i);
|
|
391
|
+
n = e === 0 ? 0 : X(n) / e;
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
394
|
return n;
|
|
395
395
|
}
|
|
396
|
-
function jt(e, t) {
|
|
397
|
-
let n = Ct(e);
|
|
398
|
-
return n && n.kind === "op" && n.text === "-" ? (wt(e), -Z(jt(e, t))) : n && n.kind === "op" && n.text === "+" ? (wt(e), Z(jt(e, t))) : Mt(e, t);
|
|
399
|
-
}
|
|
400
396
|
function Mt(e, t) {
|
|
401
397
|
let n = wt(e);
|
|
398
|
+
return n && n.kind === "op" && n.text === "-" ? (Tt(e), -X(Mt(e, t))) : n && n.kind === "op" && n.text === "+" ? (Tt(e), X(Mt(e, t))) : Nt(e, t);
|
|
399
|
+
}
|
|
400
|
+
function Nt(e, t) {
|
|
401
|
+
let n = Tt(e);
|
|
402
402
|
if (!n) return 0;
|
|
403
403
|
if (n.kind === "num") return parseFloat(n.text);
|
|
404
404
|
if (n.kind === "str") return n.text;
|
|
405
405
|
if (n.kind === "bool") return n.text === "TRUE";
|
|
406
406
|
if (n.kind === "lparen") {
|
|
407
|
-
let n =
|
|
407
|
+
let n = Et(e, t), r = Tt(e);
|
|
408
408
|
if (!r || r.kind !== "rparen") throw Error("missing )");
|
|
409
409
|
return n;
|
|
410
410
|
}
|
|
411
411
|
if (n.kind === "ref") {
|
|
412
|
-
if (
|
|
413
|
-
|
|
414
|
-
let r =
|
|
412
|
+
if (wt(e)?.kind === "colon") {
|
|
413
|
+
Tt(e);
|
|
414
|
+
let r = Tt(e);
|
|
415
415
|
if (r?.kind !== "ref" || !r.ref) throw Error("range: expected ref after :");
|
|
416
|
-
return
|
|
416
|
+
return It(n.ref, r.ref, t);
|
|
417
417
|
}
|
|
418
|
-
return
|
|
418
|
+
return Ft(n.ref, t);
|
|
419
419
|
}
|
|
420
420
|
if (n.kind === "name") {
|
|
421
|
-
if (
|
|
422
|
-
|
|
421
|
+
if (wt(e)?.kind === "lparen") {
|
|
422
|
+
Tt(e);
|
|
423
423
|
let r = [];
|
|
424
|
-
if (
|
|
425
|
-
let i =
|
|
424
|
+
if (wt(e)?.kind !== "rparen") for (r.push(Et(e, t)); wt(e)?.kind === "comma";) Tt(e), r.push(Et(e, t));
|
|
425
|
+
let i = Tt(e);
|
|
426
426
|
if (!i || i.kind !== "rparen") throw Error("missing )");
|
|
427
|
-
return
|
|
427
|
+
return Rt(n.text, r, t);
|
|
428
428
|
}
|
|
429
429
|
let r = t.definedNames.get(n.text);
|
|
430
|
-
return r && t.depth <
|
|
430
|
+
return r && t.depth < ht ? Ct(Pt(r.formula), {
|
|
431
431
|
...t,
|
|
432
432
|
anchorRow: 1,
|
|
433
433
|
anchorCol: 1,
|
|
@@ -436,20 +436,20 @@ function Mt(e, t) {
|
|
|
436
436
|
}
|
|
437
437
|
return 0;
|
|
438
438
|
}
|
|
439
|
-
function
|
|
439
|
+
function Pt(e) {
|
|
440
440
|
let t = e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);
|
|
441
441
|
return t ? t[1] : e;
|
|
442
442
|
}
|
|
443
|
-
function
|
|
443
|
+
function Ft(e, t) {
|
|
444
444
|
let n = e.colAbs ? e.col : e.col + (t.col - t.anchorCol), r = e.rowAbs ? e.row : e.row + (t.row - t.anchorRow);
|
|
445
|
-
return
|
|
445
|
+
return Lt(t.cellIndex.get(`${r}:${n}`));
|
|
446
446
|
}
|
|
447
|
-
function
|
|
447
|
+
function It(e, t, n) {
|
|
448
448
|
let r = e.colAbs ? e.col : e.col + (n.col - n.anchorCol), i = e.rowAbs ? e.row : e.row + (n.row - n.anchorRow), a = t.colAbs ? t.col : t.col + (n.col - n.anchorCol), o = t.rowAbs ? t.row : t.row + (n.row - n.anchorRow), s = Math.min(r, a), c = Math.max(r, a), l = Math.min(i, o), u = Math.max(i, o), d = [], f = 4096;
|
|
449
|
-
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(
|
|
449
|
+
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(Lt(n.cellIndex.get(`${e}:${t}`)));
|
|
450
450
|
return d;
|
|
451
451
|
}
|
|
452
|
-
function
|
|
452
|
+
function Lt(e) {
|
|
453
453
|
if (!e) return null;
|
|
454
454
|
switch (e.value.type) {
|
|
455
455
|
case "number": return e.value.number;
|
|
@@ -459,162 +459,162 @@ function It(e) {
|
|
|
459
459
|
default: return null;
|
|
460
460
|
}
|
|
461
461
|
}
|
|
462
|
-
function
|
|
462
|
+
function Rt(e, t, n) {
|
|
463
463
|
switch (e.toUpperCase()) {
|
|
464
|
-
case "AND": return t.flatMap(
|
|
465
|
-
case "OR": return t.flatMap(
|
|
466
|
-
case "NOT": return !
|
|
467
|
-
case "IF": return
|
|
464
|
+
case "AND": return t.flatMap(Y).every((e) => _t(e));
|
|
465
|
+
case "OR": return t.flatMap(Y).some((e) => _t(e));
|
|
466
|
+
case "NOT": return !_t(t[0]);
|
|
467
|
+
case "IF": return _t(t[0]) ? t[1] ?? !0 : t[2] ?? !1;
|
|
468
468
|
case "IFERROR": return t[0] == null ? t[1] ?? 0 : t[0];
|
|
469
469
|
case "IFS":
|
|
470
|
-
for (let e = 0; e + 1 < t.length; e += 2) if (
|
|
470
|
+
for (let e = 0; e + 1 < t.length; e += 2) if (_t(t[e])) return t[e + 1];
|
|
471
471
|
return null;
|
|
472
472
|
case "TRUE": return !0;
|
|
473
473
|
case "FALSE": return !1;
|
|
474
474
|
case "ISBLANK": {
|
|
475
|
-
let e =
|
|
475
|
+
let e = mt(t[0]);
|
|
476
476
|
return e == null || e === "";
|
|
477
477
|
}
|
|
478
|
-
case "ISNUMBER": return typeof
|
|
479
|
-
case "ISTEXT": return typeof
|
|
480
|
-
case "ISNONTEXT": return typeof
|
|
478
|
+
case "ISNUMBER": return typeof mt(t[0]) == "number";
|
|
479
|
+
case "ISTEXT": return typeof mt(t[0]) == "string";
|
|
480
|
+
case "ISNONTEXT": return typeof mt(t[0]) != "string";
|
|
481
481
|
case "ISERROR":
|
|
482
482
|
case "ISERR":
|
|
483
|
-
case "ISNA": return
|
|
484
|
-
case "ISLOGICAL": return typeof
|
|
483
|
+
case "ISNA": return mt(t[0]) == null;
|
|
484
|
+
case "ISLOGICAL": return typeof mt(t[0]) == "boolean";
|
|
485
485
|
case "ROUNDDOWN": {
|
|
486
|
-
let e =
|
|
486
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
487
487
|
return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
|
|
488
488
|
}
|
|
489
489
|
case "ROUNDUP": {
|
|
490
|
-
let e =
|
|
490
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
491
491
|
return (e >= 0 ? Math.ceil(e * n) : Math.floor(e * n)) / n;
|
|
492
492
|
}
|
|
493
493
|
case "ROUND": {
|
|
494
|
-
let e =
|
|
494
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
495
495
|
return Math.round(e * n) / n;
|
|
496
496
|
}
|
|
497
|
-
case "INT": return Math.floor(
|
|
497
|
+
case "INT": return Math.floor(X(t[0]));
|
|
498
498
|
case "TRUNC": {
|
|
499
|
-
let e =
|
|
499
|
+
let e = X(t[0]), n = 10 ** X(t[1] ?? 0);
|
|
500
500
|
return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
|
|
501
501
|
}
|
|
502
502
|
case "CEILING": {
|
|
503
|
-
let e =
|
|
503
|
+
let e = X(t[0]), n = X(t[1] ?? 1);
|
|
504
504
|
return n === 0 ? 0 : Math.ceil(e / n) * n;
|
|
505
505
|
}
|
|
506
506
|
case "FLOOR": {
|
|
507
|
-
let e =
|
|
507
|
+
let e = X(t[0]), n = X(t[1] ?? 1);
|
|
508
508
|
return n === 0 ? 0 : Math.floor(e / n) * n;
|
|
509
509
|
}
|
|
510
510
|
case "MOD": {
|
|
511
|
-
let e =
|
|
511
|
+
let e = X(t[0]), n = X(t[1]);
|
|
512
512
|
return n === 0 ? null : e - Math.floor(e / n) * n;
|
|
513
513
|
}
|
|
514
|
-
case "POWER": return
|
|
514
|
+
case "POWER": return X(t[0]) ** +X(t[1]);
|
|
515
515
|
case "SQRT": {
|
|
516
|
-
let e =
|
|
516
|
+
let e = X(t[0]);
|
|
517
517
|
return e < 0 ? null : Math.sqrt(e);
|
|
518
518
|
}
|
|
519
|
-
case "ABS": return Math.abs(
|
|
519
|
+
case "ABS": return Math.abs(X(t[0]));
|
|
520
520
|
case "SIGN": {
|
|
521
|
-
let e =
|
|
521
|
+
let e = X(t[0]);
|
|
522
522
|
return e > 0 ? 1 : e < 0 ? -1 : 0;
|
|
523
523
|
}
|
|
524
|
-
case "EXP": return Math.exp(
|
|
524
|
+
case "EXP": return Math.exp(X(t[0]));
|
|
525
525
|
case "LN": {
|
|
526
|
-
let e =
|
|
526
|
+
let e = X(t[0]);
|
|
527
527
|
return e <= 0 ? null : Math.log(e);
|
|
528
528
|
}
|
|
529
529
|
case "LOG10": {
|
|
530
|
-
let e =
|
|
530
|
+
let e = X(t[0]);
|
|
531
531
|
return e <= 0 ? null : Math.log10(e);
|
|
532
532
|
}
|
|
533
533
|
case "MIN": {
|
|
534
|
-
let e = t.flatMap(
|
|
534
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
535
535
|
return e.length ? Math.min(...e) : 0;
|
|
536
536
|
}
|
|
537
537
|
case "MAX": {
|
|
538
|
-
let e = t.flatMap(
|
|
538
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
539
539
|
return e.length ? Math.max(...e) : 0;
|
|
540
540
|
}
|
|
541
|
-
case "SUM": return t.flatMap(
|
|
541
|
+
case "SUM": return t.flatMap(Y).reduce((e, t) => e + (typeof t == "number" ? t : 0), 0);
|
|
542
542
|
case "AVERAGE": {
|
|
543
|
-
let e = t.flatMap(
|
|
543
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
544
544
|
return e.length ? e.reduce((e, t) => e + t, 0) / e.length : null;
|
|
545
545
|
}
|
|
546
|
-
case "COUNT": return t.flatMap(
|
|
547
|
-
case "COUNTA": return t.flatMap(
|
|
548
|
-
case "COUNTBLANK": return t.flatMap(
|
|
549
|
-
case "COUNTIF": return
|
|
550
|
-
case "SUMIF": return
|
|
546
|
+
case "COUNT": return t.flatMap(Y).filter((e) => typeof e == "number").length;
|
|
547
|
+
case "COUNTA": return t.flatMap(Y).filter((e) => e != null && e !== "").length;
|
|
548
|
+
case "COUNTBLANK": return t.flatMap(Y).filter((e) => e == null || e === "").length;
|
|
549
|
+
case "COUNTIF": return zt(Y(t[0]), t[1]);
|
|
550
|
+
case "SUMIF": return Bt(Y(t[0]), t[1], t[2] === void 0 ? null : Y(t[2]));
|
|
551
551
|
case "AVERAGEIF": {
|
|
552
|
-
let e =
|
|
553
|
-
return r === 0 ? null :
|
|
552
|
+
let e = Y(t[0]), n = Bt(e, t[1], t[2] === void 0 ? null : Y(t[2])), r = zt(e, t[1]);
|
|
553
|
+
return r === 0 ? null : X(n) / r;
|
|
554
554
|
}
|
|
555
|
-
case "LEN": return
|
|
556
|
-
case "LEFT": return
|
|
555
|
+
case "LEN": return Z(t[0]).length;
|
|
556
|
+
case "LEFT": return Z(t[0]).slice(0, Math.max(0, X(t[1] ?? 1)));
|
|
557
557
|
case "RIGHT": {
|
|
558
|
-
let e =
|
|
558
|
+
let e = Z(t[0]), n = Math.max(0, X(t[1] ?? 1));
|
|
559
559
|
return n >= e.length ? e : e.slice(e.length - n);
|
|
560
560
|
}
|
|
561
561
|
case "MID": {
|
|
562
|
-
let e =
|
|
562
|
+
let e = Z(t[0]), n = Math.max(1, X(t[1])) - 1, r = Math.max(0, X(t[2]));
|
|
563
563
|
return e.slice(n, n + r);
|
|
564
564
|
}
|
|
565
|
-
case "UPPER": return
|
|
566
|
-
case "LOWER": return
|
|
567
|
-
case "TRIM": return
|
|
568
|
-
case "EXACT": return
|
|
565
|
+
case "UPPER": return Z(t[0]).toUpperCase();
|
|
566
|
+
case "LOWER": return Z(t[0]).toLowerCase();
|
|
567
|
+
case "TRIM": return Z(t[0]).replace(/\s+/g, " ").trim();
|
|
568
|
+
case "EXACT": return Z(t[0]) === Z(t[1]);
|
|
569
569
|
case "FIND": {
|
|
570
|
-
let e =
|
|
570
|
+
let e = Z(t[0]), n = Z(t[1]), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
|
|
571
571
|
return i < 0 ? null : i + 1;
|
|
572
572
|
}
|
|
573
573
|
case "SEARCH": {
|
|
574
|
-
let e =
|
|
574
|
+
let e = Z(t[0]).toLowerCase(), n = Z(t[1]).toLowerCase(), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
|
|
575
575
|
return i < 0 ? null : i + 1;
|
|
576
576
|
}
|
|
577
577
|
case "CONCATENATE":
|
|
578
|
-
case "CONCAT": return t.flatMap(
|
|
578
|
+
case "CONCAT": return t.flatMap(Y).map((e) => e == null ? "" : typeof e == "boolean" ? e ? "TRUE" : "FALSE" : String(e)).join("");
|
|
579
579
|
case "T": {
|
|
580
|
-
let e =
|
|
580
|
+
let e = mt(t[0]);
|
|
581
581
|
return typeof e == "string" ? e : "";
|
|
582
582
|
}
|
|
583
583
|
case "N": {
|
|
584
|
-
let e =
|
|
584
|
+
let e = mt(t[0]);
|
|
585
585
|
return typeof e == "number" ? e : typeof e == "boolean" ? +!!e : 0;
|
|
586
586
|
}
|
|
587
|
-
case "VALUE": return
|
|
587
|
+
case "VALUE": return X(t[0]);
|
|
588
588
|
case "ROW": return n.row;
|
|
589
589
|
case "COLUMN": return n.col;
|
|
590
|
-
case "TODAY": return
|
|
591
|
-
case "NOW": return
|
|
592
|
-
case "DATE": return
|
|
593
|
-
case "YEAR": return
|
|
594
|
-
case "MONTH": return
|
|
595
|
-
case "DAY": return
|
|
590
|
+
case "TODAY": return Ht();
|
|
591
|
+
case "NOW": return Ut();
|
|
592
|
+
case "DATE": return Wt(X(t[0]), X(t[1]), X(t[2]));
|
|
593
|
+
case "YEAR": return Kt(X(t[0])).y;
|
|
594
|
+
case "MONTH": return Kt(X(t[0])).m;
|
|
595
|
+
case "DAY": return Kt(X(t[0])).d;
|
|
596
596
|
case "WEEKDAY": {
|
|
597
|
-
let e =
|
|
597
|
+
let e = Gt(X(t[0])).getUTCDay(), n = X(t[1] ?? 1);
|
|
598
598
|
return n === 2 ? e === 0 ? 7 : e : n === 3 ? e === 0 ? 6 : e - 1 : e + 1;
|
|
599
599
|
}
|
|
600
600
|
default: return 0;
|
|
601
601
|
}
|
|
602
602
|
}
|
|
603
|
-
function
|
|
604
|
-
let n =
|
|
603
|
+
function zt(e, t) {
|
|
604
|
+
let n = Vt(t), r = 0;
|
|
605
605
|
for (let t of e) n(t) && r++;
|
|
606
606
|
return r;
|
|
607
607
|
}
|
|
608
|
-
function
|
|
609
|
-
let r =
|
|
608
|
+
function Bt(e, t, n) {
|
|
609
|
+
let r = Vt(t), i = n ?? e, a = 0;
|
|
610
610
|
for (let t = 0; t < e.length; t++) if (r(e[t])) {
|
|
611
611
|
let e = i[t];
|
|
612
612
|
typeof e == "number" && (a += e);
|
|
613
613
|
}
|
|
614
614
|
return a;
|
|
615
615
|
}
|
|
616
|
-
function
|
|
617
|
-
let t =
|
|
616
|
+
function Vt(e) {
|
|
617
|
+
let t = mt(e);
|
|
618
618
|
if (typeof t != "string") {
|
|
619
619
|
let e = typeof t == "number" ? t : null;
|
|
620
620
|
return (n) => e !== null && typeof n == "number" ? n === e : n === t;
|
|
@@ -640,21 +640,21 @@ function Bt(e) {
|
|
|
640
640
|
}
|
|
641
641
|
};
|
|
642
642
|
}
|
|
643
|
-
function
|
|
643
|
+
function Ht() {
|
|
644
644
|
let e = /* @__PURE__ */ new Date();
|
|
645
645
|
return de(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), !1);
|
|
646
646
|
}
|
|
647
|
-
function
|
|
647
|
+
function Ut() {
|
|
648
648
|
return de(new Date(Date.now()), !1);
|
|
649
649
|
}
|
|
650
|
-
function
|
|
650
|
+
function Wt(e, t, n) {
|
|
651
651
|
return Math.floor(de(new Date(Date.UTC(e, t - 1, n)), !1));
|
|
652
652
|
}
|
|
653
|
-
function
|
|
653
|
+
function Gt(e) {
|
|
654
654
|
return ae(Math.floor(e), !1);
|
|
655
655
|
}
|
|
656
|
-
function
|
|
657
|
-
let t =
|
|
656
|
+
function Kt(e) {
|
|
657
|
+
let t = Gt(e);
|
|
658
658
|
return {
|
|
659
659
|
y: t.getUTCFullYear(),
|
|
660
660
|
m: t.getUTCMonth() + 1,
|
|
@@ -663,9 +663,9 @@ function Gt(e) {
|
|
|
663
663
|
}
|
|
664
664
|
//#endregion
|
|
665
665
|
//#region packages/xlsx/src/number-format.ts
|
|
666
|
-
var
|
|
667
|
-
function
|
|
668
|
-
let t = e ?? "", n =
|
|
666
|
+
var qt = /* @__PURE__ */ new Map();
|
|
667
|
+
function Jt(e) {
|
|
668
|
+
let t = e ?? "", n = qt.get(t);
|
|
669
669
|
if (n) return n;
|
|
670
670
|
let r = new Intl.DateTimeFormat(e, {
|
|
671
671
|
year: "numeric",
|
|
@@ -673,9 +673,9 @@ function qt(e) {
|
|
|
673
673
|
day: "numeric",
|
|
674
674
|
timeZone: "UTC"
|
|
675
675
|
});
|
|
676
|
-
return
|
|
676
|
+
return qt.set(t, r), r;
|
|
677
677
|
}
|
|
678
|
-
function
|
|
678
|
+
function Yt(e) {
|
|
679
679
|
switch (e.type) {
|
|
680
680
|
case "empty": return "";
|
|
681
681
|
case "text": return e.text;
|
|
@@ -685,20 +685,20 @@ function Jt(e) {
|
|
|
685
685
|
case "shared": return "";
|
|
686
686
|
}
|
|
687
687
|
}
|
|
688
|
-
function Yt(e, t, n, r = !1) {
|
|
689
|
-
return Xt(e, t, n, r).text;
|
|
690
|
-
}
|
|
691
688
|
function Xt(e, t, n, r = !1) {
|
|
689
|
+
return Zt(e, t, n, r).text;
|
|
690
|
+
}
|
|
691
|
+
function Zt(e, t, n, r = !1) {
|
|
692
692
|
let i = t.cellXfs[e.styleIndex ?? 0]?.numFmtId ?? 0, a = t.numFmts?.find((e) => e.numFmtId === i)?.formatCode ?? null, o = n?.numFmtId ?? i, s = n?.formatCode ?? a;
|
|
693
693
|
if (e.value.type !== "number") {
|
|
694
|
-
let t =
|
|
695
|
-
return { text: s ?
|
|
694
|
+
let t = Yt(e.value);
|
|
695
|
+
return { text: s ? Qt(t, s) : t };
|
|
696
696
|
}
|
|
697
|
-
let c =
|
|
698
|
-
return
|
|
697
|
+
let c = $t(e.formula);
|
|
698
|
+
return gn(c ?? e.value.number, o, s, c === null ? r : !1);
|
|
699
699
|
}
|
|
700
|
-
function
|
|
701
|
-
let n =
|
|
700
|
+
function Qt(e, t) {
|
|
701
|
+
let n = yn(t), r;
|
|
702
702
|
if (n.length >= 4) r = n[3];
|
|
703
703
|
else {
|
|
704
704
|
let t = n[n.length - 1];
|
|
@@ -720,12 +720,12 @@ function Zt(e, t) {
|
|
|
720
720
|
}
|
|
721
721
|
return i;
|
|
722
722
|
}
|
|
723
|
-
function
|
|
723
|
+
function $t(e) {
|
|
724
724
|
if (!e) return null;
|
|
725
725
|
let t = e.trim().replace(/^=/, "").toUpperCase().replace(/\s+/g, "");
|
|
726
|
-
return t === "TODAY()" ?
|
|
726
|
+
return t === "TODAY()" ? Ht() : t === "NOW()" ? Ut() : null;
|
|
727
727
|
}
|
|
728
|
-
var
|
|
728
|
+
var en = {
|
|
729
729
|
15: "d-mmm-yy",
|
|
730
730
|
16: "d-mmm",
|
|
731
731
|
17: "mmm-yy",
|
|
@@ -748,7 +748,7 @@ var $t = {
|
|
|
748
748
|
56: "m\"月\"d\"日\"",
|
|
749
749
|
57: "[$-411]ge.m.d",
|
|
750
750
|
58: "[$-411]ggge\"年\"m\"月\"d\"日\""
|
|
751
|
-
},
|
|
751
|
+
}, tn = [
|
|
752
752
|
"January",
|
|
753
753
|
"February",
|
|
754
754
|
"March",
|
|
@@ -761,7 +761,7 @@ var $t = {
|
|
|
761
761
|
"October",
|
|
762
762
|
"November",
|
|
763
763
|
"December"
|
|
764
|
-
],
|
|
764
|
+
], nn = [
|
|
765
765
|
"Sunday",
|
|
766
766
|
"Monday",
|
|
767
767
|
"Tuesday",
|
|
@@ -769,7 +769,7 @@ var $t = {
|
|
|
769
769
|
"Thursday",
|
|
770
770
|
"Friday",
|
|
771
771
|
"Saturday"
|
|
772
|
-
],
|
|
772
|
+
], rn = [
|
|
773
773
|
"日",
|
|
774
774
|
"月",
|
|
775
775
|
"火",
|
|
@@ -777,7 +777,7 @@ var $t = {
|
|
|
777
777
|
"木",
|
|
778
778
|
"金",
|
|
779
779
|
"土"
|
|
780
|
-
],
|
|
780
|
+
], an = [
|
|
781
781
|
"日曜日",
|
|
782
782
|
"月曜日",
|
|
783
783
|
"火曜日",
|
|
@@ -785,7 +785,7 @@ var $t = {
|
|
|
785
785
|
"木曜日",
|
|
786
786
|
"金曜日",
|
|
787
787
|
"土曜日"
|
|
788
|
-
],
|
|
788
|
+
], on = [
|
|
789
789
|
{
|
|
790
790
|
start: new Date(Date.UTC(2019, 4, 1)),
|
|
791
791
|
abbr: "R",
|
|
@@ -817,14 +817,14 @@ var $t = {
|
|
|
817
817
|
long: "明治"
|
|
818
818
|
}
|
|
819
819
|
];
|
|
820
|
-
function
|
|
821
|
-
for (let t of
|
|
820
|
+
function sn(e) {
|
|
821
|
+
for (let t of on) if (e.getTime() >= t.start.getTime()) return {
|
|
822
822
|
abbr: t.abbr,
|
|
823
823
|
short: t.short,
|
|
824
824
|
long: t.long,
|
|
825
825
|
year: e.getUTCFullYear() - t.start.getUTCFullYear() + 1
|
|
826
826
|
};
|
|
827
|
-
let t =
|
|
827
|
+
let t = on[on.length - 1];
|
|
828
828
|
return {
|
|
829
829
|
abbr: t.abbr,
|
|
830
830
|
short: t.short,
|
|
@@ -832,8 +832,8 @@ function on(e) {
|
|
|
832
832
|
year: e.getUTCFullYear()
|
|
833
833
|
};
|
|
834
834
|
}
|
|
835
|
-
function
|
|
836
|
-
let r = ae(e, n), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = r.getUTCDay(), c = r.getUTCHours(), l = r.getUTCMinutes(), u = r.getUTCSeconds(), d = t.split(";")[0], f = /am\/pm|a\/p/i.test(d), p = null, m = () => p ??=
|
|
835
|
+
function cn(e, t, n = !1) {
|
|
836
|
+
let r = ae(e, n), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = r.getUTCDay(), c = r.getUTCHours(), l = r.getUTCMinutes(), u = r.getUTCSeconds(), d = t.split(";")[0], f = /am\/pm|a\/p/i.test(d), p = null, m = () => p ??= sn(r), h = "", g = 0, _ = !1;
|
|
837
837
|
for (; g < d.length;) {
|
|
838
838
|
let t = d[g];
|
|
839
839
|
if (t === "\"") {
|
|
@@ -861,11 +861,11 @@ function sn(e, t, n = !1) {
|
|
|
861
861
|
let e = 0;
|
|
862
862
|
for (; g < d.length && d[g].toLowerCase() === "m";) e++, g++;
|
|
863
863
|
let t = d.slice(g).replace(/\[[^\]]*\]/g, "");
|
|
864
|
-
_ || /^:s/i.test(t) ? h += e >= 2 ? String(l).padStart(2, "0") : String(l) : e === 1 ? h += String(a) : e === 2 ? h += String(a).padStart(2, "0") : e === 3 ? h +=
|
|
864
|
+
_ || /^:s/i.test(t) ? h += e >= 2 ? String(l).padStart(2, "0") : String(l) : e === 1 ? h += String(a) : e === 2 ? h += String(a).padStart(2, "0") : e === 3 ? h += tn[a - 1].slice(0, 3) : e === 4 ? h += tn[a - 1] : h += tn[a - 1][0], _ = !1;
|
|
865
865
|
} else if (t === "d" || t === "D") {
|
|
866
866
|
let e = 0;
|
|
867
867
|
for (; g < d.length && d[g].toLowerCase() === "d";) e++, g++;
|
|
868
|
-
e === 1 ? h += String(o) : e === 2 ? h += String(o).padStart(2, "0") : e === 3 ? h +=
|
|
868
|
+
e === 1 ? h += String(o) : e === 2 ? h += String(o).padStart(2, "0") : e === 3 ? h += nn[s].slice(0, 3) : h += nn[s], _ = !1;
|
|
869
869
|
} else if (t === "h" || t === "H") {
|
|
870
870
|
let e = 0;
|
|
871
871
|
for (; g < d.length && d[g].toLowerCase() === "h";) e++, g++;
|
|
@@ -892,61 +892,61 @@ function sn(e, t, n = !1) {
|
|
|
892
892
|
h += e >= 2 ? String(t).padStart(2, "0") : String(t), _ = !1;
|
|
893
893
|
} else if (t === "A" || t === "a") {
|
|
894
894
|
let e = d.slice(g).toUpperCase();
|
|
895
|
-
e.startsWith("AAAA") ? (h +=
|
|
895
|
+
e.startsWith("AAAA") ? (h += an[s], g += 4) : e.startsWith("AAA") ? (h += rn[s], g += 3) : e.startsWith("AM/PM") ? (h += c < 12 ? "AM" : "PM", g += 5) : e.startsWith("A/P") ? (h += c < 12 ? "A" : "P", g += 3) : (h += t, g++), _ = !1;
|
|
896
896
|
} else h += t, g++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (_ = !1);
|
|
897
897
|
}
|
|
898
898
|
return h;
|
|
899
899
|
}
|
|
900
|
-
function
|
|
900
|
+
function ln(e) {
|
|
901
901
|
if (/\[[hms]+\]/i.test(e)) return !0;
|
|
902
902
|
let t = e.replace(/"[^"]*"/g, "").replace(/\[[^\]]*\]/g, "");
|
|
903
903
|
return /[yd]/i.test(t) || /a{3,}/i.test(t);
|
|
904
904
|
}
|
|
905
|
-
var
|
|
906
|
-
function dn(e) {
|
|
907
|
-
return e.includes(".") ? e.replace(/0+$/, "").replace(/\.$/, "") : e;
|
|
908
|
-
}
|
|
905
|
+
var un = 11, dn = 6;
|
|
909
906
|
function fn(e) {
|
|
910
|
-
return
|
|
907
|
+
return e.includes(".") ? e.replace(/0+$/, "").replace(/\.$/, "") : e;
|
|
911
908
|
}
|
|
912
909
|
function pn(e) {
|
|
913
|
-
|
|
914
|
-
return `${dn(t)}E${fn(Number(n))}`;
|
|
910
|
+
return `${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
|
|
915
911
|
}
|
|
916
912
|
function mn(e) {
|
|
913
|
+
let [t, n] = e.toExponential(dn - 1).split("e");
|
|
914
|
+
return `${fn(t)}E${pn(Number(n))}`;
|
|
915
|
+
}
|
|
916
|
+
function hn(e) {
|
|
917
917
|
if (!Number.isFinite(e)) return String(e);
|
|
918
918
|
if (e === 0) return "0";
|
|
919
|
-
let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(
|
|
919
|
+
let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(un - 1).split("e")[1]), i = r >= un || r < -5 ? mn(n) : fn(n.toPrecision(un));
|
|
920
920
|
return t ? `-${i}` : i;
|
|
921
921
|
}
|
|
922
|
-
function
|
|
922
|
+
function gn(e, t, n, r = !1) {
|
|
923
923
|
if (t === 14 && !n) {
|
|
924
924
|
let t = typeof navigator > "u" ? void 0 : navigator.language, n = ae(e, r);
|
|
925
|
-
return { text:
|
|
925
|
+
return { text: Jt(t).format(n) };
|
|
926
926
|
}
|
|
927
|
-
let i =
|
|
928
|
-
if (i) return { text:
|
|
929
|
-
if (n && n.trim().toLowerCase() === "general") return { text:
|
|
930
|
-
if (n) return
|
|
927
|
+
let i = en[t];
|
|
928
|
+
if (i) return { text: cn(e, i, r) };
|
|
929
|
+
if (n && n.trim().toLowerCase() === "general") return { text: hn(e) };
|
|
930
|
+
if (n) return ln(n) ? { text: cn(e, n, r) } : kn(e, n);
|
|
931
931
|
switch (t) {
|
|
932
|
-
case 0: return { text:
|
|
933
|
-
case 1: return
|
|
934
|
-
case 2: return
|
|
935
|
-
case 3: return
|
|
936
|
-
case 4: return
|
|
937
|
-
case 9: return
|
|
938
|
-
case 10: return
|
|
939
|
-
case 11: return
|
|
940
|
-
case 37: return
|
|
941
|
-
case 38: return
|
|
942
|
-
case 39: return
|
|
943
|
-
case 40: return
|
|
944
|
-
case 48: return
|
|
932
|
+
case 0: return { text: hn(e) };
|
|
933
|
+
case 1: return kn(e, "0");
|
|
934
|
+
case 2: return kn(e, "0.00");
|
|
935
|
+
case 3: return kn(e, "#,##0");
|
|
936
|
+
case 4: return kn(e, "#,##0.00");
|
|
937
|
+
case 9: return kn(e, "0%");
|
|
938
|
+
case 10: return kn(e, "0.00%");
|
|
939
|
+
case 11: return kn(e, "0.00E+00");
|
|
940
|
+
case 37: return kn(e, "#,##0 ;(#,##0)");
|
|
941
|
+
case 38: return kn(e, "#,##0 ;[Red](#,##0)");
|
|
942
|
+
case 39: return kn(e, "#,##0.00;(#,##0.00)");
|
|
943
|
+
case 40: return kn(e, "#,##0.00;[Red](#,##0.00)");
|
|
944
|
+
case 48: return kn(e, "##0.0E+0");
|
|
945
945
|
case 49: return { text: String(e) };
|
|
946
|
-
default: return { text:
|
|
946
|
+
default: return { text: hn(e) };
|
|
947
947
|
}
|
|
948
948
|
}
|
|
949
|
-
var
|
|
949
|
+
var _n = {
|
|
950
950
|
black: "#000000",
|
|
951
951
|
blue: "#0000FF",
|
|
952
952
|
cyan: "#00FFFF",
|
|
@@ -955,8 +955,8 @@ var gn = {
|
|
|
955
955
|
red: "#FF0000",
|
|
956
956
|
white: "#FFFFFF",
|
|
957
957
|
yellow: "#FFFF00"
|
|
958
|
-
},
|
|
959
|
-
function
|
|
958
|
+
}, vn = /* @__PURE__ */ "#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(".");
|
|
959
|
+
function yn(e) {
|
|
960
960
|
let t = [], n = "", r = 0;
|
|
961
961
|
for (; r < e.length;) {
|
|
962
962
|
let i = e[r];
|
|
@@ -971,7 +971,7 @@ function vn(e) {
|
|
|
971
971
|
}
|
|
972
972
|
return t.push(n), t;
|
|
973
973
|
}
|
|
974
|
-
function
|
|
974
|
+
function bn(e) {
|
|
975
975
|
let t = "", n, r, i = 0;
|
|
976
976
|
for (; i < e.length;) {
|
|
977
977
|
let a = e[i];
|
|
@@ -986,10 +986,10 @@ function yn(e) {
|
|
|
986
986
|
continue;
|
|
987
987
|
}
|
|
988
988
|
let s = e.slice(i + 1, o), c = s.toLowerCase(), l = c.match(/^color(\d{1,2})$/), u = s.match(/^(<=|>=|<>|<|>|=)\s*(-?[0-9.]+(?:[eE][-+]?\d+)?)$/);
|
|
989
|
-
if (c in
|
|
989
|
+
if (c in _n) n = _n[c];
|
|
990
990
|
else if (l) {
|
|
991
991
|
let e = parseInt(l[1], 10);
|
|
992
|
-
e >= 1 && e <= 56 && (n =
|
|
992
|
+
e >= 1 && e <= 56 && (n = vn[e + 7] ?? n);
|
|
993
993
|
} else u ? r = {
|
|
994
994
|
op: u[1],
|
|
995
995
|
value: Number(u[2])
|
|
@@ -1003,7 +1003,7 @@ function yn(e) {
|
|
|
1003
1003
|
condition: r
|
|
1004
1004
|
};
|
|
1005
1005
|
}
|
|
1006
|
-
function
|
|
1006
|
+
function xn(e, t) {
|
|
1007
1007
|
switch (e.op) {
|
|
1008
1008
|
case "<": return t < e.value;
|
|
1009
1009
|
case "<=": return t <= e.value;
|
|
@@ -1013,7 +1013,7 @@ function bn(e, t) {
|
|
|
1013
1013
|
case "<>": return t !== e.value;
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|
|
1016
|
-
function
|
|
1016
|
+
function Sn(e) {
|
|
1017
1017
|
let t = [], n = "", r = "", i = !1, a = !1, o, s = !1, c = 0, l = 0, u = (e) => {
|
|
1018
1018
|
if (!e) return;
|
|
1019
1019
|
!a && !s && (c = n.replace(/,/g, "").length);
|
|
@@ -1087,20 +1087,20 @@ function xn(e) {
|
|
|
1087
1087
|
fraction: h
|
|
1088
1088
|
};
|
|
1089
1089
|
}
|
|
1090
|
-
function
|
|
1090
|
+
function Cn(e) {
|
|
1091
1091
|
return e.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
1092
1092
|
}
|
|
1093
|
-
function
|
|
1093
|
+
function wn(e, t, n) {
|
|
1094
1094
|
let r = t.split(""), i = e.split(""), a = [], o = i.length - 1, s = [];
|
|
1095
1095
|
for (let e = r.length - 1; e >= 0; e--) o >= 0 ? (a.unshift(i[o]), s.unshift(i[o]), o--) : r[e] === "0" ? (a.unshift("0"), s.unshift("0")) : r[e] === "?" && a.unshift(" ");
|
|
1096
1096
|
for (; o >= 0;) a.unshift(i[o]), s.unshift(i[o]), o--;
|
|
1097
1097
|
if (n) {
|
|
1098
|
-
let e =
|
|
1098
|
+
let e = Cn(s.join(""));
|
|
1099
1099
|
return (a.length - s.length > 0 ? a.slice(0, a.length - s.length).join("") : "") + e;
|
|
1100
1100
|
}
|
|
1101
1101
|
return a.join("");
|
|
1102
1102
|
}
|
|
1103
|
-
function
|
|
1103
|
+
function Tn(e, t) {
|
|
1104
1104
|
let n = t.length;
|
|
1105
1105
|
if (n === 0) return "";
|
|
1106
1106
|
let r = e.padEnd(n, "0").slice(0, n).split("");
|
|
@@ -1112,7 +1112,7 @@ function wn(e, t) {
|
|
|
1112
1112
|
}
|
|
1113
1113
|
return r.join("");
|
|
1114
1114
|
}
|
|
1115
|
-
function
|
|
1115
|
+
function En(e, t, n) {
|
|
1116
1116
|
if (n !== null) return [Math.round(e * n), n];
|
|
1117
1117
|
let r = 10 ** Math.max(t, 1) - 1, i = 0, a = 1, o = Math.abs(e), s = [0, 1], c = [1, 1];
|
|
1118
1118
|
for (let t = 0; t < 100; t++) {
|
|
@@ -1125,12 +1125,12 @@ function Tn(e, t, n) {
|
|
|
1125
1125
|
}
|
|
1126
1126
|
return [i, a];
|
|
1127
1127
|
}
|
|
1128
|
-
function
|
|
1129
|
-
let r =
|
|
1128
|
+
function Dn(e, t, n) {
|
|
1129
|
+
let r = Sn(t), i = n ? Math.abs(e) : e;
|
|
1130
1130
|
r.hasPercent && (i *= 100), r.commaScale > 0 && (i /= 1e3 ** r.commaScale);
|
|
1131
1131
|
let a = i < 0 ? "-" : "", o = Math.abs(i);
|
|
1132
1132
|
if (r.fraction) {
|
|
1133
|
-
let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] =
|
|
1133
|
+
let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] = En(t, s.length, c), f = (e, t) => {
|
|
1134
1134
|
let n = String(e), r = t.includes("0") ? "0" : " ";
|
|
1135
1135
|
for (; n.length < t.length;) n = r + n;
|
|
1136
1136
|
return n;
|
|
@@ -1158,12 +1158,12 @@ function En(e, t, n) {
|
|
|
1158
1158
|
let e = Math.max(r.intSpec.length, 1), t = r.fracSpec.length, n = 0, i = 0;
|
|
1159
1159
|
o !== 0 && (i = Math.floor(Math.log10(o)), i = Math.floor(i / e) * e, n = o / 10 ** i, parseFloat(K(n, t)) >= 10 ** e && (i += e, n = o / 10 ** i));
|
|
1160
1160
|
let [s, c = ""] = K(n, t).split(".");
|
|
1161
|
-
return a +
|
|
1161
|
+
return a + On(r, wn(s, r.intSpec, !1), Tn(c, r.fracSpec), "E" + (i < 0 ? "-" : r.exp.plus ? "+" : "") + String(Math.abs(i)).padStart(r.exp.width, "0"));
|
|
1162
1162
|
}
|
|
1163
1163
|
let s = r.fracSpec.length, [c, l = ""] = K(o, s).split("."), u = c.replace(/^0+/, ""), d = /[0]/.test(r.intSpec) || r.intSpec === "" && !1;
|
|
1164
|
-
return u === "" && d && (u = "0"), a +
|
|
1164
|
+
return u === "" && d && (u = "0"), a + On(r, wn(u, r.intSpec, r.grouping), Tn(l, r.fracSpec), "");
|
|
1165
1165
|
}
|
|
1166
|
-
function
|
|
1166
|
+
function On(e, t, n, r) {
|
|
1167
1167
|
let i = t.split(""), a = [];
|
|
1168
1168
|
e.parts.forEach((e, t) => {
|
|
1169
1169
|
e.kind === "intph" && a.push(t);
|
|
@@ -1187,12 +1187,12 @@ function Dn(e, t, n, r) {
|
|
|
1187
1187
|
}
|
|
1188
1188
|
return f;
|
|
1189
1189
|
}
|
|
1190
|
-
function
|
|
1191
|
-
let n =
|
|
1190
|
+
function kn(e, t) {
|
|
1191
|
+
let n = yn(t).map(bn), r = n.some((e) => e.condition), i, a = !1;
|
|
1192
1192
|
if (r) {
|
|
1193
1193
|
let t = !1;
|
|
1194
1194
|
for (let r of n) if (r.condition) {
|
|
1195
|
-
if (
|
|
1195
|
+
if (xn(r.condition, e)) {
|
|
1196
1196
|
i = r, t = !0;
|
|
1197
1197
|
break;
|
|
1198
1198
|
}
|
|
@@ -1200,7 +1200,7 @@ function On(e, t) {
|
|
|
1200
1200
|
if (!i) return { text: "#" };
|
|
1201
1201
|
a = t && e < 0;
|
|
1202
1202
|
} else e > 0 ? i = n[0] : e < 0 ? n.length > 1 ? (i = n[1], a = !0) : i = n[0] : i = n.length > 2 ? n[2] : n[0];
|
|
1203
|
-
let o =
|
|
1203
|
+
let o = Dn(e, i.body, a);
|
|
1204
1204
|
return i.color ? {
|
|
1205
1205
|
text: o,
|
|
1206
1206
|
color: i.color
|
|
@@ -1208,9 +1208,9 @@ function On(e, t) {
|
|
|
1208
1208
|
}
|
|
1209
1209
|
//#endregion
|
|
1210
1210
|
//#region packages/xlsx/src/renderer-coordinate-index.ts
|
|
1211
|
-
var
|
|
1212
|
-
function
|
|
1213
|
-
let n =
|
|
1211
|
+
var An = u;
|
|
1212
|
+
function jn(e, t) {
|
|
1213
|
+
let n = An;
|
|
1214
1214
|
return new P(`XLSX renderer ${e.resource} exceeded its hard limit of ${n} entries`, {
|
|
1215
1215
|
stage: "rendering",
|
|
1216
1216
|
violation: {
|
|
@@ -1230,7 +1230,7 @@ function An(e, t) {
|
|
|
1230
1230
|
}
|
|
1231
1231
|
});
|
|
1232
1232
|
}
|
|
1233
|
-
function
|
|
1233
|
+
function Mn(e, t, n = 0) {
|
|
1234
1234
|
let { top: r, bottom: i, left: a, right: o } = e;
|
|
1235
1235
|
if (i < r || o < a) return 0;
|
|
1236
1236
|
if (![
|
|
@@ -1238,44 +1238,44 @@ function jn(e, t, n = 0) {
|
|
|
1238
1238
|
i,
|
|
1239
1239
|
a,
|
|
1240
1240
|
o
|
|
1241
|
-
].every(Number.isSafeInteger) || !Number.isSafeInteger(n) || n < 0) throw
|
|
1242
|
-
let s = i - r + 1, c = o - a + 1, l =
|
|
1243
|
-
if (!Number.isSafeInteger(s) || !Number.isSafeInteger(c) || s > l || c > Math.floor(l / s)) throw
|
|
1241
|
+
].every(Number.isSafeInteger) || !Number.isSafeInteger(n) || n < 0) throw jn(t, An + 1);
|
|
1242
|
+
let s = i - r + 1, c = o - a + 1, l = An + n;
|
|
1243
|
+
if (!Number.isSafeInteger(s) || !Number.isSafeInteger(c) || s > l || c > Math.floor(l / s)) throw jn(t, An + 1);
|
|
1244
1244
|
let u = s * c - n;
|
|
1245
|
-
if (u >
|
|
1245
|
+
if (u > An) throw jn(t, u);
|
|
1246
1246
|
return u;
|
|
1247
1247
|
}
|
|
1248
|
-
function
|
|
1249
|
-
if (!e.has(t) && e.size >=
|
|
1248
|
+
function Nn(e, t, n, r) {
|
|
1249
|
+
if (!e.has(t) && e.size >= An) throw jn(r, e.size + 1);
|
|
1250
1250
|
e.set(t, n);
|
|
1251
1251
|
}
|
|
1252
|
-
function
|
|
1252
|
+
function Pn(e, t) {
|
|
1253
1253
|
let n = /* @__PURE__ */ new Map();
|
|
1254
|
-
for (let r of e) for (let e of r.cells)
|
|
1254
|
+
for (let r of e) for (let e of r.cells) Nn(n, `${e.row}:${e.col}`, e, t);
|
|
1255
1255
|
return n;
|
|
1256
1256
|
}
|
|
1257
|
-
function
|
|
1258
|
-
if (!e.has(t) && e.size >=
|
|
1257
|
+
function Fn(e, t, n) {
|
|
1258
|
+
if (!e.has(t) && e.size >= An) throw jn(n, e.size + 1);
|
|
1259
1259
|
e.add(t);
|
|
1260
1260
|
}
|
|
1261
1261
|
//#endregion
|
|
1262
1262
|
//#region packages/xlsx/src/conditional-format.ts
|
|
1263
|
-
function
|
|
1263
|
+
function In(e, t, n) {
|
|
1264
1264
|
for (let r of e) if (t >= r.top && t <= r.bottom && n >= r.left && n <= r.right) return !0;
|
|
1265
1265
|
return !1;
|
|
1266
1266
|
}
|
|
1267
|
-
function
|
|
1267
|
+
function Ln(e) {
|
|
1268
1268
|
return e && e.value.type === "number" ? e.value.number : null;
|
|
1269
1269
|
}
|
|
1270
|
-
function
|
|
1270
|
+
function Rn(e) {
|
|
1271
1271
|
return e && e.value.type === "text" ? e.value.text : null;
|
|
1272
1272
|
}
|
|
1273
|
-
function
|
|
1273
|
+
function zn(e, t) {
|
|
1274
1274
|
let n = [];
|
|
1275
|
-
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" &&
|
|
1275
|
+
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && In(t, e.row, e.col) && n.push(e.value.number);
|
|
1276
1276
|
return n;
|
|
1277
1277
|
}
|
|
1278
|
-
function
|
|
1278
|
+
function Bn(e, t) {
|
|
1279
1279
|
let n = t.length ? Math.min(...t) : 0, r = t.length ? Math.max(...t) : 0, i = e.value == null ? NaN : parseFloat(e.value);
|
|
1280
1280
|
switch (e.kind) {
|
|
1281
1281
|
case "min": return n;
|
|
@@ -1293,18 +1293,18 @@ function zn(e, t) {
|
|
|
1293
1293
|
default: return isNaN(i) ? 0 : i;
|
|
1294
1294
|
}
|
|
1295
1295
|
}
|
|
1296
|
-
function
|
|
1296
|
+
function Vn(e, t = Hn(e)) {
|
|
1297
1297
|
let n = [], r = /* @__PURE__ */ new Map();
|
|
1298
1298
|
for (let t of e.definedNames ?? []) r.set(t.name, t);
|
|
1299
1299
|
for (let t of e.conditionalFormats ?? []) {
|
|
1300
|
-
let r =
|
|
1300
|
+
let r = zn(e, t.sqref);
|
|
1301
1301
|
for (let e of t.rules) {
|
|
1302
1302
|
let i = {
|
|
1303
1303
|
rule: e,
|
|
1304
1304
|
sqref: t.sqref
|
|
1305
1305
|
};
|
|
1306
|
-
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) =>
|
|
1307
|
-
else if (e.type === "dataBar") i.barMin =
|
|
1306
|
+
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) => Bn(e, r));
|
|
1307
|
+
else if (e.type === "dataBar") i.barMin = Bn(e.min, r), i.barMax = Bn(e.max, r);
|
|
1308
1308
|
else if (e.type === "top10") {
|
|
1309
1309
|
let t = [...r].sort((e, t) => e - t), n = t.length;
|
|
1310
1310
|
if (n > 0) {
|
|
@@ -1323,7 +1323,7 @@ function Bn(e, t = Vn(e)) {
|
|
|
1323
1323
|
i.avgStdDev = Math.sqrt(e);
|
|
1324
1324
|
}
|
|
1325
1325
|
}
|
|
1326
|
-
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) =>
|
|
1326
|
+
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) => Bn(e, r)));
|
|
1327
1327
|
n.push(i);
|
|
1328
1328
|
}
|
|
1329
1329
|
}
|
|
@@ -1334,13 +1334,13 @@ function Bn(e, t = Vn(e)) {
|
|
|
1334
1334
|
definedNames: r
|
|
1335
1335
|
};
|
|
1336
1336
|
}
|
|
1337
|
-
function
|
|
1338
|
-
return
|
|
1337
|
+
function Hn(e) {
|
|
1338
|
+
return Pn(e.rows, {
|
|
1339
1339
|
resource: "worksheet-cell-index",
|
|
1340
1340
|
operation: "index-worksheet-cells"
|
|
1341
1341
|
});
|
|
1342
1342
|
}
|
|
1343
|
-
function
|
|
1343
|
+
function Un(e, t, n) {
|
|
1344
1344
|
switch (t) {
|
|
1345
1345
|
case "greaterThan": return e > (n[0] ?? 0);
|
|
1346
1346
|
case "greaterThanOrEqual": return e >= (n[0] ?? 0);
|
|
@@ -1353,13 +1353,13 @@ function Hn(e, t, n) {
|
|
|
1353
1353
|
default: return !1;
|
|
1354
1354
|
}
|
|
1355
1355
|
}
|
|
1356
|
-
function
|
|
1356
|
+
function Wn(e) {
|
|
1357
1357
|
let t = e.trim();
|
|
1358
1358
|
if (t.length >= 2 && t.startsWith("\"") && t.endsWith("\"")) return { text: t.slice(1, -1).replace(/""/g, "\"") };
|
|
1359
1359
|
let n = parseFloat(t);
|
|
1360
1360
|
return isNaN(n) ? { text: t } : { num: n };
|
|
1361
1361
|
}
|
|
1362
|
-
function
|
|
1362
|
+
function Gn(e, t, n) {
|
|
1363
1363
|
let r = n[0] ?? "", i = n[1] ?? "", a = (e) => e.toLowerCase();
|
|
1364
1364
|
switch (t) {
|
|
1365
1365
|
case "equal": return a(e) === a(r);
|
|
@@ -1373,21 +1373,21 @@ function Wn(e, t, n) {
|
|
|
1373
1373
|
default: return !1;
|
|
1374
1374
|
}
|
|
1375
1375
|
}
|
|
1376
|
-
function
|
|
1376
|
+
function Kn(e, t, n) {
|
|
1377
1377
|
let r = e.replace("#", ""), i = t.replace("#", ""), a = parseInt(r.slice(0, 2), 16), o = parseInt(r.slice(2, 4), 16), s = parseInt(r.slice(4, 6), 16), c = parseInt(i.slice(0, 2), 16), l = parseInt(i.slice(2, 4), 16), u = parseInt(i.slice(4, 6), 16), d = Math.round(a + (c - a) * n), f = Math.round(o + (l - o) * n), p = Math.round(s + (u - s) * n);
|
|
1378
1378
|
return `#${d.toString(16).padStart(2, "0").toUpperCase()}${f.toString(16).padStart(2, "0").toUpperCase()}${p.toString(16).padStart(2, "0").toUpperCase()}`;
|
|
1379
1379
|
}
|
|
1380
|
-
function
|
|
1380
|
+
function qn(e, t, n) {
|
|
1381
1381
|
if (!t.length) return "#FFFFFF";
|
|
1382
1382
|
if (e <= n[0]) return t[0].color;
|
|
1383
1383
|
if (e >= n[n.length - 1]) return t[t.length - 1].color;
|
|
1384
1384
|
for (let r = 1; r < n.length; r++) if (e <= n[r]) {
|
|
1385
1385
|
let i = n[r - 1], a = n[r], o = a === i ? 0 : (e - i) / (a - i);
|
|
1386
|
-
return
|
|
1386
|
+
return Kn(t[r - 1].color, t[r].color, o);
|
|
1387
1387
|
}
|
|
1388
1388
|
return t[t.length - 1].color;
|
|
1389
1389
|
}
|
|
1390
|
-
function
|
|
1390
|
+
function Jn(e, t) {
|
|
1391
1391
|
if (t && (t.fill && !e.fill && (e.fill = t.fill), t.font?.color && e.fontColor == null && (e.fontColor = t.font.color), t.font?.bold && e.fontBold == null && (e.fontBold = !0), t.font?.italic && e.fontItalic == null && (e.fontItalic = !0), t.font?.underline && e.fontUnderline == null && (e.fontUnderline = !0), t.font?.strike && e.fontStrike == null && (e.fontStrike = !0), t.numFmt && e.numFmt == null && (e.numFmt = {
|
|
1392
1392
|
numFmtId: t.numFmt.numFmtId,
|
|
1393
1393
|
formatCode: t.numFmt.formatCode || null
|
|
@@ -1403,16 +1403,16 @@ function qn(e, t) {
|
|
|
1403
1403
|
};
|
|
1404
1404
|
}
|
|
1405
1405
|
}
|
|
1406
|
-
function
|
|
1406
|
+
function Yn(e, t, n, r, i) {
|
|
1407
1407
|
let a = {};
|
|
1408
1408
|
if (!r.compiled.length) return a;
|
|
1409
1409
|
for (let o of r.compiled) {
|
|
1410
|
-
if (!
|
|
1411
|
-
let s = o.rule, c =
|
|
1410
|
+
if (!In(o.sqref, t, n)) continue;
|
|
1411
|
+
let s = o.rule, c = Ln(e);
|
|
1412
1412
|
if (s.type === "expression") {
|
|
1413
1413
|
let e = o.sqref[0];
|
|
1414
1414
|
if (!e) continue;
|
|
1415
|
-
if (
|
|
1415
|
+
if (gt(s.formula, {
|
|
1416
1416
|
row: t,
|
|
1417
1417
|
col: n,
|
|
1418
1418
|
anchorRow: e.top,
|
|
@@ -1420,19 +1420,19 @@ function Jn(e, t, n, r, i) {
|
|
|
1420
1420
|
cellIndex: r.cellIndex,
|
|
1421
1421
|
definedNames: r.definedNames,
|
|
1422
1422
|
depth: 0
|
|
1423
|
-
}) && (
|
|
1423
|
+
}) && (Jn(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
|
|
1424
1424
|
continue;
|
|
1425
1425
|
}
|
|
1426
1426
|
if (s.type === "cellIs") {
|
|
1427
|
-
let t = s.formulas.map(
|
|
1428
|
-
c != null && t.every((e) => e.num != null) ? r =
|
|
1427
|
+
let t = s.formulas.map(Wn), n = Rn(e), r = !1;
|
|
1428
|
+
c != null && t.every((e) => e.num != null) ? r = Un(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = Gn(n, s.operator, t.map((e) => e.text))), r && Jn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1429
1429
|
} else if (s.type === "top10") {
|
|
1430
1430
|
if (c == null || o.top10Threshold == null) continue;
|
|
1431
|
-
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) &&
|
|
1431
|
+
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) && Jn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1432
1432
|
} else if (s.type === "aboveAverage") {
|
|
1433
1433
|
if (c == null || o.avgValue == null) continue;
|
|
1434
1434
|
let e = o.avgStdDev == null ? 0 : o.avgStdDev * (s.stdDev ?? 1), t = o.avgIsAbove ? o.avgValue + e : o.avgValue - e, n = s.equalAverage === !0;
|
|
1435
|
-
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) &&
|
|
1435
|
+
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) && Jn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1436
1436
|
} else if (s.type === "iconSet") {
|
|
1437
1437
|
if (c == null || !o.iconThresholds?.length) continue;
|
|
1438
1438
|
let e = o.iconThresholds, t = e.length, n = 0;
|
|
@@ -1449,7 +1449,7 @@ function Jn(e, t, n, r, i) {
|
|
|
1449
1449
|
};
|
|
1450
1450
|
} else if (s.type === "colorScale") {
|
|
1451
1451
|
if (c == null || !o.scaleStops || a.fill) continue;
|
|
1452
|
-
let e =
|
|
1452
|
+
let e = qn(c, s.stops, o.scaleStops);
|
|
1453
1453
|
a.fill = {
|
|
1454
1454
|
patternType: "solid",
|
|
1455
1455
|
fgColor: e,
|
|
@@ -1469,21 +1469,21 @@ function Jn(e, t, n, r, i) {
|
|
|
1469
1469
|
}
|
|
1470
1470
|
//#endregion
|
|
1471
1471
|
//#region packages/xlsx/src/bidi-line.ts
|
|
1472
|
-
function
|
|
1473
|
-
return e === 2 ? !0 : e === 1 ? !1 :
|
|
1472
|
+
function Xn(e, t) {
|
|
1473
|
+
return e === 2 ? !0 : e === 1 ? !1 : ot(void 0, t) === "rtl";
|
|
1474
1474
|
}
|
|
1475
|
-
var
|
|
1475
|
+
var Zn = (e) => {
|
|
1476
1476
|
let t = e.text;
|
|
1477
1477
|
return typeof t == "string" ? t : void 0;
|
|
1478
1478
|
};
|
|
1479
|
-
function
|
|
1479
|
+
function Qn(e, t) {
|
|
1480
1480
|
let n = e === 2 || B(t);
|
|
1481
1481
|
return {
|
|
1482
1482
|
needBidi: n,
|
|
1483
|
-
baseRtl: n &&
|
|
1483
|
+
baseRtl: n && Xn(e, t)
|
|
1484
1484
|
};
|
|
1485
1485
|
}
|
|
1486
|
-
function
|
|
1486
|
+
function $n(e, t) {
|
|
1487
1487
|
let r = e.length;
|
|
1488
1488
|
if (r === 0) return {
|
|
1489
1489
|
order: [],
|
|
@@ -1492,7 +1492,7 @@ function Qn(e, t) {
|
|
|
1492
1492
|
let i = "", a = Array(r);
|
|
1493
1493
|
for (let t = 0; t < r; t++) {
|
|
1494
1494
|
a[t] = i.length;
|
|
1495
|
-
let n =
|
|
1495
|
+
let n = Zn(e[t]) ?? "";
|
|
1496
1496
|
i += n.length > 0 ? n : "";
|
|
1497
1497
|
}
|
|
1498
1498
|
let { levels: o, paragraphLevel: s } = p().computeLevels(i, t ? "rtl" : "ltr"), { order: c, segLevels: l } = n(o, s, a), u = Array(r);
|
|
@@ -1502,21 +1502,21 @@ function Qn(e, t) {
|
|
|
1502
1502
|
rtl: u
|
|
1503
1503
|
};
|
|
1504
1504
|
}
|
|
1505
|
-
function
|
|
1505
|
+
function er(e, t = 8) {
|
|
1506
1506
|
return Math.trunc((256 * e + Math.trunc(128 / t)) / 256 * t);
|
|
1507
1507
|
}
|
|
1508
|
-
function
|
|
1508
|
+
function tr(e, t = 8) {
|
|
1509
1509
|
return e / t;
|
|
1510
1510
|
}
|
|
1511
|
-
function
|
|
1511
|
+
function nr(e) {
|
|
1512
1512
|
return Math.round(e * G);
|
|
1513
1513
|
}
|
|
1514
|
-
function
|
|
1514
|
+
function rr(e) {
|
|
1515
1515
|
return e / G;
|
|
1516
1516
|
}
|
|
1517
1517
|
//#endregion
|
|
1518
1518
|
//#region packages/xlsx/src/internal/grid-axis-geometry.ts
|
|
1519
|
-
var
|
|
1519
|
+
var ir = class e {
|
|
1520
1520
|
indices;
|
|
1521
1521
|
cumulativeDelta;
|
|
1522
1522
|
customPx;
|
|
@@ -1590,7 +1590,7 @@ var rr = class e {
|
|
|
1590
1590
|
}
|
|
1591
1591
|
return a;
|
|
1592
1592
|
}
|
|
1593
|
-
},
|
|
1593
|
+
}, ar = 1048576, Q = 16384, or = class e {
|
|
1594
1594
|
static cache = /* @__PURE__ */ new WeakMap();
|
|
1595
1595
|
static forWorksheet(t, n) {
|
|
1596
1596
|
let r = this.cache.get(t);
|
|
@@ -1615,7 +1615,42 @@ var rr = class e {
|
|
|
1615
1615
|
freezeCols;
|
|
1616
1616
|
scaledCache = null;
|
|
1617
1617
|
constructor(e, t) {
|
|
1618
|
-
this.maximumDigitWidth = t, this.freezeRows = Math.min(
|
|
1618
|
+
this.maximumDigitWidth = t, this.freezeRows = Math.min(ar, Math.max(0, e.freezeRows ?? 0)), this.freezeCols = Math.min(Q, Math.max(0, e.freezeCols ?? 0));
|
|
1619
|
+
let n = er(e.defaultColWidth, t), r = new Float64Array(Q + 1);
|
|
1620
|
+
r.fill(NaN);
|
|
1621
|
+
let i = new Int32Array(Q + 2);
|
|
1622
|
+
for (let e = 1; e < i.length; e++) i[e] = e;
|
|
1623
|
+
let a = (e) => {
|
|
1624
|
+
let t = e;
|
|
1625
|
+
for (; i[t] !== t;) t = i[t];
|
|
1626
|
+
let n = e;
|
|
1627
|
+
for (; i[n] !== n;) {
|
|
1628
|
+
let e = i[n];
|
|
1629
|
+
i[n] = t, n = e;
|
|
1630
|
+
}
|
|
1631
|
+
return t;
|
|
1632
|
+
}, o = e.colWidthRanges ?? [];
|
|
1633
|
+
for (let e = o.length - 1; e >= 0; e--) {
|
|
1634
|
+
let t = o[e], n = Math.max(1, Math.min(Q, Math.trunc(t.min))), s = Math.max(1, Math.min(Q, Math.trunc(t.max)));
|
|
1635
|
+
if (s < n || !Number.isFinite(t.width) || t.width < 0) continue;
|
|
1636
|
+
let c = a(n);
|
|
1637
|
+
for (; c <= s;) r[c] = t.width, i[c] = a(c + 1), c = i[c];
|
|
1638
|
+
}
|
|
1639
|
+
for (let [t, n] of Object.entries(e.colWidths)) {
|
|
1640
|
+
let e = Number(t);
|
|
1641
|
+
Number.isInteger(e) && e >= 1 && e <= 16384 && (r[e] = n);
|
|
1642
|
+
}
|
|
1643
|
+
let s = [];
|
|
1644
|
+
for (let e = 1; e <= Q; e++) {
|
|
1645
|
+
let i = r[e];
|
|
1646
|
+
if (!Number.isFinite(i) || i < 0) continue;
|
|
1647
|
+
let a = er(i, t);
|
|
1648
|
+
a !== n && s.push({
|
|
1649
|
+
index: e,
|
|
1650
|
+
px: a
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
this.col = new ir({}, n, (e) => er(e, t), Q, s), this.row = new ir(e.rowHeights, nr(e.defaultRowHeight), nr, ar);
|
|
1619
1654
|
}
|
|
1620
1655
|
logicalFrozenExtent() {
|
|
1621
1656
|
return {
|
|
@@ -1639,15 +1674,15 @@ var rr = class e {
|
|
|
1639
1674
|
}
|
|
1640
1675
|
logicalContentExtent(e, t, n, r) {
|
|
1641
1676
|
return {
|
|
1642
|
-
width: n + this.col.offsetOf(Math.min(
|
|
1643
|
-
height: r + this.row.offsetOf(Math.min(
|
|
1677
|
+
width: n + this.col.offsetOf(Math.min(Q, t) + 1),
|
|
1678
|
+
height: r + this.row.offsetOf(Math.min(ar, e) + 1)
|
|
1644
1679
|
};
|
|
1645
1680
|
}
|
|
1646
1681
|
roundedContentExtent(e, t, n, r, i) {
|
|
1647
1682
|
let a = this.axesAtScale(n);
|
|
1648
1683
|
return {
|
|
1649
|
-
width: Math.round(r * n) + a.col.offsetOf(Math.min(
|
|
1650
|
-
height: Math.round(i * n) + a.row.offsetOf(Math.min(
|
|
1684
|
+
width: Math.round(r * n) + a.col.offsetOf(Math.min(Q, t) + 1),
|
|
1685
|
+
height: Math.round(i * n) + a.row.offsetOf(Math.min(ar, e) + 1)
|
|
1651
1686
|
};
|
|
1652
1687
|
}
|
|
1653
1688
|
cellAt(e, t, n) {
|
|
@@ -2099,7 +2134,7 @@ function Lr(e, t, n, r, i, a, o, s, c, l) {
|
|
|
2099
2134
|
e.restore();
|
|
2100
2135
|
return;
|
|
2101
2136
|
}
|
|
2102
|
-
let m =
|
|
2137
|
+
let m = pt(t, r, o, f, (t) => Rr(e, t, i));
|
|
2103
2138
|
for (let t of m) {
|
|
2104
2139
|
let n = e.measureText(t.text).width, r = [...t.text];
|
|
2105
2140
|
if (t.spread === "distribute" && r.length > 1 && n < t.width) {
|
|
@@ -2213,7 +2248,7 @@ function Kr(e, t, n) {
|
|
|
2213
2248
|
let r = [], i = [], a = 0;
|
|
2214
2249
|
for (; a < t.length;) {
|
|
2215
2250
|
let e = t[a], n = e.codePointAt(0) ?? 0;
|
|
2216
|
-
if (
|
|
2251
|
+
if (ge(n)) i.push(e), a += n > 65535 ? 2 : 1;
|
|
2217
2252
|
else if (e === " ") {
|
|
2218
2253
|
let e = a;
|
|
2219
2254
|
for (; e < t.length && t[e] === " ";) e++;
|
|
@@ -2222,7 +2257,7 @@ function Kr(e, t, n) {
|
|
|
2222
2257
|
let e = a;
|
|
2223
2258
|
for (; e < t.length;) {
|
|
2224
2259
|
let n = t[e], r = n.codePointAt(0) ?? 0;
|
|
2225
|
-
if (n === " " ||
|
|
2260
|
+
if (n === " " || ge(r)) break;
|
|
2226
2261
|
e += r > 65535 ? 2 : 1;
|
|
2227
2262
|
}
|
|
2228
2263
|
let n = t.slice(a, e), r = I(n) ? _(n) : null;
|
|
@@ -2311,7 +2346,7 @@ function qr(e, t, n, r, i) {
|
|
|
2311
2346
|
return;
|
|
2312
2347
|
}
|
|
2313
2348
|
e.font = Ir(Xr(n), r);
|
|
2314
|
-
let o = (t) => e.measureText(t).width, c =
|
|
2349
|
+
let o = (t) => e.measureText(t).width, c = _e(t), l = t.length, u = 0;
|
|
2315
2350
|
for (; u < l;) {
|
|
2316
2351
|
let e = i - s, r = N(t, a, u, e, o, c);
|
|
2317
2352
|
if (r <= u) {
|
|
@@ -2330,7 +2365,7 @@ function qr(e, t, n, r, i) {
|
|
|
2330
2365
|
for (; i < e.text.length;) {
|
|
2331
2366
|
let t = e.text[i], n = t.codePointAt(0) ?? 0;
|
|
2332
2367
|
if (n === 10) r.push("\n"), i += 1;
|
|
2333
|
-
else if (
|
|
2368
|
+
else if (ge(n)) r.push(t), i += n > 65535 ? 2 : 1;
|
|
2334
2369
|
else if (t === " ") {
|
|
2335
2370
|
let t = i;
|
|
2336
2371
|
for (; t < e.text.length && e.text[t] === " ";) t++;
|
|
@@ -2339,7 +2374,7 @@ function qr(e, t, n, r, i) {
|
|
|
2339
2374
|
let t = i;
|
|
2340
2375
|
for (; t < e.text.length;) {
|
|
2341
2376
|
let n = e.text[t], r = n.codePointAt(0) ?? 0;
|
|
2342
|
-
if (n === " " || n === "\n" ||
|
|
2377
|
+
if (n === " " || n === "\n" || ge(r)) break;
|
|
2343
2378
|
t += r > 65535 ? 2 : 1;
|
|
2344
2379
|
}
|
|
2345
2380
|
r.push(e.text.slice(i, t)), i = t;
|
|
@@ -2382,7 +2417,7 @@ function Xr(e) {
|
|
|
2382
2417
|
}
|
|
2383
2418
|
function Zr(e, t, n, r, i, a, o, s) {
|
|
2384
2419
|
e.textAlign = "left", e.textBaseline = i;
|
|
2385
|
-
let c = s.needBidi ?
|
|
2420
|
+
let c = s.needBidi ? $n(t, s.baseRtl ?? !1) : null, l = e, u = n;
|
|
2386
2421
|
for (let n = 0; n < t.length; n++) {
|
|
2387
2422
|
let d = c ? c.order[n] : n;
|
|
2388
2423
|
if (c) try {
|
|
@@ -2415,7 +2450,7 @@ function Zr(e, t, n, r, i, a, o, s) {
|
|
|
2415
2450
|
function Qr(e, t, n, r, i, a, o, s) {
|
|
2416
2451
|
let { alignH: c, cx: l, cellW: u, leftPad: d, paddingX: f } = n, p = t.reduce((e, t) => e + t.width, 0), m;
|
|
2417
2452
|
m = c === "right" ? l + u - f - p : c === "center" ? l + u / 2 - p / 2 : l + d;
|
|
2418
|
-
let { needBidi: h, baseRtl: g } =
|
|
2453
|
+
let { needBidi: h, baseRtl: g } = Qn(a.readingOrder, t.map((e) => e.text).join(""));
|
|
2419
2454
|
Zr(e, t, m, o, s, r, i, {
|
|
2420
2455
|
fontColor: a.fontColor,
|
|
2421
2456
|
needBidi: h,
|
|
@@ -2489,7 +2524,7 @@ function ii(e, t, n, r, i, a, o = {}) {
|
|
|
2489
2524
|
}
|
|
2490
2525
|
let _ = g.reduce((e, t) => e + Fr(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0), 0), v;
|
|
2491
2526
|
v = c === "top" ? u + h : c === "center" ? u + (f - _) / 2 : u + f - _ - h;
|
|
2492
|
-
let y = t.map((e) => e.text).join("").split("\n").map((e) =>
|
|
2527
|
+
let y = t.map((e) => e.text).join("").split("\n").map((e) => Qn(o.readingOrder, e));
|
|
2493
2528
|
for (let t of g) {
|
|
2494
2529
|
let n = t.segments.reduce((e, t) => e + t.width, 0), r;
|
|
2495
2530
|
r = s === "right" ? l + d - m - n : s === "center" ? l + d / 2 - n / 2 : l + p;
|
|
@@ -2545,11 +2580,11 @@ function di(e) {
|
|
|
2545
2580
|
for (let r of e.tables ?? []) {
|
|
2546
2581
|
if (!r.styleName) continue;
|
|
2547
2582
|
let { top: e, bottom: i, left: a, right: o } = r.range;
|
|
2548
|
-
|
|
2583
|
+
Mn(r.range, n);
|
|
2549
2584
|
let s = r.accentColor || "#808080", c = !!r.isCustom, l = Math.max(0, r.headerRowCount ?? 1), u = Math.max(0, r.totalsRowCount ?? 0), d = e + l - 1, f = i - u + 1;
|
|
2550
2585
|
for (let p = e; p <= i; p++) {
|
|
2551
2586
|
let m = l > 0 && p <= d, h = u > 0 && p >= f, g = !m && !h ? p - d - 1 : -1, _ = r.showRowStripes && g >= 0 ? g % 2 == 1 ? r.band1HorizontalDxf : r.band2HorizontalDxf : void 0;
|
|
2552
|
-
for (let l = a; l <= o; l++)
|
|
2587
|
+
for (let l = a; l <= o; l++) Nn(t, `${p}:${l}`, {
|
|
2553
2588
|
accent: s,
|
|
2554
2589
|
isCustom: c,
|
|
2555
2590
|
isHeader: m,
|
|
@@ -2601,7 +2636,7 @@ function pi(e) {
|
|
|
2601
2636
|
}
|
|
2602
2637
|
for (let a of r.sparklines) {
|
|
2603
2638
|
let o = a.values.filter((e) => typeof e == "number"), s = o.length ? Math.min(...o) : 0, c = o.length ? Math.max(...o) : 1, l = r.minAxisType === "custom" && typeof r.manualMin == "number" ? r.manualMin : r.minAxisType === "group" ? e : s, u = r.maxAxisType === "custom" && typeof r.manualMax == "number" ? r.manualMax : r.maxAxisType === "group" ? i : c;
|
|
2604
|
-
|
|
2639
|
+
Nn(t, `${a.row}:${a.col}`, {
|
|
2605
2640
|
kind: r.kind,
|
|
2606
2641
|
values: a.values,
|
|
2607
2642
|
min: l,
|
|
@@ -2649,14 +2684,14 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2649
2684
|
if (!p) continue;
|
|
2650
2685
|
let m = u - c + t.colAxis.offsetOf(f) - t.colAxis.offsetOf(r), h = d - l + t.rowAxis.offsetOf(a) - t.rowAxis.offsetOf(n), _ = p.totalW, v = p.totalH;
|
|
2651
2686
|
m = O(m, _);
|
|
2652
|
-
let y = `${a}:${f}`, w = t.cellMap.get(y), { font: T, fill: k, border: A, xf: j } = Vr(g, w?.styleIndex ?? 0), M =
|
|
2687
|
+
let y = `${a}:${f}`, w = t.cellMap.get(y), { font: T, fill: k, border: A, xf: j } = Vr(g, w?.styleIndex ?? 0), M = Yn(w, a, f, b, g.dxfs ?? []);
|
|
2653
2688
|
if (Ar(e, M.fill ?? k, m, h, _, v), M.dataBar && M.dataBar.ratio > 0) {
|
|
2654
2689
|
let t = Math.max(0, (_ - 4) * M.dataBar.ratio);
|
|
2655
2690
|
Tr(e, M.dataBar.color, m + 2, h + 2, t, v - 4, M.dataBar.gradient);
|
|
2656
2691
|
}
|
|
2657
2692
|
let ee = Gi(Wi(A, a, f, p.right, p.bottom, t.cellMap, g), M.border);
|
|
2658
2693
|
if (te.push(() => qi(e, ee, m, h, _, v, S)), !w) continue;
|
|
2659
|
-
let N =
|
|
2694
|
+
let N = Zt(w, g, M.numFmt, t.worksheet.date1904), P = N.text;
|
|
2660
2695
|
if (!P || P === "0" && t.worksheet.showZeros === !1) continue;
|
|
2661
2696
|
let F = T.bold || !!M.fontBold, I = T.italic || !!M.fontItalic, L = T.underline || !!M.fontUnderline, R = T.strike || !!M.fontStrike, z = F !== T.bold || I !== T.italic || L !== T.underline || R !== T.strike ? {
|
|
2662
2697
|
...T,
|
|
@@ -2757,13 +2792,13 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2757
2792
|
if (y.has(A)) continue;
|
|
2758
2793
|
let j = v.get(A), M = j ? j.totalW : D, P = j ? j.totalH : l, F = d + M <= f || d >= f + m;
|
|
2759
2794
|
if (c + P <= p || c >= p + h || F && !t.overflowTextAnchors.has(A)) continue;
|
|
2760
|
-
let I = O(d, M), L = _.get(A), { font: R, fill: z, border: ne, xf: B } = Vr(g, L?.styleIndex ?? 0), V =
|
|
2795
|
+
let I = O(d, M), L = _.get(A), { font: R, fill: z, border: ne, xf: B } = Vr(g, L?.styleIndex ?? 0), V = Yn(L, r, s, b, g.dxfs ?? []), re = V.fill ?? z, H = t.tableStyleMap.get(A), ie = g.dxfs ?? [], W = (e) => e == null ? void 0 : ie[e], ae = W(H?.wholeTableDxf), G = W(H?.headerRowDxf), se = W(H?.totalRowDxf), ce = W(H?.firstColumnDxf), le = W(H?.lastColumnDxf), ue = W(H?.stripeDxf), de = H?.isHeader && G?.fill?.fgColor ? G : H?.isTotals && se?.fill?.fgColor ? se : H?.isLastCol && le?.fill?.fgColor ? le : H?.isFirstCol && ce?.fill?.fgColor ? ce : ue?.fill?.fgColor ? ue : !H?.isHeader && !H?.isTotals && ae?.fill?.fgColor ? ae : void 0;
|
|
2761
2796
|
if (Ar(e, re, I, c, M, P) || (H && de?.fill?.fgColor ? (e.fillStyle = C(de.fill.fgColor), e.fillRect(I, c, M, P)) : H && !H.isCustom && H.isBanded && (e.fillStyle = mi(H.accent), e.fillRect(I, c, M, P))), t.commentCells.has(A) && Nr(e, I, c, M, P), V.dataBar && V.dataBar.ratio > 0) {
|
|
2762
2797
|
let t = Math.max(0, (M - 4) * V.dataBar.ratio);
|
|
2763
2798
|
Tr(e, V.dataBar.color, I + 2, c + 2, t, P - 4, V.dataBar.gradient);
|
|
2764
2799
|
}
|
|
2765
2800
|
let pe = t.sparklineMap.get(A);
|
|
2766
|
-
if (pe &&
|
|
2801
|
+
if (pe && nt(e, {
|
|
2767
2802
|
x: I,
|
|
2768
2803
|
y: c,
|
|
2769
2804
|
w: M,
|
|
@@ -2801,32 +2836,32 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2801
2836
|
left: Zi(K.left, t)
|
|
2802
2837
|
});
|
|
2803
2838
|
}
|
|
2804
|
-
let
|
|
2805
|
-
if (
|
|
2806
|
-
if (
|
|
2807
|
-
else if (
|
|
2839
|
+
let he = H ? fi(H, ae, G, s) : null, ge = t.autoFilterCells.has(A), _e = () => {
|
|
2840
|
+
if (he) {
|
|
2841
|
+
if (he.kind === "dxf") qi(e, he.border, I, c, M, P, S);
|
|
2842
|
+
else if (he.kind === "accent") {
|
|
2808
2843
|
let t = .5 / S;
|
|
2809
|
-
if (e.strokeStyle =
|
|
2810
|
-
let t = c + U(c,
|
|
2844
|
+
if (e.strokeStyle = he.color, e.lineWidth = he.lineWidth, e.beginPath(), e.moveTo(I, c + P - t), e.lineTo(I + M, c + P - t), he.topEdge) {
|
|
2845
|
+
let t = c + U(c, he.lineWidth, S);
|
|
2811
2846
|
e.moveTo(I, t), e.lineTo(I + M, t);
|
|
2812
2847
|
}
|
|
2813
2848
|
e.stroke();
|
|
2814
2849
|
}
|
|
2815
2850
|
}
|
|
2816
|
-
|
|
2851
|
+
ge && ui(e, I, c, D, P);
|
|
2817
2852
|
};
|
|
2818
2853
|
if (j) {
|
|
2819
2854
|
let t = K;
|
|
2820
|
-
te.push(() => qi(e, t, I, c, M, P, S)),
|
|
2855
|
+
te.push(() => qi(e, t, I, c, M, P, S)), _e();
|
|
2821
2856
|
} else {
|
|
2822
2857
|
let t = K;
|
|
2823
2858
|
N.push(() => {
|
|
2824
|
-
qi(e, t, I, c, M, P, S),
|
|
2859
|
+
qi(e, t, I, c, M, P, S), _e();
|
|
2825
2860
|
});
|
|
2826
2861
|
}
|
|
2827
2862
|
if (!L) continue;
|
|
2828
|
-
let
|
|
2829
|
-
!
|
|
2863
|
+
let ve = Zt(L, g, V.numFmt, t.worksheet.date1904), J = ve.text;
|
|
2864
|
+
!J || J === "0" && t.worksheet.showZeros === !1 || ee.push(() => {
|
|
2830
2865
|
let n = H?.isHeader ? G : H?.isTotals ? se : H?.isLastCol && le ? le : H?.isFirstCol && ce ? ce : ue || (H ? ae : void 0), l = H ? H.isCustom ? !!n?.font?.bold : H.isHeader || H.isTotals : !1, u = R.bold || !!V.fontBold || l, d = R.italic || !!V.fontItalic, f = R.underline || !!V.fontUnderline, p = R.strike || !!V.fontStrike, m = u !== R.bold || d !== R.italic || f !== R.underline || p !== R.strike ? {
|
|
2831
2866
|
...R,
|
|
2832
2867
|
bold: u,
|
|
@@ -2835,7 +2870,7 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2835
2870
|
strike: p
|
|
2836
2871
|
} : R;
|
|
2837
2872
|
e.font = Ir(m, x);
|
|
2838
|
-
let h = t.hyperlinkMap.get(A), b = n?.font?.color ?? null, T = h ? "#0563C1" : V.fontColor ??
|
|
2873
|
+
let h = t.hyperlinkMap.get(A), b = n?.font?.color ?? null, T = h ? "#0563C1" : V.fontColor ?? ve.color ?? b ?? R.color;
|
|
2839
2874
|
e.fillStyle = T ? C(T) : "#000000";
|
|
2840
2875
|
let E = L.value.type === "number", D = B.alignH ?? (E ? "right" : "left"), O = B.alignV ?? "bottom", k = B.indent ? Math.round(B.indent * 3 * t.mdw) : 0, ee = V.iconSet ? Math.max(8, Math.round(Math.min(M, P) * .55)) : 0, te = ee > 0 ? ee + 4 : 0, N = 3 + (D === "left" || !B.alignH ? k : 0) + te, F = M, z = a;
|
|
2841
2876
|
if (D === "centerContinuous" && !j) for (let e = a + 1; e < w; e++) {
|
|
@@ -2845,9 +2880,9 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2845
2880
|
if (n && n.value.type !== "empty" || Vr(g, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
|
|
2846
2881
|
F += i[e], z = e;
|
|
2847
2882
|
}
|
|
2848
|
-
let ne = t.rtl ? I - (F - M) : I, re = D === "centerContinuous" ? ne : I, ie = D === "centerContinuous" ? F : M, W =
|
|
2883
|
+
let ne = t.rtl ? I - (F - M) : I, re = D === "centerContinuous" ? ne : I, ie = D === "centerContinuous" ? F : M, W = J.includes("\n");
|
|
2849
2884
|
if (!j && !B.wrapText && !B.textRotation && !E && !W) {
|
|
2850
|
-
let n = e.measureText(
|
|
2885
|
+
let n = e.measureText(J).width, s = D === "centerContinuous", c = s ? n + 6 : n + N + 3, l = s ? F : M;
|
|
2851
2886
|
if (c > l) {
|
|
2852
2887
|
let e = c - l, n = 0, u = 0;
|
|
2853
2888
|
D === "right" ? u = e : D === "center" || s ? (u = e / 2, n = e / 2) : n = e;
|
|
@@ -2874,12 +2909,12 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2874
2909
|
}
|
|
2875
2910
|
}
|
|
2876
2911
|
}
|
|
2877
|
-
let de =
|
|
2878
|
-
if (D === "fill" && !E &&
|
|
2879
|
-
let t = Math.max(1, M - 6), n = e.measureText(
|
|
2912
|
+
let de = J, pe = 0;
|
|
2913
|
+
if (D === "fill" && !E && J.length > 0) {
|
|
2914
|
+
let t = Math.max(1, M - 6), n = e.measureText(J).width;
|
|
2880
2915
|
if (n > 0 && n < t) {
|
|
2881
2916
|
let e = Math.max(1, Math.floor(t / n));
|
|
2882
|
-
de =
|
|
2917
|
+
de = J.repeat(e);
|
|
2883
2918
|
}
|
|
2884
2919
|
}
|
|
2885
2920
|
if (D === "distributed" || D === "justify" && !B.wrapText && !W) {
|
|
@@ -2888,24 +2923,24 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2888
2923
|
}
|
|
2889
2924
|
let K, q;
|
|
2890
2925
|
D === "right" ? (K = I + M - 3, q = "right") : D === "center" ? (K = I + M / 2, q = "center") : D === "centerContinuous" ? (K = ne + F / 2, q = "center") : D === "distributed" || D === "justify" && !B.wrapText && !W ? (K = I + 3, q = "left") : (K = I + N, q = "left");
|
|
2891
|
-
let me = B.textRotation ?? 0,
|
|
2892
|
-
if (V.iconSet && ee > 0 && (e.save(), e.beginPath(), e.rect(I, c, M, P), e.clip(), li(e, V.iconSet.name, V.iconSet.index, I + 2, c + (P - ee) / 2, ee), e.restore()), e.save(), e.beginPath(), e.rect(re, c, ie, P), e.clip(),
|
|
2893
|
-
let t = Fr(R.size, x, 1.1), n = [...
|
|
2926
|
+
let me = B.textRotation ?? 0, he = me === 255, ge = me > 0 && me !== 255;
|
|
2927
|
+
if (V.iconSet && ee > 0 && (e.save(), e.beginPath(), e.rect(I, c, M, P), e.clip(), li(e, V.iconSet.name, V.iconSet.index, I + 2, c + (P - ee) / 2, ee), e.restore()), e.save(), e.beginPath(), e.rect(re, c, ie, P), e.clip(), he) {
|
|
2928
|
+
let t = Fr(R.size, x, 1.1), n = [...J].length * t, r = O === "top" ? c + 2 : O === "center" ? c + (P - n) / 2 : c + P - n - 2;
|
|
2894
2929
|
e.textAlign = "center", e.textBaseline = "top";
|
|
2895
|
-
for (let n of
|
|
2930
|
+
for (let n of J) {
|
|
2896
2931
|
let i = n.codePointAt(0) ?? 0, a = oe(i) && fe(e, i);
|
|
2897
2932
|
lr(e, n, I + M / 2, r, t, a), r += t;
|
|
2898
2933
|
}
|
|
2899
2934
|
e.restore();
|
|
2900
2935
|
return;
|
|
2901
2936
|
}
|
|
2902
|
-
if (
|
|
2937
|
+
if (ge) {
|
|
2903
2938
|
let t = me <= 90 ? -(me * Math.PI / 180) : (me - 90) * Math.PI / 180;
|
|
2904
|
-
e.translate(I + M / 2, c + P / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(
|
|
2939
|
+
e.translate(I + M / 2, c + P / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(J, 0, 0), e.restore();
|
|
2905
2940
|
return;
|
|
2906
2941
|
}
|
|
2907
2942
|
if (B.shrinkToFit) {
|
|
2908
|
-
let t = e.measureText(
|
|
2943
|
+
let t = e.measureText(J).width, n = M - N - 3;
|
|
2909
2944
|
if (t > n && t > 0) {
|
|
2910
2945
|
let r = n / t, i = D === "right" ? I + M - 3 : D === "center" ? I + M / 2 : I + N;
|
|
2911
2946
|
e.transform(r, 0, 0, 1, i * (1 - r), 0);
|
|
@@ -2915,10 +2950,10 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2915
2950
|
e.letterSpacing = `${pe}px`;
|
|
2916
2951
|
} catch {}
|
|
2917
2952
|
try {
|
|
2918
|
-
e.direction =
|
|
2953
|
+
e.direction = Xn(B.readingOrder, J) ? "rtl" : "ltr";
|
|
2919
2954
|
} catch {}
|
|
2920
|
-
let
|
|
2921
|
-
if (B.wrapText &&
|
|
2955
|
+
let _e = L.value.type === "text" ? L.value.runs : void 0, ye = _e && _e.length > 0;
|
|
2956
|
+
if (B.wrapText && ye) ii(e, _e, m, {
|
|
2922
2957
|
alignH: D,
|
|
2923
2958
|
alignV: O,
|
|
2924
2959
|
cx: I,
|
|
@@ -2932,7 +2967,7 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2932
2967
|
fontColor: V.fontColor,
|
|
2933
2968
|
readingOrder: B.readingOrder
|
|
2934
2969
|
});
|
|
2935
|
-
else if (B.wrapText) ri(e,
|
|
2970
|
+
else if (B.wrapText) ri(e, J, K, m, {
|
|
2936
2971
|
alignH: D,
|
|
2937
2972
|
alignV: O,
|
|
2938
2973
|
cx: I,
|
|
@@ -2943,7 +2978,7 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2943
2978
|
paddingX: 3,
|
|
2944
2979
|
paddingY: 2
|
|
2945
2980
|
}, x);
|
|
2946
|
-
else if (
|
|
2981
|
+
else if (ye) ni(e, _e, m, {
|
|
2947
2982
|
alignH: D,
|
|
2948
2983
|
alignV: O,
|
|
2949
2984
|
cx: I,
|
|
@@ -2965,7 +3000,7 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2965
3000
|
size: m.size * .65
|
|
2966
3001
|
} : m;
|
|
2967
3002
|
t && (e.font = Ir(i, x));
|
|
2968
|
-
let a = null, o = () => a ??= e.measureText(
|
|
3003
|
+
let a = null, o = () => a ??= e.measureText(J), s = () => {
|
|
2969
3004
|
let e = Math.min(o().width, ie - N - 3);
|
|
2970
3005
|
return {
|
|
2971
3006
|
x: D === "right" ? I + M - 3 - e : D === "center" ? I + M / 2 - e / 2 : I + N,
|
|
@@ -2980,8 +3015,8 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2980
3015
|
let { x: t, width: n } = s(), i = (O === "top" ? c + 2 + Math.round(l * .5) : O === "center" ? c + P / 2 : c + P - 2 - Math.round(l * .35)) + r, a = i + U(i, .5, S);
|
|
2981
3016
|
e.save(), e.strokeStyle = T ? C(T) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, a), e.lineTo(t + n, a), e.stroke(), e.restore();
|
|
2982
3017
|
}
|
|
2983
|
-
if (
|
|
2984
|
-
let t =
|
|
3018
|
+
if (J.includes("\n")) {
|
|
3019
|
+
let t = J.split("\n"), n = Fr(R.size, x, 1.2, R.name ?? void 0), i = t.length * n, a;
|
|
2985
3020
|
O === "top" ? (a = c + 2, e.textBaseline = "top") : O === "center" ? (a = c + (P - i) / 2, e.textBaseline = "top") : (a = c + P - i - 2, e.textBaseline = "top");
|
|
2986
3021
|
for (let i = 0; i < t.length; i++) e.fillText(t[i], K, a + i * n + r);
|
|
2987
3022
|
} else {
|
|
@@ -2999,17 +3034,17 @@ function hi(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h) {
|
|
|
2999
3034
|
e.textBaseline = t, e.fillText(de, K, n + r);
|
|
3000
3035
|
}
|
|
3001
3036
|
}
|
|
3002
|
-
let
|
|
3003
|
-
if (L.showPhonetic &&
|
|
3004
|
-
let t = Ir(m, x), n = Rr(e,
|
|
3037
|
+
let be = L.value.type === "text" ? L.value.phoneticRuns : void 0;
|
|
3038
|
+
if (L.showPhonetic && be && be.length > 0 && !J.includes("\n")) {
|
|
3039
|
+
let t = Ir(m, x), n = Rr(e, J, t), r;
|
|
3005
3040
|
r = D === "right" ? I + M - 3 - n : D === "center" ? I + M / 2 - n / 2 : I + N;
|
|
3006
3041
|
let i = T ? C(T) : "#000000";
|
|
3007
|
-
Lr(e,
|
|
3042
|
+
Lr(e, be, L.value.type === "text" ? L.value.phoneticPr : void 0, J, t, g, r, c, x, i);
|
|
3008
3043
|
}
|
|
3009
|
-
e.restore(),
|
|
3044
|
+
e.restore(), J && t.onTextRun && t.onTextRun({
|
|
3010
3045
|
sheetName: t.worksheet.name,
|
|
3011
3046
|
cellRef: cr(r, s),
|
|
3012
|
-
text:
|
|
3047
|
+
text: J,
|
|
3013
3048
|
x: I,
|
|
3014
3049
|
y: c,
|
|
3015
3050
|
width: M,
|
|
@@ -3035,38 +3070,38 @@ function _i(e, t) {
|
|
|
3035
3070
|
function vi(e) {
|
|
3036
3071
|
let t = gi.get(e);
|
|
3037
3072
|
if (t) return t;
|
|
3038
|
-
let n = _i("worksheet-cell-index", "index-worksheet-cells"), r =
|
|
3073
|
+
let n = _i("worksheet-cell-index", "index-worksheet-cells"), r = Pn(e.rows, n), i = /* @__PURE__ */ new Map();
|
|
3039
3074
|
for (let t of e.rows) {
|
|
3040
3075
|
let e = t.cells.filter((e) => e.value.type !== "empty").map((e) => e.col).sort((e, t) => e - t);
|
|
3041
3076
|
e.length > 0 && i.set(t.index, e);
|
|
3042
3077
|
}
|
|
3043
3078
|
let a = /* @__PURE__ */ new Set(), o = _i("worksheet-merge-skip-index", "expand-merged-cell-coordinates");
|
|
3044
3079
|
for (let t of e.mergeCells ?? []) {
|
|
3045
|
-
|
|
3046
|
-
for (let e = t.top; e <= t.bottom; e++) for (let n = t.left; n <= t.right; n++) e === t.top && n === t.left ||
|
|
3080
|
+
Mn(t, o, 1);
|
|
3081
|
+
for (let e = t.top; e <= t.bottom; e++) for (let n = t.left; n <= t.right; n++) e === t.top && n === t.left || Fn(a, `${e}:${n}`, o);
|
|
3047
3082
|
}
|
|
3048
3083
|
let s = /* @__PURE__ */ new Set();
|
|
3049
3084
|
if (e.autoFilter) {
|
|
3050
3085
|
let t = e.autoFilter, n = _i("worksheet-auto-filter-index", "expand-auto-filter-coordinates");
|
|
3051
|
-
|
|
3086
|
+
Mn({
|
|
3052
3087
|
top: t.top,
|
|
3053
3088
|
bottom: t.top,
|
|
3054
3089
|
left: t.left,
|
|
3055
3090
|
right: t.right
|
|
3056
3091
|
}, n);
|
|
3057
|
-
for (let e = t.left; e <= t.right; e++)
|
|
3092
|
+
for (let e = t.left; e <= t.right; e++) Fn(s, `${t.top}:${e}`, n);
|
|
3058
3093
|
}
|
|
3059
3094
|
let c = /* @__PURE__ */ new Map(), l = _i("worksheet-hyperlink-index", "index-hyperlink-coordinates");
|
|
3060
|
-
for (let t of e.hyperlinks ?? []) t.url &&
|
|
3095
|
+
for (let t of e.hyperlinks ?? []) t.url && Nn(c, `${t.row}:${t.col}`, t.url, l);
|
|
3061
3096
|
let u = /* @__PURE__ */ new Set(), d = _i("worksheet-comment-index", "index-comment-coordinates");
|
|
3062
3097
|
for (let t of e.commentRefs ?? []) {
|
|
3063
3098
|
let e = Mr(t);
|
|
3064
|
-
e &&
|
|
3099
|
+
e && Fn(u, `${e.row}:${e.col}`, d);
|
|
3065
3100
|
}
|
|
3066
3101
|
let f = {
|
|
3067
3102
|
cellMap: r,
|
|
3068
3103
|
nonEmptyColsByRow: i,
|
|
3069
|
-
cfContext:
|
|
3104
|
+
cfContext: Vn(e, r),
|
|
3070
3105
|
mergeSkipSet: a,
|
|
3071
3106
|
autoFilterCells: s,
|
|
3072
3107
|
hyperlinkMap: c,
|
|
@@ -3099,7 +3134,7 @@ function Si(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g) {
|
|
|
3099
3134
|
let _ = d, v = f, y = /* @__PURE__ */ new Set(), b = (i, u, d, f) => {
|
|
3100
3135
|
let p = `${i}:${u}`, _ = r.get(p);
|
|
3101
3136
|
if (!_ || _.value.type === "empty" || s.has(p)) return !1;
|
|
3102
|
-
let { font: v, xf: y } = Vr(n, _.styleIndex ?? 0), b =
|
|
3137
|
+
let { font: v, xf: y } = Vr(n, _.styleIndex ?? 0), b = Yn(_, i, u, a, n.dxfs ?? []), x = Zt(_, n, b.numFmt, t.date1904).text;
|
|
3103
3138
|
if (!x || x === "0" && t.showZeros === !1 || _.value.type === "number" || y.wrapText || y.textRotation || x.includes("\n")) return !1;
|
|
3104
3139
|
let S = o.get(p), C = S?.isHeader ? S.headerRowDxf : S?.isTotals ? S.totalRowDxf : S?.isLastCol && S.lastColumnDxf != null ? S.lastColumnDxf : S?.isFirstCol && S.firstColumnDxf != null ? S.firstColumnDxf : S?.stripeDxf ?? S?.wholeTableDxf, w = C == null ? void 0 : n.dxfs?.[C], T = !!S && !S.isCustom && (S.isHeader || S.isTotals), E = v.bold || !!b.fontBold || T || !!w?.font?.bold, D = v.italic || !!b.fontItalic;
|
|
3105
3140
|
e.font = Ir(E !== v.bold || D !== v.italic ? {
|
|
@@ -3133,7 +3168,7 @@ function wi(e, t, n, r, i = {}) {
|
|
|
3133
3168
|
let d = (e) => Math.round(e * o), f = d(50), p = d(22), { row: m, col: h, rows: g, cols: _ } = r, v = (i.scrollOffsetX ?? 0) * o, y = (i.scrollOffsetY ?? 0) * o, { col: b, row: x } = s.axesAtScale(o), S = b.bandsToCover(1, i.freezeCols ?? 0, Math.max(0, l - f)), C = x.bandsToCover(1, i.freezeRows ?? 0, Math.max(0, u - p)), w = C.at(-1)?.index ?? 0, T = S.at(-1)?.index ?? 0, E = S.map(({ index: e }) => e), D = C.map(({ index: e }) => e), O = S.map(({ size: e }) => e), k = C.map(({ size: e }) => e), A = O.reduce((e, t) => e + t, 0), j = k.reduce((e, t) => e + t, 0), M = b.bandsToCover(h, Math.min(16384, h + _ - 1)), ee = x.bandsToCover(m, Math.min(1048576, m + g - 1)), te = M.map(({ index: e }) => e), N = ee.map(({ index: e }) => e), P = M.map(({ size: e }) => e), F = ee.map(({ size: e }) => e), { cellMap: I, cfContext: L, mergeSkipSet: R, autoFilterCells: z, hyperlinkMap: ne, commentCells: B, tableStyleMap: V, sparklineMap: re, nonEmptyColsByRow: H } = vi(t), ie = /* @__PURE__ */ new Map(), W = _i("worksheet-merge-anchor-index", "index-merge-anchor-coordinates");
|
|
3134
3169
|
for (let e of t.mergeCells ?? []) {
|
|
3135
3170
|
let t = b.offsetOf(e.right + 1) - b.offsetOf(e.left), n = x.offsetOf(e.bottom + 1) - x.offsetOf(e.top);
|
|
3136
|
-
|
|
3171
|
+
Nn(ie, `${e.top}:${e.left}`, {
|
|
3137
3172
|
totalW: t,
|
|
3138
3173
|
totalH: n,
|
|
3139
3174
|
right: e.right,
|
|
@@ -3169,9 +3204,9 @@ function wi(e, t, n, r, i = {}) {
|
|
|
3169
3204
|
onTextRun: i.onTextRun,
|
|
3170
3205
|
rtl: t.rightToLeft === !0,
|
|
3171
3206
|
canvasW: l
|
|
3172
|
-
}, fe = f, pe = p, K = fe + A, q = pe + j, me = Math.max(0, l - K),
|
|
3173
|
-
w > 0 && T > 0 && hi(e, de, 1, 1, O, k, E, D, 0, 0, fe, pe, fe, pe, A, j), w > 0 && hi(e, de, 1, oe.startCol, le, k, ce, D, ue, 0, K, pe, K, pe, me, j), T > 0 && hi(e, de, m, 1, O, F, E, N, 0, y, fe, q, fe, q, A,
|
|
3174
|
-
let
|
|
3207
|
+
}, fe = f, pe = p, K = fe + A, q = pe + j, me = Math.max(0, l - K), he = Math.max(0, u - q);
|
|
3208
|
+
w > 0 && T > 0 && hi(e, de, 1, 1, O, k, E, D, 0, 0, fe, pe, fe, pe, A, j), w > 0 && hi(e, de, 1, oe.startCol, le, k, ce, D, ue, 0, K, pe, K, pe, me, j), T > 0 && hi(e, de, m, 1, O, F, E, N, 0, y, fe, q, fe, q, A, he), hi(e, de, m, oe.startCol, le, F, ce, N, ue, y, K, q, K, q, me, he), Ei(e, t, b, x, i.loadedImages, o, m, h, v, y, K, q, me, he, t.rightToLeft === !0, l), t.slicers && t.slicers.length > 0 && da(e, t, b, x, o, m, h, v, y, K, q, me, he, t.rightToLeft === !0, l), Ti(e, l, u, m, h, g, _, P, F, te, N, v, y, O, k, E, D, A, j, f, p, o, a, i.selectedRowRange ?? null, i.selectedColRange ?? null, t.rightToLeft === !0);
|
|
3209
|
+
let ge = t.rightToLeft === !0;
|
|
3175
3210
|
if (w > 0) {
|
|
3176
3211
|
e.save(), e.strokeStyle = Sr, e.lineWidth = .5, e.beginPath();
|
|
3177
3212
|
let t = q + U(q, .5, a);
|
|
@@ -3179,7 +3214,7 @@ function wi(e, t, n, r, i = {}) {
|
|
|
3179
3214
|
}
|
|
3180
3215
|
if (T > 0) {
|
|
3181
3216
|
e.save(), e.strokeStyle = Sr, e.lineWidth = .5, e.beginPath();
|
|
3182
|
-
let t =
|
|
3217
|
+
let t = ge ? l - K : K, n = t + U(t, .5, a);
|
|
3183
3218
|
e.moveTo(n, p), e.lineTo(n, u), e.stroke(), e.restore();
|
|
3184
3219
|
}
|
|
3185
3220
|
}
|
|
@@ -3395,7 +3430,7 @@ async function zi(e, t) {
|
|
|
3395
3430
|
if (n.length !== 0) {
|
|
3396
3431
|
await t.loadMathJax();
|
|
3397
3432
|
for (let e of n) if (!Mi.has(e.nodes)) try {
|
|
3398
|
-
let n = await t.mathMLToSvg(T(e.nodes, e.display)), r = await Pi(Ii(
|
|
3433
|
+
let n = await t.mathMLToSvg(T(e.nodes, e.display)), r = await Pi(Ii(He(n.svg, "#000000"), n.widthEm, n.ascentEm + n.descentEm));
|
|
3399
3434
|
Mi.set(e.nodes, {
|
|
3400
3435
|
img: r,
|
|
3401
3436
|
widthEm: n.widthEm,
|
|
@@ -3846,7 +3881,7 @@ function ya(e, t, n, r, i) {
|
|
|
3846
3881
|
return g(u, p, s.offsetOf(h.cols + 1), s.offsetOf(n.col), s.offsetOf(n.col + n.cols)) && g(d, m, c.offsetOf(h.rows + 1), c.offsetOf(n.row), c.offsetOf(n.row + n.rows));
|
|
3847
3882
|
}
|
|
3848
3883
|
async function ba(e, t, n, r, i = 0, a = 0, o = null, c = null, l) {
|
|
3849
|
-
let u = t === "image/svg+xml", d = y(t, o, i, a), f = () =>
|
|
3884
|
+
let u = t === "image/svg+xml", d = y(t, o, i, a), f = () => Ve(e, t, c, r, {
|
|
3850
3885
|
widthPt: d.widthPt,
|
|
3851
3886
|
heightPt: d.heightPt,
|
|
3852
3887
|
offscreenFactory: l
|
|
@@ -3854,7 +3889,7 @@ async function ba(e, t, n, r, i = 0, a = 0, o = null, c = null, l) {
|
|
|
3854
3889
|
svgImagePath: n,
|
|
3855
3890
|
srcRect: o
|
|
3856
3891
|
};
|
|
3857
|
-
if (
|
|
3892
|
+
if (he(p)) try {
|
|
3858
3893
|
return await s(p.svgImagePath, r);
|
|
3859
3894
|
} catch {
|
|
3860
3895
|
return u ? s(e, r) : f();
|
|
@@ -4089,7 +4124,7 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4089
4124
|
parsedWorkbook = null;
|
|
4090
4125
|
sheetCache = /* @__PURE__ */ new Map();
|
|
4091
4126
|
sheetLoads = /* @__PURE__ */ new Map();
|
|
4092
|
-
rawParts = new
|
|
4127
|
+
rawParts = new Be({
|
|
4093
4128
|
maxEntries: 64,
|
|
4094
4129
|
maxBytes: le
|
|
4095
4130
|
});
|
|
@@ -4113,11 +4148,11 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4113
4148
|
};
|
|
4114
4149
|
resourceFailure = null;
|
|
4115
4150
|
constructor(e, t, n) {
|
|
4116
|
-
this.worker = e, this._mode = t, this.bridge = new
|
|
4151
|
+
this.worker = e, this._mode = t, this.bridge = new J(this.worker, {
|
|
4117
4152
|
correlate: (e) => "protocol" in e && e.protocol === "ooxml-pull-v1" ? e.requestId : "id" in e ? e.id : void 0,
|
|
4118
4153
|
toError: (e) => "type" in e && e.type === "error" ? ne(e) : void 0
|
|
4119
4154
|
});
|
|
4120
|
-
let r = new URL(n ??
|
|
4155
|
+
let r = new URL(n ?? ut, location.href).href;
|
|
4121
4156
|
this.bridge.post({
|
|
4122
4157
|
type: "init",
|
|
4123
4158
|
wasmUrl: r
|
|
@@ -4143,15 +4178,15 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4143
4178
|
if (!e.ok) throw Error(`Failed to fetch: ${e.status} ${e.statusText}`);
|
|
4144
4179
|
s = await e.arrayBuffer();
|
|
4145
4180
|
} else s = t;
|
|
4146
|
-
s =
|
|
4181
|
+
s = ye(await xe(s, n.password));
|
|
4147
4182
|
let c = s === r;
|
|
4148
4183
|
o.setSourceBytes(s.byteLength), o.checkpoint("container ready");
|
|
4149
|
-
let l = a === "worker" ? (await import("./render-worker-host-
|
|
4184
|
+
let l = a === "worker" ? (await import("./render-worker-host-CtJo7hc9.js")).createRenderWorker() : new lt(), u;
|
|
4150
4185
|
try {
|
|
4151
4186
|
return u = new e(l, a, n.wasmUrl), u.metrics = o, await u._load(s, n, i.policy, (e) => o.observeUsage(e), c), o.checkpoint("workbook index ready"), o.succeed({ sheets: u.sheetCount }), u;
|
|
4152
4187
|
} catch (e) {
|
|
4153
4188
|
let t = u;
|
|
4154
|
-
throw
|
|
4189
|
+
throw be(l, t ? () => t.destroy() : void 0), e;
|
|
4155
4190
|
}
|
|
4156
4191
|
} catch (e) {
|
|
4157
4192
|
throw o.fail(e), e;
|
|
@@ -4192,13 +4227,13 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4192
4227
|
let t = this.retainedFontSets.get(e);
|
|
4193
4228
|
if (t) t.refs++;
|
|
4194
4229
|
else {
|
|
4195
|
-
let n =
|
|
4230
|
+
let n = ze(this.googleFontNames, Ta, e);
|
|
4196
4231
|
t = {
|
|
4197
4232
|
refs: 1,
|
|
4198
4233
|
faces: null,
|
|
4199
4234
|
loading: n
|
|
4200
4235
|
}, this.retainedFontSets.set(e, t), n.then((e) => {
|
|
4201
|
-
t.faces = e, this.fontsDestroyed &&
|
|
4236
|
+
t.faces = e, this.fontsDestroyed && Re(e);
|
|
4202
4237
|
});
|
|
4203
4238
|
}
|
|
4204
4239
|
await t.loading;
|
|
@@ -4207,7 +4242,7 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4207
4242
|
if (n) return;
|
|
4208
4243
|
n = !0;
|
|
4209
4244
|
let r = this.retainedFontSets.get(e);
|
|
4210
|
-
r === t && (r.refs--, !(r.refs > 0) && (this.retainedFontSets.delete(e), r.faces ?
|
|
4245
|
+
r === t && (r.refs--, !(r.refs > 0) && (this.retainedFontSets.delete(e), r.faces ? Re(r.faces) : r.loading.then(Re)));
|
|
4211
4246
|
};
|
|
4212
4247
|
}
|
|
4213
4248
|
async [Ia](e) {
|
|
@@ -4223,7 +4258,7 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4223
4258
|
return this.parsedWorkbook?.workbook.sheets.map((e) => e.tabColor ?? null) ?? [];
|
|
4224
4259
|
}
|
|
4225
4260
|
sheetVisibility(e) {
|
|
4226
|
-
return
|
|
4261
|
+
return dt(this.parsedWorkbook?.workbook.sheets ?? [], e);
|
|
4227
4262
|
}
|
|
4228
4263
|
isHidden(e) {
|
|
4229
4264
|
return this.sheetVisibility(e) !== "visible";
|
|
@@ -4245,7 +4280,7 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4245
4280
|
async getResourceMetrics() {
|
|
4246
4281
|
let e = this.metrics;
|
|
4247
4282
|
if (!e) throw Error("Workbook not loaded");
|
|
4248
|
-
return
|
|
4283
|
+
return ve(e, async (e) => (await this.bridge.request((e) => ({
|
|
4249
4284
|
type: "resourceUsage",
|
|
4250
4285
|
id: e
|
|
4251
4286
|
}), void 0, { timeoutMs: e })).usage);
|
|
@@ -4265,25 +4300,25 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4265
4300
|
try {
|
|
4266
4301
|
for await (let s of n.stream(e, t)) {
|
|
4267
4302
|
if (s.kind === "rows") {
|
|
4268
|
-
let e =
|
|
4269
|
-
|
|
4303
|
+
let e = Qe(i, Je(s.rows));
|
|
4304
|
+
Xe(e, "get-worksheet", void 0, s.usage), r.push(...s.rows), i = e;
|
|
4270
4305
|
continue;
|
|
4271
4306
|
}
|
|
4272
4307
|
let e = s.worksheet;
|
|
4273
4308
|
e.rows = e.parseError ? [] : r;
|
|
4274
|
-
let t =
|
|
4309
|
+
let t = tt(e, e.parseError ? {
|
|
4275
4310
|
rows: 0,
|
|
4276
4311
|
cells: 0,
|
|
4277
4312
|
ownedUtf8Bytes: 0
|
|
4278
4313
|
} : i);
|
|
4279
|
-
|
|
4280
|
-
let n =
|
|
4314
|
+
Xe(t, "get-worksheet", void 0, s.usage), qe(t.jsonBytes, "get-worksheet", void 0, s.usage);
|
|
4315
|
+
let n = Ke(this.retainedSheetUsage ?? {
|
|
4281
4316
|
rows: 0,
|
|
4282
4317
|
cells: 0,
|
|
4283
4318
|
ownedUtf8Bytes: 0,
|
|
4284
4319
|
jsonBytes: 0
|
|
4285
4320
|
}, t);
|
|
4286
|
-
|
|
4321
|
+
$e(n, "get-worksheet", void 0, s.usage), a = e, o = n;
|
|
4287
4322
|
}
|
|
4288
4323
|
if (!a || !o) throw Error(`XLSX worksheet ${e} did not produce a terminal model`);
|
|
4289
4324
|
return this.retainedSheetUsage = o, this.sheetCache.set(e, a), a;
|
|
@@ -4294,9 +4329,9 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4294
4329
|
ensureWorksheetPullClient() {
|
|
4295
4330
|
if (this.worksheetPullClient) return this.worksheetPullClient;
|
|
4296
4331
|
if (!this.parsedWorkbook) throw Error("Workbook not loaded");
|
|
4297
|
-
return this.worksheetPullClient = new
|
|
4332
|
+
return this.worksheetPullClient = new et({
|
|
4298
4333
|
generation: this.generation || 1,
|
|
4299
|
-
transport: this.bridge.transport(
|
|
4334
|
+
transport: this.bridge.transport(Ze),
|
|
4300
4335
|
sharedStrings: this.parsedWorkbook.sharedStrings,
|
|
4301
4336
|
timeoutMs: this.workerTimeoutMs,
|
|
4302
4337
|
open: async (e, t, n, r) => {
|
|
@@ -4366,11 +4401,11 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4366
4401
|
for (let e of i.rows) for (let t of e.cells) o.set(`${t.row}:${t.col}`, t);
|
|
4367
4402
|
return ka(n, (e, t) => {
|
|
4368
4403
|
let n = o.get(`${e}:${t}`);
|
|
4369
|
-
return n ?
|
|
4404
|
+
return n ? Xt(n, a, null, i.date1904) : null;
|
|
4370
4405
|
});
|
|
4371
4406
|
}
|
|
4372
4407
|
cellText(e, t) {
|
|
4373
|
-
return this.parsedWorkbook ?
|
|
4408
|
+
return this.parsedWorkbook ? Xt(t, this.parsedWorkbook.styles, null, e.date1904) : "";
|
|
4374
4409
|
}
|
|
4375
4410
|
async renderViewport(e, t, n, r = {}) {
|
|
4376
4411
|
if (this.assertResourceHealthy(), this._mode === "worker") throw Error("renderViewport(canvas) is unavailable in mode: 'worker'; use renderViewportToBitmap() and paint it via an ImageBitmapRenderingContext");
|
|
@@ -4439,7 +4474,7 @@ var Ia = Symbol("retain-xlsx-viewer-fonts"), La = Symbol("release-xlsx-viewer-pr
|
|
|
4439
4474
|
}
|
|
4440
4475
|
destroy() {
|
|
4441
4476
|
this.generation = (this.generation ?? 1) + 1, this.worksheetPullClient?.cancelAll("closed").catch(() => void 0), this.worksheetPullClient = null, this.bridge.terminate(), this.parsedWorkbook = null, this.sheetCache.clear(), this.sheetLoads.clear(), this.fontsDestroyed = !0;
|
|
4442
|
-
for (let e of this.retainedFontSets.values()) e.faces &&
|
|
4477
|
+
for (let e of this.retainedFontSets.values()) e.faces && Re(e.faces);
|
|
4443
4478
|
this.retainedFontSets.clear(), this.googleFontNames = [], V(this._fetchImage), c(this._fetchImage), this.rawParts.clear(), this.queuedImageLoads?.clear();
|
|
4444
4479
|
}
|
|
4445
4480
|
assertResourceHealthy() {
|
|
@@ -4616,7 +4651,7 @@ function Za(e, t, n, r, i) {
|
|
|
4616
4651
|
for (let a = e.charts.length - 1; a >= 0; a--) {
|
|
4617
4652
|
let o = e.charts[a], s = Va(o, r);
|
|
4618
4653
|
if (!s || !Ua(s, r) || !Ha(n, s)) continue;
|
|
4619
|
-
let c =
|
|
4654
|
+
let c = Te(o.chart, i);
|
|
4620
4655
|
return {
|
|
4621
4656
|
...Xa(e, t, "chart", a, o, c.text, c.truncated, c.maxTextCharacters),
|
|
4622
4657
|
seriesCount: o.chart.series.length
|
|
@@ -4669,16 +4704,16 @@ function eo(e, t, n, r, i) {
|
|
|
4669
4704
|
}
|
|
4670
4705
|
return null;
|
|
4671
4706
|
}
|
|
4672
|
-
function to(e, t, n, r, i =
|
|
4707
|
+
function to(e, t, n, r, i = Ne) {
|
|
4673
4708
|
if (!Number.isFinite(n.x) || !Number.isFinite(n.y)) throw RangeError("XLSX hit-test point must contain finite coordinates.");
|
|
4674
4709
|
if (!Number.isFinite(i) || i < 0) throw RangeError("maxTextCharacters must be a finite non-negative number.");
|
|
4675
|
-
let a = Math.min(
|
|
4710
|
+
let a = Math.min(Ne, Math.floor(i)), o = Ga(e, r);
|
|
4676
4711
|
return Wa(n, o) ? Za(e, t, n, o, a) ?? $a(e, t, n, o, a) ?? eo(e, t, n, o, a) : null;
|
|
4677
4712
|
}
|
|
4678
4713
|
function no(e, t) {
|
|
4679
4714
|
let n = t ?? e.maxTextCharacters;
|
|
4680
4715
|
if (!Number.isFinite(n) || n < 0) throw RangeError("maxTextCharacters must be a finite non-negative number.");
|
|
4681
|
-
let r = Math.min(
|
|
4716
|
+
let r = Math.min(Ne, Math.floor(n)), i = e.text === void 0 ? void 0 : Ja(e.text, r), a = e.truncated || e.text !== void 0 && i.length < e.text.length;
|
|
4682
4717
|
return {
|
|
4683
4718
|
...structuredClone(e),
|
|
4684
4719
|
...i === void 0 ? {} : { text: i },
|
|
@@ -4692,7 +4727,7 @@ function no(e, t) {
|
|
|
4692
4727
|
//#region packages/xlsx/src/selection.ts
|
|
4693
4728
|
var ro = 128, io = 1e4, ao = 8 * 1024 * 1024;
|
|
4694
4729
|
function oo(e) {
|
|
4695
|
-
return e.areas.reduce((e, t) => e + (t.kind === "cells" ? (t.bottom - t.top + 1) * (t.right - t.left + 1) : t.kind === "rows" ? (t.lastRow - t.firstRow + 1) *
|
|
4730
|
+
return e.areas.reduce((e, t) => e + (t.kind === "cells" ? (t.bottom - t.top + 1) * (t.right - t.left + 1) : t.kind === "rows" ? (t.lastRow - t.firstRow + 1) * Q : t.kind === "columns" ? (t.lastColumn - t.firstColumn + 1) * ar : ar * Q), 0);
|
|
4696
4731
|
}
|
|
4697
4732
|
function so(e, t) {
|
|
4698
4733
|
return Number.isInteger(e) && e >= 1 && e <= t;
|
|
@@ -4895,7 +4930,7 @@ var go = class {
|
|
|
4895
4930
|
if (n !== this._generation) return [];
|
|
4896
4931
|
let o = this._sheetName(a);
|
|
4897
4932
|
for (let n of r) {
|
|
4898
|
-
let r =
|
|
4933
|
+
let r = De(Ae([{ text: n.text }]), e, t);
|
|
4899
4934
|
for (let e of r) {
|
|
4900
4935
|
let t = e.slices[0], r = n.text.slice(t.start, t.end);
|
|
4901
4936
|
i.push({
|
|
@@ -4911,10 +4946,10 @@ var go = class {
|
|
|
4911
4946
|
return n === this._generation ? (this._matches = i, this._active = -1, this.matches()) : [];
|
|
4912
4947
|
}
|
|
4913
4948
|
next() {
|
|
4914
|
-
return this._active =
|
|
4949
|
+
return this._active = Ee(this._active, this._matches.length), this._activePublic();
|
|
4915
4950
|
}
|
|
4916
4951
|
prev() {
|
|
4917
|
-
return this._active =
|
|
4952
|
+
return this._active = je(this._active, this._matches.length), this._activePublic();
|
|
4918
4953
|
}
|
|
4919
4954
|
_activePublic() {
|
|
4920
4955
|
let e = this._locationAt(this._active);
|
|
@@ -5097,7 +5132,7 @@ function ko(e, t) {
|
|
|
5097
5132
|
//#endregion
|
|
5098
5133
|
//#region packages/xlsx/src/internal/sheet-viewer-runtime.ts
|
|
5099
5134
|
var Ao = class {
|
|
5100
|
-
owner = new
|
|
5135
|
+
owner = new Ce("SheetAcquisition");
|
|
5101
5136
|
get current() {
|
|
5102
5137
|
return this.owner.current;
|
|
5103
5138
|
}
|
|
@@ -5179,7 +5214,7 @@ var Mo = class {
|
|
|
5179
5214
|
this.frameScheduler = typeof r.requestAnimationFrame == "function" && typeof r.cancelAnimationFrame == "function" ? {
|
|
5180
5215
|
requestAnimationFrame: (e) => r.requestAnimationFrame(e),
|
|
5181
5216
|
cancelAnimationFrame: (e) => r.cancelAnimationFrame(e)
|
|
5182
|
-
} : null, this.staticDispatcher = e ? new
|
|
5217
|
+
} : null, this.staticDispatcher = e ? new Oe(e, t) : null;
|
|
5183
5218
|
}
|
|
5184
5219
|
begin() {
|
|
5185
5220
|
return this.staticDispatcher ? this.staticDispatcher.begin() : ++this.generation;
|
|
@@ -5725,7 +5760,7 @@ var xs = class {
|
|
|
5725
5760
|
if (!r) throw Error("XlsxViewer requires a document with an active Window");
|
|
5726
5761
|
this.hostWindow = r, this.opts = t, this._mountKind = n.kind, this._nativeScrollbars = t.showScrollbars ?? !0;
|
|
5727
5762
|
let i = t[zo];
|
|
5728
|
-
this._borrowed = i !== void 0, this._mode = n.kind === "sheet" ? n.mode :
|
|
5763
|
+
this._borrowed = i !== void 0, this._mode = n.kind === "sheet" ? n.mode : ke("XlsxViewer", t.mode, i), this._hiddenSheetMode = t.hiddenSheetMode ?? "show", this.viewport = new Mo(t.cellScale ?? 1), this.wrapper = this.hostDocument.createElement("div"), this.wrapper.style.cssText = `position:relative;width:100%;height:100%;background:${n.kind === "composite" ? "#fff" : "transparent"};box-sizing:border-box;font-family:sans-serif;display:flex;flex-direction:column;`, this.gridRegion = this.hostDocument.createElement("div"), this.gridRegion.style.cssText = "position:relative;flex:1;min-height:0;overflow:hidden;";
|
|
5729
5764
|
let a = "position:absolute;top:0;left:0;z-index:3;display:none;background:#f5f5f5;";
|
|
5730
5765
|
if (this.cornerGutter = this.hostDocument.createElement("canvas"), this.cornerGutter.style.cssText = a, this.cornerGutter.setAttribute("data-xlsx-outline", "corner"), this.colGutter = this.hostDocument.createElement("canvas"), this.colGutter.style.cssText = a, this.colGutter.setAttribute("data-xlsx-outline", "col"), this.rowGutter = this.hostDocument.createElement("canvas"), this.rowGutter.style.cssText = a, this.rowGutter.setAttribute("data-xlsx-outline", "row"), this.canvasArea = this.hostDocument.createElement("div"), this.canvasArea.style.cssText = "position:absolute;inset:0;overflow:hidden;", this.canvas = n.kind === "sheet" ? n.canvas : this.hostDocument.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this.renderDispatcher = new No(this.canvas, this._mode === "worker", this.hostWindow), this.scrollHost = this.hostDocument.createElement("div"), this.scrollHost.setAttribute("data-xlsx-viewport-input", n.kind), this.scrollHost.tabIndex = 0, this.scrollHost.style.cssText = `position:absolute;inset:0;overflow:${this._nativeScrollbars ? "auto" : "clip"};z-index:2;background:transparent;`, this.spacer = this.hostDocument.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this._nativeScrollbars && this.scrollHost.appendChild(this.spacer), this.surface = new Fo(this.canvas, this.canvasArea, this.scrollHost), this.overlayHost = new Io(this.canvasArea, this.canvas, this.scrollHost, {
|
|
5731
5766
|
commentMaxWidth: Vo,
|
|
@@ -6128,10 +6163,10 @@ var xs = class {
|
|
|
6128
6163
|
!n || !this.currentWorksheet || (this._scrollCellIntoView(n.row, n.col, t.align ?? "nearest"), await this.renderCurrentSheet(), this.updateSelectionOverlay(), this.updateFindOverlay(), this.emitViewportChange());
|
|
6129
6164
|
}
|
|
6130
6165
|
_stepSheet(e) {
|
|
6131
|
-
return this._hiddenSheetMode === "skip" && this.wb ?
|
|
6166
|
+
return this._hiddenSheetMode === "skip" && this.wb ? Ue(this.currentSheet, e, (e) => this.wb.isHidden(e), this.sheetCount) : this.currentSheet + e;
|
|
6132
6167
|
}
|
|
6133
6168
|
_initialSheet() {
|
|
6134
|
-
return this._hiddenSheetMode === "skip" && this.wb ?
|
|
6169
|
+
return this._hiddenSheetMode === "skip" && this.wb ? We(0, (e) => this.wb.isHidden(e), this.sheetCount) : 0;
|
|
6135
6170
|
}
|
|
6136
6171
|
getCellAt(e, t) {
|
|
6137
6172
|
if (this._destroyed) return null;
|
|
@@ -6239,7 +6274,7 @@ var xs = class {
|
|
|
6239
6274
|
active: !1
|
|
6240
6275
|
}]).sort((e, t) => e.row - t.row || Number(e.active) - Number(t.active)), h = /* @__PURE__ */ new Set(), g = 0, _ = [], v = [], y = !1, b = u || f.length > 0 ? [{
|
|
6241
6276
|
first: 1,
|
|
6242
|
-
last:
|
|
6277
|
+
last: ar
|
|
6243
6278
|
}] : $o([...d, ...p.map((e) => ({
|
|
6244
6279
|
first: e.top,
|
|
6245
6280
|
last: e.bottom
|
|
@@ -6261,7 +6296,7 @@ var xs = class {
|
|
|
6261
6296
|
}))));
|
|
6262
6297
|
let o = u || es(d, r.index) ? [{
|
|
6263
6298
|
first: 1,
|
|
6264
|
-
last:
|
|
6299
|
+
last: Q
|
|
6265
6300
|
}] : $o([...f, ..._]);
|
|
6266
6301
|
for (let e of o) {
|
|
6267
6302
|
let n = this.selectionContextCells.get(r);
|
|
@@ -6429,10 +6464,10 @@ var xs = class {
|
|
|
6429
6464
|
let i = this.viewport.scale, a = this.canvasArea.getBoundingClientRect();
|
|
6430
6465
|
if (n.kind === "col") {
|
|
6431
6466
|
let t = this.screenX(e - a.left, 0), o = Math.max(as, Math.round((t - n.originScaled) / i));
|
|
6432
|
-
r.colWidths[n.index] =
|
|
6467
|
+
r.colWidths[n.index] = tr(o, n.mdw), this.recordSizeOverride("col", n.index);
|
|
6433
6468
|
} else {
|
|
6434
6469
|
let e = t - a.top, o = Math.max(as, Math.round((e - n.originScaled) / i));
|
|
6435
|
-
r.rowHeights[n.index] =
|
|
6470
|
+
r.rowHeights[n.index] = rr(o), this.recordSizeOverride("row", n.index);
|
|
6436
6471
|
}
|
|
6437
6472
|
or.invalidate(r), this.updateSpacerSize(r), this.updateSelectionOverlay(), this.scheduleRender();
|
|
6438
6473
|
}
|
|
@@ -6440,7 +6475,7 @@ var xs = class {
|
|
|
6440
6475
|
this.opts.selectionColor = e, this.updateSelectionOverlay();
|
|
6441
6476
|
}
|
|
6442
6477
|
async setHiddenSheetMode(e) {
|
|
6443
|
-
this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(
|
|
6478
|
+
this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(We(this.currentSheet, (e) => this.wb.isHidden(e), this.sheetCount)) : this.updateTabActive(this.currentSheet);
|
|
6444
6479
|
}
|
|
6445
6480
|
get hiddenSheetMode() {
|
|
6446
6481
|
return this._hiddenSheetMode;
|
|
@@ -6448,7 +6483,7 @@ var xs = class {
|
|
|
6448
6483
|
get visibleSheetCount() {
|
|
6449
6484
|
if (!this.wb) return 0;
|
|
6450
6485
|
let e = this.wb;
|
|
6451
|
-
return
|
|
6486
|
+
return Ge((t) => e.isHidden(t), this.sheetCount);
|
|
6452
6487
|
}
|
|
6453
6488
|
async copySelection() {
|
|
6454
6489
|
this.assertOpen();
|
|
@@ -6550,12 +6585,12 @@ var xs = class {
|
|
|
6550
6585
|
end: Math.min(o, i + d)
|
|
6551
6586
|
}, {
|
|
6552
6587
|
first: l.cols + 1,
|
|
6553
|
-
last:
|
|
6588
|
+
last: Q,
|
|
6554
6589
|
start: Math.min(o, i + d),
|
|
6555
6590
|
end: o
|
|
6556
6591
|
}] : [{
|
|
6557
6592
|
first: 1,
|
|
6558
|
-
last:
|
|
6593
|
+
last: Q,
|
|
6559
6594
|
start: i,
|
|
6560
6595
|
end: o
|
|
6561
6596
|
}], m = l.rows > 0 ? [{
|
|
@@ -6565,12 +6600,12 @@ var xs = class {
|
|
|
6565
6600
|
end: Math.min(s, a + f)
|
|
6566
6601
|
}, {
|
|
6567
6602
|
first: l.rows + 1,
|
|
6568
|
-
last:
|
|
6603
|
+
last: ar,
|
|
6569
6604
|
start: Math.min(s, a + f),
|
|
6570
6605
|
end: s
|
|
6571
6606
|
}] : [{
|
|
6572
6607
|
first: 1,
|
|
6573
|
-
last:
|
|
6608
|
+
last: ar,
|
|
6574
6609
|
start: a,
|
|
6575
6610
|
end: s
|
|
6576
6611
|
}], h = this.opts.selectionColor ?? rs, { background: g } = hs(h), _ = /* @__PURE__ */ new Set(), v = [], y = [];
|
|
@@ -6588,14 +6623,14 @@ var xs = class {
|
|
|
6588
6623
|
top: t.firstRow,
|
|
6589
6624
|
bottom: t.lastRow,
|
|
6590
6625
|
left: 1,
|
|
6591
|
-
right:
|
|
6626
|
+
right: Q,
|
|
6592
6627
|
topEdge: !0,
|
|
6593
6628
|
bottomEdge: !0,
|
|
6594
6629
|
leftEdge: !1,
|
|
6595
6630
|
rightEdge: !1
|
|
6596
6631
|
} : t.kind === "columns" ? {
|
|
6597
6632
|
top: 1,
|
|
6598
|
-
bottom:
|
|
6633
|
+
bottom: ar,
|
|
6599
6634
|
left: t.firstColumn,
|
|
6600
6635
|
right: t.lastColumn,
|
|
6601
6636
|
topEdge: !1,
|
|
@@ -6604,9 +6639,9 @@ var xs = class {
|
|
|
6604
6639
|
rightEdge: !0
|
|
6605
6640
|
} : {
|
|
6606
6641
|
top: 1,
|
|
6607
|
-
bottom:
|
|
6642
|
+
bottom: ar,
|
|
6608
6643
|
left: 1,
|
|
6609
|
-
right:
|
|
6644
|
+
right: Q,
|
|
6610
6645
|
topEdge: !1,
|
|
6611
6646
|
bottomEdge: !1,
|
|
6612
6647
|
leftEdge: !1,
|
|
@@ -7189,7 +7224,7 @@ var xs = class {
|
|
|
7189
7224
|
this._pendingZoomAnchor = Number.isFinite(t) && Number.isFinite(n) ? {
|
|
7190
7225
|
x: t,
|
|
7191
7226
|
y: n
|
|
7192
|
-
} : null, this.setScale(
|
|
7227
|
+
} : null, this.setScale(Ie(this.viewport.scale, e.deltaY));
|
|
7193
7228
|
}, { passive: !1 }), this.surface.on("pointerleave", () => this.hideCommentPopup()), this.keydownHandler = (e) => {
|
|
7194
7229
|
if ((e.ctrlKey || e.metaKey) && e.key === "c") {
|
|
7195
7230
|
if (e.defaultPrevented || e.isComposing) return;
|
|
@@ -7281,8 +7316,8 @@ var xs = class {
|
|
|
7281
7316
|
if (this.viewport.setScale(i), this.zoomSlider && (this.zoomSlider.value = String(this.zoomScaleToPos(i, t, n))), this.zoomLabel && (this.zoomLabel.textContent = `${r}%`), this.currentWorksheet) {
|
|
7282
7317
|
let e = this.effectiveScrollLeft, t = this.viewportTop;
|
|
7283
7318
|
if (this.layoutGutters(), this.updateSpacerSize(this.currentWorksheet), o) {
|
|
7284
|
-
this.viewportTop =
|
|
7285
|
-
let n = this.screenX(o.x, 0), r = this.maxScrollLeft, s =
|
|
7319
|
+
this.viewportTop = we(t, o.y, a, i, { maxScroll: this.maxScrollTop });
|
|
7320
|
+
let n = this.screenX(o.x, 0), r = this.maxScrollLeft, s = we(e, n, a, i, { maxScroll: r });
|
|
7286
7321
|
this.setViewportLeft(s);
|
|
7287
7322
|
} else this.setViewportLeft(e);
|
|
7288
7323
|
}
|
|
@@ -7293,10 +7328,10 @@ var xs = class {
|
|
|
7293
7328
|
return this.viewport.scale;
|
|
7294
7329
|
}
|
|
7295
7330
|
zoomIn() {
|
|
7296
|
-
this.setScale(
|
|
7331
|
+
this.setScale(Pe(this.getScale()));
|
|
7297
7332
|
}
|
|
7298
7333
|
zoomOut() {
|
|
7299
|
-
this.setScale(
|
|
7334
|
+
this.setScale(Le(this.getScale()));
|
|
7300
7335
|
}
|
|
7301
7336
|
fitWidth() {
|
|
7302
7337
|
this._fit("width");
|
|
@@ -7307,7 +7342,7 @@ var xs = class {
|
|
|
7307
7342
|
_fit(e) {
|
|
7308
7343
|
let t = this.currentWorksheet;
|
|
7309
7344
|
if (!t) return;
|
|
7310
|
-
let { width: n, height: r } = this._naturalContentExtent(t), i =
|
|
7345
|
+
let { width: n, height: r } = this._naturalContentExtent(t), i = Se({
|
|
7311
7346
|
contentWidth: n,
|
|
7312
7347
|
contentHeight: r,
|
|
7313
7348
|
containerWidth: this.canvasArea.clientWidth,
|
|
@@ -7439,8 +7474,8 @@ var xs = class {
|
|
|
7439
7474
|
}
|
|
7440
7475
|
constructor(e, t = {}) {
|
|
7441
7476
|
this.canvasElement = e;
|
|
7442
|
-
let n = t[zo], r =
|
|
7443
|
-
this.canvasMount = new
|
|
7477
|
+
let n = t[zo], r = ke("XlsxSheetViewer", t.mode, n), i = e.getBoundingClientRect();
|
|
7478
|
+
this.canvasMount = new Me(e, {
|
|
7444
7479
|
wrapperCssText: `position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:${e.style.width || `${i.width || e.width}px`};height:${e.style.height || `${i.height || e.height}px`};`,
|
|
7445
7480
|
restoreMode: "style-and-bitmap"
|
|
7446
7481
|
}), this.engine = new xs(this.canvasMount.wrapper, {
|
|
@@ -7610,10 +7645,10 @@ var xs = class {
|
|
|
7610
7645
|
XlsxSheetViewer: () => Cs,
|
|
7611
7646
|
XlsxViewer: () => Ss,
|
|
7612
7647
|
XlsxWorkbook: () => Ra,
|
|
7613
|
-
autoResize: () =>
|
|
7648
|
+
autoResize: () => Fe,
|
|
7614
7649
|
isOoxmlDecodedImageLimitError: () => f,
|
|
7615
7650
|
openExternalHyperlink: () => E,
|
|
7616
|
-
resolveSharedStrings: () =>
|
|
7651
|
+
resolveSharedStrings: () => Ye
|
|
7617
7652
|
});
|
|
7618
7653
|
//#endregion
|
|
7619
7654
|
export { io as a, ro as i, Cs as n, ao as o, Ss as r, Ra as s, ws as t };
|