@tellaro/tql 1.3.8 → 1.4.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.
Files changed (35) hide show
  1. package/dist/index.js +44 -41
  2. package/dist/node_modules/@kurkle/color/dist/color.esm.js +442 -0
  3. package/dist/node_modules/chart.js/dist/chart.js +6149 -0
  4. package/dist/node_modules/chart.js/dist/chunks/helpers.dataset.js +1685 -0
  5. package/dist/node_modules/chartjs-adapter-luxon/dist/chartjs-adapter-luxon.esm.js +56 -0
  6. package/dist/node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js +607 -0
  7. package/dist/node_modules/luxon/build/es6/luxon.js +5524 -0
  8. package/dist/src/builder.d.ts +62 -0
  9. package/dist/src/builder.js +56 -0
  10. package/dist/src/chart/colors.d.ts +23 -0
  11. package/dist/src/chart/colors.js +101 -0
  12. package/dist/src/chart/formatters.d.ts +17 -0
  13. package/dist/src/chart/formatters.js +49 -0
  14. package/dist/src/chart/index.d.ts +9 -0
  15. package/dist/src/chart/index.js +31 -0
  16. package/dist/src/chart/mappers.d.ts +849 -0
  17. package/dist/src/chart/mappers.js +613 -0
  18. package/dist/src/completionProvider.js +294 -165
  19. package/dist/src/index.d.ts +2 -1
  20. package/dist/src/parser.d.ts +10 -0
  21. package/dist/src/parser.js +41 -9
  22. package/dist/src/semanticPreview.d.ts +1 -1
  23. package/dist/src/tokenizer.js +124 -103
  24. package/dist/src/types.d.ts +27 -3
  25. package/dist/src/validator.js +37 -10
  26. package/dist/tql.css +1 -1
  27. package/dist/vue/TqlChart.vue.d.ts +2 -0
  28. package/dist/vue/TqlChart.vue.js +7 -0
  29. package/dist/vue/TqlChart.vue2.js +208 -0
  30. package/dist/vue/components/TqlPreview.vue.js +4 -4
  31. package/dist/vue/index.d.ts +1 -0
  32. package/dist/vue/index.js +12 -10
  33. package/dist/vue/useTqlInput.d.ts +54 -0
  34. package/dist/vue/useTqlInput.js +80 -80
  35. package/package.json +39 -3
@@ -0,0 +1,1685 @@
1
+ import { Color as he } from "../../../@kurkle/color/dist/color.esm.js";
2
+ function Jt() {
3
+ }
4
+ const Vt = /* @__PURE__ */ (() => {
5
+ let e = 0;
6
+ return () => e++;
7
+ })();
8
+ function v(e) {
9
+ return e == null;
10
+ }
11
+ function P(e) {
12
+ if (Array.isArray && Array.isArray(e))
13
+ return !0;
14
+ const t = Object.prototype.toString.call(e);
15
+ return t.slice(0, 7) === "[object" && t.slice(-6) === "Array]";
16
+ }
17
+ function _(e) {
18
+ return e !== null && Object.prototype.toString.call(e) === "[object Object]";
19
+ }
20
+ function ge(e) {
21
+ return (typeof e == "number" || e instanceof Number) && isFinite(+e);
22
+ }
23
+ function Xt(e, t) {
24
+ return ge(e) ? e : t;
25
+ }
26
+ function T(e, t) {
27
+ return typeof e > "u" ? t : e;
28
+ }
29
+ const Zt = (e, t) => typeof e == "string" && e.endsWith("%") ? parseFloat(e) / 100 : +e / t, Ae = (e, t) => typeof e == "string" && e.endsWith("%") ? parseFloat(e) / 100 * t : +e;
30
+ function en(e, t, n) {
31
+ if (e && typeof e.call == "function")
32
+ return e.apply(n, t);
33
+ }
34
+ function tn(e, t, n, o) {
35
+ let r, i, s;
36
+ if (P(e))
37
+ for (i = e.length, r = 0; r < i; r++)
38
+ t.call(n, e[r], r);
39
+ else if (_(e))
40
+ for (s = Object.keys(e), i = s.length, r = 0; r < i; r++)
41
+ t.call(n, e[s[r]], s[r]);
42
+ }
43
+ function nn(e, t) {
44
+ let n, o, r, i;
45
+ if (!e || !t || e.length !== t.length)
46
+ return !1;
47
+ for (n = 0, o = e.length; n < o; ++n)
48
+ if (r = e[n], i = t[n], r.datasetIndex !== i.datasetIndex || r.index !== i.index)
49
+ return !1;
50
+ return !0;
51
+ }
52
+ function E(e) {
53
+ if (P(e))
54
+ return e.map(E);
55
+ if (_(e)) {
56
+ const t = /* @__PURE__ */ Object.create(null), n = Object.keys(e), o = n.length;
57
+ let r = 0;
58
+ for (; r < o; ++r)
59
+ t[n[r]] = E(e[n[r]]);
60
+ return t;
61
+ }
62
+ return e;
63
+ }
64
+ function me(e) {
65
+ return [
66
+ "__proto__",
67
+ "prototype",
68
+ "constructor"
69
+ ].indexOf(e) === -1;
70
+ }
71
+ function Be(e, t, n, o) {
72
+ if (!me(e))
73
+ return;
74
+ const r = t[e], i = n[e];
75
+ _(r) && _(i) ? F(r, i, o) : t[e] = E(i);
76
+ }
77
+ function F(e, t, n) {
78
+ const o = P(t) ? t : [
79
+ t
80
+ ], r = o.length;
81
+ if (!_(e))
82
+ return e;
83
+ n = n || {};
84
+ const i = n.merger || Be;
85
+ let s;
86
+ for (let a = 0; a < r; ++a) {
87
+ if (s = o[a], !_(s))
88
+ continue;
89
+ const c = Object.keys(s);
90
+ for (let l = 0, u = c.length; l < u; ++l)
91
+ i(c[l], e, s, n);
92
+ }
93
+ return e;
94
+ }
95
+ function De(e, t) {
96
+ return F(e, t, {
97
+ merger: je
98
+ });
99
+ }
100
+ function je(e, t, n) {
101
+ if (!me(e))
102
+ return;
103
+ const o = t[e], r = n[e];
104
+ _(o) && _(r) ? De(o, r) : Object.prototype.hasOwnProperty.call(t, e) || (t[e] = E(r));
105
+ }
106
+ const ee = {
107
+ // Chart.helpers.core resolveObjectKey should resolve empty key to root object
108
+ "": (e) => e,
109
+ // default resolvers
110
+ x: (e) => e.x,
111
+ y: (e) => e.y
112
+ };
113
+ function Le(e) {
114
+ const t = e.split("."), n = [];
115
+ let o = "";
116
+ for (const r of t)
117
+ o += r, o.endsWith("\\") ? o = o.slice(0, -1) + "." : (n.push(o), o = "");
118
+ return n;
119
+ }
120
+ function We(e) {
121
+ const t = Le(e);
122
+ return (n) => {
123
+ for (const o of t) {
124
+ if (o === "")
125
+ break;
126
+ n = n && n[o];
127
+ }
128
+ return n;
129
+ };
130
+ }
131
+ function Ne(e, t) {
132
+ return (ee[t] || (ee[t] = We(t)))(e);
133
+ }
134
+ function pe(e) {
135
+ return e.charAt(0).toUpperCase() + e.slice(1);
136
+ }
137
+ const on = (e) => typeof e < "u", z = (e) => typeof e == "function", rn = (e, t) => {
138
+ if (e.size !== t.size)
139
+ return !1;
140
+ for (const n of e)
141
+ if (!t.has(n))
142
+ return !1;
143
+ return !0;
144
+ };
145
+ function sn(e) {
146
+ return e.type === "mouseup" || e.type === "click" || e.type === "contextmenu";
147
+ }
148
+ const y = Math.PI, M = 2 * y, Ee = M + y, H = Number.POSITIVE_INFINITY, Fe = y / 180, S = y / 2, w = y / 4, te = y * 2 / 3, be = Math.log10, ne = Math.sign;
149
+ function ye(e, t, n) {
150
+ return Math.abs(e - t) < n;
151
+ }
152
+ function an(e) {
153
+ const t = Math.round(e);
154
+ e = ye(e, t, e / 1e3) ? t : e;
155
+ const n = Math.pow(10, Math.floor(be(e))), o = e / n;
156
+ return (o <= 1 ? 1 : o <= 2 ? 2 : o <= 5 ? 5 : 10) * n;
157
+ }
158
+ function cn(e) {
159
+ const t = [], n = Math.sqrt(e);
160
+ let o;
161
+ for (o = 1; o < n; o++)
162
+ e % o === 0 && (t.push(o), t.push(e / o));
163
+ return n === (n | 0) && t.push(n), t.sort((r, i) => r - i).pop(), t;
164
+ }
165
+ function ze(e) {
166
+ return typeof e == "symbol" || typeof e == "object" && e !== null && !(Symbol.toPrimitive in e || "toString" in e || "valueOf" in e);
167
+ }
168
+ function ln(e) {
169
+ return !ze(e) && !isNaN(parseFloat(e)) && isFinite(e);
170
+ }
171
+ function un(e, t) {
172
+ const n = Math.round(e);
173
+ return n - t <= e && n + t >= e;
174
+ }
175
+ function fn(e, t, n) {
176
+ let o, r, i;
177
+ for (o = 0, r = e.length; o < r; o++)
178
+ i = e[o][n], isNaN(i) || (t.min = Math.min(t.min, i), t.max = Math.max(t.max, i));
179
+ }
180
+ function dn(e) {
181
+ return e * (y / 180);
182
+ }
183
+ function hn(e) {
184
+ return e * (180 / y);
185
+ }
186
+ function gn(e) {
187
+ if (!ge(e))
188
+ return;
189
+ let t = 1, n = 0;
190
+ for (; Math.round(e * t) / t !== e; )
191
+ t *= 10, n++;
192
+ return n;
193
+ }
194
+ function mn(e, t) {
195
+ const n = t.x - e.x, o = t.y - e.y, r = Math.sqrt(n * n + o * o);
196
+ let i = Math.atan2(o, n);
197
+ return i < -0.5 * y && (i += M), {
198
+ angle: i,
199
+ distance: r
200
+ };
201
+ }
202
+ function oe(e, t) {
203
+ return Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2));
204
+ }
205
+ function He(e, t) {
206
+ return (e - t + Ee) % M - y;
207
+ }
208
+ function O(e) {
209
+ return (e % M + M) % M;
210
+ }
211
+ function qe(e, t, n, o) {
212
+ const r = O(e), i = O(t), s = O(n), a = O(i - r), c = O(s - r), l = O(r - i), u = O(r - s);
213
+ return r === i || r === s || o && i === s || a > c && l < u;
214
+ }
215
+ function Y(e, t, n) {
216
+ return Math.max(t, Math.min(n, e));
217
+ }
218
+ function pn(e) {
219
+ return Y(e, -32768, 32767);
220
+ }
221
+ function Ke(e, t, n, o = 1e-6) {
222
+ return e >= Math.min(t, n) - o && e <= Math.max(t, n) + o;
223
+ }
224
+ function _e(e, t, n) {
225
+ n = n || ((s) => e[s] < t);
226
+ let o = e.length - 1, r = 0, i;
227
+ for (; o - r > 1; )
228
+ i = r + o >> 1, n(i) ? r = i : o = i;
229
+ return {
230
+ lo: r,
231
+ hi: o
232
+ };
233
+ }
234
+ const j = (e, t, n, o) => _e(e, n, o ? (r) => {
235
+ const i = e[r][t];
236
+ return i < n || i === n && e[r + 1][t] === n;
237
+ } : (r) => e[r][t] < n), bn = (e, t, n) => _e(e, n, (o) => e[o][t] >= n);
238
+ function yn(e, t, n) {
239
+ let o = 0, r = e.length;
240
+ for (; o < r && e[o] < t; )
241
+ o++;
242
+ for (; r > o && e[r - 1] > n; )
243
+ r--;
244
+ return o > 0 || r < e.length ? e.slice(o, r) : e;
245
+ }
246
+ const Me = [
247
+ "push",
248
+ "pop",
249
+ "shift",
250
+ "splice",
251
+ "unshift"
252
+ ];
253
+ function _n(e, t) {
254
+ if (e._chartjs) {
255
+ e._chartjs.listeners.push(t);
256
+ return;
257
+ }
258
+ Object.defineProperty(e, "_chartjs", {
259
+ configurable: !0,
260
+ enumerable: !1,
261
+ value: {
262
+ listeners: [
263
+ t
264
+ ]
265
+ }
266
+ }), Me.forEach((n) => {
267
+ const o = "_onData" + pe(n), r = e[n];
268
+ Object.defineProperty(e, n, {
269
+ configurable: !0,
270
+ enumerable: !1,
271
+ value(...i) {
272
+ const s = r.apply(this, i);
273
+ return e._chartjs.listeners.forEach((a) => {
274
+ typeof a[o] == "function" && a[o](...i);
275
+ }), s;
276
+ }
277
+ });
278
+ });
279
+ }
280
+ function Mn(e, t) {
281
+ const n = e._chartjs;
282
+ if (!n)
283
+ return;
284
+ const o = n.listeners, r = o.indexOf(t);
285
+ r !== -1 && o.splice(r, 1), !(o.length > 0) && (Me.forEach((i) => {
286
+ delete e[i];
287
+ }), delete e._chartjs);
288
+ }
289
+ function Sn(e) {
290
+ const t = new Set(e);
291
+ return t.size === e.length ? e : Array.from(t);
292
+ }
293
+ const Ge = (function() {
294
+ return typeof window > "u" ? function(e) {
295
+ return e();
296
+ } : window.requestAnimationFrame;
297
+ })();
298
+ function On(e, t) {
299
+ let n = [], o = !1;
300
+ return function(...r) {
301
+ n = r, o || (o = !0, Ge.call(window, () => {
302
+ o = !1, e.apply(t, n);
303
+ }));
304
+ };
305
+ }
306
+ function xn(e, t) {
307
+ let n;
308
+ return function(...o) {
309
+ return t ? (clearTimeout(n), n = setTimeout(e, t, o)) : e.apply(this, o), t;
310
+ };
311
+ }
312
+ const Pn = (e) => e === "start" ? "left" : e === "end" ? "right" : "center", wn = (e, t, n) => e === "start" ? t : e === "end" ? n : (t + n) / 2, Tn = (e, t, n, o) => e === (o ? "left" : "right") ? n : e === "center" ? (t + n) / 2 : t;
313
+ function kn(e, t, n) {
314
+ const o = t.length;
315
+ let r = 0, i = o;
316
+ if (e._sorted) {
317
+ const { iScale: s, vScale: a, _parsed: c } = e, l = e.dataset && e.dataset.options ? e.dataset.options.spanGaps : null, u = s.axis, { min: h, max: g, minDefined: m, maxDefined: p } = s.getUserBounds();
318
+ if (m) {
319
+ if (r = Math.min(
320
+ // @ts-expect-error Need to type _parsed
321
+ j(c, u, h).lo,
322
+ // @ts-expect-error Need to fix types on _lookupByKey
323
+ n ? o : j(t, u, s.getPixelForValue(h)).lo
324
+ ), l) {
325
+ const d = c.slice(0, r + 1).reverse().findIndex((f) => !v(f[a.axis]));
326
+ r -= Math.max(0, d);
327
+ }
328
+ r = Y(r, 0, o - 1);
329
+ }
330
+ if (p) {
331
+ let d = Math.max(
332
+ // @ts-expect-error Need to type _parsed
333
+ j(c, s.axis, g, !0).hi + 1,
334
+ // @ts-expect-error Need to fix types on _lookupByKey
335
+ n ? 0 : j(t, u, s.getPixelForValue(g), !0).hi + 1
336
+ );
337
+ if (l) {
338
+ const f = c.slice(d - 1).findIndex((b) => !v(b[a.axis]));
339
+ d += Math.max(0, f);
340
+ }
341
+ i = Y(d, r, o) - r;
342
+ } else
343
+ i = o - r;
344
+ }
345
+ return {
346
+ start: r,
347
+ count: i
348
+ };
349
+ }
350
+ function Cn(e) {
351
+ const { xScale: t, yScale: n, _scaleRanges: o } = e, r = {
352
+ xmin: t.min,
353
+ xmax: t.max,
354
+ ymin: n.min,
355
+ ymax: n.max
356
+ };
357
+ if (!o)
358
+ return e._scaleRanges = r, !0;
359
+ const i = o.xmin !== t.min || o.xmax !== t.max || o.ymin !== n.min || o.ymax !== n.max;
360
+ return Object.assign(o, r), i;
361
+ }
362
+ const L = (e) => e === 0 || e === 1, re = (e, t, n) => -(Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * M / n)), ie = (e, t, n) => Math.pow(2, -10 * e) * Math.sin((e - t) * M / n) + 1, Q = {
363
+ linear: (e) => e,
364
+ easeInQuad: (e) => e * e,
365
+ easeOutQuad: (e) => -e * (e - 2),
366
+ easeInOutQuad: (e) => (e /= 0.5) < 1 ? 0.5 * e * e : -0.5 * (--e * (e - 2) - 1),
367
+ easeInCubic: (e) => e * e * e,
368
+ easeOutCubic: (e) => (e -= 1) * e * e + 1,
369
+ easeInOutCubic: (e) => (e /= 0.5) < 1 ? 0.5 * e * e * e : 0.5 * ((e -= 2) * e * e + 2),
370
+ easeInQuart: (e) => e * e * e * e,
371
+ easeOutQuart: (e) => -((e -= 1) * e * e * e - 1),
372
+ easeInOutQuart: (e) => (e /= 0.5) < 1 ? 0.5 * e * e * e * e : -0.5 * ((e -= 2) * e * e * e - 2),
373
+ easeInQuint: (e) => e * e * e * e * e,
374
+ easeOutQuint: (e) => (e -= 1) * e * e * e * e + 1,
375
+ easeInOutQuint: (e) => (e /= 0.5) < 1 ? 0.5 * e * e * e * e * e : 0.5 * ((e -= 2) * e * e * e * e + 2),
376
+ easeInSine: (e) => -Math.cos(e * S) + 1,
377
+ easeOutSine: (e) => Math.sin(e * S),
378
+ easeInOutSine: (e) => -0.5 * (Math.cos(y * e) - 1),
379
+ easeInExpo: (e) => e === 0 ? 0 : Math.pow(2, 10 * (e - 1)),
380
+ easeOutExpo: (e) => e === 1 ? 1 : -Math.pow(2, -10 * e) + 1,
381
+ easeInOutExpo: (e) => L(e) ? e : e < 0.5 ? 0.5 * Math.pow(2, 10 * (e * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (e * 2 - 1)) + 2),
382
+ easeInCirc: (e) => e >= 1 ? e : -(Math.sqrt(1 - e * e) - 1),
383
+ easeOutCirc: (e) => Math.sqrt(1 - (e -= 1) * e),
384
+ easeInOutCirc: (e) => (e /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - e * e) - 1) : 0.5 * (Math.sqrt(1 - (e -= 2) * e) + 1),
385
+ easeInElastic: (e) => L(e) ? e : re(e, 0.075, 0.3),
386
+ easeOutElastic: (e) => L(e) ? e : ie(e, 0.075, 0.3),
387
+ easeInOutElastic(e) {
388
+ return L(e) ? e : e < 0.5 ? 0.5 * re(e * 2, 0.1125, 0.45) : 0.5 + 0.5 * ie(e * 2 - 1, 0.1125, 0.45);
389
+ },
390
+ easeInBack(e) {
391
+ return e * e * ((1.70158 + 1) * e - 1.70158);
392
+ },
393
+ easeOutBack(e) {
394
+ return (e -= 1) * e * ((1.70158 + 1) * e + 1.70158) + 1;
395
+ },
396
+ easeInOutBack(e) {
397
+ let t = 1.70158;
398
+ return (e /= 0.5) < 1 ? 0.5 * (e * e * (((t *= 1.525) + 1) * e - t)) : 0.5 * ((e -= 2) * e * (((t *= 1.525) + 1) * e + t) + 2);
399
+ },
400
+ easeInBounce: (e) => 1 - Q.easeOutBounce(1 - e),
401
+ easeOutBounce(e) {
402
+ return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375;
403
+ },
404
+ easeInOutBounce: (e) => e < 0.5 ? Q.easeInBounce(e * 2) * 0.5 : Q.easeOutBounce(e * 2 - 1) * 0.5 + 0.5
405
+ };
406
+ function J(e) {
407
+ if (e && typeof e == "object") {
408
+ const t = e.toString();
409
+ return t === "[object CanvasPattern]" || t === "[object CanvasGradient]";
410
+ }
411
+ return !1;
412
+ }
413
+ function In(e) {
414
+ return J(e) ? e : new he(e);
415
+ }
416
+ function $(e) {
417
+ return J(e) ? e : new he(e).saturate(0.5).darken(0.1).hexString();
418
+ }
419
+ const Qe = [
420
+ "x",
421
+ "y",
422
+ "borderWidth",
423
+ "radius",
424
+ "tension"
425
+ ], $e = [
426
+ "color",
427
+ "borderColor",
428
+ "backgroundColor"
429
+ ];
430
+ function Ue(e) {
431
+ e.set("animation", {
432
+ delay: void 0,
433
+ duration: 1e3,
434
+ easing: "easeOutQuart",
435
+ fn: void 0,
436
+ from: void 0,
437
+ loop: void 0,
438
+ to: void 0,
439
+ type: void 0
440
+ }), e.describe("animation", {
441
+ _fallback: !1,
442
+ _indexable: !1,
443
+ _scriptable: (t) => t !== "onProgress" && t !== "onComplete" && t !== "fn"
444
+ }), e.set("animations", {
445
+ colors: {
446
+ type: "color",
447
+ properties: $e
448
+ },
449
+ numbers: {
450
+ type: "number",
451
+ properties: Qe
452
+ }
453
+ }), e.describe("animations", {
454
+ _fallback: "animation"
455
+ }), e.set("transitions", {
456
+ active: {
457
+ animation: {
458
+ duration: 400
459
+ }
460
+ },
461
+ resize: {
462
+ animation: {
463
+ duration: 0
464
+ }
465
+ },
466
+ show: {
467
+ animations: {
468
+ colors: {
469
+ from: "transparent"
470
+ },
471
+ visible: {
472
+ type: "boolean",
473
+ duration: 0
474
+ }
475
+ }
476
+ },
477
+ hide: {
478
+ animations: {
479
+ colors: {
480
+ to: "transparent"
481
+ },
482
+ visible: {
483
+ type: "boolean",
484
+ easing: "linear",
485
+ fn: (t) => t | 0
486
+ }
487
+ }
488
+ }
489
+ });
490
+ }
491
+ function Ye(e) {
492
+ e.set("layout", {
493
+ autoPadding: !0,
494
+ padding: {
495
+ top: 0,
496
+ right: 0,
497
+ bottom: 0,
498
+ left: 0
499
+ }
500
+ });
501
+ }
502
+ const se = /* @__PURE__ */ new Map();
503
+ function Je(e, t) {
504
+ t = t || {};
505
+ const n = e + JSON.stringify(t);
506
+ let o = se.get(n);
507
+ return o || (o = new Intl.NumberFormat(e, t), se.set(n, o)), o;
508
+ }
509
+ function Ve(e, t, n) {
510
+ return Je(t, n).format(e);
511
+ }
512
+ const Xe = {
513
+ values(e) {
514
+ return P(e) ? e : "" + e;
515
+ },
516
+ numeric(e, t, n) {
517
+ if (e === 0)
518
+ return "0";
519
+ const o = this.chart.options.locale;
520
+ let r, i = e;
521
+ if (n.length > 1) {
522
+ const l = Math.max(Math.abs(n[0].value), Math.abs(n[n.length - 1].value));
523
+ (l < 1e-4 || l > 1e15) && (r = "scientific"), i = Ze(e, n);
524
+ }
525
+ const s = be(Math.abs(i)), a = isNaN(s) ? 1 : Math.max(Math.min(-1 * Math.floor(s), 20), 0), c = {
526
+ notation: r,
527
+ minimumFractionDigits: a,
528
+ maximumFractionDigits: a
529
+ };
530
+ return Object.assign(c, this.options.ticks.format), Ve(e, o, c);
531
+ }
532
+ };
533
+ function Ze(e, t) {
534
+ let n = t.length > 3 ? t[2].value - t[1].value : t[1].value - t[0].value;
535
+ return Math.abs(n) >= 1 && e !== Math.floor(e) && (n = e - Math.floor(e)), n;
536
+ }
537
+ var et = {
538
+ formatters: Xe
539
+ };
540
+ function tt(e) {
541
+ e.set("scale", {
542
+ display: !0,
543
+ offset: !1,
544
+ reverse: !1,
545
+ beginAtZero: !1,
546
+ bounds: "ticks",
547
+ clip: !0,
548
+ grace: 0,
549
+ grid: {
550
+ display: !0,
551
+ lineWidth: 1,
552
+ drawOnChartArea: !0,
553
+ drawTicks: !0,
554
+ tickLength: 8,
555
+ tickWidth: (t, n) => n.lineWidth,
556
+ tickColor: (t, n) => n.color,
557
+ offset: !1
558
+ },
559
+ border: {
560
+ display: !0,
561
+ dash: [],
562
+ dashOffset: 0,
563
+ width: 1
564
+ },
565
+ title: {
566
+ display: !1,
567
+ text: "",
568
+ padding: {
569
+ top: 4,
570
+ bottom: 4
571
+ }
572
+ },
573
+ ticks: {
574
+ minRotation: 0,
575
+ maxRotation: 50,
576
+ mirror: !1,
577
+ textStrokeWidth: 0,
578
+ textStrokeColor: "",
579
+ padding: 3,
580
+ display: !0,
581
+ autoSkip: !0,
582
+ autoSkipPadding: 3,
583
+ labelOffset: 0,
584
+ callback: et.formatters.values,
585
+ minor: {},
586
+ major: {},
587
+ align: "center",
588
+ crossAlign: "near",
589
+ showLabelBackdrop: !1,
590
+ backdropColor: "rgba(255, 255, 255, 0.75)",
591
+ backdropPadding: 2
592
+ }
593
+ }), e.route("scale.ticks", "color", "", "color"), e.route("scale.grid", "color", "", "borderColor"), e.route("scale.border", "color", "", "borderColor"), e.route("scale.title", "color", "", "color"), e.describe("scale", {
594
+ _fallback: !1,
595
+ _scriptable: (t) => !t.startsWith("before") && !t.startsWith("after") && t !== "callback" && t !== "parser",
596
+ _indexable: (t) => t !== "borderDash" && t !== "tickBorderDash" && t !== "dash"
597
+ }), e.describe("scales", {
598
+ _fallback: "scale"
599
+ }), e.describe("scale.ticks", {
600
+ _scriptable: (t) => t !== "backdropPadding" && t !== "callback",
601
+ _indexable: (t) => t !== "backdropPadding"
602
+ });
603
+ }
604
+ const nt = /* @__PURE__ */ Object.create(null), ot = /* @__PURE__ */ Object.create(null);
605
+ function D(e, t) {
606
+ if (!t)
607
+ return e;
608
+ const n = t.split(".");
609
+ for (let o = 0, r = n.length; o < r; ++o) {
610
+ const i = n[o];
611
+ e = e[i] || (e[i] = /* @__PURE__ */ Object.create(null));
612
+ }
613
+ return e;
614
+ }
615
+ function U(e, t, n) {
616
+ return typeof t == "string" ? F(D(e, t), n) : F(D(e, ""), t);
617
+ }
618
+ class rt {
619
+ constructor(t, n) {
620
+ this.animation = void 0, this.backgroundColor = "rgba(0,0,0,0.1)", this.borderColor = "rgba(0,0,0,0.1)", this.color = "#666", this.datasets = {}, this.devicePixelRatio = (o) => o.chart.platform.getDevicePixelRatio(), this.elements = {}, this.events = [
621
+ "mousemove",
622
+ "mouseout",
623
+ "click",
624
+ "touchstart",
625
+ "touchmove"
626
+ ], this.font = {
627
+ family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
628
+ size: 12,
629
+ style: "normal",
630
+ lineHeight: 1.2,
631
+ weight: null
632
+ }, this.hover = {}, this.hoverBackgroundColor = (o, r) => $(r.backgroundColor), this.hoverBorderColor = (o, r) => $(r.borderColor), this.hoverColor = (o, r) => $(r.color), this.indexAxis = "x", this.interaction = {
633
+ mode: "nearest",
634
+ intersect: !0,
635
+ includeInvisible: !1
636
+ }, this.maintainAspectRatio = !0, this.onHover = null, this.onClick = null, this.parsing = !0, this.plugins = {}, this.responsive = !0, this.scale = void 0, this.scales = {}, this.showLine = !0, this.drawActiveElementsOnTop = !0, this.describe(t), this.apply(n);
637
+ }
638
+ set(t, n) {
639
+ return U(this, t, n);
640
+ }
641
+ get(t) {
642
+ return D(this, t);
643
+ }
644
+ describe(t, n) {
645
+ return U(ot, t, n);
646
+ }
647
+ override(t, n) {
648
+ return U(nt, t, n);
649
+ }
650
+ route(t, n, o, r) {
651
+ const i = D(this, t), s = D(this, o), a = "_" + n;
652
+ Object.defineProperties(i, {
653
+ [a]: {
654
+ value: i[n],
655
+ writable: !0
656
+ },
657
+ [n]: {
658
+ enumerable: !0,
659
+ get() {
660
+ const c = this[a], l = s[r];
661
+ return _(c) ? Object.assign({}, l, c) : T(c, l);
662
+ },
663
+ set(c) {
664
+ this[a] = c;
665
+ }
666
+ }
667
+ });
668
+ }
669
+ apply(t) {
670
+ t.forEach((n) => n(this));
671
+ }
672
+ }
673
+ var it = /* @__PURE__ */ new rt({
674
+ _scriptable: (e) => !e.startsWith("on"),
675
+ _indexable: (e) => e !== "events",
676
+ hover: {
677
+ _fallback: "interaction"
678
+ },
679
+ interaction: {
680
+ _scriptable: !1,
681
+ _indexable: !1
682
+ }
683
+ }, [
684
+ Ue,
685
+ Ye,
686
+ tt
687
+ ]);
688
+ function st(e) {
689
+ return !e || v(e.size) || v(e.family) ? null : (e.style ? e.style + " " : "") + (e.weight ? e.weight + " " : "") + e.size + "px " + e.family;
690
+ }
691
+ function Rn(e, t, n, o, r) {
692
+ let i = t[r];
693
+ return i || (i = t[r] = e.measureText(r).width, n.push(r)), i > o && (o = i), o;
694
+ }
695
+ function vn(e, t, n) {
696
+ const o = e.currentDevicePixelRatio, r = n !== 0 ? Math.max(n / 2, 0.5) : 0;
697
+ return Math.round((t - r) * o) / o + r;
698
+ }
699
+ function An(e, t) {
700
+ !t && !e || (t = t || e.getContext("2d"), t.save(), t.resetTransform(), t.clearRect(0, 0, e.width, e.height), t.restore());
701
+ }
702
+ function Bn(e, t, n, o) {
703
+ at(e, t, n, o, null);
704
+ }
705
+ function at(e, t, n, o, r) {
706
+ let i, s, a, c, l, u, h, g;
707
+ const m = t.pointStyle, p = t.rotation, d = t.radius;
708
+ let f = (p || 0) * Fe;
709
+ if (m && typeof m == "object" && (i = m.toString(), i === "[object HTMLImageElement]" || i === "[object HTMLCanvasElement]")) {
710
+ e.save(), e.translate(n, o), e.rotate(f), e.drawImage(m, -m.width / 2, -m.height / 2, m.width, m.height), e.restore();
711
+ return;
712
+ }
713
+ if (!(isNaN(d) || d <= 0)) {
714
+ switch (e.beginPath(), m) {
715
+ // Default includes circle
716
+ default:
717
+ r ? e.ellipse(n, o, r / 2, d, 0, 0, M) : e.arc(n, o, d, 0, M), e.closePath();
718
+ break;
719
+ case "triangle":
720
+ u = r ? r / 2 : d, e.moveTo(n + Math.sin(f) * u, o - Math.cos(f) * d), f += te, e.lineTo(n + Math.sin(f) * u, o - Math.cos(f) * d), f += te, e.lineTo(n + Math.sin(f) * u, o - Math.cos(f) * d), e.closePath();
721
+ break;
722
+ case "rectRounded":
723
+ l = d * 0.516, c = d - l, s = Math.cos(f + w) * c, h = Math.cos(f + w) * (r ? r / 2 - l : c), a = Math.sin(f + w) * c, g = Math.sin(f + w) * (r ? r / 2 - l : c), e.arc(n - h, o - a, l, f - y, f - S), e.arc(n + g, o - s, l, f - S, f), e.arc(n + h, o + a, l, f, f + S), e.arc(n - g, o + s, l, f + S, f + y), e.closePath();
724
+ break;
725
+ case "rect":
726
+ if (!p) {
727
+ c = Math.SQRT1_2 * d, u = r ? r / 2 : c, e.rect(n - u, o - c, 2 * u, 2 * c);
728
+ break;
729
+ }
730
+ f += w;
731
+ /* falls through */
732
+ case "rectRot":
733
+ h = Math.cos(f) * (r ? r / 2 : d), s = Math.cos(f) * d, a = Math.sin(f) * d, g = Math.sin(f) * (r ? r / 2 : d), e.moveTo(n - h, o - a), e.lineTo(n + g, o - s), e.lineTo(n + h, o + a), e.lineTo(n - g, o + s), e.closePath();
734
+ break;
735
+ case "crossRot":
736
+ f += w;
737
+ /* falls through */
738
+ case "cross":
739
+ h = Math.cos(f) * (r ? r / 2 : d), s = Math.cos(f) * d, a = Math.sin(f) * d, g = Math.sin(f) * (r ? r / 2 : d), e.moveTo(n - h, o - a), e.lineTo(n + h, o + a), e.moveTo(n + g, o - s), e.lineTo(n - g, o + s);
740
+ break;
741
+ case "star":
742
+ h = Math.cos(f) * (r ? r / 2 : d), s = Math.cos(f) * d, a = Math.sin(f) * d, g = Math.sin(f) * (r ? r / 2 : d), e.moveTo(n - h, o - a), e.lineTo(n + h, o + a), e.moveTo(n + g, o - s), e.lineTo(n - g, o + s), f += w, h = Math.cos(f) * (r ? r / 2 : d), s = Math.cos(f) * d, a = Math.sin(f) * d, g = Math.sin(f) * (r ? r / 2 : d), e.moveTo(n - h, o - a), e.lineTo(n + h, o + a), e.moveTo(n + g, o - s), e.lineTo(n - g, o + s);
743
+ break;
744
+ case "line":
745
+ s = r ? r / 2 : Math.cos(f) * d, a = Math.sin(f) * d, e.moveTo(n - s, o - a), e.lineTo(n + s, o + a);
746
+ break;
747
+ case "dash":
748
+ e.moveTo(n, o), e.lineTo(n + Math.cos(f) * (r ? r / 2 : d), o + Math.sin(f) * d);
749
+ break;
750
+ case !1:
751
+ e.closePath();
752
+ break;
753
+ }
754
+ e.fill(), t.borderWidth > 0 && e.stroke();
755
+ }
756
+ }
757
+ function ae(e, t, n) {
758
+ return n = n || 0.5, !t || e && e.x > t.left - n && e.x < t.right + n && e.y > t.top - n && e.y < t.bottom + n;
759
+ }
760
+ function Dn(e, t) {
761
+ e.save(), e.beginPath(), e.rect(t.left, t.top, t.right - t.left, t.bottom - t.top), e.clip();
762
+ }
763
+ function jn(e) {
764
+ e.restore();
765
+ }
766
+ function Ln(e, t, n, o, r) {
767
+ if (!t)
768
+ return e.lineTo(n.x, n.y);
769
+ if (r === "middle") {
770
+ const i = (t.x + n.x) / 2;
771
+ e.lineTo(i, t.y), e.lineTo(i, n.y);
772
+ } else r === "after" != !!o ? e.lineTo(t.x, n.y) : e.lineTo(n.x, t.y);
773
+ e.lineTo(n.x, n.y);
774
+ }
775
+ function Wn(e, t, n, o) {
776
+ if (!t)
777
+ return e.lineTo(n.x, n.y);
778
+ e.bezierCurveTo(o ? t.cp1x : t.cp2x, o ? t.cp1y : t.cp2y, o ? n.cp2x : n.cp1x, o ? n.cp2y : n.cp1y, n.x, n.y);
779
+ }
780
+ function ct(e, t) {
781
+ t.translation && e.translate(t.translation[0], t.translation[1]), v(t.rotation) || e.rotate(t.rotation), t.color && (e.fillStyle = t.color), t.textAlign && (e.textAlign = t.textAlign), t.textBaseline && (e.textBaseline = t.textBaseline);
782
+ }
783
+ function lt(e, t, n, o, r) {
784
+ if (r.strikethrough || r.underline) {
785
+ const i = e.measureText(o), s = t - i.actualBoundingBoxLeft, a = t + i.actualBoundingBoxRight, c = n - i.actualBoundingBoxAscent, l = n + i.actualBoundingBoxDescent, u = r.strikethrough ? (c + l) / 2 : l;
786
+ e.strokeStyle = e.fillStyle, e.beginPath(), e.lineWidth = r.decorationWidth || 2, e.moveTo(s, u), e.lineTo(a, u), e.stroke();
787
+ }
788
+ }
789
+ function ut(e, t) {
790
+ const n = e.fillStyle;
791
+ e.fillStyle = t.color, e.fillRect(t.left, t.top, t.width, t.height), e.fillStyle = n;
792
+ }
793
+ function Nn(e, t, n, o, r, i = {}) {
794
+ const s = P(t) ? t : [
795
+ t
796
+ ], a = i.strokeWidth > 0 && i.strokeColor !== "";
797
+ let c, l;
798
+ for (e.save(), e.font = r.string, ct(e, i), c = 0; c < s.length; ++c)
799
+ l = s[c], i.backdrop && ut(e, i.backdrop), a && (i.strokeColor && (e.strokeStyle = i.strokeColor), v(i.strokeWidth) || (e.lineWidth = i.strokeWidth), e.strokeText(l, n, o, i.maxWidth)), e.fillText(l, n, o, i.maxWidth), lt(e, n, o, l, i), o += Number(r.lineHeight);
800
+ e.restore();
801
+ }
802
+ function En(e, t) {
803
+ const { x: n, y: o, w: r, h: i, radius: s } = t;
804
+ e.arc(n + s.topLeft, o + s.topLeft, s.topLeft, 1.5 * y, y, !0), e.lineTo(n, o + i - s.bottomLeft), e.arc(n + s.bottomLeft, o + i - s.bottomLeft, s.bottomLeft, y, S, !0), e.lineTo(n + r - s.bottomRight, o + i), e.arc(n + r - s.bottomRight, o + i - s.bottomRight, s.bottomRight, S, 0, !0), e.lineTo(n + r, o + s.topRight), e.arc(n + r - s.topRight, o + s.topRight, s.topRight, 0, -S, !0), e.lineTo(n + s.topLeft, o);
805
+ }
806
+ const ft = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/, dt = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;
807
+ function ht(e, t) {
808
+ const n = ("" + e).match(ft);
809
+ if (!n || n[1] === "normal")
810
+ return t * 1.2;
811
+ switch (e = +n[2], n[3]) {
812
+ case "px":
813
+ return e;
814
+ case "%":
815
+ e /= 100;
816
+ break;
817
+ }
818
+ return t * e;
819
+ }
820
+ const gt = (e) => +e || 0;
821
+ function Se(e, t) {
822
+ const n = {}, o = _(t), r = o ? Object.keys(t) : t, i = _(e) ? o ? (s) => T(e[s], e[t[s]]) : (s) => e[s] : () => e;
823
+ for (const s of r)
824
+ n[s] = gt(i(s));
825
+ return n;
826
+ }
827
+ function mt(e) {
828
+ return Se(e, {
829
+ top: "y",
830
+ right: "x",
831
+ bottom: "y",
832
+ left: "x"
833
+ });
834
+ }
835
+ function Fn(e) {
836
+ return Se(e, [
837
+ "topLeft",
838
+ "topRight",
839
+ "bottomLeft",
840
+ "bottomRight"
841
+ ]);
842
+ }
843
+ function zn(e) {
844
+ const t = mt(e);
845
+ return t.width = t.left + t.right, t.height = t.top + t.bottom, t;
846
+ }
847
+ function Hn(e, t) {
848
+ e = e || {}, t = t || it.font;
849
+ let n = T(e.size, t.size);
850
+ typeof n == "string" && (n = parseInt(n, 10));
851
+ let o = T(e.style, t.style);
852
+ o && !("" + o).match(dt) && (console.warn('Invalid font style specified: "' + o + '"'), o = void 0);
853
+ const r = {
854
+ family: T(e.family, t.family),
855
+ lineHeight: ht(T(e.lineHeight, t.lineHeight), n),
856
+ size: n,
857
+ style: o,
858
+ weight: T(e.weight, t.weight),
859
+ string: ""
860
+ };
861
+ return r.string = st(r), r;
862
+ }
863
+ function qn(e, t, n, o) {
864
+ let r, i, s;
865
+ for (r = 0, i = e.length; r < i; ++r)
866
+ if (s = e[r], s !== void 0 && (t !== void 0 && typeof s == "function" && (s = s(t)), n !== void 0 && P(s) && (s = s[n % s.length]), s !== void 0))
867
+ return s;
868
+ }
869
+ function Kn(e, t, n) {
870
+ const { min: o, max: r } = e, i = Ae(t, (r - o) / 2), s = (a, c) => n && a === 0 ? 0 : a + c;
871
+ return {
872
+ min: s(o, -Math.abs(i)),
873
+ max: s(r, i)
874
+ };
875
+ }
876
+ function pt(e, t) {
877
+ return Object.assign(Object.create(e), t);
878
+ }
879
+ function Oe(e, t = [
880
+ ""
881
+ ], n, o, r = () => e[0]) {
882
+ const i = n || e;
883
+ typeof o > "u" && (o = we("_fallback", e));
884
+ const s = {
885
+ [Symbol.toStringTag]: "Object",
886
+ _cacheable: !0,
887
+ _scopes: e,
888
+ _rootScopes: i,
889
+ _fallback: o,
890
+ _getTarget: r,
891
+ override: (a) => Oe([
892
+ a,
893
+ ...e
894
+ ], t, i, o)
895
+ };
896
+ return new Proxy(s, {
897
+ /**
898
+ * A trap for the delete operator.
899
+ */
900
+ deleteProperty(a, c) {
901
+ return delete a[c], delete a._keys, delete e[0][c], !0;
902
+ },
903
+ /**
904
+ * A trap for getting property values.
905
+ */
906
+ get(a, c) {
907
+ return xe(a, c, () => wt(c, t, e, a));
908
+ },
909
+ /**
910
+ * A trap for Object.getOwnPropertyDescriptor.
911
+ * Also used by Object.hasOwnProperty.
912
+ */
913
+ getOwnPropertyDescriptor(a, c) {
914
+ return Reflect.getOwnPropertyDescriptor(a._scopes[0], c);
915
+ },
916
+ /**
917
+ * A trap for Object.getPrototypeOf.
918
+ */
919
+ getPrototypeOf() {
920
+ return Reflect.getPrototypeOf(e[0]);
921
+ },
922
+ /**
923
+ * A trap for the in operator.
924
+ */
925
+ has(a, c) {
926
+ return le(a).includes(c);
927
+ },
928
+ /**
929
+ * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.
930
+ */
931
+ ownKeys(a) {
932
+ return le(a);
933
+ },
934
+ /**
935
+ * A trap for setting property values.
936
+ */
937
+ set(a, c, l) {
938
+ const u = a._storage || (a._storage = r());
939
+ return a[c] = u[c] = l, delete a._keys, !0;
940
+ }
941
+ });
942
+ }
943
+ function q(e, t, n, o) {
944
+ const r = {
945
+ _cacheable: !1,
946
+ _proxy: e,
947
+ _context: t,
948
+ _subProxy: n,
949
+ _stack: /* @__PURE__ */ new Set(),
950
+ _descriptors: bt(e, o),
951
+ setContext: (i) => q(e, i, n, o),
952
+ override: (i) => q(e.override(i), t, n, o)
953
+ };
954
+ return new Proxy(r, {
955
+ /**
956
+ * A trap for the delete operator.
957
+ */
958
+ deleteProperty(i, s) {
959
+ return delete i[s], delete e[s], !0;
960
+ },
961
+ /**
962
+ * A trap for getting property values.
963
+ */
964
+ get(i, s, a) {
965
+ return xe(i, s, () => _t(i, s, a));
966
+ },
967
+ /**
968
+ * A trap for Object.getOwnPropertyDescriptor.
969
+ * Also used by Object.hasOwnProperty.
970
+ */
971
+ getOwnPropertyDescriptor(i, s) {
972
+ return i._descriptors.allKeys ? Reflect.has(e, s) ? {
973
+ enumerable: !0,
974
+ configurable: !0
975
+ } : void 0 : Reflect.getOwnPropertyDescriptor(e, s);
976
+ },
977
+ /**
978
+ * A trap for Object.getPrototypeOf.
979
+ */
980
+ getPrototypeOf() {
981
+ return Reflect.getPrototypeOf(e);
982
+ },
983
+ /**
984
+ * A trap for the in operator.
985
+ */
986
+ has(i, s) {
987
+ return Reflect.has(e, s);
988
+ },
989
+ /**
990
+ * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.
991
+ */
992
+ ownKeys() {
993
+ return Reflect.ownKeys(e);
994
+ },
995
+ /**
996
+ * A trap for setting property values.
997
+ */
998
+ set(i, s, a) {
999
+ return e[s] = a, delete i[s], !0;
1000
+ }
1001
+ });
1002
+ }
1003
+ function bt(e, t = {
1004
+ scriptable: !0,
1005
+ indexable: !0
1006
+ }) {
1007
+ const { _scriptable: n = t.scriptable, _indexable: o = t.indexable, _allKeys: r = t.allKeys } = e;
1008
+ return {
1009
+ allKeys: r,
1010
+ scriptable: n,
1011
+ indexable: o,
1012
+ isScriptable: z(n) ? n : () => n,
1013
+ isIndexable: z(o) ? o : () => o
1014
+ };
1015
+ }
1016
+ const yt = (e, t) => e ? e + pe(t) : t, V = (e, t) => _(t) && e !== "adapters" && (Object.getPrototypeOf(t) === null || t.constructor === Object);
1017
+ function xe(e, t, n) {
1018
+ if (Object.prototype.hasOwnProperty.call(e, t) || t === "constructor")
1019
+ return e[t];
1020
+ const o = n();
1021
+ return e[t] = o, o;
1022
+ }
1023
+ function _t(e, t, n) {
1024
+ const { _proxy: o, _context: r, _subProxy: i, _descriptors: s } = e;
1025
+ let a = o[t];
1026
+ return z(a) && s.isScriptable(t) && (a = Mt(t, a, e, n)), P(a) && a.length && (a = St(t, a, e, s.isIndexable)), V(t, a) && (a = q(a, r, i && i[t], s)), a;
1027
+ }
1028
+ function Mt(e, t, n, o) {
1029
+ const { _proxy: r, _context: i, _subProxy: s, _stack: a } = n;
1030
+ if (a.has(e))
1031
+ throw new Error("Recursion detected: " + Array.from(a).join("->") + "->" + e);
1032
+ a.add(e);
1033
+ let c = t(i, s || o);
1034
+ return a.delete(e), V(e, c) && (c = X(r._scopes, r, e, c)), c;
1035
+ }
1036
+ function St(e, t, n, o) {
1037
+ const { _proxy: r, _context: i, _subProxy: s, _descriptors: a } = n;
1038
+ if (typeof i.index < "u" && o(e))
1039
+ return t[i.index % t.length];
1040
+ if (_(t[0])) {
1041
+ const c = t, l = r._scopes.filter((u) => u !== c);
1042
+ t = [];
1043
+ for (const u of c) {
1044
+ const h = X(l, r, e, u);
1045
+ t.push(q(h, i, s && s[e], a));
1046
+ }
1047
+ }
1048
+ return t;
1049
+ }
1050
+ function Pe(e, t, n) {
1051
+ return z(e) ? e(t, n) : e;
1052
+ }
1053
+ const Ot = (e, t) => e === !0 ? t : typeof e == "string" ? Ne(t, e) : void 0;
1054
+ function xt(e, t, n, o, r) {
1055
+ for (const i of t) {
1056
+ const s = Ot(n, i);
1057
+ if (s) {
1058
+ e.add(s);
1059
+ const a = Pe(s._fallback, n, r);
1060
+ if (typeof a < "u" && a !== n && a !== o)
1061
+ return a;
1062
+ } else if (s === !1 && typeof o < "u" && n !== o)
1063
+ return null;
1064
+ }
1065
+ return !1;
1066
+ }
1067
+ function X(e, t, n, o) {
1068
+ const r = t._rootScopes, i = Pe(t._fallback, n, o), s = [
1069
+ ...e,
1070
+ ...r
1071
+ ], a = /* @__PURE__ */ new Set();
1072
+ a.add(o);
1073
+ let c = ce(a, s, n, i || n, o);
1074
+ return c === null || typeof i < "u" && i !== n && (c = ce(a, s, i, c, o), c === null) ? !1 : Oe(Array.from(a), [
1075
+ ""
1076
+ ], r, i, () => Pt(t, n, o));
1077
+ }
1078
+ function ce(e, t, n, o, r) {
1079
+ for (; n; )
1080
+ n = xt(e, t, n, o, r);
1081
+ return n;
1082
+ }
1083
+ function Pt(e, t, n) {
1084
+ const o = e._getTarget();
1085
+ t in o || (o[t] = {});
1086
+ const r = o[t];
1087
+ return P(r) && _(n) ? n : r || {};
1088
+ }
1089
+ function wt(e, t, n, o) {
1090
+ let r;
1091
+ for (const i of t)
1092
+ if (r = we(yt(i, e), n), typeof r < "u")
1093
+ return V(e, r) ? X(n, o, e, r) : r;
1094
+ }
1095
+ function we(e, t) {
1096
+ for (const n of t) {
1097
+ if (!n)
1098
+ continue;
1099
+ const o = n[e];
1100
+ if (typeof o < "u")
1101
+ return o;
1102
+ }
1103
+ }
1104
+ function le(e) {
1105
+ let t = e._keys;
1106
+ return t || (t = e._keys = Tt(e._scopes)), t;
1107
+ }
1108
+ function Tt(e) {
1109
+ const t = /* @__PURE__ */ new Set();
1110
+ for (const n of e)
1111
+ for (const o of Object.keys(n).filter((r) => !r.startsWith("_")))
1112
+ t.add(o);
1113
+ return Array.from(t);
1114
+ }
1115
+ const kt = Number.EPSILON || 1e-14, A = (e, t) => t < e.length && !e[t].skip && e[t], Te = (e) => e === "x" ? "y" : "x";
1116
+ function Ct(e, t, n, o) {
1117
+ const r = e.skip ? t : e, i = t, s = n.skip ? t : n, a = oe(i, r), c = oe(s, i);
1118
+ let l = a / (a + c), u = c / (a + c);
1119
+ l = isNaN(l) ? 0 : l, u = isNaN(u) ? 0 : u;
1120
+ const h = o * l, g = o * u;
1121
+ return {
1122
+ previous: {
1123
+ x: i.x - h * (s.x - r.x),
1124
+ y: i.y - h * (s.y - r.y)
1125
+ },
1126
+ next: {
1127
+ x: i.x + g * (s.x - r.x),
1128
+ y: i.y + g * (s.y - r.y)
1129
+ }
1130
+ };
1131
+ }
1132
+ function It(e, t, n) {
1133
+ const o = e.length;
1134
+ let r, i, s, a, c, l = A(e, 0);
1135
+ for (let u = 0; u < o - 1; ++u)
1136
+ if (c = l, l = A(e, u + 1), !(!c || !l)) {
1137
+ if (ye(t[u], 0, kt)) {
1138
+ n[u] = n[u + 1] = 0;
1139
+ continue;
1140
+ }
1141
+ r = n[u] / t[u], i = n[u + 1] / t[u], a = Math.pow(r, 2) + Math.pow(i, 2), !(a <= 9) && (s = 3 / Math.sqrt(a), n[u] = r * s * t[u], n[u + 1] = i * s * t[u]);
1142
+ }
1143
+ }
1144
+ function Rt(e, t, n = "x") {
1145
+ const o = Te(n), r = e.length;
1146
+ let i, s, a, c = A(e, 0);
1147
+ for (let l = 0; l < r; ++l) {
1148
+ if (s = a, a = c, c = A(e, l + 1), !a)
1149
+ continue;
1150
+ const u = a[n], h = a[o];
1151
+ s && (i = (u - s[n]) / 3, a[`cp1${n}`] = u - i, a[`cp1${o}`] = h - i * t[l]), c && (i = (c[n] - u) / 3, a[`cp2${n}`] = u + i, a[`cp2${o}`] = h + i * t[l]);
1152
+ }
1153
+ }
1154
+ function vt(e, t = "x") {
1155
+ const n = Te(t), o = e.length, r = Array(o).fill(0), i = Array(o);
1156
+ let s, a, c, l = A(e, 0);
1157
+ for (s = 0; s < o; ++s)
1158
+ if (a = c, c = l, l = A(e, s + 1), !!c) {
1159
+ if (l) {
1160
+ const u = l[t] - c[t];
1161
+ r[s] = u !== 0 ? (l[n] - c[n]) / u : 0;
1162
+ }
1163
+ i[s] = a ? l ? ne(r[s - 1]) !== ne(r[s]) ? 0 : (r[s - 1] + r[s]) / 2 : r[s - 1] : r[s];
1164
+ }
1165
+ It(e, r, i), Rt(e, i, t);
1166
+ }
1167
+ function W(e, t, n) {
1168
+ return Math.max(Math.min(e, n), t);
1169
+ }
1170
+ function At(e, t) {
1171
+ let n, o, r, i, s, a = ae(e[0], t);
1172
+ for (n = 0, o = e.length; n < o; ++n)
1173
+ s = i, i = a, a = n < o - 1 && ae(e[n + 1], t), i && (r = e[n], s && (r.cp1x = W(r.cp1x, t.left, t.right), r.cp1y = W(r.cp1y, t.top, t.bottom)), a && (r.cp2x = W(r.cp2x, t.left, t.right), r.cp2y = W(r.cp2y, t.top, t.bottom)));
1174
+ }
1175
+ function Gn(e, t, n, o, r) {
1176
+ let i, s, a, c;
1177
+ if (t.spanGaps && (e = e.filter((l) => !l.skip)), t.cubicInterpolationMode === "monotone")
1178
+ vt(e, r);
1179
+ else {
1180
+ let l = o ? e[e.length - 1] : e[0];
1181
+ for (i = 0, s = e.length; i < s; ++i)
1182
+ a = e[i], c = Ct(l, a, e[Math.min(i + 1, s - (o ? 0 : 1)) % s], t.tension), a.cp1x = c.previous.x, a.cp1y = c.previous.y, a.cp2x = c.next.x, a.cp2y = c.next.y, l = a;
1183
+ }
1184
+ t.capBezierPoints && At(e, n);
1185
+ }
1186
+ function Bt() {
1187
+ return typeof window < "u" && typeof document < "u";
1188
+ }
1189
+ function Dt(e) {
1190
+ let t = e.parentNode;
1191
+ return t && t.toString() === "[object ShadowRoot]" && (t = t.host), t;
1192
+ }
1193
+ function K(e, t, n) {
1194
+ let o;
1195
+ return typeof e == "string" ? (o = parseInt(e, 10), e.indexOf("%") !== -1 && (o = o / 100 * t.parentNode[n])) : o = e, o;
1196
+ }
1197
+ const G = (e) => e.ownerDocument.defaultView.getComputedStyle(e, null);
1198
+ function jt(e, t) {
1199
+ return G(e).getPropertyValue(t);
1200
+ }
1201
+ const Lt = [
1202
+ "top",
1203
+ "right",
1204
+ "bottom",
1205
+ "left"
1206
+ ];
1207
+ function k(e, t, n) {
1208
+ const o = {};
1209
+ n = n ? "-" + n : "";
1210
+ for (let r = 0; r < 4; r++) {
1211
+ const i = Lt[r];
1212
+ o[i] = parseFloat(e[t + "-" + i + n]) || 0;
1213
+ }
1214
+ return o.width = o.left + o.right, o.height = o.top + o.bottom, o;
1215
+ }
1216
+ const Wt = (e, t, n) => (e > 0 || t > 0) && (!n || !n.shadowRoot);
1217
+ function Nt(e, t) {
1218
+ const n = e.touches, o = n && n.length ? n[0] : e, { offsetX: r, offsetY: i } = o;
1219
+ let s = !1, a, c;
1220
+ if (Wt(r, i, e.target))
1221
+ a = r, c = i;
1222
+ else {
1223
+ const l = t.getBoundingClientRect();
1224
+ a = o.clientX - l.left, c = o.clientY - l.top, s = !0;
1225
+ }
1226
+ return {
1227
+ x: a,
1228
+ y: c,
1229
+ box: s
1230
+ };
1231
+ }
1232
+ function Qn(e, t) {
1233
+ if ("native" in e)
1234
+ return e;
1235
+ const { canvas: n, currentDevicePixelRatio: o } = t, r = G(n), i = r.boxSizing === "border-box", s = k(r, "padding"), a = k(r, "border", "width"), { x: c, y: l, box: u } = Nt(e, n), h = s.left + (u && a.left), g = s.top + (u && a.top);
1236
+ let { width: m, height: p } = t;
1237
+ return i && (m -= s.width + a.width, p -= s.height + a.height), {
1238
+ x: Math.round((c - h) / m * n.width / o),
1239
+ y: Math.round((l - g) / p * n.height / o)
1240
+ };
1241
+ }
1242
+ function Et(e, t, n) {
1243
+ let o, r;
1244
+ if (t === void 0 || n === void 0) {
1245
+ const i = e && Dt(e);
1246
+ if (!i)
1247
+ t = e.clientWidth, n = e.clientHeight;
1248
+ else {
1249
+ const s = i.getBoundingClientRect(), a = G(i), c = k(a, "border", "width"), l = k(a, "padding");
1250
+ t = s.width - l.width - c.width, n = s.height - l.height - c.height, o = K(a.maxWidth, i, "clientWidth"), r = K(a.maxHeight, i, "clientHeight");
1251
+ }
1252
+ }
1253
+ return {
1254
+ width: t,
1255
+ height: n,
1256
+ maxWidth: o || H,
1257
+ maxHeight: r || H
1258
+ };
1259
+ }
1260
+ const x = (e) => Math.round(e * 10) / 10;
1261
+ function $n(e, t, n, o) {
1262
+ const r = G(e), i = k(r, "margin"), s = K(r.maxWidth, e, "clientWidth") || H, a = K(r.maxHeight, e, "clientHeight") || H, c = Et(e, t, n);
1263
+ let { width: l, height: u } = c;
1264
+ if (r.boxSizing === "content-box") {
1265
+ const g = k(r, "border", "width"), m = k(r, "padding");
1266
+ l -= m.width + g.width, u -= m.height + g.height;
1267
+ }
1268
+ return l = Math.max(0, l - i.width), u = Math.max(0, o ? l / o : u - i.height), l = x(Math.min(l, s, c.maxWidth)), u = x(Math.min(u, a, c.maxHeight)), l && !u && (u = x(l / 2)), (t !== void 0 || n !== void 0) && o && c.height && u > c.height && (u = c.height, l = x(Math.floor(u * o))), {
1269
+ width: l,
1270
+ height: u
1271
+ };
1272
+ }
1273
+ function Un(e, t, n) {
1274
+ const o = t || 1, r = x(e.height * o), i = x(e.width * o);
1275
+ e.height = x(e.height), e.width = x(e.width);
1276
+ const s = e.canvas;
1277
+ return s.style && (n || !s.style.height && !s.style.width) && (s.style.height = `${e.height}px`, s.style.width = `${e.width}px`), e.currentDevicePixelRatio !== o || s.height !== r || s.width !== i ? (e.currentDevicePixelRatio = o, s.height = r, s.width = i, e.ctx.setTransform(o, 0, 0, o, 0, 0), !0) : !1;
1278
+ }
1279
+ const Yn = (function() {
1280
+ let e = !1;
1281
+ try {
1282
+ const t = {
1283
+ get passive() {
1284
+ return e = !0, !1;
1285
+ }
1286
+ };
1287
+ Bt() && (window.addEventListener("test", null, t), window.removeEventListener("test", null, t));
1288
+ } catch {
1289
+ }
1290
+ return e;
1291
+ })();
1292
+ function Jn(e, t) {
1293
+ const n = jt(e, t), o = n && n.match(/^(\d+)(\.\d+)?px$/);
1294
+ return o ? +o[1] : void 0;
1295
+ }
1296
+ function R(e, t, n, o) {
1297
+ return {
1298
+ x: e.x + n * (t.x - e.x),
1299
+ y: e.y + n * (t.y - e.y)
1300
+ };
1301
+ }
1302
+ function Vn(e, t, n, o) {
1303
+ return {
1304
+ x: e.x + n * (t.x - e.x),
1305
+ y: o === "middle" ? n < 0.5 ? e.y : t.y : o === "after" ? n < 1 ? e.y : t.y : n > 0 ? t.y : e.y
1306
+ };
1307
+ }
1308
+ function Xn(e, t, n, o) {
1309
+ const r = {
1310
+ x: e.cp2x,
1311
+ y: e.cp2y
1312
+ }, i = {
1313
+ x: t.cp1x,
1314
+ y: t.cp1y
1315
+ }, s = R(e, r, n), a = R(r, i, n), c = R(i, t, n), l = R(s, a, n), u = R(a, c, n);
1316
+ return R(l, u, n);
1317
+ }
1318
+ const Ft = function(e, t) {
1319
+ return {
1320
+ x(n) {
1321
+ return e + e + t - n;
1322
+ },
1323
+ setWidth(n) {
1324
+ t = n;
1325
+ },
1326
+ textAlign(n) {
1327
+ return n === "center" ? n : n === "right" ? "left" : "right";
1328
+ },
1329
+ xPlus(n, o) {
1330
+ return n - o;
1331
+ },
1332
+ leftForLtr(n, o) {
1333
+ return n - o;
1334
+ }
1335
+ };
1336
+ }, zt = function() {
1337
+ return {
1338
+ x(e) {
1339
+ return e;
1340
+ },
1341
+ setWidth(e) {
1342
+ },
1343
+ textAlign(e) {
1344
+ return e;
1345
+ },
1346
+ xPlus(e, t) {
1347
+ return e + t;
1348
+ },
1349
+ leftForLtr(e, t) {
1350
+ return e;
1351
+ }
1352
+ };
1353
+ };
1354
+ function Zn(e, t, n) {
1355
+ return e ? Ft(t, n) : zt();
1356
+ }
1357
+ function eo(e, t) {
1358
+ let n, o;
1359
+ (t === "ltr" || t === "rtl") && (n = e.canvas.style, o = [
1360
+ n.getPropertyValue("direction"),
1361
+ n.getPropertyPriority("direction")
1362
+ ], n.setProperty("direction", t, "important"), e.prevTextDirection = o);
1363
+ }
1364
+ function to(e, t) {
1365
+ t !== void 0 && (delete e.prevTextDirection, e.canvas.style.setProperty("direction", t[0], t[1]));
1366
+ }
1367
+ function ke(e) {
1368
+ return e === "angle" ? {
1369
+ between: qe,
1370
+ compare: He,
1371
+ normalize: O
1372
+ } : {
1373
+ between: Ke,
1374
+ compare: (t, n) => t - n,
1375
+ normalize: (t) => t
1376
+ };
1377
+ }
1378
+ function ue({ start: e, end: t, count: n, loop: o, style: r }) {
1379
+ return {
1380
+ start: e % n,
1381
+ end: t % n,
1382
+ loop: o && (t - e + 1) % n === 0,
1383
+ style: r
1384
+ };
1385
+ }
1386
+ function Ht(e, t, n) {
1387
+ const { property: o, start: r, end: i } = n, { between: s, normalize: a } = ke(o), c = t.length;
1388
+ let { start: l, end: u, loop: h } = e, g, m;
1389
+ if (h) {
1390
+ for (l += c, u += c, g = 0, m = c; g < m && s(a(t[l % c][o]), r, i); ++g)
1391
+ l--, u--;
1392
+ l %= c, u %= c;
1393
+ }
1394
+ return u < l && (u += c), {
1395
+ start: l,
1396
+ end: u,
1397
+ loop: h,
1398
+ style: e.style
1399
+ };
1400
+ }
1401
+ function qt(e, t, n) {
1402
+ if (!n)
1403
+ return [
1404
+ e
1405
+ ];
1406
+ const { property: o, start: r, end: i } = n, s = t.length, { compare: a, between: c, normalize: l } = ke(o), { start: u, end: h, loop: g, style: m } = Ht(e, t, n), p = [];
1407
+ let d = !1, f = null, b, C, B;
1408
+ const Ce = () => c(r, B, b) && a(r, B) !== 0, Ie = () => a(i, b) === 0 || c(i, B, b), Re = () => d || Ce(), ve = () => !d || Ie();
1409
+ for (let I = u, Z = u; I <= h; ++I)
1410
+ C = t[I % s], !C.skip && (b = l(C[o]), b !== B && (d = c(b, r, i), f === null && Re() && (f = a(b, r) === 0 ? I : Z), f !== null && ve() && (p.push(ue({
1411
+ start: f,
1412
+ end: I,
1413
+ loop: g,
1414
+ count: s,
1415
+ style: m
1416
+ })), f = null), Z = I, B = b));
1417
+ return f !== null && p.push(ue({
1418
+ start: f,
1419
+ end: h,
1420
+ loop: g,
1421
+ count: s,
1422
+ style: m
1423
+ })), p;
1424
+ }
1425
+ function no(e, t) {
1426
+ const n = [], o = e.segments;
1427
+ for (let r = 0; r < o.length; r++) {
1428
+ const i = qt(o[r], e.points, t);
1429
+ i.length && n.push(...i);
1430
+ }
1431
+ return n;
1432
+ }
1433
+ function Kt(e, t, n, o) {
1434
+ let r = 0, i = t - 1;
1435
+ if (n && !o)
1436
+ for (; r < t && !e[r].skip; )
1437
+ r++;
1438
+ for (; r < t && e[r].skip; )
1439
+ r++;
1440
+ for (r %= t, n && (i += r); i > r && e[i % t].skip; )
1441
+ i--;
1442
+ return i %= t, {
1443
+ start: r,
1444
+ end: i
1445
+ };
1446
+ }
1447
+ function Gt(e, t, n, o) {
1448
+ const r = e.length, i = [];
1449
+ let s = t, a = e[t], c;
1450
+ for (c = t + 1; c <= n; ++c) {
1451
+ const l = e[c % r];
1452
+ l.skip || l.stop ? a.skip || (o = !1, i.push({
1453
+ start: t % r,
1454
+ end: (c - 1) % r,
1455
+ loop: o
1456
+ }), t = s = l.stop ? c : null) : (s = c, a.skip && (t = c)), a = l;
1457
+ }
1458
+ return s !== null && i.push({
1459
+ start: t % r,
1460
+ end: s % r,
1461
+ loop: o
1462
+ }), i;
1463
+ }
1464
+ function oo(e, t) {
1465
+ const n = e.points, o = e.options.spanGaps, r = n.length;
1466
+ if (!r)
1467
+ return [];
1468
+ const i = !!e._loop, { start: s, end: a } = Kt(n, r, i, o);
1469
+ if (o === !0)
1470
+ return fe(e, [
1471
+ {
1472
+ start: s,
1473
+ end: a,
1474
+ loop: i
1475
+ }
1476
+ ], n, t);
1477
+ const c = a < s ? a + r : a, l = !!e._fullLoop && s === 0 && a === r - 1;
1478
+ return fe(e, Gt(n, s, c, l), n, t);
1479
+ }
1480
+ function fe(e, t, n, o) {
1481
+ return !o || !o.setContext || !n ? t : Qt(e, t, n, o);
1482
+ }
1483
+ function Qt(e, t, n, o) {
1484
+ const r = e._chart.getContext(), i = de(e.options), { _datasetIndex: s, options: { spanGaps: a } } = e, c = n.length, l = [];
1485
+ let u = i, h = t[0].start, g = h;
1486
+ function m(p, d, f, b) {
1487
+ const C = a ? -1 : 1;
1488
+ if (p !== d) {
1489
+ for (p += c; n[p % c].skip; )
1490
+ p -= C;
1491
+ for (; n[d % c].skip; )
1492
+ d += C;
1493
+ p % c !== d % c && (l.push({
1494
+ start: p % c,
1495
+ end: d % c,
1496
+ loop: f,
1497
+ style: b
1498
+ }), u = b, h = d % c);
1499
+ }
1500
+ }
1501
+ for (const p of t) {
1502
+ h = a ? h : p.start;
1503
+ let d = n[h % c], f;
1504
+ for (g = h + 1; g <= p.end; g++) {
1505
+ const b = n[g % c];
1506
+ f = de(o.setContext(pt(r, {
1507
+ type: "segment",
1508
+ p0: d,
1509
+ p1: b,
1510
+ p0DataIndex: (g - 1) % c,
1511
+ p1DataIndex: g % c,
1512
+ datasetIndex: s
1513
+ }))), $t(f, u) && m(h, g - 1, p.loop, u), d = b, u = f;
1514
+ }
1515
+ h < g - 1 && m(h, g - 1, p.loop, u);
1516
+ }
1517
+ return l;
1518
+ }
1519
+ function de(e) {
1520
+ return {
1521
+ backgroundColor: e.backgroundColor,
1522
+ borderCapStyle: e.borderCapStyle,
1523
+ borderDash: e.borderDash,
1524
+ borderDashOffset: e.borderDashOffset,
1525
+ borderJoinStyle: e.borderJoinStyle,
1526
+ borderWidth: e.borderWidth,
1527
+ borderColor: e.borderColor
1528
+ };
1529
+ }
1530
+ function $t(e, t) {
1531
+ if (!t)
1532
+ return !1;
1533
+ const n = [], o = function(r, i) {
1534
+ return J(i) ? (n.includes(i) || n.push(i), n.indexOf(i)) : i;
1535
+ };
1536
+ return JSON.stringify(e, o) !== JSON.stringify(t, o);
1537
+ }
1538
+ function N(e, t, n) {
1539
+ return e.options.clip ? e[n] : t[n];
1540
+ }
1541
+ function Ut(e, t) {
1542
+ const { xScale: n, yScale: o } = e;
1543
+ return n && o ? {
1544
+ left: N(n, t, "left"),
1545
+ right: N(n, t, "right"),
1546
+ top: N(o, t, "top"),
1547
+ bottom: N(o, t, "bottom")
1548
+ } : t;
1549
+ }
1550
+ function ro(e, t) {
1551
+ const n = t._clip;
1552
+ if (n.disabled)
1553
+ return !1;
1554
+ const o = Ut(t, e.chartArea);
1555
+ return {
1556
+ left: n.left === !1 ? 0 : o.left - (n.left === !0 ? 0 : n.left),
1557
+ right: n.right === !1 ? e.width : o.right + (n.right === !0 ? 0 : n.right),
1558
+ top: n.top === !1 ? 0 : o.top - (n.top === !0 ? 0 : n.top),
1559
+ bottom: n.bottom === !1 ? e.height : o.bottom + (n.bottom === !0 ? 0 : n.bottom)
1560
+ };
1561
+ }
1562
+ export {
1563
+ jn as $,
1564
+ bn as A,
1565
+ j as B,
1566
+ ae as C,
1567
+ mn as D,
1568
+ zn as E,
1569
+ tn as F,
1570
+ $n as G,
1571
+ S as H,
1572
+ Dt as I,
1573
+ Jn as J,
1574
+ Yn as K,
1575
+ On as L,
1576
+ Bt as M,
1577
+ cn as N,
1578
+ Xt as O,
1579
+ y as P,
1580
+ en as Q,
1581
+ Kn as R,
1582
+ Y as S,
1583
+ M as T,
1584
+ hn as U,
1585
+ Rn as V,
1586
+ pn as W,
1587
+ vn as X,
1588
+ Dn as Y,
1589
+ Nn as Z,
1590
+ Sn as _,
1591
+ qn as a,
1592
+ jt as a$,
1593
+ Hn as a0,
1594
+ Pn as a1,
1595
+ wn as a2,
1596
+ nt as a3,
1597
+ F as a4,
1598
+ pe as a5,
1599
+ ot as a6,
1600
+ z as a7,
1601
+ q as a8,
1602
+ Oe as a9,
1603
+ Zn as aA,
1604
+ eo as aB,
1605
+ Tn as aC,
1606
+ to as aD,
1607
+ at as aE,
1608
+ oe as aF,
1609
+ Jt as aG,
1610
+ fn as aH,
1611
+ an as aI,
1612
+ un as aJ,
1613
+ ye as aK,
1614
+ gn as aL,
1615
+ et as aM,
1616
+ be as aN,
1617
+ yn as aP,
1618
+ _e as aQ,
1619
+ J as aR,
1620
+ $ as aS,
1621
+ E as aT,
1622
+ Be as aU,
1623
+ je as aV,
1624
+ Le as aX,
1625
+ st as aY,
1626
+ Ct as aZ,
1627
+ vt as a_,
1628
+ bt as aa,
1629
+ De as ab,
1630
+ Vt as ac,
1631
+ xn as ad,
1632
+ Un as ae,
1633
+ An as af,
1634
+ rn as ag,
1635
+ ro as ah,
1636
+ nn as ai,
1637
+ sn as aj,
1638
+ Ke as ak,
1639
+ O as al,
1640
+ Se as am,
1641
+ Gn as an,
1642
+ oo as ao,
1643
+ no as ap,
1644
+ Vn as aq,
1645
+ Xn as ar,
1646
+ R as as,
1647
+ Ln as at,
1648
+ Wn as au,
1649
+ Bn as av,
1650
+ En as aw,
1651
+ mt as ax,
1652
+ Fn as ay,
1653
+ qt as az,
1654
+ P as b,
1655
+ ht as b1,
1656
+ Ee as b2,
1657
+ H as b3,
1658
+ Fe as b4,
1659
+ w as b5,
1660
+ te as b6,
1661
+ He as b7,
1662
+ In as c,
1663
+ it as d,
1664
+ Q as e,
1665
+ Ne as f,
1666
+ ge as g,
1667
+ on as h,
1668
+ _ as i,
1669
+ pt as j,
1670
+ v as k,
1671
+ _n as l,
1672
+ Zt as m,
1673
+ Ae as n,
1674
+ Ve as o,
1675
+ qe as p,
1676
+ kn as q,
1677
+ Ge as r,
1678
+ ne as s,
1679
+ dn as t,
1680
+ Mn as u,
1681
+ T as v,
1682
+ Cn as w,
1683
+ ln as x,
1684
+ Qn as z
1685
+ };