@silurus/ooxml 0.72.2 → 0.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,988 @@
1
+ import { A as e, P as t, dt as n, j as r, xt as i } from "./find-cursor-CaGrVs7z.js";
2
+ //#region packages/core/src/fonts/symbol-font.ts
3
+ var a = {
4
+ 167: "♣",
5
+ 168: "♦",
6
+ 169: "♥",
7
+ 170: "♠",
8
+ 171: "↔",
9
+ 172: "←",
10
+ 173: "↑",
11
+ 174: "→",
12
+ 175: "↓",
13
+ 183: "•",
14
+ 184: "÷",
15
+ 185: "≠",
16
+ 180: "×",
17
+ 176: "°",
18
+ 177: "±",
19
+ 163: "≤",
20
+ 179: "≥"
21
+ }, o = {
22
+ 33: "✏",
23
+ 34: "✂",
24
+ 36: "👓",
25
+ 74: "☺",
26
+ 75: "😐",
27
+ 76: "☹",
28
+ 118: "❖",
29
+ 167: "▪",
30
+ 108: "●",
31
+ 110: "■",
32
+ 116: "◆",
33
+ 119: "◆",
34
+ 251: "✗",
35
+ 252: "✓",
36
+ 253: "☒",
37
+ 254: "☑",
38
+ 223: "←",
39
+ 224: "→",
40
+ 225: "↑",
41
+ 226: "↓",
42
+ 227: "↖",
43
+ 228: "↗",
44
+ 229: "↙",
45
+ 230: "↘"
46
+ };
47
+ function s(e) {
48
+ let t = {};
49
+ for (let n of Object.keys(e)) {
50
+ let r = Number(n);
51
+ t[r] = e[r], t[61440 + r] = e[r];
52
+ }
53
+ return t;
54
+ }
55
+ var c = s(a), l = s(o);
56
+ function u(e, t) {
57
+ if (!t) return e;
58
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? l : n === "symbol" ? c : null;
59
+ return r ? r[e.charCodeAt(0)] ?? e : e;
60
+ }
61
+ function d(e) {
62
+ if (!e) return !1;
63
+ let t = e.toLowerCase();
64
+ return t === "symbol" || t.includes("wingdings");
65
+ }
66
+ function f(e, t) {
67
+ if (!d(t) || e.length === 0) return [{
68
+ text: e,
69
+ mapped: !1
70
+ }];
71
+ let n = [], r = "", i = null;
72
+ for (let a of e) {
73
+ let e = u(a, t), o = e !== a;
74
+ i === null || o === i ? (i = o, r += e) : (n.push({
75
+ text: r,
76
+ mapped: i
77
+ }), i = o, r = e);
78
+ }
79
+ return r.length > 0 && n.push({
80
+ text: r,
81
+ mapped: i ?? !1
82
+ }), n;
83
+ }
84
+ //#endregion
85
+ //#region packages/core/src/shape/custGeom.ts
86
+ function p(e, t, n, r, i, a) {
87
+ for (let o of t) {
88
+ let t = 0, s = 0;
89
+ for (let c of o) switch (c.cmd) {
90
+ case "moveTo":
91
+ e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
92
+ break;
93
+ case "lineTo":
94
+ e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
95
+ break;
96
+ case "cubicBezTo":
97
+ e.bezierCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x2 * i, r + c.y2 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
98
+ break;
99
+ case "arcTo": {
100
+ let o = c.wr * i, l = c.hr * a;
101
+ if (o <= 0 || l <= 0) break;
102
+ let u = c.stAng * Math.PI / 180, d = c.swAng * Math.PI / 180, f = n + t * i, p = r + s * a, m = f - o * Math.cos(u), h = p - l * Math.sin(u), g = u + d;
103
+ e.ellipse(m, h, o, l, 0, u, g, d < 0), t = (m + o * Math.cos(g) - n) / i, s = (h + l * Math.sin(g) - r) / a;
104
+ break;
105
+ }
106
+ case "close":
107
+ e.closePath();
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ //#endregion
113
+ //#region packages/core/src/shape/custgeom-endpoints.ts
114
+ var m = 1e-9;
115
+ function h(e) {
116
+ return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
117
+ }
118
+ function g(e, t, n, r) {
119
+ let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
120
+ return {
121
+ x: e,
122
+ y: t,
123
+ dx: i,
124
+ dy: a,
125
+ angle: Math.atan2(a, i)
126
+ };
127
+ }
128
+ function _(e, t, n) {
129
+ switch (n.cmd) {
130
+ case "lineTo": return {
131
+ dx: n.x - e,
132
+ dy: n.y - t
133
+ };
134
+ case "cubicBezTo": {
135
+ let r = n.x1 - e, i = n.y1 - t;
136
+ return Math.abs(r) < m && Math.abs(i) < m && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < m && Math.abs(i) < m && (r = n.x - e, i = n.y - t), {
137
+ dx: r,
138
+ dy: i
139
+ };
140
+ }
141
+ case "arcTo": {
142
+ let e = n.stAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
143
+ return {
144
+ dx: -n.wr * Math.sin(e) * t,
145
+ dy: n.hr * Math.cos(e) * t
146
+ };
147
+ }
148
+ default: return {
149
+ dx: 0,
150
+ dy: 0
151
+ };
152
+ }
153
+ }
154
+ function v(e, t, n) {
155
+ switch (n.cmd) {
156
+ case "moveTo":
157
+ case "lineTo":
158
+ case "cubicBezTo": return {
159
+ x: n.x,
160
+ y: n.y
161
+ };
162
+ case "arcTo": {
163
+ if (n.wr <= 0 || n.hr <= 0) return {
164
+ x: e,
165
+ y: t
166
+ };
167
+ let r = n.stAng * Math.PI / 180, i = r + n.swAng * Math.PI / 180, a = e - n.wr * Math.cos(r), o = t - n.hr * Math.sin(r);
168
+ return {
169
+ x: a + n.wr * Math.cos(i),
170
+ y: o + n.hr * Math.sin(i)
171
+ };
172
+ }
173
+ default: return {
174
+ x: e,
175
+ y: t
176
+ };
177
+ }
178
+ }
179
+ function y(e, t, n) {
180
+ let { x: r, y: i } = v(e, t, n);
181
+ switch (n.cmd) {
182
+ case "lineTo": return {
183
+ dx: n.x - e,
184
+ dy: n.y - t,
185
+ x: r,
186
+ y: i
187
+ };
188
+ case "cubicBezTo": {
189
+ let a = n.x - n.x2, o = n.y - n.y2;
190
+ return Math.abs(a) < m && Math.abs(o) < m && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < m && Math.abs(o) < m && (a = n.x - e, o = n.y - t), {
191
+ dx: a,
192
+ dy: o,
193
+ x: r,
194
+ y: i
195
+ };
196
+ }
197
+ case "arcTo": {
198
+ if (n.wr <= 0 || n.hr <= 0) return {
199
+ dx: 0,
200
+ dy: 0,
201
+ x: r,
202
+ y: i
203
+ };
204
+ let e = n.stAng * Math.PI / 180 + n.swAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
205
+ return {
206
+ dx: -n.wr * Math.sin(e) * t,
207
+ dy: n.hr * Math.cos(e) * t,
208
+ x: r,
209
+ y: i
210
+ };
211
+ }
212
+ default: return {
213
+ dx: 0,
214
+ dy: 0,
215
+ x: r,
216
+ y: i
217
+ };
218
+ }
219
+ }
220
+ function b(e) {
221
+ let t = 0, n = 0, r = !1;
222
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = v(t, n, i);
223
+ return r ? {
224
+ x: t,
225
+ y: n
226
+ } : null;
227
+ }
228
+ function x(e) {
229
+ if (e.some((e) => e.cmd === "close")) return !0;
230
+ let t = e.find((e) => e.cmd === "moveTo");
231
+ if (!t) return !1;
232
+ let n = b(e);
233
+ return !n || !e.some(h) ? !1 : Math.abs(n.x - t.x) < m && Math.abs(n.y - t.y) < m;
234
+ }
235
+ function S(e) {
236
+ let t = {
237
+ start: null,
238
+ end: null
239
+ };
240
+ if (!e || e.length === 0) return t;
241
+ let n = e[0];
242
+ if (n && n.length > 0 && !x(n)) {
243
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(h);
244
+ if (e && r) {
245
+ let n = _(e.x, e.y, r);
246
+ (Math.abs(n.dx) > m || Math.abs(n.dy) > m) && (t.start = g(e.x, e.y, -n.dx, -n.dy));
247
+ }
248
+ }
249
+ let r = e[e.length - 1];
250
+ if (r && r.length > 0 && !x(r)) {
251
+ let e = 0, n = 0, i = -1;
252
+ for (let e = 0; e < r.length; e++) h(r[e]) && (i = e);
253
+ if (i >= 0) {
254
+ for (let t = 0; t < i; t++) ({x: e, y: n} = v(e, n, r[t]));
255
+ let a = y(e, n, r[i]);
256
+ (Math.abs(a.dx) > m || Math.abs(a.dy) > m) && (t.end = g(a.x, a.y, a.dx, a.dy));
257
+ }
258
+ }
259
+ return t;
260
+ }
261
+ //#endregion
262
+ //#region packages/core/src/shape/preset.ts
263
+ function C(e, t, n, r, i, a, o, s = -Math.PI / 2) {
264
+ let c = a * 2;
265
+ for (let l = 0; l < c; l++) {
266
+ let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
267
+ l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
268
+ }
269
+ e.closePath();
270
+ }
271
+ function w(e, t, n, r, i, a, o = -Math.PI / 2) {
272
+ for (let s = 0; s < a; s++) {
273
+ let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
274
+ s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
275
+ }
276
+ e.closePath();
277
+ }
278
+ function T(e, t, n, r, i, a, o) {
279
+ let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
280
+ return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
281
+ x: u + r * Math.cos(l),
282
+ y: d + i * Math.sin(l)
283
+ };
284
+ }
285
+ var E = {
286
+ oval: "ellipse",
287
+ rtriangle: "rttriangle",
288
+ roundrectangle: "roundrect",
289
+ flowchartsumingjunction: "flowchartsummingjunction"
290
+ }, D = new Set(/* @__PURE__ */ "ellipse.rttriangle.triangle.diamond.trapezoid.roundrect.snip1rect.frame.irregularseal1.irregularseal2.star4.star8.star12.star16.star24.star32.line.straightconnector1.callout1.bordercallout1.leftuparrow.quadarrowcallout.mathequal.mathplus.mathminus.flowchartdecision.flowchartmanualinput.flowchartconnector.flowchartinputoutput.flowchartmerge.flowchartextract.flowchartpreparation.flowchartcollate".split(".")), O = new Set([
291
+ "accentcallout1",
292
+ "accentbordercallout1",
293
+ "flowchartpredefinedprocess",
294
+ "flowchartsort",
295
+ "flowchartinternalstorage",
296
+ "flowchartsummingjunction"
297
+ ]), k = new Set([
298
+ "round2samerect",
299
+ "round2diagrect",
300
+ "dodecagon",
301
+ "star10"
302
+ ]);
303
+ function A(e, t, r, i, a, o, s = null, c = null, l = null, u = null) {
304
+ let d = r + a / 2, f = i + o / 2;
305
+ {
306
+ let d = t.toLowerCase(), f = E[d] ?? d;
307
+ if ((D.has(f) || O.has(f) || k.has(f)) && n(e, f, r, i, a, o, [
308
+ s,
309
+ c,
310
+ l,
311
+ u
312
+ ])) return;
313
+ }
314
+ switch (t.toLowerCase()) {
315
+ case "parallelogram": {
316
+ let t = a * Math.min(.5, (s ?? 25e3) / 1e5);
317
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
318
+ break;
319
+ }
320
+ case "pentagon":
321
+ w(e, d, f, a / 2, o / 2, 5);
322
+ break;
323
+ case "hexagon":
324
+ w(e, d, f, a / 2, o / 2, 6, 0);
325
+ break;
326
+ case "heptagon":
327
+ w(e, d, f, a / 2, o / 2, 7);
328
+ break;
329
+ case "octagon":
330
+ w(e, d, f, a / 2, o / 2, 8, -Math.PI / 8);
331
+ break;
332
+ case "decagon":
333
+ w(e, d, f, a / 2, o / 2, 10);
334
+ break;
335
+ case "star5":
336
+ case "star":
337
+ C(e, d, f, a / 2, o / 2, 5, (s ?? 19098) / 5e4);
338
+ break;
339
+ case "star6":
340
+ C(e, d, f, a / 2, o / 2, 6, (s ?? 28868) / 5e4, 0);
341
+ break;
342
+ case "star7":
343
+ C(e, d, f, a / 2, o / 2, 7, (s ?? 34142) / 5e4);
344
+ break;
345
+ case "rightarrow": {
346
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - t) / 2;
347
+ e.moveTo(r, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r, l + t), e.closePath();
348
+ break;
349
+ }
350
+ case "leftarrow": {
351
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - t) / 2;
352
+ e.moveTo(r + a, l), e.lineTo(r + n, l), e.lineTo(r + n, i), e.lineTo(r, f), e.lineTo(r + n, i + o), e.lineTo(r + n, l + t), e.lineTo(r + a, l + t), e.closePath();
353
+ break;
354
+ }
355
+ case "uparrow": {
356
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
357
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o), e.lineTo(l, i + o), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
358
+ break;
359
+ }
360
+ case "downarrow": {
361
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
362
+ e.moveTo(d, i + o), e.lineTo(r + a, i + o - n), e.lineTo(l + t, i + o - n), e.lineTo(l + t, i), e.lineTo(l, i), e.lineTo(l, i + o - n), e.lineTo(r, i + o - n), e.closePath();
363
+ break;
364
+ }
365
+ case "leftrightarrow": {
366
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(.5, (c ?? 25e3) / 1e5), l = i + (o - t) / 2;
367
+ e.moveTo(r, f), e.lineTo(r + n, i), e.lineTo(r + n, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r + n, l + t), e.lineTo(r + n, i + o), e.closePath();
368
+ break;
369
+ }
370
+ case "updownarrow": {
371
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(.5, (c ?? 25e3) / 1e5), l = r + (a - t) / 2;
372
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o - n), e.lineTo(r + a, i + o - n), e.lineTo(d, i + o), e.lineTo(r, i + o - n), e.lineTo(l, i + o - n), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
373
+ break;
374
+ }
375
+ case "notchedrightarrow": {
376
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 35e3) / 1e5), l = i + (o - t) / 2, u = n * .43;
377
+ e.moveTo(r, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r, l + t), e.lineTo(r + u, f), e.closePath();
378
+ break;
379
+ }
380
+ case "chevron": {
381
+ let t = a * Math.min(1, Math.max(0, (s ?? 5e4) / 1e5));
382
+ e.moveTo(r, i), e.lineTo(r + t, i), e.lineTo(r + a, f), e.lineTo(r + t, i + o), e.lineTo(r, i + o), t > 0 && e.lineTo(r + t, f), e.closePath();
383
+ break;
384
+ }
385
+ case "homeplate": {
386
+ let t = o * .4;
387
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(d, i + o), e.lineTo(r, i + o - t), e.closePath();
388
+ break;
389
+ }
390
+ case "leftbracket": {
391
+ let t = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
392
+ e.moveTo(r + a, i), e.quadraticCurveTo(r, i, r, i + t), o - 2 * t > .5 && e.lineTo(r, i + o - t), e.quadraticCurveTo(r, i + o, r + a, i + o);
393
+ break;
394
+ }
395
+ case "rightbracket": {
396
+ let t = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
397
+ e.moveTo(r, i), e.quadraticCurveTo(r + a, i, r + a, i + t), o - 2 * t > .5 && e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r, i + o);
398
+ break;
399
+ }
400
+ case "leftbrace": {
401
+ let t = f, n = a * .45;
402
+ e.moveTo(r + a, i), e.bezierCurveTo(r + a - n, i, r + a - n, t - o * .08, r, t), e.bezierCurveTo(r + a - n, t + o * .08, r + a - n, i + o, r + a, i + o);
403
+ break;
404
+ }
405
+ case "rightbrace": {
406
+ let t = f, n = a * .45;
407
+ e.moveTo(r, i), e.bezierCurveTo(r + n, i, r + n, t - o * .08, r + a, t), e.bezierCurveTo(r + n, t + o * .08, r + n, i + o, r, i + o);
408
+ break;
409
+ }
410
+ case "wedgerectcallout": {
411
+ e.rect(r, i, a, o * .8);
412
+ let t = r + a * .2, n = i + o;
413
+ e.moveTo(r + a * .1, i + o * .8), e.lineTo(t, n), e.lineTo(r + a * .3, i + o * .8), e.closePath();
414
+ break;
415
+ }
416
+ case "wedgeellipsecallout": {
417
+ let t = (s ?? -2e4) / 1e5 * a, n = (c ?? 12e4) / 1e5 * o, r = d + t, i = f + n;
418
+ e.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2);
419
+ let l = Math.atan2(n, t), u = Math.PI / 10, p = a / 2, m = o / 2, h = d + p * Math.cos(l - u), g = f + m * Math.sin(l - u), _ = d + p * Math.cos(l + u), v = f + m * Math.sin(l + u);
420
+ e.moveTo(h, g), e.lineTo(r, i), e.lineTo(_, v), e.closePath();
421
+ break;
422
+ }
423
+ case "cloudcallout": {
424
+ let t = Math.min(a, o) * .22, n = [
425
+ [d - a * .25, i + o * .35],
426
+ [d - a * .1, i + o * .15],
427
+ [d + a * .1, i + o * .1],
428
+ [d + a * .28, i + o * .2],
429
+ [d + a * .35, i + o * .4]
430
+ ];
431
+ e.moveTo(n[0][0] - t, n[0][1]);
432
+ for (let [r, i] of n) e.arc(r, i, t, Math.PI, 0);
433
+ e.arc(d, i + o * .65, a * .45, 0, Math.PI), e.closePath();
434
+ let r = d + (s ?? -2e4) / 1e5 * a, l = f + (c ?? 12e4) / 1e5 * o;
435
+ e.moveTo(d + a * .05, i + o * .8), e.arc(r, l, Math.min(a, o) * .07, 0, Math.PI * 2);
436
+ break;
437
+ }
438
+ case "bentconnector2":
439
+ case "bentconnector3":
440
+ case "bentconnector4":
441
+ case "bentconnector5":
442
+ case "curvedconnector2":
443
+ case "curvedconnector3":
444
+ case "curvedconnector4":
445
+ case "curvedconnector5":
446
+ e.moveTo(r, i), e.lineTo(r + a, i + o);
447
+ break;
448
+ case "heart":
449
+ e.moveTo(d, i + o * .32), e.bezierCurveTo(d, i, r + a * .05, i, r, i + o * .3), e.bezierCurveTo(r, i + o * .68, d - a * .05, i + o * .78, d, i + o), e.bezierCurveTo(d + a * .05, i + o * .78, r + a, i + o * .68, r + a, i + o * .3), e.bezierCurveTo(r + a - a * .05, i, d, i, d, i + o * .32);
450
+ break;
451
+ case "donut": {
452
+ let t = a / 2, n = o / 2, r = Math.min(t, n) * (s ?? 25e3) / 1e5, i = t - r, c = n - r;
453
+ e.ellipse(d, f, t, n, 0, 0, Math.PI * 2, !1), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0);
454
+ break;
455
+ }
456
+ case "nosmoking":
457
+ case "nosmokingsign": {
458
+ let t = (s ?? 18750) / 1e5, n = a / 2, r = o / 2, i = n * (1 - 2 * t), c = r * (1 - 2 * t);
459
+ e.ellipse(d, f, n, r, 0, 0, Math.PI * 2, !1), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI / 2, !1), e.lineTo(d - i, f), e.ellipse(d, f, i, c, 0, Math.PI, 3 * Math.PI / 2, !1), e.closePath();
460
+ break;
461
+ }
462
+ case "pie": {
463
+ let t = (s ?? 0) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
464
+ e.moveTo(d, f), e.arc(d, f, Math.min(a, o) / 2, t, n), e.closePath();
465
+ break;
466
+ }
467
+ case "cloud": {
468
+ let t = o * .28;
469
+ e.arc(r + a * .25, i + o * .55, t, Math.PI, Math.PI * 1.8), e.arc(r + a * .45, i + o * .35, t * 1.1, Math.PI * 1.3, Math.PI * 1.9), e.arc(r + a * .65, i + o * .4, t, Math.PI * 1.5, Math.PI * 2), e.arc(r + a * .8, i + o * .6, t * .9, Math.PI * 1.6, Math.PI * .1), e.arc(r + a * .55, i + o * .75, t, 0, Math.PI * .7), e.arc(r + a * .25, i + o * .7, t * .9, 0, Math.PI), e.closePath();
470
+ break;
471
+ }
472
+ case "funnel":
473
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(d + a * .15, i + o), e.lineTo(d - a * .15, i + o), e.closePath();
474
+ break;
475
+ case "smileyface": {
476
+ e.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2), e.closePath();
477
+ let t = a * .05, n = o * .05, r = f - o * .12;
478
+ e.moveTo(d - a * .2 + t, r), e.ellipse(d - a * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d + a * .2 + t, r), e.ellipse(d + a * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d - a * .25, f + o * .05), e.quadraticCurveTo(d, f + o * .3, d + a * .25, f + o * .05);
479
+ break;
480
+ }
481
+ case "document":
482
+ case "foldedcorner": {
483
+ let t = Math.min(a, o) * .15;
484
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.closePath(), e.moveTo(r + a - t, i), e.lineTo(r + a - t, i + t), e.lineTo(r + a, i + t);
485
+ break;
486
+ }
487
+ case "snip2samerect": {
488
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
489
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r + t, i + o), e.lineTo(r, i + o - t), e.closePath();
490
+ break;
491
+ }
492
+ case "snip2diagrect": {
493
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
494
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o - t), e.lineTo(r + a - t, i + o), e.lineTo(r + t, i + o), e.lineTo(r, i + o - t), e.lineTo(r, i + t), e.closePath();
495
+ break;
496
+ }
497
+ case "sniproundrect": {
498
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
499
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
500
+ break;
501
+ }
502
+ case "round1rect": {
503
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
504
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.lineTo(r, i + t), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
505
+ break;
506
+ }
507
+ case "plaque": {
508
+ let t = Math.min(a, o) * .25;
509
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.quadraticCurveTo(r + a, i, r + a, i + t), e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r + a - t, i + o), e.lineTo(r + t, i + o), e.quadraticCurveTo(r, i + o, r, i + o - t), e.lineTo(r, i + t), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
510
+ break;
511
+ }
512
+ case "can": {
513
+ let t = o * .1;
514
+ e.ellipse(d, i + t, a / 2, t, 0, 0, Math.PI * 2), e.moveTo(r, i + t), e.lineTo(r, i + o - t), e.ellipse(d, i + o - t, a / 2, t, 0, Math.PI, 2 * Math.PI), e.lineTo(r + a, i + t);
515
+ break;
516
+ }
517
+ case "cube": {
518
+ let t = Math.min(a, o) * .2;
519
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.lineTo(r, i + t), e.closePath(), e.moveTo(r + t, i), e.lineTo(r + t, i + t), e.lineTo(r + a - t, i + t), e.moveTo(r + t, i + t), e.lineTo(r, i + t);
520
+ break;
521
+ }
522
+ case "bevel": {
523
+ let t = Math.min(a, o) * .1;
524
+ e.rect(r, i, a, o), e.moveTo(r, i), e.lineTo(r + t, i + t), e.lineTo(r + a - t, i + t), e.lineTo(r + a, i), e.moveTo(r + a - t, i + t), e.lineTo(r + a - t, i + o - t), e.lineTo(r + a, i + o), e.moveTo(r + a - t, i + o - t), e.lineTo(r + t, i + o - t), e.lineTo(r, i + o), e.moveTo(r + t, i + o - t), e.lineTo(r + t, i + t);
525
+ break;
526
+ }
527
+ case "halfframe": {
528
+ let t = Math.min(a, o) * .25;
529
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + t), e.lineTo(r + t, i + t), e.lineTo(r + t, i + o), e.lineTo(r, i + o), e.closePath();
530
+ break;
531
+ }
532
+ case "corner": {
533
+ let t = Math.min(a, o) * .25;
534
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + t), e.lineTo(r + t, i + t), e.lineTo(r + t, i + o), e.lineTo(r, i + o), e.closePath();
535
+ break;
536
+ }
537
+ case "flowchartalternateprocess":
538
+ case "flowchartprocess": {
539
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
540
+ e.roundRect(r, i, a, o, [{
541
+ x: t,
542
+ y: t
543
+ }]);
544
+ break;
545
+ }
546
+ case "flowchartterminator": {
547
+ let t = Math.min(a, o) / 2;
548
+ e.roundRect(r, i, a, o, [{
549
+ x: t,
550
+ y: t
551
+ }]);
552
+ break;
553
+ }
554
+ case "flowchartdocument": {
555
+ let t = o * .1;
556
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath();
557
+ break;
558
+ }
559
+ case "moon":
560
+ e.arc(d, f, Math.min(a, o) / 2, -Math.PI / 2, Math.PI / 2), e.arc(d - a * .2, f, Math.min(a, o) / 2, Math.PI / 2, -Math.PI / 2, !0), e.closePath();
561
+ break;
562
+ case "arc": {
563
+ let t = 216e5, n = (s ?? 162e5) / t * Math.PI * 2, r = (c ?? 54e5) / t * Math.PI * 2;
564
+ e.ellipse(d, f, a / 2, o / 2, 0, n, n + r, r < 0);
565
+ break;
566
+ }
567
+ case "mathmultiply": {
568
+ let t = Math.min(a, o) * Math.min(51965, Math.max(0, s ?? 23520)) / 1e5, n = Math.atan2(o, a), c = Math.sin(n), l = Math.cos(n), u = t / 2 * c, d = t / 2 * l;
569
+ e.moveTo(r + u, i - d), e.lineTo(r - u, i + d), e.lineTo(r + a - u, i + o + d), e.lineTo(r + a + u, i + o - d), e.closePath(), e.moveTo(r + a - u, i - d), e.lineTo(r + a + u, i + d), e.lineTo(r + u, i + o + d), e.lineTo(r - u, i + o - d), e.closePath();
570
+ break;
571
+ }
572
+ case "mathdivide": {
573
+ let t = Math.min(36745, Math.max(1e3, s ?? 23520)), n = (73490 + -t) / 4, r = 36745 * a / o, u = Math.min(Math.min(n, r), Math.max(1e3, l ?? 11760)), p = 73490 + 4 * u - t, m = Math.min(p, Math.max(0, c ?? 5880)), h = o * t / 2e5, g = o * m / 1e5, _ = o * u / 1e5, v = a * 73490 / 2e5, y = f - h, b = f + h, x = y - (g + _) - _, S = i + o - x, C = d - v, w = d + v;
574
+ e.rect(C, y, w - C, b - y), e.moveTo(d + _, x + _), e.arc(d, x + _, _, 0, Math.PI * 2), e.moveTo(d + _, S - _), e.arc(d, S - _, _, 0, Math.PI * 2);
575
+ break;
576
+ }
577
+ case "quadarrow": {
578
+ let t = a * (s ?? 23e3) / 1e5, n = a * (c ?? 3e4) / 1e5, l = r + (a - t) / 2, u = i + (o - t) / 2;
579
+ e.moveTo(d, i), e.lineTo(r + a - n, i + n), e.lineTo(r + a - n, u), e.lineTo(l + t, u), e.lineTo(l + t, i + n), e.lineTo(r + n, i + n), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o - n), e.lineTo(l + t, i + o - n), e.lineTo(l + t, u + t), e.lineTo(r + a - n, u + t), e.lineTo(r + a - n, i + o - n), e.lineTo(d, i + o), e.lineTo(r + n, i + o - n), e.lineTo(r + n, u + t), e.lineTo(l, u + t), e.lineTo(l, i + o - n), e.lineTo(r, f), e.lineTo(r + n, i + n), e.lineTo(l, i + n), e.lineTo(l, u), e.lineTo(r + n, u), e.closePath();
580
+ break;
581
+ }
582
+ case "wave": {
583
+ let t = o * (s ?? 12500) / 1e5, n = i + t, c = i + o - t;
584
+ e.moveTo(r, n), e.bezierCurveTo(r + a * .25, i, r + a * .25, i + t * 2, r + a * .5, n), e.bezierCurveTo(r + a * .75, i + t * 2, r + a * .75, i, r + a, n), e.lineTo(r + a, c), e.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - t * 2, r + a * .5, c), e.bezierCurveTo(r + a * .25, i + o - t * 2, r + a * .25, i + o, r, c), e.closePath();
585
+ break;
586
+ }
587
+ case "doublewave": {
588
+ let t = o * (s ?? 6250) / 1e5, n = i + t, c = i + o - t;
589
+ e.moveTo(r, n), e.bezierCurveTo(r + a * .25, i, r + a * .25, i + t * 2, r + a * .5, n), e.bezierCurveTo(r + a * .75, i + t * 2, r + a * .75, i, r + a, n), e.lineTo(r + a, c), e.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - t * 2, r + a * .5, c), e.bezierCurveTo(r + a * .25, i + o - t * 2, r + a * .25, i + o, r, c), e.closePath();
590
+ break;
591
+ }
592
+ case "sun": {
593
+ let t = Math.min(a, o) / 2, n = t * ((s ?? 25e3) / 1e5 + .5), r = Math.min(n, t * .9), i = Math.PI / 16;
594
+ for (let n = 0; n < 8; n++) {
595
+ let a = n / 8 * Math.PI * 2;
596
+ e.moveTo(d + r * Math.cos(a - i), f + r * Math.sin(a - i)), e.lineTo(d + t * Math.cos(a), f + t * Math.sin(a)), e.lineTo(d + r * Math.cos(a + i), f + r * Math.sin(a + i)), e.closePath();
597
+ }
598
+ e.moveTo(d + r, f), e.arc(d, f, r, 0, Math.PI * 2);
599
+ break;
600
+ }
601
+ case "lightningbolt":
602
+ e.moveTo(d + a * .1, i), e.lineTo(r, f - o * .05), e.lineTo(d + a * .05, f - o * .05), e.lineTo(d - a * .1, i + o), e.lineTo(r + a, f + o * .05), e.lineTo(d - a * .05, f + o * .05), e.closePath();
603
+ break;
604
+ case "bracketpair": {
605
+ let t = o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5;
606
+ e.moveTo(r + a * .4, i), e.quadraticCurveTo(r, i, r, i + t), o - 2 * t > 0 && e.lineTo(r, i + o - t), e.quadraticCurveTo(r, i + o, r + a * .4, i + o), e.moveTo(r + a * .6, i), e.quadraticCurveTo(r + a, i, r + a, i + t), o - 2 * t > 0 && e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r + a * .6, i + o);
607
+ break;
608
+ }
609
+ case "bracepair": {
610
+ let t = a * .2;
611
+ e.moveTo(r + a * .4, i), e.bezierCurveTo(r + a * .4 - t, i, r + a * .4 - t, f - o * .08, r, f), e.bezierCurveTo(r + a * .4 - t, f + o * .08, r + a * .4 - t, i + o, r + a * .4, i + o), e.moveTo(r + a * .6, i), e.bezierCurveTo(r + a * .6 + t, i, r + a * .6 + t, f - o * .08, r + a, f), e.bezierCurveTo(r + a * .6 + t, f + o * .08, r + a * .6 + t, i + o, r + a * .6, i + o);
612
+ break;
613
+ }
614
+ case "chord": {
615
+ let t = (s ?? 27e5) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
616
+ e.ellipse(d, f, a / 2, o / 2, 0, t, n), e.closePath();
617
+ break;
618
+ }
619
+ case "blockarc": {
620
+ let t = Math.min(a, o) / 2, n = s ?? 108e5, r = c ?? 0, i = t * (1 - (l ?? 25e3) / 1e5), u = n / 216e5 * Math.PI * 2, p = r / 216e5 * Math.PI * 2;
621
+ e.arc(d, f, t, u, p, !1), e.arc(d, f, i, p, u, !0), e.closePath();
622
+ break;
623
+ }
624
+ case "teardrop": {
625
+ let t = Math.min(a, o) * .4, n = r + t, s = i + o - t;
626
+ e.arc(n, s, t, 0, Math.PI * 2 * .75), e.bezierCurveTo(n - t * .1, s - t, r + a - t, i + t, r + a, i), e.bezierCurveTo(r + a - t * .2, i + t * .5, n + t, s - t * 1.1, n + t, s), e.closePath();
627
+ break;
628
+ }
629
+ case "diagstripe": {
630
+ let t = o * (s ?? 5e4) / 1e5 * a / o;
631
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
632
+ break;
633
+ }
634
+ case "wedgeroundrectcallout": {
635
+ let t = Math.min(a, o) * .1;
636
+ e.roundRect(r, i, a, o * .85, t), e.moveTo(r + a * .1, i + o * .85), e.lineTo(r + a * .2, i + o), e.lineTo(r + a * .3, i + o * .85), e.closePath();
637
+ break;
638
+ }
639
+ case "rightarrowcallout": {
640
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - t) / 2;
641
+ e.rect(r, l, n, t), e.moveTo(r + n, i), e.lineTo(r + a, f), e.lineTo(r + n, i + o), e.closePath();
642
+ break;
643
+ }
644
+ case "leftarrowcallout": {
645
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - t) / 2;
646
+ e.rect(r + a - n, l, n, t), e.moveTo(r + a - n, i), e.lineTo(r, f), e.lineTo(r + a - n, i + o), e.closePath();
647
+ break;
648
+ }
649
+ case "uparrowcallout": {
650
+ let t = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
651
+ e.rect(l, i + n, t, o - n), e.moveTo(r, i + n), e.lineTo(d, i), e.lineTo(r + a, i + n), e.closePath();
652
+ break;
653
+ }
654
+ case "downarrowcallout": {
655
+ let t = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
656
+ e.rect(l, i, t, o - n), e.moveTo(r, i + o - n), e.lineTo(d, i + o), e.lineTo(r + a, i + o - n), e.closePath();
657
+ break;
658
+ }
659
+ case "leftrightarrowcallout": {
660
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 25e3) / 1e5, l = i + (o - t) / 2;
661
+ e.rect(r + n, l, a - 2 * n, t), e.moveTo(r + n, i), e.lineTo(r, f), e.lineTo(r + n, i + o), e.closePath(), e.moveTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.closePath();
662
+ break;
663
+ }
664
+ case "leftrightuparrow": {
665
+ let t = a * (s ?? 25e3) / 1e5, n = o * (c ?? 3e4) / 1e5, l = r + (a - t) / 2;
666
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o), e.lineTo(l, i + o), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
667
+ break;
668
+ }
669
+ case "uturnarrow": {
670
+ let t = a * (s ?? 25e3) / 1e5, n = (a - t) / 2, c = Math.max(0, n - t), l = r + t + n, u = i + t + n, d = t * 2, f = i + o - t * 2.5;
671
+ e.moveTo(r, i + o), e.lineTo(r, u), e.arc(l, u, n, Math.PI, 0), e.lineTo(r + a, f), e.lineTo(r + a + (d - t) / 2, f), e.lineTo(l + t / 2, i + o), e.lineTo(r + a - (d - t) / 2 - t, f), e.lineTo(r + a - t, f), e.lineTo(r + a - t, u), e.arc(l, u, c, 0, Math.PI, !0), e.lineTo(r + t, i + o), e.closePath();
672
+ break;
673
+ }
674
+ case "bentarrow":
675
+ case "bentuparrow": {
676
+ let t = Math.min(a, o) * .25;
677
+ e.moveTo(r, f - t / 2), e.lineTo(r + a - t * 2, f - t / 2), e.lineTo(r + a - t * 2, i + t), e.lineTo(r + a, f), e.lineTo(r + a - t * 2, i + o - t), e.lineTo(r + a - t * 2, f + t / 2), e.lineTo(r, f + t / 2), e.closePath();
678
+ break;
679
+ }
680
+ case "plus": {
681
+ let t = Math.min(a, o) * (s ?? 25e3) / 1e5;
682
+ e.rect(d - t, i, 2 * t, o), e.rect(r, f - t, a, 2 * t);
683
+ break;
684
+ }
685
+ case "mathnotequal": {
686
+ let t = Math.min(5e4, Math.max(0, s ?? 23520)), n = Math.min(66e5, Math.max(42e5, c ?? 66e5)), r = Math.min(1e5 - 2 * t, Math.max(0, l ?? 11760)), u = o * t / 1e5, p = o * r / 2e5, m = a * 73490 / 2e5, h = o / 2, g = (n / 6e4 - 90) * Math.PI / 180, _ = h * Math.tan(g), v = Math.hypot(_, h) * u / h;
687
+ e.rect(d - m, f - p - u, 2 * m, u), e.rect(d - m, f + p, 2 * m, u), e.moveTo(d + _ - v / 2, i), e.lineTo(d + _ + v / 2, i), e.lineTo(d - _ + v / 2, i + o), e.lineTo(d - _ - v / 2, i + o), e.closePath();
688
+ break;
689
+ }
690
+ case "flowchartdelay": {
691
+ let t = o / 2;
692
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.arc(r + a - t, f, t, -Math.PI / 2, Math.PI / 2), e.lineTo(r, i + o), e.closePath();
693
+ break;
694
+ }
695
+ case "flowchartdisplay": {
696
+ let t = a * .2, n = a * .15;
697
+ e.moveTo(r + t, i), e.lineTo(r + a - n, i), e.arc(r + a - n, f, o / 2, -Math.PI / 2, Math.PI / 2), e.lineTo(r + t, i + o), e.lineTo(r, f), e.closePath();
698
+ break;
699
+ }
700
+ case "flowchartpunchedcard": {
701
+ let t = a * .2;
702
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
703
+ break;
704
+ }
705
+ case "flowchartoffpageconnector": {
706
+ let t = o * .3;
707
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(d, i + o), e.lineTo(r, i + o - t), e.closePath();
708
+ break;
709
+ }
710
+ case "flowchartonlinestorage":
711
+ case "flowchartmanuallabel":
712
+ case "flowchartpuncheddisk":
713
+ e.rect(r, i, a, o);
714
+ break;
715
+ case "horizontalscroll": {
716
+ let t = Math.min(a, o) * .15;
717
+ e.roundRect(r + t, i, a - t, o, t), e.moveTo(r + t, i + t * 2), e.arc(r + t, i + t, t, Math.PI / 2, Math.PI * 2.5);
718
+ break;
719
+ }
720
+ case "verticalscroll": {
721
+ let t = Math.min(a, o) * .15;
722
+ e.roundRect(r, i + t, a, o - t, t), e.moveTo(r + t * 2, i + t), e.arc(r + t, i + t, t, 0, Math.PI * 2);
723
+ break;
724
+ }
725
+ case "ribbon": {
726
+ let t = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * t / 2e5, x = o * t / 1e5, S = o - x, C = S / 2;
727
+ e.moveTo(r, i), e.lineTo(r + _, i), e.lineTo(r + p, i + b), e.lineTo(r + m, i + x), e.lineTo(r + v, i + b), e.lineTo(r + a, i), e.lineTo(r + y, i + C), e.lineTo(r + a, i + S), e.lineTo(r + f, i + S), e.lineTo(r + f, i + o), e.lineTo(r + p, i + o), e.lineTo(r + d, i + S), e.lineTo(r, i + S), e.lineTo(r + l, i + C), e.closePath();
728
+ break;
729
+ }
730
+ case "ribbon2": {
731
+ let t = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * t / 2e5, x = o * t / 1e5, S = o - b, C = o - x, w = x, T = (w + o) / 2;
732
+ e.moveTo(r, i + o), e.lineTo(r + _, i + o), e.lineTo(r + p, i + S), e.lineTo(r + m, i + C), e.lineTo(r + v, i + S), e.lineTo(r + a, i + o), e.lineTo(r + y, i + T), e.lineTo(r + a, i + w), e.lineTo(r + f, i + w), e.lineTo(r + f, i), e.lineTo(r + p, i), e.lineTo(r + d, i + w), e.lineTo(r, i + w), e.lineTo(r + l, i + T), e.closePath();
733
+ break;
734
+ }
735
+ case "ellipseribbon": {
736
+ let t = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = b * (h - h * h / a), S = h / 2, C = b * S, w = a - S, T = o * t / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = y + E - O + y + E, A = o - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, I = a - P, L = k + A;
737
+ e.moveTo(r, i), e.quadraticCurveTo(r + S, i + C, r + h, i + x), e.lineTo(r + m, i + O), e.quadraticCurveTo(r + a / 2, i + k, r + _, i + O), e.lineTo(r + g, i + x), e.quadraticCurveTo(r + w, i + C, r + a, i), e.lineTo(r + v, i + j), e.lineTo(r + a, i + A), e.quadraticCurveTo(r + I, i + F, r + _, i + M), e.lineTo(r + _, i + N), e.quadraticCurveTo(r + a / 2, i + L, r + m, i + N), e.lineTo(r + m, i + M), e.quadraticCurveTo(r + P, i + F, r, i + A), e.lineTo(r + f, i + j), e.closePath();
738
+ break;
739
+ }
740
+ case "ellipseribbon2": {
741
+ let t = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = o - b * (h - h * h / a), S = h / 2, C = o - b * S, w = a - S, T = o * t / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = o - O, A = y + E - O + y + E, j = o - A, M = o - T, N = o - (y * 14 / 16 + M) / 2, P = o - (D + M), F = o - (O + M), I = m / 2, L = o - (b * I + M), R = a - I, z = o - (A + M);
742
+ e.moveTo(r, i + o), e.quadraticCurveTo(r + S, i + C, r + h, i + x), e.lineTo(r + m, i + k), e.quadraticCurveTo(r + a / 2, i + j, r + _, i + k), e.lineTo(r + g, i + x), e.quadraticCurveTo(r + w, i + C, r + a, i + o), e.lineTo(r + v, i + N), e.lineTo(r + a, i + T), e.quadraticCurveTo(r + R, i + L, r + _, i + P), e.lineTo(r + _, i + F), e.quadraticCurveTo(r + a / 2, i + z, r + m, i + F), e.lineTo(r + m, i + P), e.quadraticCurveTo(r + I, i + L, r, i + T), e.lineTo(r + f, i + N), e.closePath();
743
+ break;
744
+ }
745
+ case "circulararrow": {
746
+ let t = (c ?? 0) / 6e4 * Math.PI / 180, n = (s ?? 162e5) / 6e4 * Math.PI / 180, r = (l ?? 5e4) / 1e5, i = Math.min(a, o) / 2, u = i * (1 - r), p = (i + u) / 2, m = i - u, h = t + n;
747
+ e.arc(d, f, i, t, h, !1), e.arc(d, f, u, h, t, !0), e.closePath();
748
+ let g = Math.sin(h), _ = -Math.cos(h), v = m * 1.5, y = d + p * Math.cos(h) + v * g, b = f + p * Math.sin(h) + v * _;
749
+ e.moveTo(y, b), e.lineTo(d + i * Math.cos(h), f + i * Math.sin(h)), e.lineTo(d + u * Math.cos(h), f + u * Math.sin(h)), e.closePath();
750
+ break;
751
+ }
752
+ case "curvedrightarrow": {
753
+ let t = Math.min(a, o), n = o / 2, u = 5e4 * o / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = t * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * a / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, l ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, a * a - _ * _)) * m / a, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, E = o - p / 2, D = a - _, O = Math.atan2(_, v), k = -O, A = Math.PI - O;
754
+ e.moveTo(r, i + m), T(e, r, i + m, a, m, Math.PI, k), e.lineTo(r + D, i + C), e.lineTo(r + a, i + E), e.lineTo(r + D, i + w), e.lineTo(r + D, i + x), T(e, r + D, i + x, a, m, A, O), e.closePath();
755
+ break;
756
+ }
757
+ case "curvedleftarrow": {
758
+ let t = Math.min(a, o), n = o / 2, u = 5e4 * o / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = t * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, E = S + C, D = o - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = -j;
759
+ e.moveTo(r, i + D), e.lineTo(r + O, i + w), e.lineTo(r + O, i + x);
760
+ let F = T(e, r + O, i + x, a, m, k, M);
761
+ T(e, F.x, F.y, a, m, P, N), e.lineTo(r + O, i + E), e.closePath();
762
+ break;
763
+ }
764
+ case "curveduparrow": {
765
+ let t = Math.min(a, o), n = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = t * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, E = S + C, D = a - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = Math.PI / 2 - k, F = Math.PI / 2 - j;
766
+ e.moveTo(r + D, i), e.lineTo(r + E, i + O), e.lineTo(r + S, i + O);
767
+ let I = T(e, r + S, i + O, m, o, P, N);
768
+ T(e, I.x, I.y, m, o, F, M), e.lineTo(r + w, i + O), e.closePath();
769
+ break;
770
+ }
771
+ case "curveddownarrow": {
772
+ let t = Math.min(a, o), n = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = t * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, E = S + C, D = a - p / 2, O = o - v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = 3 * Math.PI / 2 + k;
773
+ 3 * Math.PI / 2 - j, j - Math.PI / 2, Math.PI / 2 - j, e.moveTo(r + D, i + o), e.lineTo(r + w, i + O), e.lineTo(r + x, i + O), T(e, r + x, i + O, m, o, M, -k), e.lineTo(r + b, i), T(e, r + b, i, m, o, 3 * Math.PI / 2, k), e.lineTo(r + E, i + O), e.closePath();
774
+ break;
775
+ }
776
+ case "stripedrightarrow": {
777
+ let t = Math.min(a, o), n = t / 32, l = t / 16, u = t / 8, d = t * (s ?? 5e4) / 1e5, p = a * (c ?? 5e4) / 1e5, m = f - d / 2, h = f + d / 2, g = r + a - p;
778
+ e.rect(r, m, n, d), e.rect(r + l, m, l, d), e.rect(r + u, m, u, d), e.moveTo(g, m), e.lineTo(g, i), e.lineTo(r + a, f), e.lineTo(g, i + o), e.lineTo(g, h), e.lineTo(r + u * 2, h), e.lineTo(r + u * 2, m), e.closePath();
779
+ break;
780
+ }
781
+ case "flowchartmagneticdisk": {
782
+ let t = o * .15;
783
+ e.moveTo(r, i + t), e.ellipse(d, i + t, a / 2, t, 0, Math.PI, 0), e.lineTo(r + a, i + o - t), e.ellipse(d, i + o - t, a / 2, t, 0, 0, Math.PI), e.lineTo(r, i + t), e.closePath(), e.moveTo(r + a, i + t), e.ellipse(d, i + t, a / 2, t, 0, 0, Math.PI);
784
+ break;
785
+ }
786
+ case "flowchartmagneticdrum": {
787
+ let t = a * .15;
788
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o), e.lineTo(r + t, i + o), e.ellipse(r + t, f, t, o / 2, 0, Math.PI / 2, -Math.PI / 2, !0), e.closePath(), e.moveTo(r + a, i), e.ellipse(r + a, f, t, o / 2, 0, -Math.PI / 2, Math.PI / 2);
789
+ break;
790
+ }
791
+ case "flowchartmagnetictape": {
792
+ let t = Math.min(a, o) / 2, n = d + t * .5;
793
+ e.moveTo(d, i + o), e.arc(d, f, t, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), e.lineTo(n, f + t * .5), e.lineTo(n, i + o), e.closePath();
794
+ break;
795
+ }
796
+ case "flowchartpunchedtape": {
797
+ let t = o * .12;
798
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath(), e.moveTo(r, i + t), e.bezierCurveTo(r + a * .25, i, r + a * .75, i + t * 2, r + a, i + t);
799
+ break;
800
+ }
801
+ case "flowchartmanualoperation": {
802
+ let t = a * .15;
803
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.closePath();
804
+ break;
805
+ }
806
+ case "flowchartmultidocument": {
807
+ let t = o * .1, n = a * .04;
808
+ e.rect(r + n * 2, i - o * .08, a - n * 2, o * .1), e.rect(r + n, i - o * .04, a - n, o * .06), e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath();
809
+ break;
810
+ }
811
+ case "rttriangle":
812
+ e.moveTo(r, i), e.lineTo(r, i + o), e.lineTo(r + a, i + o), e.closePath();
813
+ break;
814
+ default:
815
+ e.rect(r, i, a, o);
816
+ break;
817
+ }
818
+ }
819
+ //#endregion
820
+ //#region packages/core/src/shape/arrow.ts
821
+ function j(e, t, n) {
822
+ let r = Math.max(.5, t.width * n), i = e.w === "sm" ? 4 : e.w === "lg" ? 8 : 6, a = e.len === "sm" ? 4 : e.len === "lg" ? 8 : 6;
823
+ return {
824
+ lw: r,
825
+ halfW: r * i / 2,
826
+ len: r * a
827
+ };
828
+ }
829
+ var M = new Set([
830
+ "triangle",
831
+ "stealth",
832
+ "diamond",
833
+ "oval"
834
+ ]);
835
+ function N(e, t, n) {
836
+ return M.has(e.type) ? j(e, t, n).len : 0;
837
+ }
838
+ function P(e, t, n) {
839
+ if (n <= 0) return {
840
+ x: e.x,
841
+ y: e.y
842
+ };
843
+ let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i);
844
+ if (a < 1e-9) return {
845
+ x: e.x,
846
+ y: e.y
847
+ };
848
+ let o = Math.min(n, a) / a;
849
+ return {
850
+ x: e.x + r * o,
851
+ y: e.y + i * o
852
+ };
853
+ }
854
+ function F(e, t, n, r, a, o, s) {
855
+ if (a.type === "none") return;
856
+ let { lw: c, halfW: l, len: u } = j(a, o, s), d = i(o.color);
857
+ switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = d, e.strokeStyle = d, e.lineWidth = c, e.setLineDash([]), e.beginPath(), a.type) {
858
+ case "triangle":
859
+ case "stealth":
860
+ e.moveTo(0, 0), e.lineTo(-u, -l), e.lineTo(-u, l), e.closePath(), e.fill();
861
+ break;
862
+ case "arrow":
863
+ e.moveTo(0, 0), e.lineTo(-u, -l), e.moveTo(0, 0), e.lineTo(-u, l), e.stroke();
864
+ break;
865
+ case "diamond":
866
+ e.moveTo(0, 0), e.lineTo(-u / 2, -l), e.lineTo(-u, 0), e.lineTo(-u / 2, l), e.closePath(), e.fill();
867
+ break;
868
+ case "oval":
869
+ e.ellipse(-u / 2, 0, u / 2, l, 0, 0, Math.PI * 2), e.fill();
870
+ break;
871
+ }
872
+ e.restore();
873
+ }
874
+ //#endregion
875
+ //#region packages/core/src/text/line-distribute.ts
876
+ var I = (e) => e === 32 || e === 12288;
877
+ function L(n, i, a = {}) {
878
+ if (Math.abs(i) <= .5) return null;
879
+ let o = a.firstContentSi ?? 0, s = a.lastDrawnSi ?? n.length - 1, c = a.minPerGap ?? -Infinity, l = a.isGapChar ?? t, u = a.isWhitespace ?? I, d = a.seaClusterGaps ?? !1, f = [];
880
+ for (let e = o; e < n.length; e++) {
881
+ let t = n[e];
882
+ if (t === void 0) continue;
883
+ if (t.text === void 0) {
884
+ f.push({
885
+ si: e,
886
+ off: 0,
887
+ ws: !1
888
+ });
889
+ continue;
890
+ }
891
+ let r = 0;
892
+ for (let n of t.text) {
893
+ let t = n.codePointAt(0);
894
+ f.push({
895
+ si: e,
896
+ off: r,
897
+ cp: t,
898
+ ws: u(t)
899
+ }), r++;
900
+ }
901
+ }
902
+ let p = -1, m = -1;
903
+ for (let e = 0; e < f.length; e++) f[e].ws || (p === -1 && (p = e), m = e);
904
+ if (p === -1 || p === m) return null;
905
+ let h = Array(f.length).fill(!1), g = 0;
906
+ for (let t = p; t < m; t++) {
907
+ let n = f[t];
908
+ if (n.si === s) continue;
909
+ if (n.ws) {
910
+ h[t] = !0, g++;
911
+ continue;
912
+ }
913
+ let i = f[t + 1];
914
+ if (i.ws) continue;
915
+ let a = n.cp, o = i.cp;
916
+ (a !== void 0 && l(a) || o !== void 0 && l(o) || d && a !== void 0 && o !== void 0 && r(a) && r(o) && !e(o)) && (h[t] = !0, g++);
917
+ }
918
+ if (g === 0) return null;
919
+ let _ = i / g;
920
+ i < 0 && _ < c && (_ = c);
921
+ let v = /* @__PURE__ */ new Map();
922
+ for (let e of f) e.cp !== void 0 && v.set(e.si, (v.get(e.si) ?? 0) + 1);
923
+ let y = /* @__PURE__ */ new Map();
924
+ for (let e = 0; e < f.length; e++) {
925
+ if (!h[e]) continue;
926
+ let t = f[e], n = y.get(t.si);
927
+ n || (n = {
928
+ splitBefore: [],
929
+ trailingGap: !1,
930
+ internalStretch: 0
931
+ }, y.set(t.si, n));
932
+ let r = v.get(t.si) ?? 0;
933
+ t.cp === void 0 || t.off === r - 1 ? n.trailingGap = !0 : (n.splitBefore.push(t.off + 1), n.internalStretch += _);
934
+ }
935
+ return {
936
+ perGap: _,
937
+ perSeg: y
938
+ };
939
+ }
940
+ //#endregion
941
+ //#region packages/core/src/layout/virtual-scroll.ts
942
+ function R(e, t, n) {
943
+ return e < t ? t : e > n ? n : e;
944
+ }
945
+ function z(e, t, n, r, i, a) {
946
+ let o = e.length;
947
+ if (o === 0) return {
948
+ start: 0,
949
+ end: -1,
950
+ topIndex: 0,
951
+ offsets: [],
952
+ totalHeight: 0
953
+ };
954
+ let s = a?.leading ?? 0, c = a?.trailing ?? 0, l = Array(o), u = 0;
955
+ for (let n = 0; n < o; n++) l[n] = s + u + n * t, u += e[n];
956
+ let d = s + u + (o - 1) * t + c, f = 0, p = o;
957
+ for (; f < p;) {
958
+ let e = f + p >>> 1;
959
+ l[e] <= n ? f = e + 1 : p = e;
960
+ }
961
+ let m = R(f - 1, 0, o - 1), h = n + r;
962
+ for (f = 0, p = o; f < p;) {
963
+ let e = f + p >>> 1;
964
+ l[e] < h ? f = e + 1 : p = e;
965
+ }
966
+ let g = R(f - 1, 0, o - 1);
967
+ return {
968
+ start: R(m - i, 0, o - 1),
969
+ end: R(g + i, 0, o - 1),
970
+ topIndex: m,
971
+ offsets: l,
972
+ totalHeight: d
973
+ };
974
+ }
975
+ //#endregion
976
+ //#region packages/core/src/search/highlight-rect.ts
977
+ function B(e, t, n, r) {
978
+ let i = t <= 0 ? 0 : r(e.slice(0, t)), a = n >= e.length ? r(e) : r(e.slice(0, n));
979
+ return {
980
+ x: i,
981
+ width: Math.max(0, a - i)
982
+ };
983
+ }
984
+ function V(e, t) {
985
+ return t > 0 ? `${e / t * 100}%` : "0%";
986
+ }
987
+ //#endregion
988
+ export { F as a, A as c, d, u as f, L as i, S as l, B as n, N as o, f as p, z as r, P as s, V as t, p as u };