@silurus/ooxml 0.80.2 → 0.81.0

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.
Files changed (54) hide show
  1. package/README.md +57 -77
  2. package/dist/assets/render-worker-C2ACcLes.js +11 -0
  3. package/dist/assets/render-worker-Cx5uR77k.js +10 -0
  4. package/dist/assets/render-worker-DtU8oQZ7.js +24 -0
  5. package/dist/{canvas-viewer-mechanics-D-r6wHY_.js → canvas-viewer-mechanics-CqxKRGCp.js} +1 -1
  6. package/dist/chart-ex.mjs +1017 -0
  7. package/dist/{document-pull-client-Cukkyojh.js → document-pull-client-Ux4a_ax8.js} +4540 -4412
  8. package/dist/{docx-BlELeDNF.js → docx-SEyQ4gS-.js} +79 -75
  9. package/dist/docx.mjs +5 -4
  10. package/dist/docx_parser_bg.wasm +0 -0
  11. package/dist/index.mjs +3 -3
  12. package/dist/{line-distribute-Bvtp0Gt6.js → line-distribute-BBGvvwLt.js} +17 -16
  13. package/dist/{line-metrics-DdEJYxjx.js → line-metrics-Baz31mML.js} +663 -7488
  14. package/dist/math.mjs +29 -24
  15. package/dist/node.mjs +248 -247
  16. package/dist/plot-area-frame-Dg1VIpUU.js +3669 -0
  17. package/dist/{pptx-JBkXh6Cy.js → pptx-5lQrMvMR.js} +236 -232
  18. package/dist/pptx.mjs +6 -5
  19. package/dist/pptx_parser_bg.wasm +0 -0
  20. package/dist/region-map.mjs +102 -97
  21. package/dist/{render-CoqMHcbF.js → render-DEHjijQD.js} +1 -1
  22. package/dist/{render-worker-host-CM1JXVqg.js → render-worker-host-B1nbV_k7.js} +1 -1
  23. package/dist/{render-worker-host-DFtd9Z-J.js → render-worker-host-Bze5M6k5.js} +1 -1
  24. package/dist/{render-worker-host-Br7ZDyGE.js → render-worker-host-Dg_74V64.js} +1 -1
  25. package/dist/renderer-DuopJE1K.js +5855 -0
  26. package/dist/{renderer-module-contract-BNGz8HvO.js → renderer-module-contract-0bO_5SC0.js} +4 -3
  27. package/dist/{resource-measurement-CgMubiAI.js → resource-measurement-DRLp4nFt.js} +12 -11
  28. package/dist/{session-DkPblDiq.js → session-CNVc3VJ4.js} +8 -8
  29. package/dist/{slide-pull-client-m2blvngt.js → slide-pull-client-CzutXnGc.js} +888 -1082
  30. package/dist/three-d-BYiWCNlz.js +1345 -0
  31. package/dist/three-d.mjs +1238 -798
  32. package/dist/types/chart-ex.d.ts +949 -0
  33. package/dist/types/docx.d.ts +325 -18
  34. package/dist/types/index.d.ts +325 -26
  35. package/dist/types/math.d.ts +1 -1
  36. package/dist/types/node.d.ts +303 -14
  37. package/dist/types/pptx.d.ts +314 -22
  38. package/dist/types/region-map.d.ts +318 -6
  39. package/dist/types/three-d.d.ts +318 -6
  40. package/dist/types/xlsx.d.ts +317 -18
  41. package/dist/{worksheet-pull-client-BntP6RiO.js → worksheet-pull-client-Cxj3Ej0s.js} +19 -19
  42. package/dist/{xlsx-dhsUXUpX.js → xlsx-Bl3TIEVu.js} +1313 -1279
  43. package/dist/xlsx.mjs +6 -5
  44. package/dist/xlsx_parser_bg.wasm +0 -0
  45. package/package.json +7 -1
  46. package/dist/assets/render-worker-BD1_LaFD.js +0 -9
  47. package/dist/assets/render-worker-BIqMQFkZ.js +0 -8
  48. package/dist/assets/render-worker-DuvX4_li.js +0 -22
  49. package/dist/chart-number-format-qLhnk6hj.js +0 -475
  50. package/dist/three-d-C28kqDym.js +0 -1086
  51. /package/dist/{highlight-rect-BuX5rWP4.js → highlight-rect-BqcZMHUE.js} +0 -0
  52. /package/dist/{mathjax-DgAl7Yi5.js → mathjax-DJa-Q93p.js} +0 -0
  53. /package/dist/{transfer-CKZ79zFw.js → transfer-D0U6Uhn4.js} +0 -0
  54. /package/dist/{visible-index-BjesVGhg.js → visible-index-DbDuGMCE.js} +0 -0
@@ -0,0 +1,3669 @@
1
+ //#region packages/core/src/canvas/aux-canvas.ts
2
+ function e(e, t) {
3
+ return [Math.max(1, Math.ceil(e)), Math.max(1, Math.ceil(t))];
4
+ }
5
+ function t(t, n) {
6
+ let [r, i] = e(t, n);
7
+ if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(r, i);
8
+ if (typeof document < "u") {
9
+ let e = document.createElement("canvas");
10
+ return e.width = r, e.height = i, e;
11
+ }
12
+ return null;
13
+ }
14
+ function n(t, n, r) {
15
+ let [i, a] = e(n, r);
16
+ if (typeof OffscreenCanvas < "u") try {
17
+ return new OffscreenCanvas(i, a);
18
+ } catch {}
19
+ if (typeof document < "u") try {
20
+ let e = document.createElement("canvas");
21
+ return e.width = i, e.height = a, e;
22
+ } catch {}
23
+ try {
24
+ let e = t.canvas?.constructor;
25
+ return typeof e == "function" ? new e(i, a) : null;
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+ //#endregion
31
+ //#region packages/core/src/image/pixel-budget.ts
32
+ var r = 32767, i = 1 << 25, a = i * 4, o = class e extends RangeError {
33
+ code = "ooxml-decoded-image-limit";
34
+ constructor(t, n, r) {
35
+ 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);
36
+ }
37
+ };
38
+ function s(e) {
39
+ return e instanceof o || !!e && typeof e == "object" && e.code === "ooxml-decoded-image-limit";
40
+ }
41
+ //#endregion
42
+ //#region packages/core/src/image/dib.ts
43
+ var c = r, l = i;
44
+ function u(e, t, n, r, i) {
45
+ if (n < 40 || t + 40 > e.byteLength) return null;
46
+ let a = e.getUint32(t, !0);
47
+ if (a < 40) return null;
48
+ let o = e.getInt32(t + 4, !0), s = e.getInt32(t + 8, !0), u = e.getUint16(t + 14, !0);
49
+ if (e.getUint32(t + 16, !0) !== 0) return null;
50
+ let d = s < 0, f = Math.abs(o), p = Math.abs(s);
51
+ if (f <= 0 || p <= 0 || f > c || p > c || f * p > l) return null;
52
+ let m = new Uint8ClampedArray(f * p * 4), h = f * u + 31 >> 5 << 2 >>> 0;
53
+ if (r + h * p > r + i + h && r + h * p > e.byteLength) return null;
54
+ let g = null;
55
+ if (u <= 8) {
56
+ let n = e.getUint32(t + 32, !0);
57
+ n === 0 && (n = 1 << u);
58
+ let r = t + a;
59
+ g = [];
60
+ for (let t = 0; t < n; t++) {
61
+ let n = r + t * 4;
62
+ if (n + 4 > e.byteLength) break;
63
+ let i = e.getUint8(n), a = e.getUint8(n + 1), o = e.getUint8(n + 2);
64
+ g.push(o << 16 | a << 8 | i);
65
+ }
66
+ }
67
+ let _ = (e, t, n, r, i, a) => {
68
+ let o = (e * f + t) * 4;
69
+ m[o] = n, m[o + 1] = r, m[o + 2] = i, m[o + 3] = a;
70
+ }, v = !1;
71
+ for (let t = 0; t < p; t++) {
72
+ let n = d ? t : p - 1 - t, i = t, a = r + n * h;
73
+ if (a + h > e.byteLength) break;
74
+ if (u === 32) for (let t = 0; t < f; t++) {
75
+ let n = a + t * 4, r = e.getUint8(n), o = e.getUint8(n + 1), s = e.getUint8(n + 2), c = e.getUint8(n + 3);
76
+ c !== 0 && (v = !0), _(i, t, s, o, r, c);
77
+ }
78
+ else if (u === 24) {
79
+ for (let t = 0; t < f; t++) {
80
+ let n = a + t * 3;
81
+ _(i, t, e.getUint8(n + 2), e.getUint8(n + 1), e.getUint8(n), 255);
82
+ }
83
+ v = !0;
84
+ } else if (u === 8 && g) {
85
+ for (let t = 0; t < f; t++) {
86
+ let n = e.getUint8(a + t), r = g[n] ?? 0;
87
+ _(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
88
+ }
89
+ v = !0;
90
+ } else if (u === 4 && g) {
91
+ for (let t = 0; t < f; t++) {
92
+ let n = e.getUint8(a + (t >> 1)), r = t & 1 ? n & 15 : n >> 4 & 15, o = g[r] ?? 0;
93
+ _(i, t, o >> 16 & 255, o >> 8 & 255, o & 255, 255);
94
+ }
95
+ v = !0;
96
+ } else if (u === 1 && g) {
97
+ for (let t = 0; t < f; t++) {
98
+ let n = e.getUint8(a + (t >> 3)) >> 7 - (t & 7) & 1, r = g[n] ?? 0;
99
+ _(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
100
+ }
101
+ v = !0;
102
+ } else return null;
103
+ }
104
+ if (u === 32 && !v) for (let e = 3; e < m.length; e += 4) m[e] = 255;
105
+ return {
106
+ width: f,
107
+ height: p,
108
+ data: m
109
+ };
110
+ }
111
+ function d(e, t, n) {
112
+ if (n < 40 || t + 40 > e.byteLength) return null;
113
+ let r = e.getUint32(t, !0);
114
+ if (r < 40) return null;
115
+ let i = e.getUint16(t + 14, !0), a = 0;
116
+ if (i <= 8) {
117
+ let n = e.getUint32(t + 32, !0);
118
+ n === 0 && (n = 1 << i), a = n;
119
+ } else a = e.getUint32(t + 32, !0);
120
+ let o = r + a * 4, s = t + o, c = n - o;
121
+ return c <= 0 ? null : u(e, t, o, s, c);
122
+ }
123
+ function f(e, n, r, i, a, o) {
124
+ try {
125
+ let s = t(n.width, n.height);
126
+ if (!s) return !1;
127
+ let c = s.getContext("2d");
128
+ if (!c) return !1;
129
+ let l = c.createImageData(n.width, n.height);
130
+ l.data.set(n.data), c.putImageData(l, 0, 0);
131
+ let u = Math.min(r, a), d = Math.min(i, o), f = Math.abs(a - r), p = Math.abs(o - i);
132
+ return e.drawImage(s, u, d, f, p), !0;
133
+ } catch {
134
+ return !1;
135
+ }
136
+ }
137
+ //#endregion
138
+ //#region packages/core/src/image/emf.ts
139
+ var p = {
140
+ HEADER: 1,
141
+ POLYBEZIER: 2,
142
+ POLYGON: 3,
143
+ POLYLINE: 4,
144
+ POLYBEZIERTO: 5,
145
+ POLYLINETO: 6,
146
+ POLYPOLYLINE: 7,
147
+ POLYPOLYGON: 8,
148
+ SETWINDOWEXTEX: 9,
149
+ SETWINDOWORGEX: 10,
150
+ SETVIEWPORTEXTEX: 11,
151
+ SETVIEWPORTORGEX: 12,
152
+ EOF: 14,
153
+ SETMAPMODE: 17,
154
+ SETPOLYFILLMODE: 19,
155
+ SETBKMODE: 18,
156
+ SETTEXTALIGN: 22,
157
+ SETTEXTCOLOR: 24,
158
+ MOVETOEX: 27,
159
+ SCALEVIEWPORTEXTEX: 31,
160
+ SCALEWINDOWEXTEX: 32,
161
+ SAVEDC: 33,
162
+ RESTOREDC: 34,
163
+ SETWORLDTRANSFORM: 35,
164
+ MODIFYWORLDTRANSFORM: 36,
165
+ SELECTOBJECT: 37,
166
+ CREATEPEN: 38,
167
+ CREATEBRUSHINDIRECT: 39,
168
+ DELETEOBJECT: 40,
169
+ ELLIPSE: 42,
170
+ RECTANGLE: 43,
171
+ LINETO: 54,
172
+ BEGINPATH: 59,
173
+ ENDPATH: 60,
174
+ CLOSEFIGURE: 61,
175
+ SELECTCLIPPATH: 67,
176
+ EXTCREATEFONTINDIRECTW: 82,
177
+ EXTTEXTOUTW: 84,
178
+ POLYBEZIER16: 85,
179
+ POLYGON16: 86,
180
+ POLYLINE16: 87,
181
+ POLYBEZIERTO16: 88,
182
+ POLYLINETO16: 89,
183
+ POLYPOLYLINE16: 90,
184
+ POLYPOLYGON16: 91,
185
+ CREATEMONOBRUSH: 93,
186
+ CREATEDIBPATTERNBRUSHPT: 94,
187
+ EXTCREATEPEN: 95,
188
+ BITBLT: 76,
189
+ STRETCHDIBITS: 81
190
+ }, m = {
191
+ WHITE_BRUSH: 2147483648,
192
+ LTGRAY_BRUSH: 2147483649,
193
+ GRAY_BRUSH: 2147483650,
194
+ DKGRAY_BRUSH: 2147483651,
195
+ BLACK_BRUSH: 2147483652,
196
+ NULL_BRUSH: 2147483653,
197
+ WHITE_PEN: 2147483654,
198
+ BLACK_PEN: 2147483655,
199
+ NULL_PEN: 2147483656,
200
+ DC_BRUSH: 2147483666,
201
+ DC_PEN: 2147483662
202
+ }, h = {
203
+ TEXT: 1,
204
+ LOMETRIC: 2,
205
+ HIMETRIC: 3,
206
+ LOENGLISH: 4,
207
+ HIENGLISH: 5,
208
+ TWIPS: 6,
209
+ ISOTROPIC: 7,
210
+ ANISOTROPIC: 8
211
+ }, g = () => ({
212
+ m11: 1,
213
+ m12: 0,
214
+ m21: 0,
215
+ m22: 1,
216
+ dx: 0,
217
+ dy: 0
218
+ });
219
+ function _(e, t) {
220
+ return {
221
+ m11: e.m11 * t.m11 + e.m21 * t.m12,
222
+ m12: e.m12 * t.m11 + e.m22 * t.m12,
223
+ m21: e.m11 * t.m21 + e.m21 * t.m22,
224
+ m22: e.m12 * t.m21 + e.m22 * t.m22,
225
+ dx: e.m11 * t.dx + e.m21 * t.dy + e.dx,
226
+ dy: e.m12 * t.dx + e.m22 * t.dy + e.dy
227
+ };
228
+ }
229
+ var v = class {
230
+ p;
231
+ constructor(e, t, n) {
232
+ this.dv = e, this.end = n, this.p = t;
233
+ }
234
+ get pos() {
235
+ return this.p;
236
+ }
237
+ set pos(e) {
238
+ this.p = e;
239
+ }
240
+ get remaining() {
241
+ return this.end - this.p;
242
+ }
243
+ i16() {
244
+ let e = this.dv.getInt16(this.p, !0);
245
+ return this.p += 2, e;
246
+ }
247
+ i32() {
248
+ let e = this.dv.getInt32(this.p, !0);
249
+ return this.p += 4, e;
250
+ }
251
+ u32() {
252
+ let e = this.dv.getUint32(this.p, !0);
253
+ return this.p += 4, e;
254
+ }
255
+ f32() {
256
+ let e = this.dv.getFloat32(this.p, !0);
257
+ return this.p += 4, e;
258
+ }
259
+ xform() {
260
+ return {
261
+ m11: this.f32(),
262
+ m12: this.f32(),
263
+ m21: this.f32(),
264
+ m22: this.f32(),
265
+ dx: this.f32(),
266
+ dy: this.f32()
267
+ };
268
+ }
269
+ skip(e) {
270
+ this.p += e;
271
+ }
272
+ };
273
+ function y(e, t, n) {
274
+ return e.wt.m11 * t + e.wt.m21 * n + e.wt.dx;
275
+ }
276
+ function b(e, t, n) {
277
+ return e.wt.m12 * t + e.wt.m22 * n + e.wt.dy;
278
+ }
279
+ function x(e) {
280
+ return e.winExtX === 0 ? 1 : e.vpExtX / e.winExtX;
281
+ }
282
+ function S(e) {
283
+ return e.winExtY === 0 ? 1 : e.vpExtY / e.winExtY;
284
+ }
285
+ function C(e) {
286
+ return Math.min(Math.abs(x(e)), Math.abs(S(e)));
287
+ }
288
+ function ee(e) {
289
+ return e.mapMode === h.ISOTROPIC ? x(e) < 0 ? -C(e) : C(e) : x(e);
290
+ }
291
+ function te(e) {
292
+ return e.mapMode === h.ISOTROPIC ? S(e) < 0 ? -C(e) : C(e) : S(e);
293
+ }
294
+ function ne(e, t) {
295
+ return (t - e.winOrgX) * ee(e) + e.vpOrgX;
296
+ }
297
+ function re(e, t) {
298
+ return (t - e.winOrgY) * te(e) + e.vpOrgY;
299
+ }
300
+ function w(e, t, n) {
301
+ let r = ne(e, y(e, t, n)), i = re(e, b(e, t, n));
302
+ return [(r - e.left) * e.W / e.boundsW, (i - e.top) * e.H / e.boundsH];
303
+ }
304
+ function ie(e) {
305
+ return (Math.hypot(e.wt.m11, e.wt.m12) + Math.hypot(e.wt.m21, e.wt.m22)) / 2;
306
+ }
307
+ function ae(e) {
308
+ return (Math.abs(ee(e)) + Math.abs(te(e))) / 2;
309
+ }
310
+ function oe(e) {
311
+ return (e.W / e.boundsW + e.H / e.boundsH) / 2;
312
+ }
313
+ function se(e) {
314
+ return Math.hypot(e.wt.m21, e.wt.m22);
315
+ }
316
+ function ce(e) {
317
+ return e.H / e.boundsH;
318
+ }
319
+ function T(e, t) {
320
+ let n = t * ie(e) * ae(e) * oe(e);
321
+ return Math.max(.75, n);
322
+ }
323
+ function le(e, t) {
324
+ if (e.mapMode = t, t === h.TEXT) {
325
+ e.winOrgX = 0, e.winOrgY = 0, e.vpOrgX = 0, e.vpOrgY = 0, e.winExtX = 1, e.winExtY = 1, e.vpExtX = 1, e.vpExtY = 1;
326
+ return;
327
+ }
328
+ if (t === h.ANISOTROPIC || t === h.ISOTROPIC || e.devPxPerMmX <= 0 || e.devPxPerMmY <= 0) return;
329
+ let n = 25.4, r = t === h.LOMETRIC ? .1 : t === h.HIMETRIC ? .01 : t === h.LOENGLISH ? .01 * n : t === h.HIENGLISH ? .001 * n : t === h.TWIPS ? n / 1440 : 0;
330
+ r <= 0 || (e.winOrgX = 0, e.winOrgY = 0, e.vpOrgX = 0, e.vpOrgY = 0, e.winExtX = 1, e.winExtY = 1, e.vpExtX = r * e.devPxPerMmX, e.vpExtY = -(r * e.devPxPerMmY));
331
+ }
332
+ var ue = {
333
+ [m.WHITE_BRUSH]: {
334
+ kind: "brush",
335
+ fill: "#ffffff"
336
+ },
337
+ [m.LTGRAY_BRUSH]: {
338
+ kind: "brush",
339
+ fill: "#c0c0c0"
340
+ },
341
+ [m.GRAY_BRUSH]: {
342
+ kind: "brush",
343
+ fill: "#808080"
344
+ },
345
+ [m.DKGRAY_BRUSH]: {
346
+ kind: "brush",
347
+ fill: "#404040"
348
+ },
349
+ [m.BLACK_BRUSH]: {
350
+ kind: "brush",
351
+ fill: "#000000"
352
+ },
353
+ [m.NULL_BRUSH]: {
354
+ kind: "brush",
355
+ fill: null
356
+ }
357
+ }, de = {
358
+ [m.WHITE_PEN]: {
359
+ kind: "pen",
360
+ stroke: "#ffffff",
361
+ width: 1
362
+ },
363
+ [m.BLACK_PEN]: {
364
+ kind: "pen",
365
+ stroke: "#000000",
366
+ width: 1
367
+ },
368
+ [m.NULL_PEN]: {
369
+ kind: "pen",
370
+ stroke: null,
371
+ width: 1
372
+ },
373
+ [m.DC_PEN]: {
374
+ kind: "pen",
375
+ stroke: "#000000",
376
+ width: 1
377
+ }
378
+ };
379
+ function fe(e, t) {
380
+ let n = ue[t];
381
+ if (n) {
382
+ e.curBrush = n;
383
+ return;
384
+ }
385
+ let r = de[t];
386
+ if (r) {
387
+ e.curPen = r;
388
+ return;
389
+ }
390
+ t === m.DC_BRUSH && (e.curBrush = e.curBrush ?? {
391
+ kind: "brush",
392
+ fill: "#000000"
393
+ });
394
+ }
395
+ function pe(e) {
396
+ let t = 0, n = 0, r = 0, i = 0;
397
+ for (let a = 0; a < e.data.length; a += 4) e.data[a + 3] !== 0 && (t += e.data[a], n += e.data[a + 1], r += e.data[a + 2], i++);
398
+ if (i === 0) return "#808080";
399
+ let a = (e) => Math.round(e / i).toString(16).padStart(2, "0");
400
+ return `#${a(t)}${a(n)}${a(r)}`;
401
+ }
402
+ var E = (e) => [e.i16(), e.i16()], D = (e) => [e.i32(), e.i32()];
403
+ function me(e, t, n) {
404
+ t.skip(16);
405
+ let r = t.u32();
406
+ if (r < 2 || r > 1048576 || !e.curPen || e.curPen.stroke == null) return;
407
+ let { ctx: i } = e;
408
+ i.beginPath();
409
+ let a = 0, o = 0;
410
+ for (let s = 0; s < r && !(t.remaining < 4); s++) {
411
+ let [r, c] = n(t), [l, u] = w(e, r, c);
412
+ s === 0 ? i.moveTo(l, u) : i.lineTo(l, u), a = r, o = c;
413
+ }
414
+ i.strokeStyle = e.curPen.stroke, i.lineWidth = T(e, e.curPen.width), i.stroke(), e.drew = !0, e.curX = a, e.curY = o;
415
+ }
416
+ function he(e, t, n) {
417
+ t.skip(16);
418
+ let r = t.u32();
419
+ if (r < 1 || r > 1048576) return;
420
+ let { ctx: i } = e, a = e.curPen != null && e.curPen.stroke != null;
421
+ if (a) {
422
+ i.beginPath();
423
+ let [t, n] = w(e, e.curX, e.curY);
424
+ i.moveTo(t, n);
425
+ }
426
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
427
+ let [r, o] = n(t);
428
+ if (a) {
429
+ let [t, n] = w(e, r, o);
430
+ i.lineTo(t, n);
431
+ }
432
+ e.curX = r, e.curY = o;
433
+ }
434
+ a && e.curPen && (i.strokeStyle = e.curPen.stroke, i.lineWidth = T(e, e.curPen.width), i.stroke(), e.drew = !0);
435
+ }
436
+ function ge(e, t, n) {
437
+ t.skip(16);
438
+ let r = t.u32();
439
+ if (r < 2 || r > 1048576) return;
440
+ let { ctx: i } = e;
441
+ e.inPath || i.beginPath();
442
+ let a = !1;
443
+ for (let o = 0; o < r && !(t.remaining < 4); o++) {
444
+ let [r, o] = n(t), [s, c] = w(e, r, o);
445
+ a ? i.lineTo(s, c) : (i.moveTo(s, c), a = !0);
446
+ }
447
+ a && (i.closePath(), !e.inPath && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = T(e, e.curPen.width), i.stroke(), e.drew = !0)));
448
+ }
449
+ function O(e, t, n, r) {
450
+ t.skip(16);
451
+ let i = t.u32();
452
+ if (i < 1 || i > 1048576) return;
453
+ let a = [];
454
+ for (let e = 0; e < i && !(t.remaining < 4); e++) a.push(n(t));
455
+ if (a.length < (r ? 3 : 4)) {
456
+ a.length && (e.curX = a[a.length - 1][0], e.curY = a[a.length - 1][1]);
457
+ return;
458
+ }
459
+ let o = e.curPen != null && e.curPen.stroke != null, { ctx: s } = e;
460
+ if (o) {
461
+ s.beginPath();
462
+ let t = r ? w(e, e.curX, e.curY) : w(e, a[0][0], a[0][1]);
463
+ s.moveTo(t[0], t[1]);
464
+ }
465
+ let c = +!r;
466
+ for (; c + 2 < a.length + +!!r; c += 3) {
467
+ let t = a[c], n = a[c + 1], r = a[c + 2];
468
+ if (!t || !n || !r) break;
469
+ if (o) {
470
+ let i = w(e, t[0], t[1]), a = w(e, n[0], n[1]), o = w(e, r[0], r[1]);
471
+ s.bezierCurveTo(i[0], i[1], a[0], a[1], o[0], o[1]);
472
+ }
473
+ e.curX = r[0], e.curY = r[1];
474
+ }
475
+ o && e.curPen && (s.strokeStyle = e.curPen.stroke, s.lineWidth = T(e, e.curPen.width), s.stroke(), e.drew = !0);
476
+ }
477
+ function k(e, t, n, r) {
478
+ t.skip(16);
479
+ let i = t.u32(), a = t.u32();
480
+ if (i <= 0 || i > 65536 || a <= 0 || a > 2097152) return;
481
+ let o = [];
482
+ for (let e = 0; e < i; e++) {
483
+ if (t.remaining < 4) return;
484
+ o.push(t.u32());
485
+ }
486
+ let { ctx: s } = e;
487
+ e.inPath || s.beginPath();
488
+ let c = !1;
489
+ for (let i of o) {
490
+ if (i < 2) {
491
+ for (let e = 0; e < i && t.remaining >= 4; e++) n(t);
492
+ continue;
493
+ }
494
+ for (let r = 0; r < i && !(t.remaining < 4); r++) {
495
+ let [i, a] = n(t), [o, c] = w(e, i, a);
496
+ r === 0 ? s.moveTo(o, c) : s.lineTo(o, c);
497
+ }
498
+ r && s.closePath(), c = !0;
499
+ }
500
+ !c || e.inPath || (r && e.curBrush && e.curBrush.fill != null && (s.fillStyle = e.curBrush.fill, s.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (s.strokeStyle = e.curPen.stroke, s.lineWidth = T(e, e.curPen.width), s.stroke(), e.drew = !0));
501
+ }
502
+ function _e(e, t, n, r, i) {
503
+ let { ctx: a } = e, o = w(e, t, n), s = w(e, r, n), c = w(e, r, i), l = w(e, t, i);
504
+ e.inPath || a.beginPath(), a.moveTo(o[0], o[1]), a.lineTo(s[0], s[1]), a.lineTo(c[0], c[1]), a.lineTo(l[0], l[1]), a.closePath(), !e.inPath && (e.curBrush && e.curBrush.fill != null && (a.fillStyle = e.curBrush.fill, a.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (a.strokeStyle = e.curPen.stroke, a.lineWidth = T(e, e.curPen.width), a.stroke(), e.drew = !0));
505
+ }
506
+ function ve(e) {
507
+ let t = e.u32(), n = e.u32(), r = e.i32();
508
+ e.i32();
509
+ let i = e.u32();
510
+ return [t, {
511
+ kind: "pen",
512
+ stroke: (n & 255) == 5 ? null : M(i),
513
+ width: Math.abs(r)
514
+ }];
515
+ }
516
+ function ye(e) {
517
+ let t = e.u32();
518
+ e.skip(16);
519
+ let n = e.u32(), r = e.u32();
520
+ e.u32();
521
+ let i = e.u32();
522
+ return [t, {
523
+ kind: "pen",
524
+ stroke: (n & 255) == 5 ? null : M(i),
525
+ width: Math.abs(r)
526
+ }];
527
+ }
528
+ function be(e) {
529
+ let t = e.u32(), n = e.u32(), r = e.u32();
530
+ return e.u32(), [t, {
531
+ kind: "brush",
532
+ fill: n === 1 ? null : M(r)
533
+ }];
534
+ }
535
+ function xe(e, t, n) {
536
+ let r = e.u32();
537
+ e.u32();
538
+ let i = e.u32(), a = e.u32(), o = e.u32(), s = e.u32(), c = "#808080";
539
+ try {
540
+ let e = u(t, n + i, a, n + o, s);
541
+ e && (c = pe(e));
542
+ } catch {}
543
+ return [r, {
544
+ kind: "brush",
545
+ fill: c
546
+ }];
547
+ }
548
+ function Se(e, t, n) {
549
+ let r = e.u32(), i = n + 12, a = t.getInt32(i, !0), o = t.getInt32(i + 8, !0), s = t.getInt32(i + 16, !0), c = t.getUint8(i + 20), l = "";
550
+ for (let e = 0; e < 32; e++) {
551
+ let n = i + 28 + e * 2;
552
+ if (n + 2 > t.byteLength) break;
553
+ let r = t.getUint16(n, !0);
554
+ if (r === 0) break;
555
+ l += String.fromCharCode(r);
556
+ }
557
+ return [r, {
558
+ kind: "font",
559
+ height: Math.abs(a),
560
+ weight: s,
561
+ italic: c !== 0,
562
+ face: l,
563
+ escapement: o
564
+ }];
565
+ }
566
+ function Ce(e, t, n, r) {
567
+ t.skip(16), t.u32(), t.f32(), t.f32();
568
+ let i = t.i32(), a = t.i32(), o = t.u32(), s = t.u32();
569
+ if (t.u32(), o <= 0 || o > 65536) return;
570
+ let c = "";
571
+ for (let e = 0; e < o; e++) {
572
+ let t = r + s + e * 2;
573
+ if (t + 2 > n.byteLength) break;
574
+ c += String.fromCharCode(n.getUint16(t, !0));
575
+ }
576
+ if (c.length === 0) return;
577
+ let l = e.curFont, u = Math.abs(l?.height ?? 0) * se(e) * Math.abs(te(e)) * ce(e);
578
+ if (!Number.isFinite(u) || u < 1) return;
579
+ let { ctx: d } = e, [f, p] = w(e, i, a);
580
+ d.fillStyle = e.textColor;
581
+ let m = l && l.weight >= 700 ? "bold " : "";
582
+ d.font = `${l?.italic ? "italic " : ""}${m}${u}px ${l?.face || "sans-serif"}`;
583
+ let h = e.textAlign & 6;
584
+ d.textAlign = h === 2 ? "right" : h === 6 ? "center" : "left", d.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top";
585
+ let g = l?.escapement ?? 0;
586
+ try {
587
+ if (g !== 0) {
588
+ d.save();
589
+ try {
590
+ d.translate(f, p), d.rotate(-g / 10 * (Math.PI / 180)), d.fillText(c, 0, 0);
591
+ } finally {
592
+ d.restore();
593
+ }
594
+ } else d.fillText(c, f, p);
595
+ e.drew = !0;
596
+ } catch {}
597
+ }
598
+ function we(e, t, n, r, i, a, o, s, c, l, d) {
599
+ if (i === 0 || o === 0) return;
600
+ let p = u(t, n + r, i, n + a, o);
601
+ if (!p) return;
602
+ let [m, h] = w(e, s, c), [g, _] = w(e, l, d);
603
+ f(e.ctx, p, m, h, g, _) && (e.drew = !0);
604
+ }
605
+ function Te(e, t, n, r) {
606
+ t.skip(16);
607
+ let i = t.i32(), a = t.i32(), o = t.i32(), s = t.i32();
608
+ t.u32(), t.i32(), t.i32(), t.skip(24), t.u32(), t.u32(), we(e, n, r, t.u32(), t.u32(), t.u32(), t.u32(), i, a, i + o, a + s);
609
+ }
610
+ function Ee(e, t, n, r) {
611
+ t.skip(16);
612
+ let i = t.i32(), a = t.i32();
613
+ t.i32(), t.i32(), t.i32(), t.i32();
614
+ let o = t.u32(), s = t.u32(), c = t.u32(), l = t.u32();
615
+ t.u32(), t.u32();
616
+ let u = t.i32(), d = t.i32();
617
+ we(e, n, r, o, s, c, l, i, a, i + u, a + d);
618
+ }
619
+ function De(e, t, n, r) {
620
+ if (!We(e) || n <= 0 || r <= 0) return !1;
621
+ let i = new DataView(e.buffer, e.byteOffset, e.byteLength), a = {
622
+ ctx: t,
623
+ W: n,
624
+ H: r,
625
+ left: 0,
626
+ top: 0,
627
+ boundsW: n,
628
+ boundsH: r,
629
+ wt: g(),
630
+ mapMode: h.TEXT,
631
+ winOrgX: 0,
632
+ winOrgY: 0,
633
+ winExtX: 1,
634
+ winExtY: 1,
635
+ vpOrgX: 0,
636
+ vpOrgY: 0,
637
+ vpExtX: 1,
638
+ vpExtY: 1,
639
+ devPxPerMmX: 0,
640
+ devPxPerMmY: 0,
641
+ objects: /* @__PURE__ */ new Map(),
642
+ curPen: null,
643
+ curBrush: null,
644
+ curFont: null,
645
+ textColor: "#000000",
646
+ bkMode: 1,
647
+ textAlign: 0,
648
+ fillRule: "nonzero",
649
+ curX: 0,
650
+ curY: 0,
651
+ stack: [],
652
+ drew: !1,
653
+ inPath: !1
654
+ }, o = 0;
655
+ for (; o + 8 <= e.length;) {
656
+ let n = i.getUint32(o, !0), r = i.getUint32(o + 4, !0);
657
+ if (r < 8 || r & 3) break;
658
+ let s = o + r;
659
+ if (s > e.length || n === p.EOF) break;
660
+ let c = new v(i, o + 8, s);
661
+ try {
662
+ switch (n) {
663
+ case p.HEADER: {
664
+ let e = i.getInt32(o + 8, !0), t = i.getInt32(o + 12, !0), n = i.getInt32(o + 16, !0), r = i.getInt32(o + 20, !0);
665
+ if (a.left = e, a.top = t, a.boundsW = Math.max(1, n - e), a.boundsH = Math.max(1, r - t), s >= o + 88) {
666
+ let e = i.getInt32(o + 24, !0), t = i.getInt32(o + 28, !0), n = i.getInt32(o + 32, !0), r = i.getInt32(o + 36, !0), s = i.getInt32(o + 72, !0), c = i.getInt32(o + 76, !0), l = i.getInt32(o + 80, !0), u = i.getInt32(o + 84, !0), d = n - e, f = r - t;
667
+ if (d > 0 && f > 0 && s > 0 && c > 0 && l > 0 && u > 0) {
668
+ let n = s / (l * 100), r = c / (u * 100);
669
+ a.left = e * n, a.top = t * r, a.boundsW = Math.max(1, d * n), a.boundsH = Math.max(1, f * r), a.devPxPerMmX = s / l, a.devPxPerMmY = c / u;
670
+ }
671
+ }
672
+ break;
673
+ }
674
+ case p.SETWORLDTRANSFORM:
675
+ a.wt = c.xform();
676
+ break;
677
+ case p.MODIFYWORLDTRANSFORM: {
678
+ let e = c.xform(), t = c.u32();
679
+ t === 1 ? a.wt = g() : t === 2 ? a.wt = _(e, a.wt) : t === 3 ? a.wt = _(a.wt, e) : t === 4 && (a.wt = e);
680
+ break;
681
+ }
682
+ case p.SETMAPMODE:
683
+ le(a, c.u32());
684
+ break;
685
+ case p.SETWINDOWORGEX:
686
+ a.winOrgX = c.i32(), a.winOrgY = c.i32();
687
+ break;
688
+ case p.SETWINDOWEXTEX: {
689
+ let e = c.i32(), t = c.i32();
690
+ e !== 0 && (a.winExtX = e), t !== 0 && (a.winExtY = t);
691
+ break;
692
+ }
693
+ case p.SETVIEWPORTORGEX:
694
+ a.vpOrgX = c.i32(), a.vpOrgY = c.i32();
695
+ break;
696
+ case p.SETVIEWPORTEXTEX: {
697
+ let e = c.i32(), t = c.i32();
698
+ e !== 0 && (a.vpExtX = e), t !== 0 && (a.vpExtY = t);
699
+ break;
700
+ }
701
+ case p.SCALEWINDOWEXTEX: {
702
+ let e = c.i32(), t = c.i32(), n = c.i32(), r = c.i32();
703
+ t !== 0 && (a.winExtX = a.winExtX * e / t), r !== 0 && (a.winExtY = a.winExtY * n / r);
704
+ break;
705
+ }
706
+ case p.SCALEVIEWPORTEXTEX: {
707
+ let e = c.i32(), t = c.i32(), n = c.i32(), r = c.i32();
708
+ t !== 0 && (a.vpExtX = a.vpExtX * e / t), r !== 0 && (a.vpExtY = a.vpExtY * n / r);
709
+ break;
710
+ }
711
+ case p.SAVEDC:
712
+ a.ctx.save(), a.stack.push({
713
+ wt: { ...a.wt },
714
+ mapMode: a.mapMode,
715
+ winOrgX: a.winOrgX,
716
+ winOrgY: a.winOrgY,
717
+ winExtX: a.winExtX,
718
+ winExtY: a.winExtY,
719
+ vpOrgX: a.vpOrgX,
720
+ vpOrgY: a.vpOrgY,
721
+ vpExtX: a.vpExtX,
722
+ vpExtY: a.vpExtY,
723
+ curPen: a.curPen,
724
+ curBrush: a.curBrush,
725
+ curFont: a.curFont,
726
+ textColor: a.textColor,
727
+ bkMode: a.bkMode,
728
+ textAlign: a.textAlign,
729
+ fillRule: a.fillRule,
730
+ curX: a.curX,
731
+ curY: a.curY
732
+ });
733
+ break;
734
+ case p.RESTOREDC: {
735
+ let e = c.i32(), t = Math.min(Math.abs(e) || 1, a.stack.length), n;
736
+ for (let e = 0; e < t; e++) n = a.stack.pop(), a.ctx.restore();
737
+ n && (a.wt = n.wt, a.mapMode = n.mapMode, a.winOrgX = n.winOrgX, a.winOrgY = n.winOrgY, a.winExtX = n.winExtX, a.winExtY = n.winExtY, a.vpOrgX = n.vpOrgX, a.vpOrgY = n.vpOrgY, a.vpExtX = n.vpExtX, a.vpExtY = n.vpExtY, a.curPen = n.curPen, a.curBrush = n.curBrush, a.curFont = n.curFont, a.textColor = n.textColor, a.bkMode = n.bkMode, a.textAlign = n.textAlign, a.fillRule = n.fillRule, a.curX = n.curX, a.curY = n.curY);
738
+ break;
739
+ }
740
+ case p.BEGINPATH:
741
+ a.ctx.beginPath(), a.inPath = !0;
742
+ break;
743
+ case p.CLOSEFIGURE:
744
+ a.inPath && a.ctx.closePath();
745
+ break;
746
+ case p.ENDPATH:
747
+ a.inPath = !1;
748
+ break;
749
+ case p.SELECTCLIPPATH:
750
+ try {
751
+ a.ctx.clip(a.fillRule);
752
+ } catch {}
753
+ break;
754
+ case p.SELECTOBJECT: {
755
+ let e = c.u32();
756
+ if (e & 2147483648) fe(a, e >>> 0);
757
+ else {
758
+ let t = a.objects.get(e);
759
+ t?.kind === "pen" ? a.curPen = t : t?.kind === "brush" ? a.curBrush = t : t?.kind === "font" && (a.curFont = t);
760
+ }
761
+ break;
762
+ }
763
+ case p.DELETEOBJECT: {
764
+ let e = c.u32(), t = a.objects.get(e);
765
+ t && (t === a.curPen && (a.curPen = null), t === a.curBrush && (a.curBrush = null), t === a.curFont && (a.curFont = null), a.objects.delete(e));
766
+ break;
767
+ }
768
+ case p.CREATEPEN: {
769
+ let [e, t] = ve(c);
770
+ a.objects.set(e, t);
771
+ break;
772
+ }
773
+ case p.EXTCREATEPEN: {
774
+ let [e, t] = ye(c);
775
+ a.objects.set(e, t);
776
+ break;
777
+ }
778
+ case p.CREATEBRUSHINDIRECT: {
779
+ let [e, t] = be(c);
780
+ a.objects.set(e, t);
781
+ break;
782
+ }
783
+ case p.CREATEMONOBRUSH:
784
+ case p.CREATEDIBPATTERNBRUSHPT: {
785
+ let [e, t] = xe(c, i, o);
786
+ a.objects.set(e, t);
787
+ break;
788
+ }
789
+ case p.EXTCREATEFONTINDIRECTW: {
790
+ let [e, t] = Se(c, i, o);
791
+ a.objects.set(e, t);
792
+ break;
793
+ }
794
+ case p.POLYLINE16:
795
+ me(a, c, E);
796
+ break;
797
+ case p.POLYLINE:
798
+ me(a, c, D);
799
+ break;
800
+ case p.POLYLINETO16:
801
+ he(a, c, E);
802
+ break;
803
+ case p.POLYLINETO:
804
+ he(a, c, D);
805
+ break;
806
+ case p.POLYGON16:
807
+ ge(a, c, E);
808
+ break;
809
+ case p.POLYGON:
810
+ ge(a, c, D);
811
+ break;
812
+ case p.POLYBEZIER16:
813
+ O(a, c, E, !1);
814
+ break;
815
+ case p.POLYBEZIER:
816
+ O(a, c, D, !1);
817
+ break;
818
+ case p.POLYBEZIERTO16:
819
+ O(a, c, E, !0);
820
+ break;
821
+ case p.POLYBEZIERTO:
822
+ O(a, c, D, !0);
823
+ break;
824
+ case p.POLYPOLYGON16:
825
+ k(a, c, E, !0);
826
+ break;
827
+ case p.POLYPOLYGON:
828
+ k(a, c, D, !0);
829
+ break;
830
+ case p.POLYPOLYLINE16:
831
+ k(a, c, E, !1);
832
+ break;
833
+ case p.POLYPOLYLINE:
834
+ k(a, c, D, !1);
835
+ break;
836
+ case p.MOVETOEX:
837
+ a.curX = c.i32(), a.curY = c.i32();
838
+ break;
839
+ case p.LINETO: {
840
+ let e = c.i32(), n = c.i32();
841
+ if (a.curPen && a.curPen.stroke != null) {
842
+ let [r, i] = w(a, a.curX, a.curY), [o, s] = w(a, e, n);
843
+ t.beginPath(), t.moveTo(r, i), t.lineTo(o, s), t.strokeStyle = a.curPen.stroke, t.lineWidth = T(a, a.curPen.width), t.stroke(), a.drew = !0;
844
+ }
845
+ a.curX = e, a.curY = n;
846
+ break;
847
+ }
848
+ case p.RECTANGLE:
849
+ _e(a, c.i32(), c.i32(), c.i32(), c.i32());
850
+ break;
851
+ case p.ELLIPSE: {
852
+ let e = c.i32(), n = c.i32(), r = c.i32(), i = c.i32(), [o, s] = [(e + r) / 2, (n + i) / 2], [l, u] = w(a, o, s), [d] = w(a, r, s), [, f] = w(a, o, i), p = Math.abs(d - l), m = Math.abs(f - u);
853
+ t.beginPath(), t.ellipse(l, u, p, m, 0, 0, Math.PI * 2), a.curBrush && a.curBrush.fill != null && (t.fillStyle = a.curBrush.fill, t.fill(a.fillRule), a.drew = !0), a.curPen && a.curPen.stroke != null && (t.strokeStyle = a.curPen.stroke, t.lineWidth = T(a, a.curPen.width), t.stroke(), a.drew = !0);
854
+ break;
855
+ }
856
+ case p.SETPOLYFILLMODE:
857
+ a.fillRule = c.u32() === 1 ? "evenodd" : "nonzero";
858
+ break;
859
+ case p.SETTEXTCOLOR:
860
+ a.textColor = M(c.u32());
861
+ break;
862
+ case p.SETTEXTALIGN:
863
+ a.textAlign = c.u32();
864
+ break;
865
+ case p.SETBKMODE:
866
+ a.bkMode = c.u32();
867
+ break;
868
+ case p.EXTTEXTOUTW:
869
+ Ce(a, c, i, o);
870
+ break;
871
+ case p.BITBLT:
872
+ Te(a, c, i, o);
873
+ break;
874
+ case p.STRETCHDIBITS:
875
+ Ee(a, c, i, o);
876
+ break;
877
+ default: break;
878
+ }
879
+ } catch {}
880
+ o = s;
881
+ }
882
+ return a.drew;
883
+ }
884
+ async function Oe(e, n, r) {
885
+ if (!We(e) || n <= 0 || r <= 0) return null;
886
+ let i = t(n, r);
887
+ if (!i) return null;
888
+ let a = i.getContext("2d");
889
+ return !a || (a.lineJoin = "round", a.lineCap = "round", !De(e, a, n, r)) ? null : createImageBitmap(i);
890
+ }
891
+ //#endregion
892
+ //#region packages/core/src/image/raster-dimensions.ts
893
+ function ke(e, t) {
894
+ return e[t] << 8 | e[t + 1];
895
+ }
896
+ function Ae(e, t) {
897
+ return (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0;
898
+ }
899
+ function A(e, t) {
900
+ return e[t] | e[t + 1] << 8;
901
+ }
902
+ function je(e, t) {
903
+ return e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24 | 0;
904
+ }
905
+ function Me(e) {
906
+ let t = e.length;
907
+ return t >= 24 && e[0] === 137 && e[1] === 80 && e[2] === 78 && e[3] === 71 && e[4] === 13 && e[5] === 10 && e[6] === 26 && e[7] === 10 ? e[12] === 73 && e[13] === 72 && e[14] === 68 && e[15] === 82 ? {
908
+ width: Ae(e, 16),
909
+ height: Ae(e, 20)
910
+ } : null : t >= 10 && e[0] === 71 && e[1] === 73 && e[2] === 70 && e[3] === 56 && (e[4] === 55 || e[4] === 57) && e[5] === 97 ? {
911
+ width: A(e, 6),
912
+ height: A(e, 8)
913
+ } : t >= 26 && e[0] === 66 && e[1] === 77 ? Ne(e, 14) === 12 ? {
914
+ width: A(e, 18),
915
+ height: A(e, 20)
916
+ } : {
917
+ width: Math.abs(je(e, 18)),
918
+ height: Math.abs(je(e, 22))
919
+ } : t >= 16 && e[0] === 82 && e[1] === 73 && e[2] === 70 && e[3] === 70 && e[8] === 87 && e[9] === 69 && e[10] === 66 && e[11] === 80 ? Pe(e) : t >= 4 && e[0] === 255 && e[1] === 216 ? Fe(e) : null;
920
+ }
921
+ function Ne(e, t) {
922
+ return (e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24) >>> 0;
923
+ }
924
+ function Pe(e) {
925
+ let t = e.length, n = e[12], r = e[13], i = e[14], a = e[15];
926
+ if (n === 86 && r === 80 && i === 56 && a === 32) return t < 30 ? null : {
927
+ width: A(e, 26) & 16383,
928
+ height: A(e, 28) & 16383
929
+ };
930
+ if (n === 86 && r === 80 && i === 56 && a === 76) {
931
+ if (t < 25 || e[20] !== 47) return null;
932
+ let n = Ne(e, 21);
933
+ return {
934
+ width: (n & 16383) + 1,
935
+ height: (n >>> 14 & 16383) + 1
936
+ };
937
+ }
938
+ return n === 86 && r === 80 && i === 56 && a === 88 ? t < 30 ? null : {
939
+ width: (e[24] | e[25] << 8 | e[26] << 16) + 1,
940
+ height: (e[27] | e[28] << 8 | e[29] << 16) + 1
941
+ } : null;
942
+ }
943
+ function Fe(e) {
944
+ let t = e.length, n = 2;
945
+ for (; n + 1 < t;) {
946
+ if (e[n] !== 255) {
947
+ n += 1;
948
+ continue;
949
+ }
950
+ let r = e[n + 1];
951
+ if (r === 255) {
952
+ n += 1;
953
+ continue;
954
+ }
955
+ if (r === 216 || r === 1 || r >= 208 && r <= 215) {
956
+ n += 2;
957
+ continue;
958
+ }
959
+ if (r === 217 || n + 3 >= t) return null;
960
+ let i = ke(e, n + 2);
961
+ if (r >= 192 && r <= 207 && r !== 196 && r !== 200 && r !== 204) {
962
+ if (n + 8 >= t) return null;
963
+ let r = ke(e, n + 5);
964
+ return {
965
+ width: ke(e, n + 7),
966
+ height: r
967
+ };
968
+ }
969
+ if (i < 2) return null;
970
+ n += 2 + i;
971
+ }
972
+ return null;
973
+ }
974
+ function Ie(e) {
975
+ let { width: t, height: n } = e;
976
+ return !Number.isFinite(t) || !Number.isFinite(n) || t <= 0 || n <= 0 || t > 32767 || n > 32767 ? !0 : t * n > i;
977
+ }
978
+ //#endregion
979
+ //#region packages/core/src/image/image-bitmap-lifecycle.ts
980
+ function Le(e) {
981
+ let t = e.close;
982
+ typeof t == "function" && t.call(e);
983
+ }
984
+ //#endregion
985
+ //#region packages/core/src/image/wmf.ts
986
+ var j = {
987
+ EOF: 0,
988
+ SETBKMODE: 258,
989
+ SETTEXTALIGN: 302,
990
+ SETTEXTCOLOR: 521,
991
+ SETPOLYFILLMODE: 262,
992
+ SETWINDOWORG: 523,
993
+ SETWINDOWEXT: 524,
994
+ SELECTOBJECT: 301,
995
+ DELETEOBJECT: 496,
996
+ TEXTOUT: 1313,
997
+ POLYGON: 804,
998
+ POLYLINE: 805,
999
+ POLYPOLYGON: 1336,
1000
+ RECTANGLE: 1051,
1001
+ CREATEPENINDIRECT: 762,
1002
+ CREATEFONTINDIRECT: 763,
1003
+ CREATEBRUSHINDIRECT: 764,
1004
+ DIBBITBLT: 2368,
1005
+ DIBSTRETCHBLT: 2881,
1006
+ STRETCHDIBITS: 3907
1007
+ }, Re = 2596720087, ze = 22, Be = 18, Ve = 1179469088;
1008
+ function He(e, t) {
1009
+ if (e.length < t + Be) return !1;
1010
+ let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
1011
+ return (n === 1 || n === 2) && r === 9;
1012
+ }
1013
+ function Ue(e) {
1014
+ return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === Re ? !0 : He(e, 0);
1015
+ }
1016
+ function We(e) {
1017
+ if (e.length < 44) return !1;
1018
+ let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
1019
+ return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === Ve;
1020
+ }
1021
+ function Ge(e) {
1022
+ return e === "image/wmf" || e === "image/emf";
1023
+ }
1024
+ function M(e) {
1025
+ let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
1026
+ return `#${i(t)}${i(n)}${i(r)}`;
1027
+ }
1028
+ function Ke(e, t) {
1029
+ for (let n = 0; n < e.length; n++) if (e[n] == null) {
1030
+ e[n] = t;
1031
+ return;
1032
+ }
1033
+ e.push(t);
1034
+ }
1035
+ var qe = class {
1036
+ p = 0;
1037
+ constructor(e, t, n) {
1038
+ this.b = e, this.end = n, this.p = t;
1039
+ }
1040
+ get remaining() {
1041
+ return this.end - this.p;
1042
+ }
1043
+ i16() {
1044
+ let e = this.u16();
1045
+ return e >= 32768 ? e - 65536 : e;
1046
+ }
1047
+ u16() {
1048
+ let e = this.b[this.p] | this.b[this.p + 1] << 8;
1049
+ return this.p += 2, e;
1050
+ }
1051
+ u8() {
1052
+ return this.b[this.p++];
1053
+ }
1054
+ u32() {
1055
+ let e = (this.b[this.p] | this.b[this.p + 1] << 8 | this.b[this.p + 2] << 16 | this.b[this.p + 3] << 24) >>> 0;
1056
+ return this.p += 4, e;
1057
+ }
1058
+ bytes(e) {
1059
+ let t = Math.min(this.p + Math.max(0, e), this.end), n = this.b.subarray(this.p, t);
1060
+ return this.p = t, n;
1061
+ }
1062
+ skip(e) {
1063
+ this.p = Math.min(this.p + Math.max(0, e), this.end);
1064
+ }
1065
+ };
1066
+ function N(e, t) {
1067
+ return (t - e.orgX) * (e.W / e.extX);
1068
+ }
1069
+ function P(e, t) {
1070
+ return (t - e.orgY) * (e.H / e.extY);
1071
+ }
1072
+ function Je(e, t) {
1073
+ let n = t * Math.abs(e.W / e.extX);
1074
+ return n >= 1 ? n : 1;
1075
+ }
1076
+ var F = .001;
1077
+ function I(e, t, n) {
1078
+ return Math.abs(e - t) <= F || Math.abs(e - n) <= F;
1079
+ }
1080
+ function Ye(e, t, n) {
1081
+ let r = [], i = n ? t.length : t.length - 1;
1082
+ for (let n = 0; n < i; n++) {
1083
+ let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= F && I(i[0], 0, e.W) && I(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= F && I(i[1], 0, e.H) && I(a[1], 0, e.H);
1084
+ o || s || r.push([i, a]);
1085
+ }
1086
+ return r;
1087
+ }
1088
+ function Xe(e, t, n) {
1089
+ if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
1090
+ let { ctx: r } = e;
1091
+ if (r.strokeStyle = e.curPen.stroke, r.lineWidth = Je(e, e.curPen.width), !e.suppressBoundaryFrame) {
1092
+ r.beginPath(), r.moveTo(t[0][0], t[0][1]);
1093
+ for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
1094
+ n && r.closePath(), r.stroke(), e.drew = !0;
1095
+ return;
1096
+ }
1097
+ let i = Ye(e, t, n);
1098
+ if (i.length === 0) return;
1099
+ r.beginPath();
1100
+ let a = null;
1101
+ for (let [e, t] of i) (!a || a[0] !== e[0] || a[1] !== e[1]) && r.moveTo(e[0], e[1]), r.lineTo(t[0], t[1]), a = t;
1102
+ r.stroke(), e.drew = !0;
1103
+ }
1104
+ function Ze(e, t, n) {
1105
+ let r = [];
1106
+ for (let i = 0; i < n && !(t.remaining < 4); i++) {
1107
+ let n = t.i16(), i = t.i16();
1108
+ r.push([N(e, n), P(e, i)]);
1109
+ }
1110
+ return r;
1111
+ }
1112
+ function Qe(e, t) {
1113
+ t.length < 2 || !e.curPen || e.curPen.stroke == null || Xe(e, t, !1);
1114
+ }
1115
+ function $e(e, t) {
1116
+ if (t.length < 2) return;
1117
+ let { ctx: n } = e;
1118
+ if (e.curBrush && e.curBrush.fill != null) {
1119
+ n.beginPath(), n.moveTo(t[0][0], t[0][1]);
1120
+ for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
1121
+ n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
1122
+ }
1123
+ Xe(e, t, !0);
1124
+ }
1125
+ function et(e, t) {
1126
+ let n = t.u16();
1127
+ if (n <= 0 || n > 65536) return;
1128
+ let r = [];
1129
+ for (let e = 0; e < n; e++) {
1130
+ if (t.remaining < 2) return;
1131
+ r.push(t.u16());
1132
+ }
1133
+ let { ctx: i } = e;
1134
+ i.beginPath();
1135
+ let a = !1;
1136
+ for (let n of r) {
1137
+ if (n < 2) {
1138
+ for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
1139
+ continue;
1140
+ }
1141
+ let r = Ze(e, t, n);
1142
+ if (!(r.length < 2)) {
1143
+ i.moveTo(r[0][0], r[0][1]);
1144
+ for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
1145
+ i.closePath(), a = !0;
1146
+ }
1147
+ }
1148
+ a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = Je(e, e.curPen.width), i.stroke(), e.drew = !0));
1149
+ }
1150
+ function tt(e) {
1151
+ let t = e.u16(), n = e.i16();
1152
+ e.i16();
1153
+ let r = e.u32();
1154
+ return {
1155
+ kind: "pen",
1156
+ stroke: (t & 255) == 5 ? null : M(r),
1157
+ width: Math.abs(n)
1158
+ };
1159
+ }
1160
+ function nt(e) {
1161
+ let t = e.u16(), n = e.u32();
1162
+ return e.u16(), {
1163
+ kind: "brush",
1164
+ fill: t === 1 ? null : M(n)
1165
+ };
1166
+ }
1167
+ function rt(e) {
1168
+ let t = e.indexOf(0), n = t >= 0 ? e.subarray(0, t) : e;
1169
+ if (n.length === 0) return "";
1170
+ try {
1171
+ return new TextDecoder("shift_jis").decode(n);
1172
+ } catch {
1173
+ return String.fromCharCode(...n);
1174
+ }
1175
+ }
1176
+ function it(e) {
1177
+ let t = Math.abs(e.i16());
1178
+ e.i16(), e.i16(), e.i16();
1179
+ let n = e.i16(), r = e.u8() !== 0;
1180
+ return e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), e.u8(), {
1181
+ kind: "font",
1182
+ height: t,
1183
+ weight: n,
1184
+ italic: r,
1185
+ face: rt(e.bytes(Math.min(32, e.remaining)))
1186
+ };
1187
+ }
1188
+ function at(e, t, n, r) {
1189
+ if (t.length === 0) return;
1190
+ let i = e.curFont, a = i?.height || 12, o = Math.abs(P(e, e.orgY + a) - P(e, e.orgY));
1191
+ if (!Number.isFinite(o) || o < 1) return;
1192
+ let { ctx: s } = e;
1193
+ try {
1194
+ s.fillStyle = e.textColor;
1195
+ let a = i && i.weight >= 700 ? "bold " : "";
1196
+ s.font = `${i?.italic ? "italic " : ""}${a}${o}px ${i?.face || "sans-serif"}`;
1197
+ let c = e.textAlign & 6;
1198
+ s.textAlign = c === 2 ? "right" : c === 6 ? "center" : "left", s.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top", s.fillText(t, N(e, n), P(e, r)), e.drew = !0;
1199
+ } catch {}
1200
+ }
1201
+ function ot(e, t, n, r, i = !1) {
1202
+ if (!Ue(e)) return !1;
1203
+ let a = 0;
1204
+ (e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === Re && (a = ze);
1205
+ let o = a + Be;
1206
+ if (o > e.length) return !1;
1207
+ let s = {
1208
+ ctx: t,
1209
+ W: n,
1210
+ H: r,
1211
+ orgX: 0,
1212
+ orgY: 0,
1213
+ extX: n || 1,
1214
+ extY: r || 1,
1215
+ haveExt: !1,
1216
+ objects: [],
1217
+ curPen: null,
1218
+ curBrush: null,
1219
+ curFont: null,
1220
+ textColor: "#000000",
1221
+ textAlign: 0,
1222
+ fillRule: "nonzero",
1223
+ drew: !1,
1224
+ suppressBoundaryFrame: i
1225
+ }, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
1226
+ for (; o + 6 <= e.length;) {
1227
+ let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
1228
+ if (t < 3) break;
1229
+ let r = t * 2, i = o + r;
1230
+ if (i > e.length || n === j.EOF) break;
1231
+ let a = o + 6, l = new qe(e, a, i);
1232
+ switch (n) {
1233
+ case j.SETWINDOWORG:
1234
+ s.orgY = l.i16(), s.orgX = l.i16();
1235
+ break;
1236
+ case j.SETWINDOWEXT: {
1237
+ let e = l.i16(), t = l.i16();
1238
+ s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
1239
+ break;
1240
+ }
1241
+ case j.SETPOLYFILLMODE:
1242
+ s.fillRule = l.u16() === 1 ? "evenodd" : "nonzero";
1243
+ break;
1244
+ case j.SETTEXTCOLOR:
1245
+ s.textColor = M(l.u32());
1246
+ break;
1247
+ case j.SETTEXTALIGN:
1248
+ s.textAlign = l.u16();
1249
+ break;
1250
+ case j.CREATEPENINDIRECT:
1251
+ Ke(s.objects, tt(l));
1252
+ break;
1253
+ case j.CREATEBRUSHINDIRECT:
1254
+ Ke(s.objects, nt(l));
1255
+ break;
1256
+ case j.CREATEFONTINDIRECT:
1257
+ Ke(s.objects, it(l));
1258
+ break;
1259
+ case j.SELECTOBJECT: {
1260
+ let e = l.u16(), t = s.objects[e];
1261
+ t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" ? s.curBrush = t : t?.kind === "font" && (s.curFont = t);
1262
+ break;
1263
+ }
1264
+ case j.DELETEOBJECT: {
1265
+ let e = l.u16(), t = s.objects[e];
1266
+ t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), t === s.curFont && (s.curFont = null), s.objects[e] = null);
1267
+ break;
1268
+ }
1269
+ case j.POLYLINE:
1270
+ Qe(s, Ze(s, l, l.i16()));
1271
+ break;
1272
+ case j.POLYGON:
1273
+ $e(s, Ze(s, l, l.i16()));
1274
+ break;
1275
+ case j.POLYPOLYGON:
1276
+ et(s, l);
1277
+ break;
1278
+ case j.RECTANGLE: {
1279
+ let e = l.i16(), t = l.i16(), n = l.i16(), r = l.i16();
1280
+ $e(s, [
1281
+ [N(s, r), P(s, n)],
1282
+ [N(s, t), P(s, n)],
1283
+ [N(s, t), P(s, e)],
1284
+ [N(s, r), P(s, e)]
1285
+ ]);
1286
+ break;
1287
+ }
1288
+ case j.TEXTOUT: {
1289
+ let e = l.u16(), t = rt(l.bytes(e));
1290
+ e % 2 != 0 && l.skip(1);
1291
+ let n = l.i16();
1292
+ at(s, t, l.i16(), n);
1293
+ break;
1294
+ }
1295
+ case j.STRETCHDIBITS: {
1296
+ l.u32(), l.i16(), l.i16(), l.i16(), l.i16(), l.u16();
1297
+ let e = l.i16(), t = l.i16(), n = l.i16(), r = l.i16(), o = a + 22, u = d(c, o, i - o);
1298
+ if (u) {
1299
+ let i = N(s, r), a = P(s, n), o = N(s, r + t), c = P(s, n + e);
1300
+ f(s.ctx, u, i, a, o, c) && (s.drew = !0);
1301
+ }
1302
+ break;
1303
+ }
1304
+ case j.DIBSTRETCHBLT:
1305
+ case j.DIBBITBLT:
1306
+ case j.SETBKMODE: break;
1307
+ default: break;
1308
+ }
1309
+ o = i;
1310
+ }
1311
+ return s.drew;
1312
+ }
1313
+ var st = 2e3, ct = 2;
1314
+ function lt(e, t) {
1315
+ let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(st, Math.round(e)));
1316
+ return {
1317
+ w: i(n * ct),
1318
+ h: i(r * ct)
1319
+ };
1320
+ }
1321
+ async function ut(e, n, r, i = !1) {
1322
+ if (!Ue(e) || n <= 0 || r <= 0) return null;
1323
+ let a = t(n, r);
1324
+ if (!a) return null;
1325
+ let o = a.getContext("2d");
1326
+ return !o || (o.lineJoin = "round", o.lineCap = "round", !ot(e, o, n, r, i)) ? null : createImageBitmap(a);
1327
+ }
1328
+ async function dt(e, t = {}) {
1329
+ let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: a = !1 } = t, s = new Uint8Array(await e.slice(0, 64 * 1024).arrayBuffer());
1330
+ if (Ue(s)) {
1331
+ let { w: t, h: i } = lt(n, r);
1332
+ return L(await ut(new Uint8Array(await e.arrayBuffer()), t, i, a));
1333
+ }
1334
+ if (We(s)) {
1335
+ let { w: t, h: i } = lt(n, r);
1336
+ return L(await Oe(new Uint8Array(await e.arrayBuffer()), t, i));
1337
+ }
1338
+ let c = Me(s);
1339
+ if (c && Ie(c)) throw new o("image-pixels", i, c.width * c.height);
1340
+ return L(await createImageBitmap(e));
1341
+ }
1342
+ function L(e) {
1343
+ if (!e) return null;
1344
+ let t = Number(e.width), n = Number(e.height);
1345
+ if (!Ie({
1346
+ width: t,
1347
+ height: n
1348
+ })) return e;
1349
+ let r = t * n;
1350
+ throw Le(e), new o("image-pixels", i, Number.isSafeInteger(r) && r >= 0 ? r : 2 ** 53 - 1);
1351
+ }
1352
+ //#endregion
1353
+ //#region packages/core/src/image/crop.ts
1354
+ function ft(e) {
1355
+ if (!e) return !0;
1356
+ if (![
1357
+ e.l,
1358
+ e.t,
1359
+ e.r,
1360
+ e.b
1361
+ ].every(Number.isFinite)) return !1;
1362
+ let t = e.l, n = e.t, r = 1 - e.r, i = 1 - e.b;
1363
+ return r > t && i > n && Math.min(1, r) > Math.max(0, t) && Math.min(1, i) > Math.max(0, n);
1364
+ }
1365
+ function pt(e) {
1366
+ let t = e;
1367
+ return {
1368
+ w: t.naturalWidth || (typeof t.width == "number" ? t.width : 0) || 0,
1369
+ h: t.naturalHeight || (typeof t.height == "number" ? t.height : 0) || 0
1370
+ };
1371
+ }
1372
+ function mt(e, t) {
1373
+ if (!t || !(t.l || t.t || t.r || t.b) || ![
1374
+ t.l,
1375
+ t.t,
1376
+ t.r,
1377
+ t.b
1378
+ ].every(Number.isFinite)) return null;
1379
+ let { w: n, h: r } = pt(e);
1380
+ if (n <= 0 || r <= 0) return null;
1381
+ let i = t.l, a = t.t, o = 1 - t.r, s = 1 - t.b, c = o - i, l = s - a;
1382
+ if (!(c > 0) || !(l > 0)) return {
1383
+ sx: 0,
1384
+ sy: 0,
1385
+ sw: 0,
1386
+ sh: 0,
1387
+ dxFraction: 0,
1388
+ dyFraction: 0,
1389
+ dwFraction: 0,
1390
+ dhFraction: 0
1391
+ };
1392
+ let u = Math.max(0, i), d = Math.max(0, a), f = Math.min(1, o), p = Math.min(1, s), m = Math.max(0, f - u), h = Math.max(0, p - d);
1393
+ return {
1394
+ sx: u * n,
1395
+ sy: d * r,
1396
+ sw: m * n,
1397
+ sh: h * r,
1398
+ dxFraction: (u - i) / c,
1399
+ dyFraction: (d - a) / l,
1400
+ dwFraction: m / c,
1401
+ dhFraction: h / l
1402
+ };
1403
+ }
1404
+ function ht(e, t, n, r, i, a, o) {
1405
+ let s = mt(t, n);
1406
+ s ? s.sw > 0 && s.sh > 0 && s.dwFraction > 0 && s.dhFraction > 0 && e.drawImage(t, s.sx, s.sy, s.sw, s.sh, r + s.dxFraction * a, i + s.dyFraction * o, s.dwFraction * a, s.dhFraction * o) : e.drawImage(t, r, i, a, o);
1407
+ }
1408
+ function gt(e, t, n, r) {
1409
+ if (!t || !Ge(e)) return {
1410
+ widthPt: n,
1411
+ heightPt: r
1412
+ };
1413
+ if (!ft(t)) return null;
1414
+ let i = 1 - t.l - t.r, a = 1 - t.t - t.b;
1415
+ return {
1416
+ widthPt: n / i,
1417
+ heightPt: r / a
1418
+ };
1419
+ }
1420
+ //#endregion
1421
+ //#region packages/core/src/units.ts
1422
+ var R = 12700, _t = 9525, z = 4 / 3, vt = 91440, yt = 45720, bt = .06;
1423
+ function xt(e) {
1424
+ let t = Math.floor(e.length / 2);
1425
+ return e.length % 2 == 1 ? e[t] : e[t - 1] / 2 + e[t] / 2;
1426
+ }
1427
+ function St(e) {
1428
+ let t = 0;
1429
+ for (let n of e) t = Math.max(t, Math.abs(n));
1430
+ if (t === 0) return 0;
1431
+ let n = 0;
1432
+ for (let r of e) n += r / t;
1433
+ return n / e.length * t;
1434
+ }
1435
+ function Ct(e, t, n) {
1436
+ if (!Number.isFinite(t)) return n < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE;
1437
+ let r = e + n * t;
1438
+ return Number.isFinite(r) ? r : n < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE;
1439
+ }
1440
+ function wt(e, t) {
1441
+ let n = e.filter((e) => typeof e == "number" && Number.isFinite(e)).sort((e, t) => e - t);
1442
+ if (n.length === 0) return null;
1443
+ let r = Math.floor(n.length / 2), i = xt(n), a = t === "inclusive" && n.length % 2 == 1, o = n.slice(0, r + +!!a), s = n.slice(r + +(n.length % 2 == 1 && !a)), c = xt(o.length > 0 ? o : n), l = xt(s.length > 0 ? s : n), u = (l - c) * 1.5, d = Ct(c, u, -1), f = Ct(l, u, 1), p = [], m = [];
1444
+ for (let e of n) e < d || e > f ? m.push(e) : p.push(e);
1445
+ return {
1446
+ q1: c,
1447
+ median: i,
1448
+ q3: l,
1449
+ lowerFence: d,
1450
+ upperFence: f,
1451
+ whiskerLo: p[0] ?? n[0],
1452
+ whiskerHi: p[p.length - 1] ?? n[n.length - 1],
1453
+ mean: St(n),
1454
+ outliers: m,
1455
+ inner: p
1456
+ };
1457
+ }
1458
+ function Tt(e, t) {
1459
+ let n = 0;
1460
+ for (let r of e) for (let e of r) if (n += e.length, !Number.isSafeInteger(n) || n > t) return t + 1;
1461
+ return n;
1462
+ }
1463
+ function Et(e, t, n, r, i, a, o) {
1464
+ if (!Number.isFinite(e) || !Number.isFinite(t) || t <= 0 || !Number.isInteger(n) || n <= 0 || !Number.isInteger(r) || r <= 0 || !Number.isInteger(i) || i < 0 || i >= n || !Number.isInteger(a) || a < 0 || a >= r || !Number.isFinite(o) || o < 0) return null;
1465
+ let s = t / n, c = s / (r + o / 100), l = c * r, u = c * bt, d = c - u, f = e + s * (i + .5) - l / 2 + a * c + u / 2;
1466
+ return {
1467
+ boxX: f,
1468
+ boxWidth: d,
1469
+ centerX: f + d / 2
1470
+ };
1471
+ }
1472
+ //#endregion
1473
+ //#region packages/core/src/chart/category-spacing.ts
1474
+ function Dt(e, t) {
1475
+ return t == null || !Number.isFinite(t) ? e : e * Math.max(0, Math.min(1e3, t)) / 100;
1476
+ }
1477
+ function Ot(e, t, n, r = !1) {
1478
+ let i = Math.max(0, t - 1), a = Number.isFinite(e) ? Math.max(0, Math.min(i, e)) : 0, o = n ? (a + .5) / Math.max(1, t) : t === 1 ? .5 : a / i;
1479
+ return r ? 1 - o : o;
1480
+ }
1481
+ function kt(e, t) {
1482
+ if (e <= 0) return [];
1483
+ let n = [], r = t ? e : e - 1;
1484
+ for (let i = 0; i <= r; i++) n.push(t ? i / e : e === 1 ? .5 : i / (e - 1));
1485
+ return n;
1486
+ }
1487
+ function At(e, t) {
1488
+ return e <= 0 ? [] : t ? Array.from({ length: e }, (t, n) => (n + .5) / e) : e <= 1 ? [] : Array.from({ length: e - 1 }, (t, n) => (n + .5) / (e - 1));
1489
+ }
1490
+ function jt(e, t, n, r, i) {
1491
+ if (i == null) return {
1492
+ fraction: Ot(e, t, n, r),
1493
+ textAlign: "center"
1494
+ };
1495
+ let a = Math.max(0, t - 1), o = Number.isFinite(e) ? Math.max(0, Math.min(a, e)) : 0, s, c;
1496
+ if (t <= 1 ? (s = 0, c = 1) : n ? (s = o / t, c = (o + 1) / t) : (s = o === 0 ? 0 : (o - .5) / a, c = o === a ? 1 : (o + .5) / a), r) {
1497
+ let e = 1 - c;
1498
+ c = 1 - s, s = e;
1499
+ }
1500
+ return i === "l" ? {
1501
+ fraction: s,
1502
+ textAlign: "left"
1503
+ } : i === "r" ? {
1504
+ fraction: c,
1505
+ textAlign: "right"
1506
+ } : {
1507
+ fraction: (s + c) / 2,
1508
+ textAlign: "center"
1509
+ };
1510
+ }
1511
+ function Mt(e, t) {
1512
+ return e != null && Number.isFinite(e) ? Math.max(0, Math.min(500, e)) : t === "legacy" ? 150 : 33;
1513
+ }
1514
+ //#endregion
1515
+ //#region packages/core/src/chart/layout.ts
1516
+ function Nt(e, t, n) {
1517
+ let r = Math.max(1, t), i = [], a = [], o = 0;
1518
+ for (let t = 0; t < e.length; t++) {
1519
+ let s = Math.min(r, Math.max(0, e[t])), c = a.length === 0 ? s : o + n + s;
1520
+ a.length > 0 && c > r ? (i.push(a), a = [t], o = s) : (a.push(t), o = c);
1521
+ }
1522
+ return a.length > 0 && i.push(a), i;
1523
+ }
1524
+ var Pt = 14;
1525
+ function Ft(e, t) {
1526
+ return typeof e == "number" && Number.isFinite(e) && e >= 100 && e <= 4e5 ? e / 100 * t : null;
1527
+ }
1528
+ function It(e, t, n) {
1529
+ return Ft(e.titleFontSizeHpt, n) ?? Pt * n;
1530
+ }
1531
+ var Lt = .62;
1532
+ function Rt(e, t, n, r, i) {
1533
+ if (!e.title && !e.titlePresent) return {
1534
+ fontPx: 0,
1535
+ topPad: 0,
1536
+ bottomPad: 0,
1537
+ bandH: 0
1538
+ };
1539
+ let a = It(e, t, n), o = a + t * r + t * i, s = Math.min(Math.max(0, o - a), a * Lt);
1540
+ return {
1541
+ fontPx: a,
1542
+ topPad: s,
1543
+ bottomPad: o - a - s,
1544
+ bandH: o
1545
+ };
1546
+ }
1547
+ function zt(e, t, n, r, i) {
1548
+ if (!e.showLegend) return null;
1549
+ let a = e.legendPos ?? "r", o = a === "l" ? "l" : a === "t" ? "t" : a === "b" ? "b" : "r";
1550
+ if (o === "r" || o === "l") {
1551
+ if (i) {
1552
+ let e = Math.min(80, t * .3), n = t * .3, r = Math.max(0, ...i.itemWidths) + i.horizontalPadding;
1553
+ return {
1554
+ side: o,
1555
+ reserveW: Math.min(n, Math.max(e, r)),
1556
+ reserveH: 0
1557
+ };
1558
+ }
1559
+ return {
1560
+ side: o,
1561
+ reserveW: Math.max(80, t * r),
1562
+ reserveH: 0
1563
+ };
1564
+ }
1565
+ if (i) {
1566
+ let e = Math.max(1, t - i.horizontalPadding), r = Nt(i.itemWidths, e, i.itemGap).length * i.rowHeight + i.verticalPadding;
1567
+ return {
1568
+ side: o,
1569
+ reserveW: 0,
1570
+ reserveH: Math.min(n * .3, r)
1571
+ };
1572
+ }
1573
+ return {
1574
+ side: o,
1575
+ reserveW: 0,
1576
+ reserveH: Math.max(18, n * .08)
1577
+ };
1578
+ }
1579
+ function Bt(e, t = !1) {
1580
+ return t ? {
1581
+ legRightW: 0,
1582
+ legLeftW: 0,
1583
+ legTopH: 0,
1584
+ legBottomH: 0
1585
+ } : {
1586
+ legRightW: e?.side === "r" ? e.reserveW : 0,
1587
+ legLeftW: e?.side === "l" ? e.reserveW : 0,
1588
+ legTopH: e?.side === "t" ? e.reserveH : 0,
1589
+ legBottomH: e?.side === "b" ? e.reserveH : 0
1590
+ };
1591
+ }
1592
+ function Vt(e, t) {
1593
+ return Ft(e, t) ?? 10 * t;
1594
+ }
1595
+ function Ht(e, t) {
1596
+ return Math.max(0, e != null && Number.isFinite(e) ? e : 0) / R * t;
1597
+ }
1598
+ function Ut(e, t, n) {
1599
+ let r = 0, i = !1;
1600
+ if (n != null) switch (i = !0, n) {
1601
+ case "horz": break;
1602
+ case "vert270":
1603
+ r -= 90;
1604
+ break;
1605
+ case "vert":
1606
+ case "wordArtVert":
1607
+ case "eaVert":
1608
+ case "mongolianVert":
1609
+ case "wordArtVertRtl":
1610
+ r += 90;
1611
+ break;
1612
+ }
1613
+ return t != null && Number.isFinite(t) && (r += t / 6e4, i = !0), i ? r * Math.PI / 180 : e === "left" || e === "right" ? -Math.PI / 2 : 0;
1614
+ }
1615
+ function B(e) {
1616
+ return Math.max(8, e * .02);
1617
+ }
1618
+ function Wt(e, t, n, r) {
1619
+ let i = Vt(e.catAxisTitleFontSizeHpt, r), a = Vt(e.valAxisTitleFontSizeHpt, r), o = Ht(e.catAxisTitleTextVerticalInsetEmu, r), s = Ht(e.valAxisTitleTextVerticalInsetEmu, r);
1620
+ return {
1621
+ catFontPx: i,
1622
+ valFontPx: a,
1623
+ catBandH: e.catAxisTitle ? i + o + B(n) + 4 : 0,
1624
+ valBandW: e.valAxisTitle ? a + s + B(t) + 4 : 0
1625
+ };
1626
+ }
1627
+ var Gt = 2.25, Kt = 2.75;
1628
+ function qt(e, t, n) {
1629
+ if (!e.title && !e.titlePresent) return {
1630
+ fontPx: 0,
1631
+ topPad: 0,
1632
+ bottomPad: 0,
1633
+ bandH: 0
1634
+ };
1635
+ let r = It(e, t, n), i = r * Gt, a = Math.min(Math.max(0, i - r), r * Lt);
1636
+ return {
1637
+ fontPx: r,
1638
+ topPad: a,
1639
+ bottomPad: i - r - a,
1640
+ bandH: i
1641
+ };
1642
+ }
1643
+ function Jt(e, t) {
1644
+ let n = V(e), r = Dt(n, t);
1645
+ return e * Kt + r - n;
1646
+ }
1647
+ function V(e) {
1648
+ return 5 / 6 * e;
1649
+ }
1650
+ function Yt(e) {
1651
+ return e;
1652
+ }
1653
+ var Xt = 1.5;
1654
+ function Zt(e) {
1655
+ let t = e.outerTextMarginPx ?? 0;
1656
+ return {
1657
+ t: e.valAxisHidden ? 0 : e.valLabelFontPx / 2 + t,
1658
+ r: (e.secondaryBandW ?? 0) > 0 ? (e.secondaryBandW ?? 0) + t : 0,
1659
+ b: e.catAxisHidden ? 0 : e.catLabelFontPx + (e.catLabelGapPx ?? V(e.catLabelFontPx)) + e.catTitleBandH + t,
1660
+ l: e.valAxisHidden ? 0 : e.valLabelWidth + (e.valLabelGapPx ?? Yt(e.valLabelFontPx)) + e.valTitleBandW + t
1661
+ };
1662
+ }
1663
+ function Qt(e, t, n) {
1664
+ let r = e.xMode || "factor", i = e.yMode || "factor", a = e.wMode || "factor", o = e.hMode || "factor", s = r === "edge" ? t.x + e.x * t.w : n.x + e.x * t.w, c = i === "edge" ? t.y + e.y * t.h : n.y + e.y * t.h, l = e.w == null ? n.w : a === "edge" ? t.x + e.w * t.w - s : e.w * t.w, u = e.h == null ? n.h : o === "edge" ? t.y + e.h * t.h - c : e.h * t.h;
1665
+ return ![
1666
+ s,
1667
+ c,
1668
+ l,
1669
+ u
1670
+ ].every(Number.isFinite) || l <= 0 || u <= 0 ? null : {
1671
+ x: s,
1672
+ y: c,
1673
+ w: l,
1674
+ h: u
1675
+ };
1676
+ }
1677
+ function $t(e, t, n, r, i, a, o) {
1678
+ let s = o.titleBand ?? Rt(e, i, a, o.titleTopPadFrac ?? 0, o.titleBottomPadFrac ?? 0), c = o.legendReserve === void 0 ? zt(e, r, i, o.legendSideReserveFrac) : o.legendReserve, l = Bt(c, e.legendOverlay === !0), u = Wt(e, r, i, a), d, f, p, m;
1679
+ if (o.radialGapFrac != null) {
1680
+ let e = i * o.radialGapFrac;
1681
+ p = r - l.legRightW - l.legLeftW, m = i - s.bandH - l.legTopH - l.legBottomH - e, d = t + l.legLeftW, f = n + s.bandH + l.legTopH + e;
1682
+ } else {
1683
+ let e = o.pad;
1684
+ if (!e) throw Error("computeChartFrame: cartesian frame requires params.pad");
1685
+ d = t + e.l, f = n + e.t, p = r - e.l - e.r, m = i - e.t - e.b;
1686
+ }
1687
+ let h = o.honorPlotAreaManualLayout ? e.plotAreaManualLayout : null;
1688
+ if (h) {
1689
+ let e = h.layoutTarget === "inner" ? {
1690
+ t: 0,
1691
+ r: 0,
1692
+ b: 0,
1693
+ l: 0
1694
+ } : o.manualOuterInsets ?? {
1695
+ t: 0,
1696
+ r: 0,
1697
+ b: 0,
1698
+ l: 0
1699
+ }, a = h.layoutTarget === "inner" ? {
1700
+ x: d,
1701
+ y: f,
1702
+ w: p,
1703
+ h: m
1704
+ } : {
1705
+ x: d - e.l,
1706
+ y: f - e.t,
1707
+ w: p + e.l + e.r,
1708
+ h: m + e.t + e.b
1709
+ }, s = Qt(h, {
1710
+ x: t,
1711
+ y: n,
1712
+ w: r,
1713
+ h: i
1714
+ }, a);
1715
+ s && s.w > e.l + e.r && s.h > e.t + e.b && (d = s.x + e.l, f = s.y + e.t, p = s.w - e.l - e.r, m = s.h - e.t - e.b);
1716
+ }
1717
+ return {
1718
+ title: s,
1719
+ legend: c,
1720
+ legendBands: l,
1721
+ axisTitles: u,
1722
+ plotRect: {
1723
+ px0: d,
1724
+ py0: f,
1725
+ pw: p,
1726
+ ph: m
1727
+ },
1728
+ center: {
1729
+ cx: d + p / 2,
1730
+ cy: f + m / 2
1731
+ }
1732
+ };
1733
+ }
1734
+ //#endregion
1735
+ //#region packages/core/src/chart/data-label-layout.ts
1736
+ var en = (e) => [
1737
+ e.x,
1738
+ e.y,
1739
+ e.w,
1740
+ e.h
1741
+ ].every(Number.isFinite) && e.w > 0 && e.h > 0;
1742
+ function tn(e, t) {
1743
+ let n = Math.max(e.x, t.x), r = Math.max(e.y, t.y), i = Math.min(e.x + e.w, t.x + t.w), a = Math.min(e.y + e.h, t.y + t.h);
1744
+ return i > n && a > r ? {
1745
+ x: n,
1746
+ y: r,
1747
+ w: i - n,
1748
+ h: a - r
1749
+ } : null;
1750
+ }
1751
+ function nn(e, t, n) {
1752
+ return Math.min(Math.max(e, t), n);
1753
+ }
1754
+ function rn(e, t, n, r, i, a = t) {
1755
+ if (!en(t) || !en(a) || !Number.isFinite(r) || r <= 0 || ![n.w, n.h].every(Number.isFinite) || n.w < 0 || n.h <= 0) return null;
1756
+ let o = r * .5, s = t, c, l, u = !1, d = "center", f = "middle";
1757
+ if (e.kind === "point") {
1758
+ if (![
1759
+ e.x,
1760
+ e.y,
1761
+ e.markerGap ?? 0
1762
+ ].every(Number.isFinite)) return null;
1763
+ let t = o + Math.max(0, e.markerGap ?? 0);
1764
+ switch (c = e.x, l = e.y, e.position ?? "r") {
1765
+ case "l":
1766
+ c -= t + n.w / 2, d = "right";
1767
+ break;
1768
+ case "t":
1769
+ l -= t + n.h / 2, f = "bottom";
1770
+ break;
1771
+ case "b":
1772
+ l += t + n.h / 2, f = "top";
1773
+ break;
1774
+ case "ctr":
1775
+ case "inEnd":
1776
+ case "bestFit": break;
1777
+ default:
1778
+ c += t + n.w / 2, d = "left";
1779
+ break;
1780
+ }
1781
+ } else if (e.kind === "box") {
1782
+ if (![
1783
+ e.rect.x,
1784
+ e.rect.y,
1785
+ e.rect.w,
1786
+ e.rect.h
1787
+ ].every(Number.isFinite) || e.rect.w <= 0 || e.rect.h <= 0) return null;
1788
+ let r = tn(e.rect, t);
1789
+ if (!r) return null;
1790
+ let i = e.position ?? "ctr";
1791
+ c = r.x + r.w / 2, l = r.y + r.h / 2, i === "inBase" ? (s = {
1792
+ x: r.x + o,
1793
+ y: r.y + o,
1794
+ w: r.w - o,
1795
+ h: r.h - o
1796
+ }, c = s.x + n.w / 2, l = s.y + n.h / 2, d = "left", f = "top") : i === "inEnd" ? (s = {
1797
+ x: r.x + o,
1798
+ y: r.y,
1799
+ w: r.w - o,
1800
+ h: r.h - o
1801
+ }, c = s.x + n.w / 2, l = s.y + s.h - n.h / 2, d = "left", f = "bottom") : i === "l" ? (s = {
1802
+ x: r.x + o,
1803
+ y: r.y + o,
1804
+ w: r.w - o,
1805
+ h: r.h - o * 2
1806
+ }, c = s.x + n.w / 2, d = "left") : i === "r" || i === "outEnd" ? (s = {
1807
+ x: r.x,
1808
+ y: r.y + o,
1809
+ w: r.w - o,
1810
+ h: r.h - o * 2
1811
+ }, c = s.x + s.w - n.w / 2, d = "right") : i === "t" ? (s = {
1812
+ x: r.x + o,
1813
+ y: r.y + o,
1814
+ w: r.w - o * 2,
1815
+ h: r.h - o
1816
+ }, l = s.y + n.h / 2, f = "top") : i === "b" ? (s = {
1817
+ x: r.x + o,
1818
+ y: r.y,
1819
+ w: r.w - o * 2,
1820
+ h: r.h - o
1821
+ }, l = s.y + s.h - n.h / 2, f = "bottom") : s = {
1822
+ x: r.x + o,
1823
+ y: r.y + o,
1824
+ w: r.w - o * 2,
1825
+ h: r.h - o * 2
1826
+ };
1827
+ } else {
1828
+ if (![
1829
+ e.rect.x,
1830
+ e.rect.y,
1831
+ e.rect.w,
1832
+ e.rect.h
1833
+ ].every(Number.isFinite) || e.rect.w < 0 || e.rect.h < 0) return null;
1834
+ let r = e.position ?? "outEnd", i = r === "inBase" || r === "inEnd" || r === "ctr";
1835
+ if (u = !i, i) {
1836
+ let n = tn(e.rect, t);
1837
+ if (!n) return null;
1838
+ s = n;
1839
+ } else if (e.orientation === "vertical" && e.rect.w <= 0 || e.orientation === "horizontal" && e.rect.h <= 0) return null;
1840
+ let a = e.rect.x + e.rect.w / 2, p = e.rect.y + e.rect.h / 2;
1841
+ if (c = a, l = p, e.orientation === "vertical") {
1842
+ let t = e.negative ? e.rect.y + e.rect.h : e.rect.y, i = e.negative ? e.rect.y : e.rect.y + e.rect.h;
1843
+ r === "inBase" ? (l = i + (e.negative ? 1 : -1) * (o + n.h / 2), f = e.negative ? "top" : "bottom") : r === "inEnd" ? (l = t + (e.negative ? -1 : 1) * (o + n.h / 2), f = e.negative ? "bottom" : "top") : r !== "ctr" && (l = t + (e.negative ? 1 : -1) * (o + n.h / 2), f = e.negative ? "top" : "bottom");
1844
+ } else {
1845
+ let t = e.negative ? e.rect.x : e.rect.x + e.rect.w, i = e.negative ? e.rect.x + e.rect.w : e.rect.x;
1846
+ r === "inBase" ? (c = i + (e.negative ? -1 : 1) * (o + n.w / 2), d = e.negative ? "right" : "left") : r === "inEnd" ? (c = t + (e.negative ? 1 : -1) * (o + n.w / 2), d = e.negative ? "left" : "right") : r !== "ctr" && (c = t + (e.negative ? -1 : 1) * (o + n.w / 2), d = e.negative ? "right" : "left");
1847
+ }
1848
+ }
1849
+ let p = Math.max(2, r * .5), m = Math.max(2, r * .9);
1850
+ if (s.w < p || s.h < m) return null;
1851
+ let h = {
1852
+ x: c - Math.min(n.w, s.w) / 2,
1853
+ y: l - Math.min(n.h, s.h) / 2,
1854
+ w: Math.min(n.w, s.w),
1855
+ h: Math.min(n.h, s.h)
1856
+ };
1857
+ if (i) {
1858
+ let e = Qt(i, a, h);
1859
+ if (!e) return null;
1860
+ h = e, d = "center", f = "middle";
1861
+ let n = tn(e, t);
1862
+ if (!n || (s = n, s.w < p || s.h < m)) return null;
1863
+ }
1864
+ let g = Math.min(Math.max(p, h.w), s.w), _ = Math.min(Math.max(m, h.h), s.h), v = g / 2, y = _ / 2, b = u || i ? h.x + h.w / 2 : nn(h.x + h.w / 2, s.x + v, s.x + s.w - v), x = u || i ? h.y + h.h / 2 : nn(h.y + h.h / 2, s.y + y, s.y + s.h - y);
1865
+ return [b, x].every(Number.isFinite) ? {
1866
+ x: d === "left" ? b - v : d === "right" ? b + v : b,
1867
+ y: f === "top" ? x - y : f === "bottom" ? x + y : x,
1868
+ textAlign: d,
1869
+ textBaseline: f,
1870
+ maxWidth: s.w,
1871
+ maxHeight: s.h,
1872
+ clip: s,
1873
+ rect: h
1874
+ } : null;
1875
+ }
1876
+ var an = 4096, on = 4;
1877
+ function sn(e, t, n) {
1878
+ if (n(e) <= t) return e;
1879
+ if (n("…") > t) return "";
1880
+ let r = 0, i = Array.from(e), a = i.length;
1881
+ for (; r < a;) {
1882
+ let e = Math.ceil((r + a) / 2);
1883
+ n(`${i.slice(0, e).join("")}…`) <= t ? r = e : a = e - 1;
1884
+ }
1885
+ return `${i.slice(0, r).join("")}…`;
1886
+ }
1887
+ function cn(e) {
1888
+ let t = "", n = 0;
1889
+ for (let r of e) {
1890
+ if (n >= an) return {
1891
+ value: t,
1892
+ truncated: !0
1893
+ };
1894
+ t += r, n++;
1895
+ }
1896
+ return {
1897
+ value: t,
1898
+ truncated: !1
1899
+ };
1900
+ }
1901
+ function ln(e, t, n, r, i) {
1902
+ if (![
1903
+ t,
1904
+ n,
1905
+ r
1906
+ ].every(Number.isFinite) || t <= 0 || n < r || r <= 0) return [];
1907
+ let a = Math.max(1, Math.min(on, Math.floor(n / r))), o = cn(e), s = o.value.split(/\r?\n/), c = [], l = o.truncated, u = (e) => {
1908
+ let n = [], r = "";
1909
+ for (let a of Array.from(e)) {
1910
+ let e = `${r}${a}`;
1911
+ r && i(e) > t ? (n.push(r), r = a) : r = e;
1912
+ }
1913
+ return r && n.push(r), n.filter((e) => i(e) <= t);
1914
+ };
1915
+ for (let e of s) {
1916
+ if (i(e) <= t) {
1917
+ c.push(e);
1918
+ continue;
1919
+ }
1920
+ let n = e.match(/\S+\s*|\s+/g) ?? [];
1921
+ if (n.length <= 1) c.push(...u(e));
1922
+ else {
1923
+ let e = "";
1924
+ for (let r of n) {
1925
+ let n = `${e}${r}`;
1926
+ if (i(n) <= t) e = n;
1927
+ else {
1928
+ e && c.push(e);
1929
+ let t = u(r);
1930
+ e = t.pop() ?? "", c.push(...t);
1931
+ }
1932
+ }
1933
+ e && c.push(e);
1934
+ }
1935
+ }
1936
+ l ||= c.length > a;
1937
+ let d = c.slice(0, a);
1938
+ return l && d.length > 0 && !d[d.length - 1].endsWith("…") && (d[d.length - 1] = sn(`${d[d.length - 1]}…`, t, i)), d;
1939
+ }
1940
+ //#endregion
1941
+ //#region packages/core/src/chart/data-label-style.ts
1942
+ function un(e, t) {
1943
+ return (t?.deleted ?? e?.deleted) === !0;
1944
+ }
1945
+ function dn(e, t) {
1946
+ let n = e?.fontPaintAuthored === !0 || e?.fontColor != null || e?.fontHidden === !0, r = t?.fontPaintAuthored === !0 || t?.fontColor != null || t?.fontHidden === !0;
1947
+ return {
1948
+ fontColor: n ? e.fontColor : e?.fontColor ?? t?.fontColor,
1949
+ fontItalic: e?.fontItalic ?? t?.fontItalic,
1950
+ fontLanguage: e?.fontLanguage ?? t?.fontLanguage,
1951
+ fontBaseline: e?.fontBaseline ?? t?.fontBaseline,
1952
+ fontPaintAuthored: n ? !0 : r || void 0,
1953
+ fontHidden: n ? e.fontHidden : t?.fontHidden,
1954
+ textRotation: e?.textRotation ?? t?.textRotation,
1955
+ textWrap: e?.textWrap ?? t?.textWrap,
1956
+ textVerticalAnchor: e?.textVerticalAnchor ?? t?.textVerticalAnchor,
1957
+ textVerticalMode: e?.textVerticalMode ?? t?.textVerticalMode,
1958
+ textLInsEmu: e?.textLInsEmu ?? t?.textLInsEmu,
1959
+ textTInsEmu: e?.textTInsEmu ?? t?.textTInsEmu,
1960
+ textRInsEmu: e?.textRInsEmu ?? t?.textRInsEmu,
1961
+ textBInsEmu: e?.textBInsEmu ?? t?.textBInsEmu,
1962
+ textBodyAuthored: e?.textBodyAuthored === !0 || t?.textBodyAuthored === !0 || void 0,
1963
+ textAlign: e?.textAlign ?? t?.textAlign
1964
+ };
1965
+ }
1966
+ function fn(e, t) {
1967
+ return e?.textAlign === "l" ? "left" : e?.textAlign === "r" ? "right" : e?.textAlign === "ctr" ? "center" : t;
1968
+ }
1969
+ function pn(e, t) {
1970
+ let n = t / R, r = e?.textBodyAuthored === !0 ? vt : 0, i = e?.textBodyAuthored === !0 ? yt : 0;
1971
+ return {
1972
+ left: (e?.textLInsEmu ?? r) * n,
1973
+ top: (e?.textTInsEmu ?? i) * n,
1974
+ right: (e?.textRInsEmu ?? r) * n,
1975
+ bottom: (e?.textBInsEmu ?? i) * n
1976
+ };
1977
+ }
1978
+ function mn(e, t) {
1979
+ let n = Number.isFinite(e) ? e / 6e4 * Math.PI / 180 : 0;
1980
+ return t === "vert" ? n + Math.PI / 2 : t === "vert270" ? n + Math.PI * 3 / 2 : n;
1981
+ }
1982
+ function hn(e, t, n, r) {
1983
+ let i = mn(n, r);
1984
+ if (i === 0) return {
1985
+ w: e,
1986
+ h: t,
1987
+ radians: i
1988
+ };
1989
+ let a = Math.abs(Math.cos(i)), o = Math.abs(Math.sin(i));
1990
+ return {
1991
+ w: e * a + t * o,
1992
+ h: e * o + t * a,
1993
+ radians: i
1994
+ };
1995
+ }
1996
+ function gn(e, t, n, r, i, a, o) {
1997
+ return r !== 0 && (e.translate(t, n), e.rotate(r), e.translate(-t, -n)), {
1998
+ x: t + (i === "left" ? o.left : i === "right" ? -o.right : (o.left - o.right) / 2),
1999
+ y: n + (a === "top" ? o.top : a === "bottom" ? -o.bottom : (o.top - o.bottom) / 2)
2000
+ };
2001
+ }
2002
+ function _n(e, t, n, r, i, a) {
2003
+ return a?.textWrap === "none" ? ![
2004
+ t,
2005
+ n,
2006
+ r
2007
+ ].every(Number.isFinite) || t <= 0 || n <= 0 || r <= 0 ? [] : cn(e).value.split(/\r?\n/) : ln(e, t, n, r, i);
2008
+ }
2009
+ function vn(e, t, n, r, i, a, o = "center", s = "center", c = n.w, l = 0) {
2010
+ if (!a) {
2011
+ let n = Math.max(0, c) / 2, r = (e) => e === "left" ? -n : e === "right" ? n : 0, i = r(o) - r(s);
2012
+ return {
2013
+ x: e + Math.cos(l) * i,
2014
+ y: t + Math.sin(l) * i
2015
+ };
2016
+ }
2017
+ let u = o === "left" ? n.x : o === "right" ? n.x + n.w : n.x + n.w / 2, d = i?.textVerticalAnchor ?? (i?.textBodyAuthored === !0 ? "t" : "ctr");
2018
+ return d === "t" ? {
2019
+ x: u,
2020
+ y: n.y + Math.min(r, n.h) / 2
2021
+ } : d === "b" ? {
2022
+ x: u,
2023
+ y: n.y + n.h - Math.min(r, n.h) / 2
2024
+ } : {
2025
+ x: u,
2026
+ y: n.y + n.h / 2
2027
+ };
2028
+ }
2029
+ //#endregion
2030
+ //#region packages/core/src/chart/marker-style.ts
2031
+ function yn(e) {
2032
+ let t = /* @__PURE__ */ new Set();
2033
+ for (let n of e.legendEntries ?? []) n.deleted === !0 && t.add(n.idx);
2034
+ return t;
2035
+ }
2036
+ function bn(e) {
2037
+ return e.markerSymbol != null || e.markerSize != null || e.markerFill != null || e.markerFillPaint !== void 0 || e.markerFillPaintAuthored === !0 || e.markerLine != null || e.markerLineWidthEmu != null;
2038
+ }
2039
+ function xn(e) {
2040
+ return e != null && (e.markerSymbol != null || e.markerSize != null || e.markerFill != null || e.color != null || e.markerFillPaint !== void 0 || e.markerFillPaintAuthored === !0 || e.markerLine != null || e.markerLineWidthEmu != null);
2041
+ }
2042
+ function Sn(e, t) {
2043
+ return t == null || !Number.isFinite(t) || t === 0 || t < 0 && e.showNegativeBubbles !== !0 ? null : Math.abs(t);
2044
+ }
2045
+ function Cn(e, t) {
2046
+ return e.bubble3D ?? e.bubble3DGroupDefault ?? !1;
2047
+ }
2048
+ function H(e) {
2049
+ return e !== "none" && e !== "x" && e !== "plus";
2050
+ }
2051
+ function U(e, t, n, r, i, a) {
2052
+ let o = a?.chartType ?? e.chartType, s = t.values[r] != null;
2053
+ if (!s && (n === "line" || n === "stackedLine" || n === "stackedLinePct") && (s = (o === "line" || o === "stackedLine" || o === "stackedLinePct") && (o !== "line" || e.dispBlanksAs === "zero")), !s) return !1;
2054
+ if (n === "scatter" && i) {
2055
+ let n = (t.categories ?? e.categories)[r];
2056
+ if (n == null || !Number.isFinite(Number.parseFloat(n))) return !1;
2057
+ }
2058
+ if (n === "scatter" && o === "bubble") {
2059
+ let n = t.bubbleSizes?.[r];
2060
+ if (n == null || !Number.isFinite(n) || n === 0) return !1;
2061
+ let i = a?.showNegativeBubbles ?? e.showNegativeBubbles;
2062
+ return n < 0 && i !== !0 ? !1 : (a?.bubbleScale ?? e.bubbleScale ?? 100) > 0;
2063
+ }
2064
+ return !0;
2065
+ }
2066
+ function wn(e, t, n, r, i, a) {
2067
+ if (n === "radar" || !t.seriesDataLabels && !t.dataLabelOverrides?.length) return 0;
2068
+ let o = new Map((t.dataLabelOverrides ?? []).map((e) => [e.idx, e])), s = 0;
2069
+ for (let c = 0; c < r; c++) {
2070
+ let r = o.get(c);
2071
+ un(t.seriesDataLabels, r) || (r?.showLegendKey ?? t.seriesDataLabels?.showLegendKey ?? !1) === !0 && U(e, t, n, c, i, a) && s++;
2072
+ }
2073
+ return s;
2074
+ }
2075
+ function Tn(e) {
2076
+ return e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "area" || e === "stackedArea" || e === "stackedAreaPct" || e === "stock" || e === "clusteredBar" || e === "clusteredBarH" || e === "stackedBar" || e === "stackedBarH" || e === "stackedBarPct" || e === "stackedBarHPct";
2077
+ }
2078
+ function En(e) {
2079
+ return e.dataPointOverrides?.some((e) => e.markerSymbol != null && e.markerSymbol !== "none") === !0;
2080
+ }
2081
+ function Dn(e, t, n, r) {
2082
+ return e === "radar" ? r === "filled" : e === "scatter" && t !== "bubble" && (n === "lineNoMarker" || n === "smoothNoMarker");
2083
+ }
2084
+ function On(e, t, n, r) {
2085
+ let i = n.seriesType ?? e;
2086
+ return !(i === "line" || i === "stackedLine" || i === "stackedLinePct" || i === "stock" || i === "radar") && i !== "scatter" && i !== "bubble" || i === "radar" && r === "filled" || i === "scatter" && (t === "lineNoMarker" || t === "smoothNoMarker") ? !1 : (n.markerSymbol ?? (i === "stock" ? "none" : "circle")) !== "none" && n.showMarker !== !1;
2087
+ }
2088
+ function kn(e, t, n, r) {
2089
+ return t?.markerSymbol == null ? !r || e.markerSymbol === "none" ? "none" : e.markerSymbol ?? n : t.markerSymbol;
2090
+ }
2091
+ function An(e, t, n) {
2092
+ if (t?.markerFillPaint !== void 0) return t.markerFillPaint;
2093
+ if (!(t?.markerFill != null || t?.color != null || t?.markerFillPaintAuthored === !0) && e.dataPointColors?.[n] == null && e.markerFillPaint !== void 0) return e.markerFillPaint;
2094
+ }
2095
+ function jn(e, t, n, r) {
2096
+ return t?.markerFill == null ? t?.color == null ? e.dataPointColors?.[n] ?? (t?.markerFillPaintAuthored === !0 ? "00000000" : e.markerFill == null ? e.markerFillPaintAuthored === !0 ? "00000000" : r : e.markerFill) : t.color : t.markerFill;
2097
+ }
2098
+ function Mn(e) {
2099
+ return e.markerFillPaint;
2100
+ }
2101
+ function Nn(e, t) {
2102
+ return e.markerFill == null ? e.markerFillPaintAuthored === !0 ? "00000000" : t : e.markerFill;
2103
+ }
2104
+ function Pn(e) {
2105
+ return e?.fillType === "gradient" ? e.stops.length : e == null ? 0 : 1;
2106
+ }
2107
+ //#endregion
2108
+ //#region packages/core/src/chart/resource-limits.ts
2109
+ var W = 1e4, Fn = 4096, In = 1048576, Ln = 4096, Rn = new Set([
2110
+ "clusteredBar",
2111
+ "clusteredBarH",
2112
+ "stackedBar",
2113
+ "stackedBarH",
2114
+ "stackedBarPct",
2115
+ "stackedBarHPct",
2116
+ "clusteredColumn",
2117
+ "line",
2118
+ "stackedLine",
2119
+ "stackedLinePct",
2120
+ "area",
2121
+ "stackedArea",
2122
+ "stackedAreaPct",
2123
+ "pie",
2124
+ "doughnut",
2125
+ "radar",
2126
+ "scatter",
2127
+ "bubble",
2128
+ "stock",
2129
+ "surface"
2130
+ ]);
2131
+ function zn(e) {
2132
+ return Rn.has(e);
2133
+ }
2134
+ function Bn(e) {
2135
+ let t = 0, n = (e) => !Number.isSafeInteger(e) || e < 0 || e > 1e4 - t ? !1 : (t += e, !0), r = (e, n) => !Number.isSafeInteger(e) || e < 0 || !Number.isSafeInteger(n) || n < 0 || e !== 0 && n > Math.floor((1e4 - t) / e) ? !1 : (t += e * n, !0);
2136
+ if (!n(e.legendEntries?.length ?? 0) || !n(e.plotGroups?.length ?? 0)) return W + 1;
2137
+ if (e.plotGroups != null) {
2138
+ let t = 0;
2139
+ for (let n of e.plotGroups) {
2140
+ if (!Number.isSafeInteger(n.seriesStart) || n.seriesStart < 0 || !Number.isSafeInteger(n.seriesCount) || n.seriesCount < 0 || n.seriesStart !== t || n.seriesCount > e.series.length - t) return W + 1;
2141
+ t += n.seriesCount;
2142
+ }
2143
+ if (t !== e.series.length) return W + 1;
2144
+ }
2145
+ for (let t of e.series) {
2146
+ let i = Math.max(1, e.categories.length, t.values.length, t.categories?.length ?? 0, t.bubbleSizes?.length ?? 0, t.dataPointOverrides?.length ?? 0, t.dataLabelOverrides?.length ?? 0);
2147
+ if (!n(i) || !r(t.trendLines?.length ?? 0, Math.max(1, t.values.length)) || !n(t.errBars?.length ?? 0)) return W + 1;
2148
+ for (let e of t.errBars ?? []) if (!n(Math.max(i, e.plus.length, e.minus.length))) return W + 1;
2149
+ }
2150
+ if (!n(e.chartexSunburst?.rows.length ?? 0) || !n(e.chartexTreemap?.rows.length ?? 0) || !n(e.chartexRegionMap?.rows.length ?? 0) || !n(e.chartexBox?.categories.length ?? 0) || !n(e.chartexBox?.series.length ?? 0)) return W + 1;
2151
+ for (let t of e.chartexBox?.series ?? []) for (let e of t.valuesByCategory) if (!n(e.length)) return W + 1;
2152
+ return n(e.ofPie?.customSplitIndices?.length ?? 0) ? t : W + 1;
2153
+ }
2154
+ function Vn(e) {
2155
+ if (!zn(e.chartType)) return null;
2156
+ let t = 0;
2157
+ for (let n of e.series) {
2158
+ let r = 0;
2159
+ for (let e of n.errBars ?? []) r = Math.max(r, e.plus.length, e.minus.length);
2160
+ let i = Math.max(1, e.categories.length, n.categories?.length ?? 0, n.values.length, n.bubbleSizes?.length ?? 0, n.dataPointOverrides?.length ?? 0, n.dataLabelOverrides?.length ?? 0, n.trendLines?.length ?? 0, r);
2161
+ if (!Number.isSafeInteger(i) || i > 1e4 - t) return W + 1;
2162
+ t += i;
2163
+ }
2164
+ return t;
2165
+ }
2166
+ //#endregion
2167
+ //#region packages/core/src/chart/plot-groups.ts
2168
+ var Hn = new Set([
2169
+ "area3D",
2170
+ "line3D",
2171
+ "pie3D",
2172
+ "bar3D",
2173
+ "surface3D"
2174
+ ]);
2175
+ function Un(e, t) {
2176
+ return t === "bar" || t === "bar3D" ? e.includes("Bar") : t === "line" || t === "line3D" ? e.includes("Line") : t === "area" || t === "area3D" ? e.includes("Area") : t === "pie" || t === "pie3D" ? e === "pie" : t === "surface" || t === "surface3D" ? e === "surface" || e === "surface3D" : e === t;
2177
+ }
2178
+ function Wn(e) {
2179
+ if (e.plotGroups == null) return !0;
2180
+ let t = 0;
2181
+ for (let n of e.plotGroups) {
2182
+ if (!Number.isSafeInteger(n.seriesStart) || n.seriesStart !== t || !Number.isSafeInteger(n.seriesCount) || n.seriesCount < 0 || n.seriesCount > e.series.length - t) return !1;
2183
+ t += n.seriesCount;
2184
+ }
2185
+ return t === e.series.length;
2186
+ }
2187
+ function Gn(e) {
2188
+ let t = Array(e.series.length);
2189
+ for (let n of e.plotGroups ?? []) {
2190
+ let r = Math.min(e.series.length, n.seriesStart + n.seriesCount);
2191
+ for (let e = n.seriesStart; e < r; e++) t[e] = n;
2192
+ }
2193
+ return t;
2194
+ }
2195
+ function Kn(e, t) {
2196
+ return t ? t.kind === "bubble" ? "bubble" : t.kind === "line" ? t.grouping === "percentStacked" ? "stackedLinePct" : t.grouping === "stacked" ? "stackedLine" : "line" : t.kind === "area" ? t.grouping === "percentStacked" ? "stackedAreaPct" : t.grouping === "stacked" ? "stackedArea" : "area" : t.kind : e;
2197
+ }
2198
+ function qn(e) {
2199
+ if (e.plotGroups == null || e.plotGroups.length <= 1) return "legacy";
2200
+ if (!Wn(e)) return "unsupported";
2201
+ let t = e.plotGroups.filter((e) => e.seriesCount > 0);
2202
+ if (t.length === 0) return "legacy";
2203
+ if (t.length === 1) return Un(e.chartType, t[0].kind) ? "legacy" : "unsupported";
2204
+ if (t.some((e) => e.categoryAxis === "none" || e.valueAxis === "none") || t.some((t) => t.categoryAxis === "secondary" && e.secondaryCatAxis == null || t.valueAxis === "secondary" && e.secondaryValAxis == null)) return "unsupported";
2205
+ let n = new Set(t.map((e) => e.kind));
2206
+ if (t.some((e) => Hn.has(e.kind))) return "unsupported";
2207
+ if (t.length === 2 && t[0].kind === "bar" && t[1].kind === "scatter") {
2208
+ let [n, r] = t, i = e.series.slice(n.seriesStart, n.seriesStart + n.seriesCount), a = e.series.slice(r.seriesStart, r.seriesStart + r.seriesCount);
2209
+ return n.categoryAxis === "primary" && (n.valueAxis === "primary" || n.valueAxis === "unresolved") && (r.categoryAxis === "secondary" || r.categoryAxis === "unresolved") && r.valueAxis === "secondary" && e.secondaryCatAxis != null && e.secondaryValAxis != null && i.every((e) => e.useSecondaryAxis !== !0) && a.every((e) => e.useSecondaryAxis === !0) ? "bar-combo" : "unsupported";
2210
+ }
2211
+ if (t.some((e) => e.categoryAxis === "unresolved" || e.valueAxis === "unresolved" || e.seriesAxis === "unresolved")) return "unsupported";
2212
+ if (n.size === 1) {
2213
+ let n = t[0].kind;
2214
+ if (n === "line" || n === "area") return t.some((e) => e.categoryAxis !== "primary") ? "unsupported" : n === "line" ? "line-groups" : "area-groups";
2215
+ if (n === "scatter" || n === "bubble") return "scatter-bubble";
2216
+ if (n === "bar") {
2217
+ let n = e.chartType.endsWith("H") ? "bar" : "col";
2218
+ return new Set(t.map((e) => e.barDirection ?? n)).size > 1 && (t.length !== 2 || t.some((e) => e.categoryAxis !== "primary" || e.valueAxis !== "primary")) ? "unsupported" : "bar-combo";
2219
+ }
2220
+ return "unsupported";
2221
+ }
2222
+ if (t.length === 2 && n.has("bar") && n.has("area")) return t.find((e) => e.kind === "line" || e.kind === "area")?.categoryAxis === "primary" ? "bar-combo" : "unsupported";
2223
+ if (t.length === 2 && t[0].kind === "area" && t[1].kind === "line" && t.every((e) => e.categoryAxis === "primary" && e.valueAxis === "primary")) return "area-groups";
2224
+ if (n.size === 2 && n.has("bar") && n.has("line")) {
2225
+ let n = t.filter((e) => e.kind === "bar"), r = t.filter((e) => e.kind === "line"), i = e.chartType.endsWith("H") ? "bar" : "col", a = new Set(n.map((e) => e.barDirection ?? i));
2226
+ return n.length <= 2 && r.length === 1 && t.length <= 3 && a.size === 1 && t.every((e) => e.categoryAxis === "primary") ? "bar-combo" : "unsupported";
2227
+ }
2228
+ return [...n].every((e) => e === "scatter" || e === "bubble") ? t.length > 2 ? "unsupported" : "scatter-bubble" : t.length === 2 && t[0].kind === "stock" && t[1].kind === "line" && (t[0].seriesCount === 3 || t[0].seriesCount === 4) && (t[1].grouping == null || t[1].grouping === "standard") && t.every((e) => e.categoryAxis === "primary" && e.valueAxis === "primary") ? "stock-line" : "unsupported";
2229
+ }
2230
+ //#endregion
2231
+ //#region packages/core/src/chart/style-paint.ts
2232
+ function Jn(e, t, n) {
2233
+ let r = t === "fill" ? e?.fillColors : e?.lineColors;
2234
+ return r?.length ? r[((t === "fill" ? e?.fillColorIndex : e?.lineColorIndex) ?? n) % r.length] ?? null : null;
2235
+ }
2236
+ function Yn(e, t) {
2237
+ let n = e?.fillPaints;
2238
+ return n?.length ? n[(e?.fillColorIndex ?? t) % n.length] ?? null : null;
2239
+ }
2240
+ function Xn(e, t) {
2241
+ let n = e?.linePaints;
2242
+ return n?.length ? n[(e?.lineColorIndex ?? t) % n.length] ?? null : null;
2243
+ }
2244
+ function Zn(e, t) {
2245
+ if (!e) return;
2246
+ if (e.fillHidden) return e.fillNoStyle ? void 0 : null;
2247
+ let n = Yn(e, t);
2248
+ if (n) return n;
2249
+ let r = Jn(e, "fill", t);
2250
+ return r ? {
2251
+ fillType: "solid",
2252
+ color: r
2253
+ } : e.fillPaintAuthored === !0 ? null : void 0;
2254
+ }
2255
+ function Qn(e, t) {
2256
+ if (!e) return;
2257
+ if (e.lineHidden) return e.lineNoStyle ? void 0 : null;
2258
+ let n = Xn(e, t);
2259
+ if (n) return n;
2260
+ let r = Jn(e, "line", t);
2261
+ return r ? {
2262
+ fillType: "solid",
2263
+ color: r
2264
+ } : e.linePaintAuthored === !0 ? null : void 0;
2265
+ }
2266
+ function $n(e, t, n) {
2267
+ let r = t?.style, i = e.chartStyleRoles?.[n], a;
2268
+ a = t?.fillHidden === !0 ? null : t?.fillColor ? {
2269
+ fillType: "solid",
2270
+ color: t.fillColor
2271
+ } : Zn(r, 0), a === void 0 && (a = Zn(i, 0));
2272
+ let o;
2273
+ o = t?.lineHidden === !0 ? null : t?.lineColor ? {
2274
+ fillType: "solid",
2275
+ color: t.lineColor
2276
+ } : Qn(r, 0), o === void 0 && (o = Qn(i, 0));
2277
+ let s = i?.lineNoStyle === !0 ? void 0 : i;
2278
+ return {
2279
+ fill: a,
2280
+ line: o,
2281
+ lineWidthEmu: t?.lineWidthEmu ?? r?.lineWidthEmu ?? s?.lineWidthEmu,
2282
+ lineDash: t?.lineDash ?? r?.lineDash ?? s?.lineDash,
2283
+ lineCustomDash: r?.lineCustomDash ?? s?.lineCustomDash,
2284
+ lineCap: r?.lineCap ?? s?.lineCap,
2285
+ lineJoin: r?.lineJoin ?? s?.lineJoin
2286
+ };
2287
+ }
2288
+ //#endregion
2289
+ //#region packages/core/src/chart/three-d-surface-picture-plan.ts
2290
+ function er(e, t) {
2291
+ return !Number.isSafeInteger(t) || t < 0 ? !1 : e.slabFaces ? t === 0 ? e.slabFaces.front : t === 1 || t >= 6 ? !1 : t % 2 == 0 ? e.slabFaces.end : e.slabFaces.sides : t === 0;
2292
+ }
2293
+ function tr(e, t) {
2294
+ return e.mode !== "stack" && e.mode !== "stackScale" || !er(e, t) ? !1 : !e.slabFaces || t === 0 || t % 2 == 1;
2295
+ }
2296
+ function nr(e, t) {
2297
+ return er(e, t) ? rr(e, t) ? e.repetitions : 1 : 0;
2298
+ }
2299
+ function rr(e, t) {
2300
+ return e.mode === "stackScale" && tr(e, t);
2301
+ }
2302
+ function G(e) {
2303
+ let t = 0;
2304
+ for (let n = 0; n < 6; n++) if (t += nr(e, n), t > 4096) return null;
2305
+ return e;
2306
+ }
2307
+ function ir(e) {
2308
+ return e == null || [
2309
+ e.l,
2310
+ e.t,
2311
+ e.r,
2312
+ e.b
2313
+ ].every((e) => (e ?? 0) === 0);
2314
+ }
2315
+ function ar(e) {
2316
+ if (!e) return !0;
2317
+ let t = e.l ?? 0, n = e.t ?? 0, r = e.r ?? 0, i = e.b ?? 0, a = [
2318
+ t,
2319
+ n,
2320
+ r,
2321
+ i
2322
+ ], o = 1 - r, s = 1 - i;
2323
+ return a.every(Number.isFinite) && o > t && s > n && Math.min(1, o) > Math.max(0, t) && Math.min(1, s) > Math.max(0, n);
2324
+ }
2325
+ function or(e, t, n, r) {
2326
+ if (e.tile != null == (e.stretch === !0) || !ar(e.srcRect) || !ar(e.fillRect) || e.rotWithShape === !1 || e.alpha != null && (!Number.isFinite(e.alpha) || e.alpha < 0 || e.alpha > 1)) return null;
2327
+ let i = t?.pictureOptions;
2328
+ if (i?.pictureFormatAuthored === !0 && i.pictureFormat == null || i?.pictureStackUnitAuthored === !0 && i.pictureStackUnit == null) return null;
2329
+ let a = i?.pictureFormat ?? "stretch";
2330
+ if ((!ir(e.srcRect) || !ir(e.fillRect)) && a !== "stretch") return null;
2331
+ let o = t?.thicknessPercent ?? 0;
2332
+ if (!Number.isFinite(o) || o < 0) return null;
2333
+ let s = o === 0 ? void 0 : {
2334
+ front: i?.applyToFront !== !1,
2335
+ sides: i?.applyToSides !== !1,
2336
+ end: i?.applyToEnd !== !1
2337
+ };
2338
+ if (s && !Object.values(s).some(Boolean) || !s && (n === "backWall" && i?.applyToFront === !1 || (n === "floor" || n === "sideWall") && i?.applyToSides === !1) || (i?.pictureStackUnitAuthored === !0 || i?.pictureStackUnit != null) && a !== "stackScale") return null;
2339
+ if (e.tile) return a !== "stretch" || !ir(e.fillRect) ? null : G({
2340
+ mode: "tile",
2341
+ repetitions: 1,
2342
+ slabFaces: s
2343
+ });
2344
+ if (a === "stretch") return G({
2345
+ mode: "stretch",
2346
+ repetitions: 1,
2347
+ slabFaces: s
2348
+ });
2349
+ if (a === "stack") return G({
2350
+ mode: "stack",
2351
+ repetitions: 1,
2352
+ slabFaces: s
2353
+ });
2354
+ if (a !== "stackScale") return null;
2355
+ let c = i?.pictureStackUnit;
2356
+ if (!(c != null && Number.isFinite(c) && c > 0)) return null;
2357
+ if (n === "floor") return G({
2358
+ mode: "stretch",
2359
+ repetitions: 1,
2360
+ slabFaces: s
2361
+ });
2362
+ if (r == null) return G({
2363
+ mode: "stackScale",
2364
+ repetitions: 1,
2365
+ stackUnit: c,
2366
+ slabFaces: s
2367
+ });
2368
+ if (!(Number.isFinite(r) && r > 0)) return null;
2369
+ let l = Math.ceil(r / c);
2370
+ return !Number.isSafeInteger(l) || l < 1 || l > 4096 ? null : G({
2371
+ mode: "stackScale",
2372
+ repetitions: l,
2373
+ stackUnit: c,
2374
+ slabFaces: s
2375
+ });
2376
+ }
2377
+ //#endregion
2378
+ //#region packages/core/src/chart/image-fill.ts
2379
+ var sr = new Set([
2380
+ "line",
2381
+ "stackedLine",
2382
+ "stackedLinePct",
2383
+ "area",
2384
+ "stackedArea",
2385
+ "stackedAreaPct",
2386
+ "clusteredBar",
2387
+ "clusteredBarH",
2388
+ "stackedBar",
2389
+ "stackedBarH",
2390
+ "stackedBarPct",
2391
+ "stackedBarHPct",
2392
+ "surface",
2393
+ "surface3D"
2394
+ ]);
2395
+ function cr(e) {
2396
+ return JSON.stringify([
2397
+ e.imagePath,
2398
+ e.svgImagePath ?? null,
2399
+ e.duotone?.clr1 ?? null,
2400
+ e.duotone?.clr2 ?? null
2401
+ ]);
2402
+ }
2403
+ var K;
2404
+ function lr(e, t) {
2405
+ let n = K;
2406
+ K = e;
2407
+ try {
2408
+ return t();
2409
+ } finally {
2410
+ K = n;
2411
+ }
2412
+ }
2413
+ function ur(e, t, n, r, i) {
2414
+ let a = e;
2415
+ return {
2416
+ x: a.endsWith("r") || a === "r" ? t - r : a === "t" || a === "ctr" || a === "b" ? (t - r) / 2 : 0,
2417
+ y: a.startsWith("b") || a === "b" ? n - i : a === "l" || a === "ctr" || a === "r" ? (n - i) / 2 : 0
2418
+ };
2419
+ }
2420
+ var dr = new Set([
2421
+ "tl",
2422
+ "t",
2423
+ "tr",
2424
+ "l",
2425
+ "ctr",
2426
+ "r",
2427
+ "bl",
2428
+ "b",
2429
+ "br"
2430
+ ]), fr = new Set([
2431
+ "none",
2432
+ "x",
2433
+ "y",
2434
+ "xy"
2435
+ ]);
2436
+ function q(e) {
2437
+ return e.tile != null != (e.stretch === !0) && ft(e.srcRect);
2438
+ }
2439
+ function pr(e) {
2440
+ return q(e) ? K?.(e) ?? null : null;
2441
+ }
2442
+ function mr(e, t, n = z) {
2443
+ let r = e.tile;
2444
+ if (!r) return null;
2445
+ let { algn: i, tx: a, ty: o, sx: s, sy: c } = r, l = r.flip ?? "none";
2446
+ if (!i || !dr.has(i) || !fr.has(l) || !Number.isFinite(a) || !Number.isFinite(o) || !(e.dpi != null && Number.isFinite(e.dpi) && e.dpi > 0) || !(Number.isFinite(s) && s > 0) || !(Number.isFinite(c) && c > 0)) return null;
2447
+ let u = pt(t);
2448
+ if (!(Number.isFinite(u.w) && u.w > 0) || !(Number.isFinite(u.h) && u.h > 0)) return null;
2449
+ let d = 96 / e.dpi * (n / z), f = u.w * s * d, p = u.h * c * d;
2450
+ return !(f > 0) || !(p > 0) ? null : {
2451
+ alignment: i,
2452
+ tileW: f,
2453
+ tileH: p,
2454
+ offsetX: a / R * n,
2455
+ offsetY: o / R * n,
2456
+ flipX: l === "x" || l === "xy",
2457
+ flipY: l === "y" || l === "xy"
2458
+ };
2459
+ }
2460
+ function hr(e, t, n) {
2461
+ let r = ur(e.alignment, t, n, e.tileW, e.tileH);
2462
+ return {
2463
+ x: r.x + e.offsetX,
2464
+ y: r.y + e.offsetY
2465
+ };
2466
+ }
2467
+ function gr(e, t, n, r, i) {
2468
+ let a = mr(e, t, i);
2469
+ if (!a) return null;
2470
+ let { tileW: o, tileH: s } = a, c = Math.ceil(n / o) + 2, l = Math.ceil(r / s) + 2, u = c * l;
2471
+ return Number.isSafeInteger(u) ? {
2472
+ ...a,
2473
+ columns: c,
2474
+ rows: l,
2475
+ repetitions: u
2476
+ } : null;
2477
+ }
2478
+ function _r(e, t, n, r, i = z) {
2479
+ if (!(n > 0) || !(r > 0) || !q(e)) return 0;
2480
+ let a = t?.(e);
2481
+ if (!a) return 0;
2482
+ if (!e.tile) return 1;
2483
+ let o = gr(e, a, n, r, i);
2484
+ return o ? Math.min(o.repetitions, Ln) : 0;
2485
+ }
2486
+ function vr(e) {
2487
+ if (Bn(e) > 1e4) return {
2488
+ fills: [],
2489
+ sourceLimitExceeded: !1
2490
+ };
2491
+ let t = /* @__PURE__ */ new Map(), n = !1, r = (e) => {
2492
+ if (!e || typeof e != "object" || e.fillType !== "image") return;
2493
+ let r = e;
2494
+ if (!q(r)) return;
2495
+ let i = cr(r);
2496
+ if (!t.has(i)) {
2497
+ if (t.size >= 256) {
2498
+ n = !0;
2499
+ return;
2500
+ }
2501
+ t.set(i, r);
2502
+ }
2503
+ }, i = (e, t) => {
2504
+ let n = e?.fillPaints;
2505
+ if (n?.length) return n[(e?.fillColorIndex ?? t) % n.length];
2506
+ }, a = (e, t) => {
2507
+ if (!e) return;
2508
+ if (e.fillHidden === !0) return e.fillNoStyle ? void 0 : null;
2509
+ let n = i(e, t);
2510
+ if (n?.fillType === "image") return n;
2511
+ if (n != null || e.fillPaintAuthored === !0) return null;
2512
+ let r = e.fillColors;
2513
+ return r?.length && r[(e.fillColorIndex ?? t) % r.length] ? null : void 0;
2514
+ }, o = (e, t, n, r, i) => {
2515
+ if (n === !0) return null;
2516
+ if (e?.fillType === "image") return e;
2517
+ if (e != null || t != null || r === !0) return null;
2518
+ if (i?.fillNoStyle !== !0) return a(i, 0);
2519
+ }, s = o(e.chartFill, void 0, e.chartFillHidden, e.chartFillPaintAuthored, e.chartStyleRoles?.chartArea);
2520
+ s && r(s);
2521
+ let c = o(e.plotAreaFill, e.plotAreaBg, e.plotAreaFillHidden, e.plotAreaFillPaintAuthored, e.threeD ? e.chartStyleRoles?.plotArea3D : e.chartStyleRoles?.plotArea);
2522
+ c && r(c);
2523
+ let l = e.series.some((e) => e.values.some((e) => e != null && Number.isFinite(e))), u = Math.max(e.categories.length, ...e.series.map((e) => e.categories?.length ?? e.values.length)), d = e.chartType === "surface" || e.chartType === "surface3D" ? e.series.length >= 2 && u >= 2 && l : l;
2524
+ if (e.threeD && sr.has(e.chartType) && d) {
2525
+ let t = e.valMin != null && Number.isFinite(e.valMin) && e.valMax != null && Number.isFinite(e.valMax) ? e.valMax - e.valMin : void 0;
2526
+ for (let [n, i] of [
2527
+ ["floor", "floor"],
2528
+ ["sideWall", "wall"],
2529
+ ["backWall", "wall"]
2530
+ ]) {
2531
+ let a = e.threeD[n], o = $n(e, a, i).fill;
2532
+ o?.fillType === "image" && or(o, a, n, t) && r(o);
2533
+ }
2534
+ }
2535
+ let f = Gn(e), p = e.series.some((t, n) => {
2536
+ let r = f[n];
2537
+ return (r?.kind === "bubble" || r?.kind === "scatter" ? "scatter" : t.seriesType ?? (e.chartType === "bubble" ? "scatter" : e.chartType)) === "scatter" && (t.categories ?? e.categories).some((e) => Number.isFinite(Number.parseFloat(e)));
2538
+ }), m = e.chartStyleRoles?.dataPointMarker, h = yn(e), g = e.categories.length > 0 || (e.series[0]?.categories?.length ?? 0) > 0 || e.series.some((e) => e.values.length > 0);
2539
+ for (let t = 0; t < e.series.length; t++) {
2540
+ let n = e.series[t], o = f[t], s = o?.kind === "bubble" || o == null && e.chartType === "bubble", c = o?.kind === "bubble" || o?.kind === "scatter" ? "scatter" : n.seriesType ?? (e.chartType === "bubble" ? "scatter" : e.chartType), l = Kn(e.chartType, o), u = o?.scatterStyle ?? e.scatterStyle, d = o?.radarStyle ?? e.radarStyle, _ = {
2541
+ chartType: l,
2542
+ bubbleScale: o?.bubbleScale ?? e.bubbleScale,
2543
+ showNegativeBubbles: o?.showNegativeBubbles ?? e.showNegativeBubbles
2544
+ };
2545
+ if (!(c === "line" || c === "stackedLine" || c === "stackedLinePct" || c === "area" || c === "stackedArea" || c === "stackedAreaPct" || c === "scatter" || c === "radar" || c === "stock") || Dn(c, l, u, d)) continue;
2546
+ let v = c === "area" || c === "stackedArea" || c === "stackedAreaPct" ? (n.showMarker === !0 || bn(n)) && n.markerSymbol !== "none" : c === "stock" ? n.markerSymbol != null && n.markerSymbol !== "none" : n.showMarker !== !1 && n.markerSymbol !== "none", y = h.has(t), b = Math.max(n.values.length, n.categories?.length ?? 0, e.categories.length), x = wn(e, n, c, b, p, _) > 0, S = On(l, u, n, d) && (e.showLegend && !y || e.dataTable?.showKeys === !0 && Tn(e.chartType) && g || x), C = n.markerSymbol ?? (c === "stock" ? "none" : "circle");
2547
+ if (S && H(C)) {
2548
+ if (s) {
2549
+ let i = a(n.chartexStyle, t);
2550
+ if (i && r(i), i === void 0 && n.color == null) {
2551
+ let n = a(e.chartStyleRoles?.dataPoint, t);
2552
+ n && r(n);
2553
+ }
2554
+ } else r(n.markerFillPaint);
2555
+ !s && n.markerFillPaint === void 0 && n.markerFill == null && n.markerFillPaintAuthored !== !0 && r(i(m, t));
2556
+ }
2557
+ if (!v && !En(n)) continue;
2558
+ let ee = new Map((n.dataPointOverrides ?? []).map((e) => [e.idx, e]));
2559
+ for (let l = 0; l < b; l++) {
2560
+ if (!U(e, n, c, l, p, _)) continue;
2561
+ let u = ee.get(l);
2562
+ if (!H(kn(n, u, "circle", v))) continue;
2563
+ if (s) {
2564
+ let t = { showNegativeBubbles: o?.showNegativeBubbles ?? e.showNegativeBubbles };
2565
+ if ((o?.bubbleScale ?? e.bubbleScale ?? 100) <= 0 || Sn(t, n.bubbleSizes?.[l]) == null || (n.bubbleSizes?.[l] ?? 0) < 0) continue;
2566
+ let i = a(u?.chartexStyle, l);
2567
+ if (i && r(i), i !== void 0 || u?.fillHidden === !0 || u?.color != null || n.dataPointColors?.[l] != null) continue;
2568
+ let s = a(n.chartexStyle, l);
2569
+ if (s && r(s), s !== void 0 || n.color != null) continue;
2570
+ let c = a(e.chartStyleRoles?.dataPoint, l);
2571
+ c && r(c);
2572
+ continue;
2573
+ }
2574
+ let d = An(n, u, l);
2575
+ r(d), d === void 0 && u?.markerFill == null && u?.color == null && n.dataPointColors?.[l] == null && n.markerFill == null && u?.markerFillPaintAuthored !== !0 && n.markerFillPaintAuthored !== !0 && r(i(m, t));
2576
+ }
2577
+ }
2578
+ for (let t = 0; t < (e.chartexBox?.series.length ?? 0); t++) {
2579
+ let n = e.chartexBox.series[t];
2580
+ if (!H(e.chartStyleMarkerSymbol ?? e.chartexMarkerSymbol ?? "circle") || !(n.showNonoutliers || n.showOutliers)) continue;
2581
+ let i = 0;
2582
+ for (let e of n.valuesByCategory) {
2583
+ let t = wt(e, n.quartileMethod);
2584
+ t && (n.showNonoutliers && (i += t.inner.length), n.showOutliers && (i += t.outliers.length));
2585
+ }
2586
+ if (i === 0) continue;
2587
+ let o = n.chartexFormatIdx ?? t, s = n.chartexStyle, c = a(s, o);
2588
+ if (c && r(c), c !== void 0 || n.color != null) continue;
2589
+ let l = a(e.chartexDataPointMarkerStyle ?? e.chartexDataPointStyle ?? void 0, o);
2590
+ l && r(l);
2591
+ }
2592
+ return {
2593
+ fills: n ? [] : [...t.values()],
2594
+ sourceLimitExceeded: n
2595
+ };
2596
+ }
2597
+ function yr(e) {
2598
+ let t = /* @__PURE__ */ new Map();
2599
+ for (let n of e) {
2600
+ let e = vr(n);
2601
+ if (e.sourceLimitExceeded) return [];
2602
+ for (let n of e.fills) {
2603
+ let e = cr(n);
2604
+ if (!t.has(e)) {
2605
+ if (t.size >= 256) return [];
2606
+ t.set(e, n);
2607
+ }
2608
+ }
2609
+ }
2610
+ return [...t.values()];
2611
+ }
2612
+ function br(e, t, n, r, i, a, o = z, s = 0) {
2613
+ let c = K?.(t);
2614
+ if (!c || !(i > 0) || !(a > 0) || !q(t) || s !== 0 && t.rotWithShape == null) return !1;
2615
+ if (e.save(), e.beginPath(), e.rect(n, r, i, a), e.clip(), t.rotWithShape === !1 && s !== 0 && (e.translate(n + i / 2, r + a / 2), e.rotate(-s * Math.PI / 180), e.translate(-(n + i / 2), -(r + a / 2))), t.alpha != null && (e.globalAlpha *= Math.max(0, Math.min(1, t.alpha))), !t.tile) {
2616
+ let o = t.fillRect, s = n + (o?.l ?? 0) * i, l = r + (o?.t ?? 0) * a, u = (1 - (o?.l ?? 0) - (o?.r ?? 0)) * i, d = (1 - (o?.t ?? 0) - (o?.b ?? 0)) * a;
2617
+ return u > 0 && d > 0 && ht(e, c, t.srcRect, s, l, u, d), e.restore(), u > 0 && d > 0;
2618
+ }
2619
+ let l = gr(t, c, i, a, o);
2620
+ if (!l || l.repetitions > 4096) return e.restore(), !1;
2621
+ let { tileW: u, tileH: d, flipX: f, flipY: p, columns: m, rows: h } = l, g = hr(l, i, a), _ = n + g.x, v = r + g.y, y = Math.floor((n - _) / u) - 1, b = Math.floor((r - v) / d) - 1;
2622
+ for (let n = b; n < b + h; n++) for (let r = y; r < y + m; r++) {
2623
+ let i = _ + r * u, a = v + n * d, o = f && Math.abs(r) % 2 == 1, s = p && Math.abs(n) % 2 == 1;
2624
+ e.save(), e.translate(i + (o ? u : 0), a + (s ? d : 0)), e.scale(o ? -1 : 1, s ? -1 : 1), ht(e, c, t.srcRect, 0, 0, u, d), e.restore();
2625
+ }
2626
+ return e.restore(), !0;
2627
+ }
2628
+ //#endregion
2629
+ //#region packages/core/src/shape/pattern-bitmaps.ts
2630
+ var xr = {
2631
+ pct5: [
2632
+ 0,
2633
+ 16,
2634
+ 0,
2635
+ 0,
2636
+ 0,
2637
+ 1,
2638
+ 0,
2639
+ 0
2640
+ ],
2641
+ pct10: [
2642
+ 136,
2643
+ 0,
2644
+ 34,
2645
+ 0,
2646
+ 136,
2647
+ 0,
2648
+ 34,
2649
+ 0
2650
+ ],
2651
+ pct20: [
2652
+ 136,
2653
+ 34,
2654
+ 136,
2655
+ 34,
2656
+ 136,
2657
+ 34,
2658
+ 136,
2659
+ 34
2660
+ ],
2661
+ pct25: [
2662
+ 136,
2663
+ 85,
2664
+ 34,
2665
+ 85,
2666
+ 136,
2667
+ 85,
2668
+ 34,
2669
+ 85
2670
+ ],
2671
+ pct30: [
2672
+ 170,
2673
+ 85,
2674
+ 170,
2675
+ 85,
2676
+ 170,
2677
+ 85,
2678
+ 170,
2679
+ 85
2680
+ ],
2681
+ pct40: [
2682
+ 170,
2683
+ 119,
2684
+ 170,
2685
+ 221,
2686
+ 170,
2687
+ 119,
2688
+ 170,
2689
+ 221
2690
+ ],
2691
+ pct50: [
2692
+ 170,
2693
+ 85,
2694
+ 170,
2695
+ 85,
2696
+ 170,
2697
+ 85,
2698
+ 170,
2699
+ 85
2700
+ ],
2701
+ pct60: [
2702
+ 221,
2703
+ 85,
2704
+ 119,
2705
+ 85,
2706
+ 221,
2707
+ 85,
2708
+ 119,
2709
+ 85
2710
+ ],
2711
+ pct70: [
2712
+ 238,
2713
+ 85,
2714
+ 187,
2715
+ 85,
2716
+ 238,
2717
+ 85,
2718
+ 187,
2719
+ 85
2720
+ ],
2721
+ pct75: [
2722
+ 238,
2723
+ 170,
2724
+ 187,
2725
+ 170,
2726
+ 238,
2727
+ 170,
2728
+ 187,
2729
+ 170
2730
+ ],
2731
+ pct80: [
2732
+ 254,
2733
+ 239,
2734
+ 251,
2735
+ 191,
2736
+ 254,
2737
+ 239,
2738
+ 251,
2739
+ 191
2740
+ ],
2741
+ pct90: [
2742
+ 255,
2743
+ 239,
2744
+ 255,
2745
+ 251,
2746
+ 255,
2747
+ 239,
2748
+ 255,
2749
+ 251
2750
+ ],
2751
+ horz: [
2752
+ 255,
2753
+ 0,
2754
+ 0,
2755
+ 0,
2756
+ 255,
2757
+ 0,
2758
+ 0,
2759
+ 0
2760
+ ],
2761
+ vert: [
2762
+ 136,
2763
+ 136,
2764
+ 136,
2765
+ 136,
2766
+ 136,
2767
+ 136,
2768
+ 136,
2769
+ 136
2770
+ ],
2771
+ ltHorz: [
2772
+ 0,
2773
+ 255,
2774
+ 0,
2775
+ 0,
2776
+ 0,
2777
+ 0,
2778
+ 0,
2779
+ 0
2780
+ ],
2781
+ ltVert: [
2782
+ 32,
2783
+ 32,
2784
+ 32,
2785
+ 32,
2786
+ 32,
2787
+ 32,
2788
+ 32,
2789
+ 32
2790
+ ],
2791
+ dkHorz: [
2792
+ 255,
2793
+ 255,
2794
+ 0,
2795
+ 0,
2796
+ 255,
2797
+ 255,
2798
+ 0,
2799
+ 0
2800
+ ],
2801
+ dkVert: [
2802
+ 204,
2803
+ 204,
2804
+ 204,
2805
+ 204,
2806
+ 204,
2807
+ 204,
2808
+ 204,
2809
+ 204
2810
+ ],
2811
+ narHorz: [
2812
+ 255,
2813
+ 0,
2814
+ 255,
2815
+ 0,
2816
+ 255,
2817
+ 0,
2818
+ 255,
2819
+ 0
2820
+ ],
2821
+ narVert: [
2822
+ 170,
2823
+ 170,
2824
+ 170,
2825
+ 170,
2826
+ 170,
2827
+ 170,
2828
+ 170,
2829
+ 170
2830
+ ],
2831
+ cross: [
2832
+ 255,
2833
+ 136,
2834
+ 136,
2835
+ 136,
2836
+ 255,
2837
+ 136,
2838
+ 136,
2839
+ 136
2840
+ ],
2841
+ lgGrid: [
2842
+ 255,
2843
+ 128,
2844
+ 128,
2845
+ 128,
2846
+ 128,
2847
+ 128,
2848
+ 128,
2849
+ 128
2850
+ ],
2851
+ smGrid: [
2852
+ 255,
2853
+ 136,
2854
+ 136,
2855
+ 136,
2856
+ 255,
2857
+ 136,
2858
+ 136,
2859
+ 136
2860
+ ],
2861
+ dotGrid: [
2862
+ 136,
2863
+ 0,
2864
+ 0,
2865
+ 0,
2866
+ 136,
2867
+ 0,
2868
+ 0,
2869
+ 0
2870
+ ],
2871
+ dnDiag: [
2872
+ 128,
2873
+ 64,
2874
+ 32,
2875
+ 16,
2876
+ 8,
2877
+ 4,
2878
+ 2,
2879
+ 1
2880
+ ],
2881
+ upDiag: [
2882
+ 1,
2883
+ 2,
2884
+ 4,
2885
+ 8,
2886
+ 16,
2887
+ 32,
2888
+ 64,
2889
+ 128
2890
+ ],
2891
+ ltDnDiag: [
2892
+ 136,
2893
+ 68,
2894
+ 34,
2895
+ 17,
2896
+ 136,
2897
+ 68,
2898
+ 34,
2899
+ 17
2900
+ ],
2901
+ ltUpDiag: [
2902
+ 17,
2903
+ 34,
2904
+ 68,
2905
+ 136,
2906
+ 17,
2907
+ 34,
2908
+ 68,
2909
+ 136
2910
+ ],
2911
+ dkDnDiag: [
2912
+ 195,
2913
+ 129,
2914
+ 0,
2915
+ 129,
2916
+ 195,
2917
+ 129,
2918
+ 0,
2919
+ 129
2920
+ ],
2921
+ dkUpDiag: [
2922
+ 195,
2923
+ 129,
2924
+ 0,
2925
+ 129,
2926
+ 195,
2927
+ 129,
2928
+ 0,
2929
+ 129
2930
+ ],
2931
+ wdDnDiag: [
2932
+ 128,
2933
+ 64,
2934
+ 32,
2935
+ 16,
2936
+ 8,
2937
+ 4,
2938
+ 2,
2939
+ 129
2940
+ ],
2941
+ wdUpDiag: [
2942
+ 1,
2943
+ 2,
2944
+ 4,
2945
+ 8,
2946
+ 16,
2947
+ 32,
2948
+ 64,
2949
+ 129
2950
+ ],
2951
+ diagCross: [
2952
+ 129,
2953
+ 66,
2954
+ 36,
2955
+ 24,
2956
+ 24,
2957
+ 36,
2958
+ 66,
2959
+ 129
2960
+ ],
2961
+ horzBrick: [
2962
+ 255,
2963
+ 16,
2964
+ 16,
2965
+ 16,
2966
+ 255,
2967
+ 1,
2968
+ 1,
2969
+ 1
2970
+ ],
2971
+ diagBrick: [
2972
+ 129,
2973
+ 66,
2974
+ 36,
2975
+ 24,
2976
+ 36,
2977
+ 66,
2978
+ 129,
2979
+ 0
2980
+ ],
2981
+ lgCheck: [
2982
+ 240,
2983
+ 240,
2984
+ 240,
2985
+ 240,
2986
+ 15,
2987
+ 15,
2988
+ 15,
2989
+ 15
2990
+ ],
2991
+ smCheck: [
2992
+ 204,
2993
+ 204,
2994
+ 51,
2995
+ 51,
2996
+ 204,
2997
+ 204,
2998
+ 51,
2999
+ 51
3000
+ ],
3001
+ trellis: [
3002
+ 165,
3003
+ 90,
3004
+ 165,
3005
+ 90,
3006
+ 165,
3007
+ 90,
3008
+ 165,
3009
+ 90
3010
+ ]
3011
+ };
3012
+ function Sr(e, n, r) {
3013
+ let i = xr[e];
3014
+ if (!i) return null;
3015
+ let a = t(8, 8);
3016
+ if (!a) return null;
3017
+ let o = a.getContext("2d");
3018
+ if (!o) return null;
3019
+ o.fillStyle = Cr(r), o.fillRect(0, 0, 8, 8), o.fillStyle = Cr(n);
3020
+ for (let e = 0; e < 8; e++) {
3021
+ let t = i[e];
3022
+ for (let n = 0; n < 8; n++) t & 1 << 7 - n && o.fillRect(n, e, 1, 1);
3023
+ }
3024
+ return a;
3025
+ }
3026
+ function Cr(e) {
3027
+ return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
3028
+ }
3029
+ //#endregion
3030
+ //#region packages/core/src/draw/dash.ts
3031
+ function J(e, t) {
3032
+ return e.map((e) => e * t);
3033
+ }
3034
+ var wr = {
3035
+ dotted: [1, 2],
3036
+ dashed: [3, 2],
3037
+ dashSmallGap: [3, 1],
3038
+ dotDash: [
3039
+ 1,
3040
+ 2,
3041
+ 3,
3042
+ 2
3043
+ ],
3044
+ dotDotDash: [
3045
+ 1,
3046
+ 2,
3047
+ 1,
3048
+ 2,
3049
+ 3,
3050
+ 2
3051
+ ],
3052
+ dashDotStroked: [
3053
+ 1,
3054
+ 2,
3055
+ 3,
3056
+ 2
3057
+ ]
3058
+ };
3059
+ function Tr(e, t) {
3060
+ let n = wr[e];
3061
+ return n ? J(n, t) : [];
3062
+ }
3063
+ var Er = {
3064
+ hair: [1, 1],
3065
+ dashed: [4, 3],
3066
+ mediumDashed: [4, 3],
3067
+ dotted: [2, 2],
3068
+ dashDot: [
3069
+ 4,
3070
+ 2,
3071
+ 1,
3072
+ 2
3073
+ ],
3074
+ mediumDashDot: [
3075
+ 4,
3076
+ 2,
3077
+ 1,
3078
+ 2
3079
+ ],
3080
+ dashDotDot: [
3081
+ 4,
3082
+ 2,
3083
+ 1,
3084
+ 2,
3085
+ 1,
3086
+ 2
3087
+ ],
3088
+ mediumDashDotDot: [
3089
+ 4,
3090
+ 2,
3091
+ 1,
3092
+ 2,
3093
+ 1,
3094
+ 2
3095
+ ],
3096
+ slantDashDot: [
3097
+ 5,
3098
+ 3,
3099
+ 1,
3100
+ 3
3101
+ ]
3102
+ };
3103
+ function Dr(e) {
3104
+ let t = Er[e];
3105
+ return t ? J(t, 1) : [];
3106
+ }
3107
+ var Or = {
3108
+ dash: [6, 3],
3109
+ dot: [1.5, 3],
3110
+ dashDot: [
3111
+ 6,
3112
+ 3,
3113
+ 1.5,
3114
+ 3
3115
+ ],
3116
+ lgDash: [10, 4],
3117
+ lgDashDot: [
3118
+ 10,
3119
+ 4,
3120
+ 1.5,
3121
+ 4
3122
+ ],
3123
+ lgDashDotDot: [
3124
+ 10,
3125
+ 4,
3126
+ 1.5,
3127
+ 4,
3128
+ 1.5,
3129
+ 4
3130
+ ],
3131
+ sysDash: [4, 2],
3132
+ sysDot: [1, 2],
3133
+ sysDashDot: [
3134
+ 4,
3135
+ 2,
3136
+ 1,
3137
+ 2
3138
+ ],
3139
+ sysDashDotDot: [
3140
+ 4,
3141
+ 2,
3142
+ 1,
3143
+ 2,
3144
+ 1,
3145
+ 2
3146
+ ]
3147
+ };
3148
+ function kr(e, t) {
3149
+ let n = Or[e];
3150
+ return n ? J(n, t) : [];
3151
+ }
3152
+ var Ar = 512;
3153
+ function Y(e, t, n) {
3154
+ if (e != null) {
3155
+ let t = [];
3156
+ for (let r = 0; r < Math.min(e.length, Ar); r += 1) {
3157
+ let i = e[r];
3158
+ !Number.isFinite(i.dash) || !Number.isFinite(i.space) || i.dash < 0 || i.space < 0 || i.dash === 0 && i.space === 0 || t.push(i.dash * n, i.space * n);
3159
+ }
3160
+ return t;
3161
+ }
3162
+ return kr(t ?? "solid", n);
3163
+ }
3164
+ function jr(e, t) {
3165
+ let n = kr(e, t);
3166
+ if (n.length > 0) return n;
3167
+ let r = e.trim().split(/[\s,]+/).map(Number);
3168
+ return r.length >= 2 && r.every((e) => Number.isFinite(e) && e >= 0) && r.some((e) => e > 0) ? (r.length % 2 != 0 && r.pop(), J(r, t)) : [];
3169
+ }
3170
+ var Mr = {
3171
+ dotted: [1.5, 3],
3172
+ dottedHeavy: [1.5, 3],
3173
+ dash: [6, 3],
3174
+ dashHeavy: [6, 3],
3175
+ dashLong: [10, 4],
3176
+ dashLongHeavy: [10, 4],
3177
+ dotDash: [
3178
+ 6,
3179
+ 3,
3180
+ 1.5,
3181
+ 3
3182
+ ],
3183
+ dotDashHeavy: [
3184
+ 6,
3185
+ 3,
3186
+ 1.5,
3187
+ 3
3188
+ ],
3189
+ dotDotDash: [
3190
+ 6,
3191
+ 3,
3192
+ 1.5,
3193
+ 3,
3194
+ 1.5,
3195
+ 3
3196
+ ],
3197
+ dotDotDashHeavy: [
3198
+ 6,
3199
+ 3,
3200
+ 1.5,
3201
+ 3,
3202
+ 1.5,
3203
+ 3
3204
+ ]
3205
+ };
3206
+ function Nr(e, t) {
3207
+ let n = Mr[e];
3208
+ return n ? J(n, t) : [];
3209
+ }
3210
+ //#endregion
3211
+ //#region packages/core/src/shape/paint.ts
3212
+ var Pr = 512;
3213
+ function Fr(e, t, r, i, a, o, s) {
3214
+ let c = e.tileRect;
3215
+ if (!c || (c.l ?? 0) === 0 && (c.t ?? 0) === 0 && (c.r ?? 0) === 0 && (c.b ?? 0) === 0) return null;
3216
+ let l = r + a * (c.l ?? 0), u = i + o * (c.t ?? 0), d = a * (1 - (c.l ?? 0) - (c.r ?? 0)), f = o * (1 - (c.t ?? 0) - (c.b ?? 0));
3217
+ if (!Number.isFinite(d) || !Number.isFinite(f) || Math.abs(d) < 1e-9 || Math.abs(f) < 1e-9) return null;
3218
+ let p = Math.min(1, Pr / Math.abs(d), Pr / Math.abs(f)), m = Math.max(1, Math.ceil(Math.abs(d) * p)), h = Math.max(1, Math.ceil(Math.abs(f) * p)), g = n(t, m, h), _ = g?.getContext("2d");
3219
+ if (!g || !_) return null;
3220
+ let v = Z({
3221
+ ...e,
3222
+ tileRect: void 0,
3223
+ flip: void 0
3224
+ }, _, 0, 0, m, h, s);
3225
+ if (!v) return null;
3226
+ _.fillStyle = v, _.fillRect(0, 0, m, h);
3227
+ let y = e.flip === "x" || e.flip === "xy", b = e.flip === "y" || e.flip === "xy", x = g;
3228
+ if (y || b) {
3229
+ let e = n(t, m * (y ? 2 : 1), h * (b ? 2 : 1)), r = e?.getContext("2d");
3230
+ if (!e || !r) return null;
3231
+ for (let e = 0; e < (b ? 2 : 1); e += 1) for (let t = 0; t < (y ? 2 : 1); t += 1) r.save(), r.translate(t * m, e * h), r.scale(t === 1 ? -1 : 1, e === 1 ? -1 : 1), r.drawImage(g, t === 1 ? -m : 0, e === 1 ? -h : 0), r.restore();
3232
+ x = e;
3233
+ }
3234
+ let S = t.createPattern(x, "repeat");
3235
+ return !S || typeof S.setTransform != "function" ? null : (S.setTransform({
3236
+ a: d / m,
3237
+ b: 0,
3238
+ c: 0,
3239
+ d: f / h,
3240
+ e: l,
3241
+ f: u
3242
+ }), S);
3243
+ }
3244
+ function X(e, t = 1) {
3245
+ let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
3246
+ return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
3247
+ }
3248
+ function Ir(e) {
3249
+ let t = e.charCodeAt(0) === 35 ? e.slice(1) : e, n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16);
3250
+ return .299 * n + .587 * r + .114 * i;
3251
+ }
3252
+ function Lr(e) {
3253
+ return e && Ir(e) < 128 ? "#FFFFFF" : "#000000";
3254
+ }
3255
+ function Z(e, t, n, r, i, a, o = 0) {
3256
+ if (!e || e.fillType === "none") return null;
3257
+ if (e.fillType === "solid") return X(e.color);
3258
+ if (e.fillType === "pattern") return zr(e, t);
3259
+ if (e.fillType === "gradient") {
3260
+ let s = e.stops;
3261
+ if (s.length === 0) return null;
3262
+ if (s.length === 1) return X(s[0].color);
3263
+ let c = Fr(e, t, n, r, i, a, o);
3264
+ if (c) return c;
3265
+ let l, u = e.tileRect, d = n + i * (u?.l ?? 0), f = r + a * (u?.t ?? 0), p = i * (1 - (u?.l ?? 0) - (u?.r ?? 0)), m = a * (1 - (u?.t ?? 0) - (u?.b ?? 0));
3266
+ if (e.gradType === "radial") {
3267
+ let n = e.fillToRect, r = d + p * (n?.l ?? 0), i = f + m * (n?.t ?? 0), a = p * (1 - (n?.l ?? 0) - (n?.r ?? 0)), o = m * (1 - (n?.t ?? 0) - (n?.b ?? 0)), s = r + a / 2, c = i + o / 2, u = Math.max(Math.abs(s - d), Math.abs(d + p - s)), h = Math.max(Math.abs(c - f), Math.abs(f + m - c)), g = e.path === "rect" ? Math.max(u, h) : Math.sqrt(u * u + h * h);
3268
+ l = t.createRadialGradient(s, c, 0, s, c, Math.max(g, 1e-9));
3269
+ } else {
3270
+ let n = (e.rotWithShape === !1 ? e.angle - o : e.angle) * Math.PI / 180, r = Math.cos(n), i = Math.sin(n);
3271
+ if (e.scaled === !0) {
3272
+ r *= p, i *= m;
3273
+ let e = Math.hypot(r, i);
3274
+ e > 0 && (r /= e, i /= e);
3275
+ }
3276
+ let a = d + p / 2, s = f + m / 2, c = (Math.abs(r) * p + Math.abs(i) * m) / 2;
3277
+ l = t.createLinearGradient(a - r * c, s - i * c, a + r * c, s + i * c);
3278
+ }
3279
+ for (let e of s) l.addColorStop(Math.min(1, Math.max(0, e.position)), X(e.color));
3280
+ return l;
3281
+ }
3282
+ return null;
3283
+ }
3284
+ var Rr = /* @__PURE__ */ new WeakMap();
3285
+ function zr(e, t) {
3286
+ let n = `${e.preset}|${e.fg}|${e.bg}`, r = Rr.get(t);
3287
+ r || (r = /* @__PURE__ */ new Map(), Rr.set(t, r));
3288
+ let i = r.get(n);
3289
+ if (i) return i;
3290
+ let a = Sr(e.preset, e.fg, e.bg);
3291
+ if (!a) return X(e.fg);
3292
+ let o = t.createPattern(a, "repeat");
3293
+ return o ? (r.set(n, o), o) : X(e.fg);
3294
+ }
3295
+ function Br(e, t, n) {
3296
+ if (!t) {
3297
+ e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]), e.lineCap = "butt", e.lineJoin = "miter", e.miterLimit = 10;
3298
+ return;
3299
+ }
3300
+ e.strokeStyle = X(t.color);
3301
+ let r = Math.max(.5, t.width * n);
3302
+ e.lineWidth = r;
3303
+ let i = t.customDash == null ? t.dashStyle ? jr(t.dashStyle, r) : [] : Y(t.customDash, null, r), a = t.lineCap ?? "butt", o = i.some((e, t) => t % 2 == 0 && e === 0);
3304
+ e.lineCap = a === "butt" && o ? "square" : a, e.lineJoin = t.lineJoin ?? "miter", e.miterLimit = t.miterLimit ?? 10, e.setLineDash(i);
3305
+ }
3306
+ //#endregion
3307
+ //#region packages/core/src/chart/compound-frame.ts
3308
+ function Vr(e, t) {
3309
+ if (!Number.isFinite(e) || e <= 0) return [];
3310
+ let n = t === "dbl" ? [
3311
+ 1,
3312
+ 1,
3313
+ 1
3314
+ ] : t === "thinThick" ? [
3315
+ 1,
3316
+ 1,
3317
+ 3
3318
+ ] : t === "thickThin" ? [
3319
+ 3,
3320
+ 1,
3321
+ 1
3322
+ ] : t === "tri" ? [
3323
+ 1,
3324
+ 1,
3325
+ 2,
3326
+ 1,
3327
+ 1
3328
+ ] : [1], r = e / n.reduce((e, t) => e + t, 0), i = [], a = 0;
3329
+ for (let e = 0; e < n.length; e += 2) {
3330
+ let t = n[e] * r;
3331
+ i.push({
3332
+ center: a + t / 2,
3333
+ width: t
3334
+ }), a += t + (n[e + 1] ?? 0) * r;
3335
+ }
3336
+ return i;
3337
+ }
3338
+ function Hr(e, t, n, r, i, a) {
3339
+ let o = Math.max(0, Math.min(a, r / 2, i / 2));
3340
+ e.beginPath(), e.moveTo(t + o, n), e.lineTo(t + r - o, n), e.quadraticCurveTo(t + r, n, t + r, n + o), e.lineTo(t + r, n + i - o), e.quadraticCurveTo(t + r, n + i, t + r - o, n + i), e.lineTo(t + o, n + i), e.quadraticCurveTo(t, n + i, t, n + i - o), e.lineTo(t, n + o), e.quadraticCurveTo(t, n, t + o, n), e.closePath();
3341
+ }
3342
+ function Ur(e, t, n, r, i, a, o, s = 0) {
3343
+ if (r > 0 && i > 0) for (let c of Vr(a, o)) {
3344
+ let a = Math.max(0, r - c.center * 2), o = Math.max(0, i - c.center * 2);
3345
+ a > 0 && o > 0 && (e.lineWidth = c.width, s > 0 ? (Hr(e, t + c.center, n + c.center, a, o, Math.max(0, s - c.center)), e.stroke()) : e.strokeRect(t + c.center, n + c.center, a, o));
3346
+ }
3347
+ }
3348
+ //#endregion
3349
+ //#region packages/core/src/chart/axis-style.ts
3350
+ function Q(e, t) {
3351
+ return e ? Math.max(.5, e / R) * t : 1;
3352
+ }
3353
+ function Wr(e, t, n) {
3354
+ return {
3355
+ color: e ? `#${e}` : "#aaa",
3356
+ width: Q(t, n)
3357
+ };
3358
+ }
3359
+ function Gr(e, t, n) {
3360
+ return {
3361
+ color: e ? `#${e}` : "#e0e0e0",
3362
+ width: t ? Q(t, n) : .5
3363
+ };
3364
+ }
3365
+ function Kr(e) {
3366
+ return e.catAxisCrossBetween !== "midCat";
3367
+ }
3368
+ //#endregion
3369
+ //#region packages/core/src/excel-date.ts
3370
+ var $ = 864e5, qr = Date.UTC(1899, 11, 30), Jr = Date.UTC(1904, 0, 1);
3371
+ function Yr(e, t = !1) {
3372
+ if (t) return new Date(Jr + e * $);
3373
+ let n = e < 60 ? e + 1 : e;
3374
+ return new Date(qr + n * $);
3375
+ }
3376
+ function Xr(e, t = !1) {
3377
+ if (t) return (e.getTime() - Jr) / $;
3378
+ let n = (e.getTime() - qr) / $;
3379
+ return n <= 60 ? n - 1 : n;
3380
+ }
3381
+ //#endregion
3382
+ //#region packages/core/src/text/round-decimal.ts
3383
+ function Zr(e, t) {
3384
+ if (!Number.isFinite(e)) return String(e);
3385
+ let n = Math.max(0, Math.trunc(t)), r = e < 0, [i, a = ""] = Qr(Math.abs(e).toString()).split("."), o = a.padEnd(n + 1, "0"), s = o.slice(0, n), c = o.charCodeAt(n) - 48, l = (i + s).split("").map((e) => e.charCodeAt(0) - 48);
3386
+ if (c >= 5) {
3387
+ let e = l.length - 1;
3388
+ for (; e >= 0; e--) if (l[e] === 9) l[e] = 0;
3389
+ else {
3390
+ l[e] += 1;
3391
+ break;
3392
+ }
3393
+ e < 0 && l.unshift(1);
3394
+ }
3395
+ let u = l.map((e) => String(e)).join(""), d = n, f = (d > 0 ? u.slice(0, u.length - d) : u) || "0", p = d > 0 ? u.slice(u.length - d) : "", m = f.replace(/^0+(?=\d)/, ""), h = p.length > 0 ? `${m}.${p}` : m, g = /^[0.]*$/.test(h) && !/[1-9]/.test(h);
3396
+ return r && !g ? `-${h}` : h;
3397
+ }
3398
+ function Qr(e) {
3399
+ let t = /^(\d+)(?:\.(\d+))?[eE]([+-]?\d+)$/.exec(e);
3400
+ if (!t) return e;
3401
+ let [, n, r = "", i] = t, a = parseInt(i, 10), o = n + r, s = n.length + a;
3402
+ return s <= 0 ? "0." + "0".repeat(-s) + o : s >= o.length ? o + "0".repeat(s - o.length) : o.slice(0, s) + "." + o.slice(s);
3403
+ }
3404
+ //#endregion
3405
+ //#region packages/core/src/chart/chart-number-format.ts
3406
+ var $r = /* @__PURE__ */ new Map();
3407
+ function ei(e, t = !1, n = typeof navigator > "u" ? void 0 : navigator.language) {
3408
+ let r = n ?? "", i = $r.get(r);
3409
+ return i || (i = new Intl.DateTimeFormat(n, {
3410
+ year: "numeric",
3411
+ month: "numeric",
3412
+ day: "numeric",
3413
+ timeZone: "UTC"
3414
+ }), $r.set(r, i)), i.format(Yr(e, t));
3415
+ }
3416
+ function ti(e) {
3417
+ return Number.isInteger(e) ? String(e) : Zr(e, 6).replace(/\.?0+$/, "");
3418
+ }
3419
+ function ni(e, t, n = !1) {
3420
+ if (!t || t.trim().toLowerCase() === "general") return ti(e);
3421
+ if (ii(t)) return ai(e, t, n);
3422
+ let r = oi(t), i;
3423
+ return i = e > 0 ? r[0] ?? t : e < 0 ? r[1] ?? r[0] ?? t : r[2] ?? r[0] ?? t, i === "" ? "" : (e < 0 && r.length < 2 ? "-" : "") + si(Math.abs(e), i);
3424
+ }
3425
+ function ri(e, t, n = !1) {
3426
+ if (!t || e.trim() === "") return e;
3427
+ let r = Number(e);
3428
+ return Number.isFinite(r) ? ni(r, t, n) : e;
3429
+ }
3430
+ function ii(e) {
3431
+ let t = !1;
3432
+ for (let n = 0; n < e.length; n++) {
3433
+ let r = e[n];
3434
+ if (r === "\"") {
3435
+ t = !t;
3436
+ continue;
3437
+ }
3438
+ if (!t) {
3439
+ if (r === "\\") {
3440
+ n++;
3441
+ continue;
3442
+ }
3443
+ if (r === "[") {
3444
+ for (; n < e.length && e[n] !== "]";) n++;
3445
+ continue;
3446
+ }
3447
+ if (r === "y" || r === "Y" || r === "d" || r === "D" || r === "m" || r === "M" || r === "h" || r === "H" || r === "s" || r === "S") return !0;
3448
+ }
3449
+ }
3450
+ return !1;
3451
+ }
3452
+ function ai(e, t, n = !1) {
3453
+ let r = Yr(Math.floor(e), n), i = r.getUTCFullYear(), a = r.getUTCMonth() + 1, o = r.getUTCDate(), s = (e - Math.floor(e)) * 86400, c = Math.floor(s / 3600), l = Math.floor(s % 3600 / 60), u = Math.floor(s % 60), d = "", f = !1, p = 0;
3454
+ for (; p < t.length;) {
3455
+ let e = t[p];
3456
+ if (e === "\"") {
3457
+ f = !f, p++;
3458
+ continue;
3459
+ }
3460
+ if (f) {
3461
+ d += e, p++;
3462
+ continue;
3463
+ }
3464
+ if (e === "\\" && p + 1 < t.length) {
3465
+ d += t[p + 1], p += 2;
3466
+ continue;
3467
+ }
3468
+ if (e === "[") {
3469
+ for (; p < t.length && t[p] !== "]";) p++;
3470
+ p < t.length && p++;
3471
+ continue;
3472
+ }
3473
+ if (e === "y" || e === "Y") {
3474
+ let e = 0;
3475
+ for (; p < t.length && (t[p] === "y" || t[p] === "Y");) e++, p++;
3476
+ d += e >= 3 ? String(i) : String(i % 100).padStart(2, "0");
3477
+ continue;
3478
+ }
3479
+ if (e === "m" || e === "M") {
3480
+ let e = 0;
3481
+ for (; p < t.length && (t[p] === "m" || t[p] === "M");) e++, p++;
3482
+ if (d.match(/[Hh]+\W*$/)) d += e >= 2 ? String(l).padStart(2, "0") : String(l);
3483
+ else {
3484
+ let t = [
3485
+ "Jan",
3486
+ "Feb",
3487
+ "Mar",
3488
+ "Apr",
3489
+ "May",
3490
+ "Jun",
3491
+ "Jul",
3492
+ "Aug",
3493
+ "Sep",
3494
+ "Oct",
3495
+ "Nov",
3496
+ "Dec"
3497
+ ], n = [
3498
+ "January",
3499
+ "February",
3500
+ "March",
3501
+ "April",
3502
+ "May",
3503
+ "June",
3504
+ "July",
3505
+ "August",
3506
+ "September",
3507
+ "October",
3508
+ "November",
3509
+ "December"
3510
+ ];
3511
+ d += e >= 5 ? n[a - 1][0] : e === 4 ? n[a - 1] : e === 3 ? t[a - 1] : e === 2 ? String(a).padStart(2, "0") : String(a);
3512
+ }
3513
+ continue;
3514
+ }
3515
+ if (e === "d" || e === "D") {
3516
+ let e = 0;
3517
+ for (; p < t.length && (t[p] === "d" || t[p] === "D");) e++, p++;
3518
+ d += e >= 2 ? String(o).padStart(2, "0") : String(o);
3519
+ continue;
3520
+ }
3521
+ if (e === "h" || e === "H") {
3522
+ let e = 0;
3523
+ for (; p < t.length && (t[p] === "h" || t[p] === "H");) e++, p++;
3524
+ d += e >= 2 ? String(c).padStart(2, "0") : String(c);
3525
+ continue;
3526
+ }
3527
+ if (e === "s" || e === "S") {
3528
+ let e = 0;
3529
+ for (; p < t.length && (t[p] === "s" || t[p] === "S");) e++, p++;
3530
+ d += e >= 2 ? String(u).padStart(2, "0") : String(u);
3531
+ continue;
3532
+ }
3533
+ d += e, p++;
3534
+ }
3535
+ return d;
3536
+ }
3537
+ function oi(e) {
3538
+ let t = [], n = "";
3539
+ for (let r = 0; r < e.length; r++) {
3540
+ let i = e[r];
3541
+ if (i === "\\" && r + 1 < e.length) {
3542
+ n += i + e[r + 1], r++;
3543
+ continue;
3544
+ }
3545
+ if (i === "\"") {
3546
+ for (n += i, r++; r < e.length && e[r] !== "\"";) n += e[r], r++;
3547
+ r < e.length && (n += e[r]);
3548
+ continue;
3549
+ }
3550
+ if (i === "[") {
3551
+ for (n += i, r++; r < e.length && e[r] !== "]";) n += e[r], r++;
3552
+ r < e.length && (n += e[r]);
3553
+ continue;
3554
+ }
3555
+ if (i === ";") {
3556
+ t.push(n), n = "";
3557
+ continue;
3558
+ }
3559
+ n += i;
3560
+ }
3561
+ return t.push(n), t;
3562
+ }
3563
+ function si(e, t) {
3564
+ let n = [], r = 0, i = !1, a = !1;
3565
+ for (; r < t.length;) {
3566
+ let e = t[r];
3567
+ if (e === "\"") {
3568
+ r++;
3569
+ let e = "";
3570
+ for (; r < t.length && t[r] !== "\"";) e += t[r], r++;
3571
+ r < t.length && r++, n.push({
3572
+ kind: "lit",
3573
+ text: e
3574
+ });
3575
+ continue;
3576
+ }
3577
+ if (e === "\\" && r + 1 < t.length) {
3578
+ n.push({
3579
+ kind: "lit",
3580
+ text: t[r + 1]
3581
+ }), r += 2;
3582
+ continue;
3583
+ }
3584
+ if (e === "_" && r + 1 < t.length) {
3585
+ n.push({
3586
+ kind: "lit",
3587
+ text: " "
3588
+ }), r += 2;
3589
+ continue;
3590
+ }
3591
+ if (e === "*" && r + 1 < t.length) {
3592
+ r += 2;
3593
+ continue;
3594
+ }
3595
+ if (e === "[") {
3596
+ for (r++; r < t.length && t[r] !== "]";) r++;
3597
+ r < t.length && r++;
3598
+ continue;
3599
+ }
3600
+ if (e === "%") {
3601
+ a = !0, n.push({
3602
+ kind: "lit",
3603
+ text: "%"
3604
+ }), r++;
3605
+ continue;
3606
+ }
3607
+ if (e === "#" || e === "0" || e === "." || e === "," || e === "?") {
3608
+ let e = "";
3609
+ for (; r < t.length && (t[r] === "#" || t[r] === "0" || t[r] === "." || t[r] === "," || t[r] === "?");) e += t[r], r++;
3610
+ n.push({
3611
+ kind: "num",
3612
+ text: e
3613
+ }), i = !0;
3614
+ continue;
3615
+ }
3616
+ n.push({
3617
+ kind: "lit",
3618
+ text: e
3619
+ }), r++;
3620
+ }
3621
+ if (!i) return n.map((e) => e.text).join("");
3622
+ let o = a ? e * 100 : e, s = "";
3623
+ for (let e of n) e.kind === "num" && (s += e.text);
3624
+ let c = ci(o, s), l = !1;
3625
+ return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
3626
+ }
3627
+ function ci(e, t) {
3628
+ let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = Zr(e, o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
3629
+ return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
3630
+ }
3631
+ //#endregion
3632
+ //#region packages/core/src/chart/legend-frame.ts
3633
+ function li(e, t, n, r, i = 0) {
3634
+ if (!((!t.legendFill && !t.legendFillColor || t.legendFillHidden === !0) && (!t.legendLineFill && !t.legendLineColor || t.legendLineHidden === !0))) {
3635
+ if (e.save(), t.legendFillHidden !== !0 && (t.legendFill || t.legendFillColor)) {
3636
+ let r = t.legendFill ? Z(t.legendFill, e, n.x, n.y, n.w, n.h, i) : `#${t.legendFillColor}`;
3637
+ r && (e.fillStyle = r), r && e.fillRect(n.x, n.y, n.w, n.h);
3638
+ }
3639
+ if (t.legendLineHidden !== !0 && (t.legendLineFill || t.legendLineColor) && n.w > 0 && n.h > 0) {
3640
+ let a = Q(t.legendLineWidthEmu, r), o = t.legendLineFill ? Z(t.legendLineFill, e, n.x, n.y, n.w, n.h, i) : t.legendLineColor ? `#${t.legendLineColor}` : null;
3641
+ if (!o) {
3642
+ e.restore();
3643
+ return;
3644
+ }
3645
+ e.strokeStyle = o, e.lineCap = t.legendLineCap === "rnd" ? "round" : t.legendLineCap === "sq" ? "square" : "butt", e.lineJoin = t.legendLineJoin === "round" || t.legendLineJoin === "bevel" ? t.legendLineJoin : "miter", e.setLineDash(Y(t.legendLineCustomDash, t.legendLineDash, a)), Ur(e, n.x, n.y, n.w, n.h, a, t.legendLineCompound);
3646
+ }
3647
+ e.restore();
3648
+ }
3649
+ }
3650
+ //#endregion
3651
+ //#region packages/core/src/chart/plot-area-frame.ts
3652
+ function ui(e, t, n, r, i, a, o, s = 0) {
3653
+ if (t.plotAreaFillHidden !== !0) if (t.plotAreaFill?.fillType === "image") br(e, t.plotAreaFill, n, r, i, a, o, s);
3654
+ else {
3655
+ let o = t.plotAreaFill ? Z(t.plotAreaFill, e, n, r, i, a, s) : t.plotAreaBg ? `#${t.plotAreaBg}` : null;
3656
+ o && (e.fillStyle = o, e.fillRect(n, r, i, a));
3657
+ }
3658
+ if (t.plotAreaLineHidden === !0 || !t.plotAreaLineFill && !t.plotAreaLineColor) return;
3659
+ let c = t.plotAreaLineWidthEmu ? Math.max(.5, t.plotAreaLineWidthEmu / R) * o : 1;
3660
+ e.save();
3661
+ let l = t.plotAreaLineFill ? Z(t.plotAreaLineFill, e, n, r, i, a, s) : t.plotAreaLineColor ? `#${t.plotAreaLineColor}` : null;
3662
+ if (!l) {
3663
+ e.restore();
3664
+ return;
3665
+ }
3666
+ e.strokeStyle = l, e.setLineDash(Y(t.plotAreaLineCustomDash, t.plotAreaLineDash, c)), e.lineCap = t.plotAreaLineCap === "rnd" ? "round" : t.plotAreaLineCap === "sq" ? "square" : "butt", e.lineJoin = t.plotAreaLineJoin === "round" || t.plotAreaLineJoin === "bevel" ? t.plotAreaLineJoin : "miter", Ur(e, n, r, i, a, c, t.plotAreaLineCompound), e.restore();
3667
+ }
3668
+ //#endregion
3669
+ export { Cn as $, Tt as $t, br as A, B as At, Qn as B, Ft as Bt, Dr as C, hn as Ct, mr as D, rn as Dt, pr as E, ln as Et, tr as F, V as Ft, Kn as G, Yt as Gt, $n as H, $t as Ht, rr as I, Wt as It, In as J, Dt as Jt, W as K, kt as Kt, Jn as L, Bt as Lt, or as M, Ht as Mt, er as N, qt as Nt, hr as O, Xt as Ot, nr as P, Jt as Pt, Bn as Q, Et as Qt, Zn as R, zt as Rt, Nr as S, _n as St, _r as T, cn as Tt, qn as U, Nt as Ut, Xn as V, Rt as Vt, Gn as W, Qt as Wt, Vn as X, Ot as Xt, Fn as Y, At as Yt, zn as Z, Mt as Zt, X as _, vn as _t, ni as a, z as an, En as at, Y as b, un as bt, Yr as c, pt as cn, Pn as ct, Kr as d, Le as dn, xn as dt, wt as en, Tn as et, Wr as f, a as fn, bn as ft, Lr as g, n as gn, Sn as gt, Br as h, t as hn, Mn as ht, ti as i, _t as in, kn as it, lr as j, Ut as jt, yr as k, Vt as kt, Xr as l, gt as ln, H as lt, Ur as m, s as mn, Nn as mt, li as n, yt as nn, wn as nt, ei as o, mt as on, jn as ot, Gr as p, o as pn, On as pt, Ln as q, jt as qt, ri as r, R as rn, yn as rt, Zr as s, ht as sn, An as st, ui as t, vt as tn, U as tt, Q as u, dt as un, Dn as ut, Z as v, fn as vt, cr as w, gn as wt, kr as x, dn as xt, Tr as y, pn as yt, Yn as z, Zt as zt };