waveform-analysis 0.1.58 → 0.1.60

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 (55) hide show
  1. package/README.md +9 -6
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +894 -817
  4. package/dist/types/components/WaveformChart.vue.d.ts +2 -0
  5. package/dist/types/components/core/layout.d.ts +9 -2
  6. package/dist/types/components/core/useWaveformChartLifecycle.d.ts +1 -2
  7. package/dist/types/components/core/waveformChartTypes.d.ts +2 -1
  8. package/dist/types/components/core/yAxisLayoutMetrics.d.ts +10 -0
  9. package/dist/types/components/data/types.d.ts +1 -1
  10. package/dist/types/components/index.d.ts +1 -1
  11. package/dist/types/components/interaction/useWaveformZoom.d.ts +2 -1
  12. package/dist/types/components/interaction/zoomEventPayload.d.ts +7 -0
  13. package/dist/types/core/rendering.d.ts +1 -1
  14. package/dist/types/core/renderingOptions.d.ts +1 -1
  15. package/dist/types/core/wasmSampling.d.ts +1 -1
  16. package/dist/types/core/workerSampling/multiresolution.d.ts +1 -1
  17. package/dist/types/core/workerSampling/protocol.d.ts +1 -1
  18. package/dist/types/core/workerSampling/repositoryDataset.d.ts +1 -1
  19. package/dist/types/core/workerSampling/repositorySupport.d.ts +1 -1
  20. package/dist/types/index.d.ts +1 -1
  21. package/dist/types/types/chart.d.ts +8 -0
  22. package/dist/types/types/index.d.ts +1 -1
  23. package/dist/types/utils/geometry.d.ts +1 -1
  24. package/dist/types/wasm/waveform_sampling_wasm.d.ts +74 -0
  25. package/dist/types/wasm/waveform_sampling_wasm_bg.wasm.d.ts +19 -0
  26. package/package.json +5 -4
  27. package/src/components/core/layout.test.ts +24 -0
  28. package/src/components/core/layout.ts +75 -13
  29. package/src/components/core/trackLayoutBuilder.ts +7 -13
  30. package/src/components/core/useWaveformChartController.ts +6 -1
  31. package/src/components/core/useWaveformChartLifecycle.ts +15 -9
  32. package/src/components/core/useWaveformLayout.ts +30 -58
  33. package/src/components/core/waveformChartTypes.ts +2 -0
  34. package/src/components/core/yAxisLayoutMetrics.ts +75 -0
  35. package/src/components/core/yAxisSlotLayout.test.ts +37 -1
  36. package/src/components/data/types.ts +1 -0
  37. package/src/components/index.ts +1 -0
  38. package/src/components/interaction/useWaveformViewport.ts +2 -0
  39. package/src/components/interaction/useWaveformZoom.ts +58 -61
  40. package/src/components/interaction/zoomEventPayload.ts +88 -0
  41. package/src/components/rendering/WaveformTrackAxes.vue +8 -4
  42. package/src/components/waveformChartCases/layoutAndDomains.test.ts +23 -24
  43. package/src/components/waveformChartCases/yAxisLayout.test.ts +103 -0
  44. package/src/components/waveformChartCases/zoomIntentAndDataRebind.test.ts +213 -0
  45. package/src/core/rendering.ts +1 -1
  46. package/src/core/renderingOptions.ts +1 -1
  47. package/src/core/workerSampling/multiresolution.ts +1 -1
  48. package/src/core/workerSampling/protocol.ts +1 -1
  49. package/src/core/workerSampling/repository.ts +1 -1
  50. package/src/core/workerSampling/repositoryDataset.ts +1 -1
  51. package/src/core/workerSampling/repositorySupport.ts +1 -1
  52. package/src/index.ts +1 -0
  53. package/src/types/chart.ts +9 -0
  54. package/src/types/index.ts +1 -0
  55. package/src/utils/geometry.ts +1 -1
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineAsyncComponent as c, defineComponent as l, getCurrentInstance as u, markRaw as d, nextTick as f, normalizeClass as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, openBlock as v, reactive as y, ref as b, renderList as x, shallowReactive as S, shallowRef as C, toDisplayString as w, toRefs as T, unref as E, vModelText as D, watch as O, watchEffect as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
2
- import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as ee, symbolCircle as te, symbolDiamond as ne, symbolSquare as re, symbolTriangle as ie, zoom as G, zoomIdentity as K, zoomTransform as q } from "d3";
3
- import { InputNumber as ae, Modal as oe, Pagination as se } from "ant-design-vue";
2
+ import { axisBottom as N, axisLeft as P, axisRight as F, bisector as I, curveStep as L, curveStepAfter as R, curveStepBefore as z, extent as B, line as V, pointer as H, scaleLinear as U, select as W, symbol as G, symbolCircle as ee, symbolDiamond as te, symbolSquare as ne, symbolTriangle as re, zoom as K, zoomIdentity as q, zoomTransform as J } from "d3";
3
+ import { InputNumber as ie, Modal as ae, Pagination as oe } from "ant-design-vue";
4
4
  //#region src/utils/waveformId.ts
5
- var ce = 0;
6
- function le(e = "waveform") {
5
+ var se = 0;
6
+ function ce(e = "waveform") {
7
7
  let t = u();
8
- return `${e}-${t ? `v${t.uid}` : `f${++ce}`}`;
8
+ return `${e}-${t ? `v${t.uid}` : `f${++se}`}`;
9
9
  }
10
10
  //#endregion
11
11
  //#region src/core/compactSamplePointSource.ts
12
- function ue(e, t, n, r) {
12
+ function le(e, t, n, r) {
13
13
  let i = 0, a = e;
14
14
  for (; i < a;) {
15
15
  let e = i + Math.floor((a - i) / 2);
@@ -17,7 +17,7 @@ function ue(e, t, n, r) {
17
17
  }
18
18
  return i;
19
19
  }
20
- function de(e, t, n, r) {
20
+ function ue(e, t, n, r) {
21
21
  let i = (e) => n + (r?.[e] ?? e) / t, a = (t) => t < 0 || t >= e.length ? void 0 : {
22
22
  x: i(t),
23
23
  y: e[t]
@@ -33,15 +33,15 @@ function de(e, t, n, r) {
33
33
  visibleRange(t) {
34
34
  let n = Math.min(t[0], t[1]), r = Math.max(t[0], t[1]);
35
35
  return {
36
- start: ue(e.length, i, n, !1),
37
- end: ue(e.length, i, r, !0)
36
+ start: le(e.length, i, n, !1),
37
+ end: le(e.length, i, r, !0)
38
38
  };
39
39
  },
40
40
  nearestPoint(t) {
41
41
  if (!Number.isFinite(t) || !e.length) return;
42
42
  if (t <= i(0)) return a(0);
43
43
  if (t >= i(e.length - 1)) return a(e.length - 1);
44
- let n = ue(e.length, i, t, !1), r = Math.max(0, n - 1);
44
+ let n = le(e.length, i, t, !1), r = Math.max(0, n - 1);
45
45
  return Math.abs(t - i(r)) < Math.abs(i(n) - t) ? a(r) : a(n);
46
46
  },
47
47
  metrics() {
@@ -68,17 +68,17 @@ function de(e, t, n, r) {
68
68
  }
69
69
  //#endregion
70
70
  //#region src/core/waveformPointSource.ts
71
- function J(e) {
71
+ function Y(e) {
72
72
  return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : void 0;
73
73
  }
74
- function fe(e, t, n) {
74
+ function de(e, t, n) {
75
75
  let r = Math.max(0, Math.min(n, Math.floor(e)));
76
76
  return {
77
77
  start: r,
78
78
  end: Math.max(r, Math.min(n, Math.floor(t)))
79
79
  };
80
80
  }
81
- function Y(e, t, n) {
81
+ function fe(e, t, n) {
82
82
  let r = 0, i = e;
83
83
  for (; r < i;) {
84
84
  let e = r + Math.floor((i - r) / 2);
@@ -99,7 +99,7 @@ function me(e, t, n) {
99
99
  for (let c = 0; c < e; c += 1) {
100
100
  let e = t(c);
101
101
  if (!e || (r = Math.min(r, e.x), i = Math.max(i, e.x), a = Math.min(a, e.y), o = Math.max(o, e.y), !n)) continue;
102
- let l = J(e.lowerError) ?? J(e.error) ?? 0, u = J(e.upperError) ?? J(e.error) ?? 0;
102
+ let l = Y(e.lowerError) ?? Y(e.error) ?? 0, u = Y(e.upperError) ?? Y(e.error) ?? 0;
103
103
  s ||= l !== 0 || u !== 0, a = Math.min(a, e.y - l), o = Math.max(o, e.y + u);
104
104
  }
105
105
  return {
@@ -123,13 +123,13 @@ var he = class {
123
123
  return this.sourcePoints[e];
124
124
  }
125
125
  pointsInRange(e = 0, t = this.length) {
126
- let n = fe(e, t, this.length);
126
+ let n = de(e, t, this.length);
127
127
  return this.sourcePoints.slice(n.start, n.end);
128
128
  }
129
129
  visibleRange(e) {
130
130
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
131
131
  return {
132
- start: Y(this.length, (e) => this.sourcePoints[e].x, t),
132
+ start: fe(this.length, (e) => this.sourcePoints[e].x, t),
133
133
  end: pe(this.length, (e) => this.sourcePoints[e].x, n)
134
134
  };
135
135
  }
@@ -138,7 +138,7 @@ var he = class {
138
138
  let t = this.sourcePoints[0], n = this.sourcePoints[this.length - 1];
139
139
  if (e <= t.x) return t;
140
140
  if (e >= n.x) return n;
141
- let r = Y(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
141
+ let r = fe(this.length, (e) => this.sourcePoints[e].x, e), i = this.sourcePoints[Math.min(r, this.length - 1)], a = this.sourcePoints[Math.max(0, r - 1)];
142
142
  return Math.abs(e - a.x) < Math.abs(i.x - e) ? a : i;
143
143
  }
144
144
  metrics(e = !1) {
@@ -165,7 +165,7 @@ var he = class {
165
165
  }
166
166
  pointAt(e) {
167
167
  if (e < 0 || e >= this.length) return;
168
- let t = J(this.error?.[e]), n = J(this.lowerError?.[e]), r = J(this.upperError?.[e]);
168
+ let t = Y(this.error?.[e]), n = Y(this.lowerError?.[e]), r = Y(this.upperError?.[e]);
169
169
  return {
170
170
  x: this.x[e],
171
171
  y: this.y[e],
@@ -175,14 +175,14 @@ var he = class {
175
175
  };
176
176
  }
177
177
  pointsInRange(e = 0, t = this.length) {
178
- let n = fe(e, t, this.length), r = [];
178
+ let n = de(e, t, this.length), r = [];
179
179
  for (let e = n.start; e < n.end; e += 1) r.push(this.pointAt(e));
180
180
  return r;
181
181
  }
182
182
  visibleRange(e) {
183
183
  let t = Math.min(e[0], e[1]), n = Math.max(e[0], e[1]);
184
184
  return {
185
- start: Y(this.length, (e) => this.x[e], t),
185
+ start: fe(this.length, (e) => this.x[e], t),
186
186
  end: pe(this.length, (e) => this.x[e], n)
187
187
  };
188
188
  }
@@ -190,7 +190,7 @@ var he = class {
190
190
  if (!Number.isFinite(e) || !this.length) return;
191
191
  if (e <= this.x[0]) return this.pointAt(0);
192
192
  if (e >= this.x[this.length - 1]) return this.pointAt(this.length - 1);
193
- let t = Y(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
193
+ let t = fe(this.length, (e) => this.x[e], e), n = Math.min(t, this.length - 1), r = Math.max(0, t - 1);
194
194
  return Math.abs(e - this.x[r]) < Math.abs(this.x[n] - e) ? this.pointAt(r) : this.pointAt(n);
195
195
  }
196
196
  metrics(e = !1) {
@@ -198,7 +198,7 @@ var he = class {
198
198
  for (let o = 0; o < this.length; o += 1) {
199
199
  let s = this.x[o], c = this.y[o];
200
200
  if (t = Math.min(t, s), n = Math.max(n, s), r = Math.min(r, c), i = Math.max(i, c), !e) continue;
201
- let l = J(this.lowerError?.[o]) ?? J(this.error?.[o]) ?? 0, u = J(this.upperError?.[o]) ?? J(this.error?.[o]) ?? 0;
201
+ let l = Y(this.lowerError?.[o]) ?? Y(this.error?.[o]) ?? 0, u = Y(this.upperError?.[o]) ?? Y(this.error?.[o]) ?? 0;
202
202
  a ||= l !== 0 || u !== 0, r = Math.min(r, c - l), i = Math.max(i, c + u);
203
203
  }
204
204
  return {
@@ -230,7 +230,7 @@ function ve(e) {
230
230
  return e.x instanceof Float64Array && t.every((t) => t === void 0 || _e(t) && t.length === e.x.length);
231
231
  }
232
232
  function ye(e) {
233
- if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return de(/* @__PURE__ */ new Float64Array(), 1, 0);
233
+ if (!_e(e.values) || !Number.isFinite(e.sampleRate) || e.sampleRate <= 0 || e.startTime !== void 0 && !Number.isFinite(e.startTime)) return ue(/* @__PURE__ */ new Float64Array(), 1, 0);
234
234
  let t = e.startTime ?? 0, n = 0;
235
235
  for (let t = 0; t < e.values.length; t += 1) n += +!!Number.isFinite(e.values[t]);
236
236
  let r = e.values instanceof Float32Array ? new Float32Array(n) : new Float64Array(n), i = n === e.values.length ? void 0 : new Uint32Array(n);
@@ -238,7 +238,7 @@ function ye(e) {
238
238
  let a = e.values[t];
239
239
  Number.isFinite(a) && (r[n] = a, i && (i[n] = t), n += 1);
240
240
  }
241
- return de(r, e.sampleRate, t, i);
241
+ return ue(r, e.sampleRate, t, i);
242
242
  }
243
243
  function be(e) {
244
244
  if (!ve(e)) return new ge(/* @__PURE__ */ new Float64Array(), /* @__PURE__ */ new Float64Array());
@@ -1529,40 +1529,35 @@ function Xn(e) {
1529
1529
  visibleSeries: [],
1530
1530
  xDomain: [0, 1],
1531
1531
  yDomain: [0, 1]
1532
- }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? K : K).rescaleX(c), u = e.yDomains?.[a.id], d = or(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains).map((e) => !e.fixed && u ? {
1533
- ...e,
1534
- domain: u
1535
- } : e), f = {
1532
+ }, o = !i && a.visibleSeries.length > 0, s = a.visibleSeries[0] ?? a.series[0] ?? null, c = e.displayMode === "independent" ? U(Yn(a, s?.id ?? a.id, e), [0, t.width]) : U(e.sharedZoomDomain, [0, t.width]), l = (e.displayMode === "independent" ? e.independentTransforms[r] ?? q : q).rescaleX(c), u = lr(a, e.overlayMode, e.fixedYDomain, e.fixedYDomains, e.yDomains), d = {
1536
1533
  left: 0,
1537
1534
  right: 0
1538
- }, p = {
1535
+ }, f = {
1539
1536
  left: 0,
1540
1537
  right: 0
1541
- }, m = d.map((n) => {
1542
- let r = f[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = Math.max(1, i - 1), o = U(n.domain, [t.plotHeight, 0]);
1543
- e.yAxisNice !== !1 && o.nice(a);
1544
- let [s, c] = o.domain(), l = Array.from({ length: i }, (e, t) => s + (c - s) * t / (i - 1)), u = e.displayMode !== "compact" || t.row === 0 ? l : l.slice(0, -1), { tickTextWidth: d } = sr(o.domain(), !1, u, n.seriesList[0]?.unit, i), m = d + 7 + 0 + 12 + 4, h = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), g = h ? (n.side === "left" ? 0 : t.width) + h.axisOffset : n.side === "left" ? -p.left : t.width + p.right, _ = d + 7 + 0 + 12 / 2, v = (h ? (n.side === "left" ? 0 : t.width) + h.labelOffset : g + (n.side === "left" ? -_ : _)) - (n.side === "right" ? 10 : 0);
1545
- return h || (p[n.side] += m), {
1538
+ }, p = u.map((n) => {
1539
+ let r = d[n.side]++, i = nr(t.plotHeight, e.yAxisSplitNumber), a = rr(n.domain, i, e.yAxisNice !== !1), o = U(a.domain, [t.plotHeight, 0]), s = a.values, c = e.displayMode !== "compact" || t.row === 0 ? s : s.slice(0, -1), { tickTextWidth: l } = ur(o.domain(), !1, c, n.seriesList[0]?.unit, i), u = l + 7 + 0 + 12 + 4, p = e.yAxisSlots?.find((e) => e.side === n.side && e.sideIndex === r), m = p ? (n.side === "left" ? 0 : t.width) + p.axisOffset : n.side === "left" ? -f.left : t.width + f.right, h = l + 7 + 0 + 12 / 2, g = (p ? (n.side === "left" ? 0 : t.width) + p.labelOffset : m + (n.side === "left" ? -h : h)) - (n.side === "right" ? 10 : 0);
1540
+ return p || (f[n.side] += u), {
1546
1541
  index: n.index,
1547
1542
  side: n.side,
1548
- x: g,
1549
- labelX: v,
1543
+ x: m,
1544
+ labelX: g,
1550
1545
  scale: o,
1551
- majorTicks: l,
1552
- minorTicks: gt(l, 2),
1553
- tickValues: u,
1546
+ majorTicks: s,
1547
+ minorTicks: gt(s, 2),
1548
+ tickValues: c,
1554
1549
  seriesList: n.seriesList
1555
1550
  };
1556
- }), h = U(a.yDomain, [t.plotHeight, 0]);
1557
- e.yAxisNice !== !1 && h.nice();
1558
- let g = m[0]?.scale ?? h, _ = l.ticks(Math.max(2, Math.floor(t.width / 100))), v = m[0]?.majorTicks ?? [], y = m[0]?.tickValues ?? [], b = l.domain(), x = {
1559
- start: At(b[0], b, e.timeUnit, "start", e.xAxisLabelFormatter),
1560
- end: At(b[1], b, e.timeUnit, "end", e.xAxisLabelFormatter)
1561
- }, S = x.start.length * 7 + 10, C = x.end.length * 7 + 10, w = _.filter((e) => {
1551
+ }), m = U(a.yDomain, [t.plotHeight, 0]);
1552
+ e.yAxisNice !== !1 && m.nice();
1553
+ let h = p[0]?.scale ?? m, g = l.ticks(Math.max(2, Math.floor(t.width / 100))), _ = p[0]?.majorTicks ?? [], v = p[0]?.tickValues ?? [], y = l.domain(), b = {
1554
+ start: At(y[0], y, e.timeUnit, "start", e.xAxisLabelFormatter),
1555
+ end: At(y[1], y, e.timeUnit, "end", e.xAxisLabelFormatter)
1556
+ }, x = b.start.length * 7 + 10, S = b.end.length * 7 + 10, C = g.filter((e) => {
1562
1557
  let n = l(e);
1563
- return n > S && n < t.width - C;
1564
- }), T = a.visibleSeries.map((n) => {
1565
- let r = m.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? g, o = In(n.points, b, t.width, e.rendering, {
1558
+ return n > x && n < t.width - S;
1559
+ }), w = a.visibleSeries.map((n) => {
1560
+ let r = p.find((e) => e.seriesList.some((e) => e.id === n.id)), a = r?.scale ?? h, o = In(n.points, y, t.width, e.rendering, {
1566
1561
  lineVisible: !i && n.lineType !== "none",
1567
1562
  linePointOverride: e.linePointOverrides?.[n.id],
1568
1563
  pointVisible: n.pointType !== "none",
@@ -1594,17 +1589,17 @@ function Xn(e) {
1594
1589
  width: t.width,
1595
1590
  height: t.plotHeight,
1596
1591
  xScale: l,
1597
- yScale: g,
1598
- yAxes: m,
1599
- xMajorTicks: _,
1600
- xMinorTicks: gt(_, 3, b),
1601
- yMajorTicks: v,
1602
- yMinorTicks: m[0]?.minorTicks ?? [],
1603
- yAxisTickValues: y,
1604
- xAxisTickValues: w,
1605
- endpointLabels: x,
1606
- path: T[0]?.path ?? null,
1607
- seriesPaths: T,
1592
+ yScale: h,
1593
+ yAxes: p,
1594
+ xMajorTicks: g,
1595
+ xMinorTicks: gt(g, 3, y),
1596
+ yMajorTicks: _,
1597
+ yMinorTicks: p[0]?.minorTicks ?? [],
1598
+ yAxisTickValues: v,
1599
+ xAxisTickValues: C,
1600
+ endpointLabels: b,
1601
+ path: w[0]?.path ?? null,
1602
+ seriesPaths: w,
1608
1603
  gridLines: e.grid.trackLines[a.id] ?? {
1609
1604
  horizontal: !0,
1610
1605
  vertical: !0
@@ -1619,7 +1614,24 @@ var Zn = 7, Qn = 7, $n = 4, er = 0, tr = 12;
1619
1614
  function nr(e, t) {
1620
1615
  return typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5;
1621
1616
  }
1622
- function rr(e) {
1617
+ function rr(e, t = 5, n = !0) {
1618
+ let r = typeof t == "number" && Number.isFinite(t) ? Math.max(2, Math.floor(t)) : 5, i = U(e, [1, 0]);
1619
+ n && i.nice(Math.max(1, r - 1));
1620
+ let a = i.domain(), [o, s] = a;
1621
+ return {
1622
+ domain: a,
1623
+ values: Array.from({ length: r }, (e, t) => o + (s - o) * t / (r - 1))
1624
+ };
1625
+ }
1626
+ function ir(e, t, n, r) {
1627
+ return Et(e, {
1628
+ axisMin: t[0],
1629
+ axisMax: t[1],
1630
+ topTickValue: Math.max(...n),
1631
+ unit: r
1632
+ });
1633
+ }
1634
+ function ar(e) {
1623
1635
  return e >= 4 ? [
1624
1636
  "left",
1625
1637
  "left",
@@ -1631,13 +1643,13 @@ function rr(e) {
1631
1643
  "right"
1632
1644
  ] : e === 2 ? ["left", "right"] : ["left"];
1633
1645
  }
1634
- var ir = /* @__PURE__ */ new WeakMap();
1635
- function ar(e, t) {
1636
- let n = ir.get(e);
1637
- n || (n = /* @__PURE__ */ new Map(), ir.set(e, n));
1646
+ var or = /* @__PURE__ */ new WeakMap();
1647
+ function sr(e, t) {
1648
+ let n = or.get(e);
1649
+ n || (n = /* @__PURE__ */ new Map(), or.set(e, n));
1638
1650
  let r = n.get(t);
1639
1651
  if (r) return r;
1640
- let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = rr(i), o = Array.from({ length: i }, (e, t) => ({
1652
+ let i = t === "multi-axis" ? Math.min(e.visibleSeries.length, 4) : Math.min(e.visibleSeries.length, 1), a = ar(i), o = Array.from({ length: i }, (e, t) => ({
1641
1653
  index: t,
1642
1654
  side: a[t],
1643
1655
  seriesList: [],
@@ -1654,9 +1666,9 @@ function ar(e, t) {
1654
1666
  }
1655
1667
  }), n.set(t, o), o;
1656
1668
  }
1657
- function or(e, t, n, r) {
1669
+ function cr(e, t, n, r) {
1658
1670
  let i = Gt(e, r);
1659
- return ar(e, t).map((e) => {
1671
+ return sr(e, t).map((e) => {
1660
1672
  if (i) return {
1661
1673
  ...e,
1662
1674
  domain: i,
@@ -1670,50 +1682,53 @@ function or(e, t, n, r) {
1670
1682
  } : e;
1671
1683
  });
1672
1684
  }
1673
- function sr(e, t = !0, n, r, i = 10) {
1674
- let a = typeof i == "number" && Number.isFinite(i) ? Math.max(2, Math.floor(i)) : 10, o = U(e, [1, 0]);
1675
- t && o.nice(a);
1676
- let [s, c] = o.domain(), l = n ?? o.ticks(a), u = Math.max(...l);
1677
- return { tickTextWidth: Math.max(1, ...l.map((e) => Et(e, {
1678
- axisMin: s,
1679
- axisMax: c,
1680
- topTickValue: u,
1681
- unit: r
1682
- }).length)) * Zn };
1683
- }
1684
- function cr(e, t, n, r, i, a = !0) {
1685
- let o = /* @__PURE__ */ new Map();
1685
+ function lr(e, t, n, r, i) {
1686
+ let a = i?.[e.id];
1687
+ return cr(e, t, n, r).map((e) => !e.fixed && a ? {
1688
+ ...e,
1689
+ domain: a
1690
+ } : e);
1691
+ }
1692
+ function ur(e, t = !0, n, r, i = 5, a = !1) {
1693
+ let o = n ? {
1694
+ domain: e,
1695
+ values: n
1696
+ } : rr(e, i, t), s = [o.values];
1697
+ return a && o.values.length > 1 && s.push(o.values.slice(0, -1)), { tickTextWidth: Math.max(1, ...s.flatMap((e) => e.map((t) => ir(t, o.domain, e, r).length))) * Zn };
1698
+ }
1699
+ function dr(e, t, n, r, i, a = !0, o = !1, s) {
1700
+ let c = /* @__PURE__ */ new Map();
1686
1701
  e.forEach((e) => {
1687
- let s = {
1702
+ let l = {
1688
1703
  left: 0,
1689
1704
  right: 0
1690
1705
  };
1691
- or(e, t, n, r).forEach((e) => {
1692
- let t = s[e.side]++, n = `${e.side}:${t}`, r = sr(e.domain, a, void 0, e.seriesList[0]?.unit, i).tickTextWidth;
1693
- o.set(n, Math.max(o.get(n) ?? Zn, r));
1706
+ lr(e, t, n, r, s).forEach((e) => {
1707
+ let t = l[e.side]++, n = `${e.side}:${t}`, r = ur(e.domain, a, void 0, e.seriesList[0]?.unit, i, o).tickTextWidth;
1708
+ c.set(n, Math.max(c.get(n) ?? Zn, r));
1694
1709
  });
1695
1710
  });
1696
- let s = [], c = {
1711
+ let l = [], u = {
1697
1712
  left: 0,
1698
1713
  right: 0
1699
1714
  };
1700
1715
  return ["left", "right"].forEach((e) => {
1701
- Array.from(o.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1702
- let n = o.get(`${e}:${t}`) ?? Zn, r = e === "left" && c.left > 0 ? -c.left : c[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
1703
- s.push({
1716
+ Array.from(c.keys()).filter((t) => t.startsWith(`${e}:`)).map((t) => Number(t.slice(e.length + 1))).sort((e, t) => e - t).forEach((t) => {
1717
+ let n = c.get(`${e}:${t}`) ?? Zn, r = e === "left" && u.left > 0 ? -u.left : u[e], i = r + (n + Qn + er + tr / 2) * (e === "left" ? -1 : 1), a = n + Qn + er + tr + $n;
1718
+ l.push({
1704
1719
  side: e,
1705
1720
  sideIndex: t,
1706
1721
  axisOffset: r,
1707
1722
  labelOffset: i,
1708
1723
  clearance: a
1709
- }), c[e] += a;
1724
+ }), u[e] += a;
1710
1725
  });
1711
1726
  }), {
1712
- slots: s,
1713
- clearance: c
1727
+ slots: l,
1728
+ clearance: u
1714
1729
  };
1715
1730
  }
1716
- function lr(e, t, n) {
1731
+ function fr(e, t, n) {
1717
1732
  let r = (e) => {
1718
1733
  let r = t < e.left ? e.left - t : t > e.left + e.width ? t - e.left - e.width : 0;
1719
1734
  return n < e.top ? e.top - n : n > e.top + e.height ? n - (e.top + e.height) : r;
@@ -1732,11 +1747,11 @@ function lr(e, t, n) {
1732
1747
  }
1733
1748
  //#endregion
1734
1749
  //#region src/components/annotation/useWaveformChartAnnotations.ts
1735
- var ur = 0;
1736
- function dr() {
1737
- return ur += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${ur}`;
1750
+ var pr = 0;
1751
+ function mr() {
1752
+ return pr += 1, typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `annotation-${Date.now()}-${pr}`;
1738
1753
  }
1739
- function fr(e) {
1754
+ function hr(e) {
1740
1755
  let { props: t, emit: n, container: r, chartSeries: i, hiddenSeriesIdSet: a, internalHiddenSeriesIds: o, annotationInteraction: s, editorSeriesOptions: c, trackLayouts: l, annotationLayoutsForTrack: u, resolveSeriesYScale: d, chartWidth: f, chartHeight: p, innerWidth: m, resolvedChartLeftMargin: h, titleAreaHeight: g, chartTopMargin: _, activeInteractionMode: v, isPresentationMode: y } = e, x = b("");
1741
1756
  function S(e) {
1742
1757
  if (!i.value.some((t) => t.id === e)) return;
@@ -1769,7 +1784,7 @@ function fr(e) {
1769
1784
  };
1770
1785
  }
1771
1786
  function T(e, t, n) {
1772
- x.value = "", s.openCreate(e, dr, t), c.value = n;
1787
+ x.value = "", s.openCreate(e, mr, t), c.value = n;
1773
1788
  let r = s.editorDraft.value, i = l.value.find((t) => t.index === e.trackIndex)?.seriesList.find((t) => t.id === e.seriesId);
1774
1789
  r?.mode === "add" && (r.annotation.style = {
1775
1790
  borderColor: i?.color || "#1677ff",
@@ -1829,7 +1844,7 @@ function fr(e) {
1829
1844
  let e = l.value[n];
1830
1845
  return e?.hasVisibleSeries ? e : void 0;
1831
1846
  }
1832
- return lr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1847
+ return fr(l.value.filter((e) => e.hasVisibleSeries), e, t);
1833
1848
  }
1834
1849
  function A(e, t) {
1835
1850
  let n = e.currentTarget;
@@ -1920,7 +1935,7 @@ function fr(e) {
1920
1935
  }
1921
1936
  //#endregion
1922
1937
  //#region src/components/interaction/useWaveformHover.ts
1923
- function pr(e) {
1938
+ function gr(e) {
1924
1939
  let { emit: t, hoverState: n, suppressHoverUntilMove: r, hoverThrottle: i, selection: a, trackLayouts: o, innerWidth: s, resolvedChartLeftMargin: c, titleAreaHeight: l, chartTopMargin: u, sharedOverlayElement: d, isPresentationMode: f, updateViewportDrag: p, resolveTrackAtPointer: m } = e, h = () => i.cancel(), g = (e) => i.schedule(e), _ = (e) => n.points.length === e.length && e.every((e, t) => {
1925
1940
  let r = n.points[t];
1926
1941
  return r?.id === e.id && r.trackIndex === e.trackIndex && r.point === e.point;
@@ -2005,14 +2020,14 @@ function pr(e) {
2005
2020
  }
2006
2021
  //#endregion
2007
2022
  //#region src/components/interaction/pointerCapture.ts
2008
- function mr(e, t) {
2023
+ function _r(e, t) {
2009
2024
  try {
2010
2025
  e?.releasePointerCapture?.(t);
2011
2026
  } catch {}
2012
2027
  }
2013
2028
  //#endregion
2014
2029
  //#region src/components/interaction/viewportInteractionState.ts
2015
- function hr(e) {
2030
+ function vr(e) {
2016
2031
  return {
2017
2032
  ...e,
2018
2033
  currentX: e.startX,
@@ -2021,37 +2036,37 @@ function hr(e) {
2021
2036
  yDomains: Object.fromEntries(Object.entries(e.yDomains).map(([e, t]) => [e, [...t]]))
2022
2037
  };
2023
2038
  }
2024
- function gr(e, t) {
2039
+ function yr(e, t) {
2025
2040
  return {
2026
2041
  ...e,
2027
2042
  ...t
2028
2043
  };
2029
2044
  }
2030
- function _r(e) {
2045
+ function br(e) {
2031
2046
  return {
2032
2047
  state: e,
2033
2048
  accepted: !1,
2034
2049
  completed: null
2035
2050
  };
2036
2051
  }
2037
- function vr(e, t) {
2052
+ function xr(e, t) {
2038
2053
  switch (t.type) {
2039
- case "begin": return e ? _r(e) : {
2040
- state: hr(t.gesture),
2054
+ case "begin": return e ? br(e) : {
2055
+ state: vr(t.gesture),
2041
2056
  accepted: !0,
2042
2057
  completed: null
2043
2058
  };
2044
- case "move": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2045
- state: gr(e, t.position),
2059
+ case "move": return !e || e.pointerId !== t.pointerId ? br(e) : {
2060
+ state: yr(e, t.position),
2046
2061
  accepted: !0,
2047
2062
  completed: null
2048
2063
  };
2049
- case "finish": return !e || e.pointerId !== t.pointerId ? _r(e) : {
2064
+ case "finish": return !e || e.pointerId !== t.pointerId ? br(e) : {
2050
2065
  state: null,
2051
2066
  accepted: !0,
2052
- completed: gr(e, t.position)
2067
+ completed: yr(e, t.position)
2053
2068
  };
2054
- case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? _r(e) : {
2069
+ case "cancel": return !e || t.pointerId !== void 0 && e.pointerId !== t.pointerId ? br(e) : {
2055
2070
  state: null,
2056
2071
  accepted: !0,
2057
2072
  completed: null
@@ -2065,15 +2080,15 @@ function vr(e, t) {
2065
2080
  }
2066
2081
  //#endregion
2067
2082
  //#region src/components/interaction/zoomConstraints.ts
2068
- var yr = /* @__PURE__ */ new WeakMap();
2069
- function br(e) {
2083
+ var Sr = /* @__PURE__ */ new WeakMap();
2084
+ function Cr(e) {
2070
2085
  return e[0] <= e[1] ? [...e] : [e[1], e[0]];
2071
2086
  }
2072
- function xr(e) {
2087
+ function wr(e) {
2073
2088
  return Number.isFinite(e) && (e ?? 0) > 0 ? Math.ceil(e) : 0;
2074
2089
  }
2075
- function Sr(e, t) {
2076
- let n = `${t[0]}\u0000${t[1]}`, r = yr.get(e)?.get(n);
2090
+ function Tr(e, t) {
2091
+ let n = `${t[0]}\u0000${t[1]}`, r = Sr.get(e)?.get(n);
2077
2092
  if (r) return r;
2078
2093
  let i = /* @__PURE__ */ new Set();
2079
2094
  for (let n of e) {
@@ -2083,14 +2098,14 @@ function Sr(e, t) {
2083
2098
  r.x >= t[0] && r.x <= t[1] && i.add(r.x);
2084
2099
  }
2085
2100
  }
2086
- let a = Array.from(i).sort((e, t) => e - t), o = yr.get(e) ?? /* @__PURE__ */ new Map();
2087
- return o.set(n, a), yr.set(e, o), a;
2101
+ let a = Array.from(i).sort((e, t) => e - t), o = Sr.get(e) ?? /* @__PURE__ */ new Map();
2102
+ return o.set(n, a), Sr.set(e, o), a;
2088
2103
  }
2089
- function Cr(e, t, n) {
2104
+ function Er(e, t, n) {
2090
2105
  if (n <= 1) return 0;
2091
2106
  let r = 0;
2092
2107
  for (let i of e) {
2093
- let e = Sr(i, t);
2108
+ let e = Tr(i, t);
2094
2109
  if (e.length < n) return t[1] - t[0];
2095
2110
  let a = Infinity;
2096
2111
  for (let t = 0; t + n <= e.length; t += 1) a = Math.min(a, e[t + n - 1] - e[t]);
@@ -2099,17 +2114,17 @@ function Cr(e, t, n) {
2099
2114
  }
2100
2115
  return r;
2101
2116
  }
2102
- function wr(e, t, n) {
2103
- let r = br(e), i = r[1] - r[0];
2117
+ function Dr(e, t, n) {
2118
+ let r = Cr(e), i = r[1] - r[0];
2104
2119
  if (!Number.isFinite(i) || i <= 0) return 0;
2105
- let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = xr(n.minVisiblePoints), s = Cr(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2120
+ let a = Number.isFinite(n.minZoomSpan) && (n.minZoomSpan ?? 0) > 0 ? Math.min(i, n.minZoomSpan) : 0, o = wr(n.minVisiblePoints), s = Er(t, r, o), c = Number(n.maxZoomScale), l = Number.isFinite(c) && c >= Rt.MIN_SCALE ? i / c : n.maxZoomScale !== null && a === 0 && o === 0 ? i / Rt.DEFAULT_MAX_SCALE : 0;
2106
2121
  return Math.max(a, s, l);
2107
2122
  }
2108
- function Tr(e, t, n, r) {
2123
+ function Or(e, t, n, r) {
2109
2124
  if (r <= 0) return e;
2110
2125
  let i = 2 ** -52 * Math.max(1, Math.abs(t[0]), Math.abs(t[1])) * 16, a = e;
2111
2126
  for (let e of n) {
2112
- let n = Sr(e, t);
2127
+ let n = Tr(e, t);
2113
2128
  if (n.length < r) return [...t];
2114
2129
  if (n.filter((e) => e >= a[0] && e <= a[1]).length >= r) continue;
2115
2130
  let o, s = Infinity, c = Infinity, l = (a[0] + a[1]) / 2;
@@ -2121,21 +2136,21 @@ function Tr(e, t, n, r) {
2121
2136
  }
2122
2137
  return a;
2123
2138
  }
2124
- function Er(e, t, n, r) {
2125
- let i = br(t), a = i[1] - i[0];
2139
+ function kr(e, t, n, r) {
2140
+ let i = Cr(t), a = i[1] - i[0];
2126
2141
  if (!Number.isFinite(a) || a <= 0 || Math.abs(e[1] - e[0]) >= a * .999999999999) return i;
2127
- let o = Tr([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, xr(r.minVisiblePoints)), s = wr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2142
+ let o = Or([Math.max(i[0], Math.min(e[0], e[1])), Math.min(i[1], Math.max(e[0], e[1]))], i, n, wr(r.minVisiblePoints)), s = Dr(i, n, r), c = Math.max(s, Math.min(a, o[1] - o[0])), l = (o[0] + o[1]) / 2, u = Math.max(i[0], Math.min(l - c / 2, i[1] - c));
2128
2143
  return [u, u + c];
2129
2144
  }
2130
- function Dr(e, t, n) {
2145
+ function Ar(e, t, n) {
2131
2146
  let r = t[1] - t[0], i = e[1] - e[0];
2132
- if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return K;
2147
+ if (!Number.isFinite(r) || !Number.isFinite(i) || r <= 0 || i <= 0) return q;
2133
2148
  let a = r / i, o = U(t, [0, n]);
2134
- return K.translate(-a * o(e[0]), 0).scale(a);
2149
+ return q.translate(-a * o(e[0]), 0).scale(a);
2135
2150
  }
2136
2151
  //#endregion
2137
2152
  //#region src/components/interaction/viewportDomain.ts
2138
- function Or(e) {
2153
+ function jr(e) {
2139
2154
  return (t, n) => {
2140
2155
  if (!(!Number.isFinite(t[0]) || !Number.isFinite(t[1]) || t[0] === t[1])) {
2141
2156
  if (e.cancelPendingZoom(), e.cancelViewportDrag(), e.props.displayMode === "independent") {
@@ -2143,26 +2158,84 @@ function Or(e) {
2143
2158
  r.forEach((n) => {
2144
2159
  let r = e.trackLayouts.value.find((e) => e.index === n);
2145
2160
  if (!r) return;
2146
- let a = e.resolveInitialTrackDomain(r), o = Er(t, a, [r.seriesList], e.props);
2147
- i[n] = Dr(o, a, r.width);
2161
+ let a = e.resolveInitialTrackDomain(r), o = kr(t, a, [r.seriesList], e.props);
2162
+ i[n] = Ar(o, a, r.width);
2148
2163
  }), e.independentTransforms.value = i;
2149
2164
  } else {
2150
- let n = e.initialXDomain.value, r = Er(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2151
- e.sharedTransform.value = Dr(r, n, e.innerWidth.value);
2165
+ let n = e.initialXDomain.value, r = kr(t, n, e.trackLayouts.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), e.props);
2166
+ e.sharedTransform.value = Ar(r, n, e.innerWidth.value);
2152
2167
  }
2153
2168
  e.clearHover(), e.editorSeriesOptions.value = [], f(e.configureZoom);
2154
2169
  }
2155
2170
  };
2156
2171
  }
2157
2172
  //#endregion
2173
+ //#region src/components/interaction/zoomEventPayload.ts
2174
+ function Mr(e) {
2175
+ return [...e].sort().join("\0");
2176
+ }
2177
+ function Nr(e, t) {
2178
+ let n = Mr(t);
2179
+ return e.find((e) => Mr(e.seriesList.map((e) => e.id)) === n);
2180
+ }
2181
+ function Pr(e, t, n, r) {
2182
+ e("zoom-intent", r ? {
2183
+ start: t[0],
2184
+ end: t[1],
2185
+ trackIndex: n.index,
2186
+ seriesIds: n.seriesList.map((e) => e.id),
2187
+ gesture: "box"
2188
+ } : {
2189
+ start: t[0],
2190
+ end: t[1],
2191
+ gesture: "box"
2192
+ });
2193
+ }
2194
+ function Fr(e, t, n) {
2195
+ for (let r of n) {
2196
+ let n = Nr(t, r);
2197
+ if (!n) continue;
2198
+ let i = n.xScale.domain(), a = n.yScale.domain();
2199
+ e("zoom-end", {
2200
+ start: i[0],
2201
+ end: i[1],
2202
+ yStart: a[0],
2203
+ yEnd: a[1],
2204
+ trackIndex: n.index,
2205
+ seriesIds: [...r],
2206
+ gesture: "wheel"
2207
+ });
2208
+ }
2209
+ }
2210
+ function Ir(e, t, n) {
2211
+ let r = n.filter((e) => e.hasVisibleSeries);
2212
+ if (r.length === 1) {
2213
+ let n = r[0]?.yScale.domain();
2214
+ e("zoom-end", {
2215
+ start: t[0],
2216
+ end: t[1],
2217
+ yStart: n?.[0],
2218
+ yEnd: n?.[1],
2219
+ gesture: "wheel"
2220
+ });
2221
+ return;
2222
+ }
2223
+ e("zoom-end", {
2224
+ start: t[0],
2225
+ end: t[1],
2226
+ yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
2227
+ gesture: "wheel"
2228
+ });
2229
+ }
2230
+ //#endregion
2158
2231
  //#region src/components/interaction/useWaveformViewport.ts
2159
- function kr(e) {
2232
+ function Lr(e) {
2160
2233
  let { props: n, emit: r, selection: i, spacePressed: a, trackLayouts: o, chartTracks: s, initialXDomain: c, innerWidth: l, innerHeight: u, sharedOverlayElement: d, sharedTransform: p, independentTransforms: m, sharedYDomains: h, independentYDomains: g, isZoomMode: _, isPresentationMode: v, editorSeriesOptions: y, resolveInitialTrackDomain: b, canZoomTrack: x, canZoomSharedTracks: S, configureZoom: w, cancelPendingZoom: T, clearHover: E, resolveTrackAtPointer: D } = e, O = C(), k = (e, t) => {
2161
2234
  let n = O.value, r = t?.currentTarget;
2162
- mr(n, e), r && r !== n && mr(r, e);
2235
+ _r(n, e), r && r !== n && _r(r, e);
2163
2236
  }, A = (e, t) => {
2164
2237
  let n = i.value;
2165
- !n || n.pointerId !== e || (k(e, t), i.value = vr(i.value, {
2238
+ !n || n.pointerId !== e || (k(e, t), i.value = xr(i.value, {
2166
2239
  type: "cancel",
2167
2240
  pointerId: e
2168
2241
  }).state, O.value = void 0);
@@ -2185,7 +2258,7 @@ function kr(e) {
2185
2258
  if (!n.zoomable && !s || !_.value || e.button !== 0) return;
2186
2259
  let c = e.currentTarget, d = o.value.find((e) => e.index === t);
2187
2260
  if (!d) return;
2188
- let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = vr(i.value, {
2261
+ let [f, p] = H(e, c), m = Math.max(0, Math.min(r ? d.width : l.value, f)), h = Math.max(0, Math.min(r ? d.height : u.value, p)), g = xr(i.value, {
2189
2262
  type: "begin",
2190
2263
  gesture: {
2191
2264
  trackIndex: t,
@@ -2207,8 +2280,8 @@ function kr(e) {
2207
2280
  let i = t.width || 1, a = t.height || 1, u = e.currentX - e.startX, d = e.currentY - e.startY, f = e.xDomain[1] - e.xDomain[0], _ = e.independent ? b(t) : c.value, v = M([e.xDomain[0] - u / i * f, e.xDomain[1] - u / i * f], _);
2208
2281
  if (e.independent) {
2209
2282
  let e = [...m.value];
2210
- e[t.index] = Dr(v, _, i), m.value = e;
2211
- } else p.value = Dr(v, _, l.value);
2283
+ e[t.index] = Ar(v, _, i), m.value = e;
2284
+ } else p.value = Ar(v, _, l.value);
2212
2285
  let y = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), x = { ...g.value }, S = { ...h.value };
2213
2286
  y.forEach((t) => {
2214
2287
  let r = s.value.find((e) => e.id === t.id);
@@ -2222,7 +2295,7 @@ function kr(e) {
2222
2295
  if (!t || !n || e.pointerId !== t.pointerId) return;
2223
2296
  let r = o.value.find((e) => e.index === t.trackIndex);
2224
2297
  if (!r) return;
2225
- let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = vr(i.value, {
2298
+ let [a, s] = H(e, n), c = Math.max(0, Math.min(t.independent ? r.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? r.height : u.value, s)), f = xr(i.value, {
2226
2299
  type: "move",
2227
2300
  pointerId: e.pointerId,
2228
2301
  position: {
@@ -2241,11 +2314,12 @@ function kr(e) {
2241
2314
  if (!t || (e.independent ? !x(t) : !S())) return;
2242
2315
  let i = e.independent ? 0 : t.left, a = Math.max(0, Math.min(t.width, Math.min(e.startX, e.currentX) - i)), s = Math.max(0, Math.min(t.width, Math.max(e.startX, e.currentX) - i));
2243
2316
  if (s - a < 6) return;
2244
- let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = Er([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2317
+ let u = e.independent ? b(t) : c.value, d = e.independent ? [t.seriesList] : o.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), h = kr([t.xScale.invert(a), t.xScale.invert(s)], u, d, n);
2245
2318
  if (e.independent) {
2246
2319
  let e = [...m.value];
2247
- e[t.index] = Dr(h, u, t.width), m.value = e;
2248
- } else p.value = Dr(h, u, l.value);
2320
+ e[t.index] = Ar(h, u, t.width), m.value = e;
2321
+ } else p.value = Ar(h, u, l.value);
2322
+ Pr(r, h, t, e.independent);
2249
2323
  let g = e.independent ? [t] : o.value.filter((e) => e.hasVisibleSeries), _ = Object.fromEntries(g.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()]));
2250
2324
  if (r("zoom-change", h), e.independent) {
2251
2325
  let e = _[t.series?.trackId ?? t.series?.id ?? t.id];
@@ -2286,7 +2360,7 @@ function kr(e) {
2286
2360
  A(t.pointerId, e);
2287
2361
  return;
2288
2362
  }
2289
- let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = vr(i.value, {
2363
+ let [a, s] = H(e, r), c = Math.max(0, Math.min(t.independent ? n.width : l.value, a)), d = Math.max(0, Math.min(t.independent ? n.height : u.value, s)), p = xr(i.value, {
2290
2364
  type: "finish",
2291
2365
  pointerId: e.pointerId,
2292
2366
  position: {
@@ -2304,10 +2378,10 @@ function kr(e) {
2304
2378
  }, V = (e) => {
2305
2379
  if (T(), R(), n.displayMode === "independent" && e !== void 0) {
2306
2380
  let t = [...m.value];
2307
- t[e] = K, m.value = t;
2381
+ t[e] = q, m.value = t;
2308
2382
  let n = { ...g.value };
2309
2383
  delete n[e], g.value = n;
2310
- } else p.value = K, m.value = s.value.map(() => K), h.value = {}, g.value = {};
2384
+ } else p.value = q, m.value = s.value.map(() => q), h.value = {}, g.value = {};
2311
2385
  E(), y.value = [], f(w);
2312
2386
  };
2313
2387
  return {
@@ -2318,7 +2392,7 @@ function kr(e) {
2318
2392
  finishViewportDrag: B,
2319
2393
  cancelViewportDrag: R,
2320
2394
  resetViewport: V,
2321
- setViewportDomain: Or({
2395
+ setViewportDomain: jr({
2322
2396
  props: n,
2323
2397
  trackLayouts: o,
2324
2398
  initialXDomain: c,
@@ -2350,7 +2424,7 @@ function kr(e) {
2350
2424
  }
2351
2425
  //#endregion
2352
2426
  //#region src/components/utils/useAnimationFrameThrottle.ts
2353
- function Ar() {
2427
+ function Rr() {
2354
2428
  let e = null, t = null;
2355
2429
  function n(n) {
2356
2430
  t = n, e === null && (e = requestAnimationFrame(() => {
@@ -2379,15 +2453,35 @@ function Ar() {
2379
2453
  }
2380
2454
  //#endregion
2381
2455
  //#region src/components/interaction/useWaveformZoom.ts
2382
- function jr(e) {
2383
- let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Ar(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Set(), D, O = () => v.schedule(j), k = (e) => {
2384
- y || m.value || (g(), b = e.transform, x = "wheel", O(), P());
2385
- }, A = (e, t) => {
2386
- y || m.value || (g(), C.set(t, e.transform), w.set(t, "wheel"), O(), P());
2456
+ function zr(e) {
2457
+ let { props: t, emit: n, svgElement: r, sharedOverlayElement: i, sharedTransform: a, independentTransforms: o, trackLayouts: s, initialXDomain: c, sharedZoomDomain: l, innerWidth: u, innerHeight: d, hasChartArea: f, isZoomMode: p, isPresentationMode: m, resolveInitialTrackDomain: h, cancelPendingHover: g } = e, _ = /* @__PURE__ */ new Map(), v = Rr(), y = !1, b = null, x = null, S = null, C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), E, D = !1, O = 0, k = () => v.schedule(M), A = (e) => {
2458
+ if (y || m.value) return;
2459
+ g(), b = e.transform, x = "wheel", I();
2460
+ let t = e.transform.rescaleX(U(c.value, [0, u.value])).domain();
2461
+ n("zoom-intent", {
2462
+ start: t[0],
2463
+ end: t[1],
2464
+ gesture: "wheel"
2465
+ }), k();
2466
+ }, j = (e, t) => {
2467
+ if (y || m.value) return;
2468
+ g(), C.set(t, e.transform), w.set(t, "wheel"), I();
2469
+ let r = s.value.find((e) => e.index === t);
2470
+ if (r) {
2471
+ let i = e.transform.rescaleX(U(h(r), [0, r.width])).domain();
2472
+ n("zoom-intent", {
2473
+ start: i[0],
2474
+ end: i[1],
2475
+ trackIndex: t,
2476
+ seriesIds: r.seriesList.map((e) => e.id),
2477
+ gesture: "wheel"
2478
+ });
2479
+ }
2480
+ k();
2387
2481
  };
2388
- function j() {
2482
+ function M() {
2389
2483
  if (m.value) {
2390
- F();
2484
+ R();
2391
2485
  return;
2392
2486
  }
2393
2487
  if (b) {
@@ -2397,173 +2491,150 @@ function jr(e) {
2397
2491
  n("zoom-change", [t[0], t[1]]);
2398
2492
  }
2399
2493
  if (!C.size) return;
2400
- let e = [...o.value], t = Array.from(C.keys());
2401
- E.clear(), t.forEach((e) => E.add(e)), t.forEach((e) => {
2402
- let t = w.get(e);
2403
- t && T.set(e, t);
2404
- }), C.forEach((t, n) => {
2494
+ let e = [...o.value], t = Array.from(C.keys()), r = new Map(w);
2495
+ C.forEach((t, n) => {
2405
2496
  e[n] = t;
2406
2497
  }), C.clear(), w.clear(), o.value = e;
2407
- let r = new Map(s.value.map((e) => [e.index, e]));
2498
+ let i = new Map(s.value.map((e) => [e.index, e]));
2408
2499
  t.forEach((e) => {
2409
- let t = r.get(e);
2500
+ let t = i.get(e);
2410
2501
  if (!t) return;
2411
- let i = t.xScale.domain();
2412
- n("zoom-change", [i[0], i[1]]);
2502
+ if (r.get(e) === "wheel") {
2503
+ let e = t.seriesList.map((e) => e.id);
2504
+ T.set(Mr(e), e);
2505
+ }
2506
+ let a = t.xScale.domain();
2507
+ n("zoom-change", [a[0], a[1]]);
2413
2508
  });
2414
2509
  }
2415
- let M = () => {
2510
+ let N = () => {
2416
2511
  if (t.displayMode === "independent") {
2417
- let e = new Map(s.value.map((e) => [e.index, e]));
2418
- E.forEach((t) => {
2419
- if (T.get(t) !== "wheel") return;
2420
- let r = e.get(t);
2421
- if (!r) return;
2422
- let i = r.xScale.domain(), a = r.yScale.domain();
2423
- n("zoom-end", {
2424
- start: i[0],
2425
- end: i[1],
2426
- yStart: a[0],
2427
- yEnd: a[1],
2428
- trackIndex: t,
2429
- seriesIds: r.seriesList.map((e) => e.id),
2430
- gesture: "wheel"
2431
- });
2432
- }), E.clear(), T.clear();
2512
+ Fr(n, s.value, T.values()), T.clear();
2433
2513
  return;
2434
2514
  }
2435
2515
  if (S !== "wheel") {
2436
2516
  S = null;
2437
2517
  return;
2438
2518
  }
2439
- let e = l.value, r = s.value.filter((e) => e.hasVisibleSeries);
2440
- if (r.length === 1) {
2441
- let t = r[0]?.yScale.domain();
2442
- n("zoom-end", {
2443
- start: e[0],
2444
- end: e[1],
2445
- yStart: t?.[0],
2446
- yEnd: t?.[1],
2447
- gesture: "wheel"
2448
- });
2449
- } else n("zoom-end", {
2450
- start: e[0],
2451
- end: e[1],
2452
- yRanges: Object.fromEntries(r.map((e) => [e.series?.trackId ?? e.series?.id ?? e.id, e.yScale.domain()])),
2453
- gesture: "wheel"
2454
- });
2455
- S = null;
2456
- }, N = () => {
2457
- v.flush(), j(), !(S === "wheel" || T.size) && M();
2519
+ Ir(n, l.value, s.value), S = null;
2520
+ }, P = () => {
2521
+ v.flush(), M(), !(S === "wheel" || T.size) && N();
2522
+ }, F = (e) => {
2523
+ e === O && P();
2458
2524
  };
2459
- function P() {
2460
- D !== void 0 && clearTimeout(D), D = setTimeout(() => {
2461
- D = void 0, v.flush(), j(), M();
2525
+ function I() {
2526
+ E !== void 0 && clearTimeout(E), E = setTimeout(() => {
2527
+ E = void 0, v.flush(), M(), N(), D = !1;
2462
2528
  }, 200);
2463
2529
  }
2464
- let F = () => {
2465
- b = null, x = null, S = null, C.clear(), w.clear(), E.clear(), T.clear(), v.cancel(), D !== void 0 && (clearTimeout(D), D = void 0);
2466
- }, I = () => {
2467
- F(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
2468
- }, L = (e, n) => {
2530
+ let L = () => {
2531
+ E !== void 0 && (v.flush(), M(), D = !0);
2532
+ }, R = () => {
2533
+ b = null, x = null, S = null, C.clear(), w.clear(), T.clear(), v.cancel(), D = !1, E !== void 0 && (clearTimeout(E), E = void 0);
2534
+ }, z = (e = !1) => {
2535
+ O += 1, e || R(), r.value?.querySelectorAll(".waveform-chart__overlay").forEach((e) => W(e).on(".zoom", null)), _.clear();
2536
+ }, B = (e, n) => {
2469
2537
  let r = Math.abs(e[1] - e[0]);
2470
2538
  if (!Number.isFinite(r) || r <= 0) return Rt.MIN_SCALE;
2471
- let i = wr(e, n, t);
2539
+ let i = Dr(e, n, t);
2472
2540
  return Math.max(Rt.MIN_SCALE, i > 0 ? r / i : Infinity);
2473
- }, R = (e, n, r, i) => Dr(Er(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), z = (e) => {
2541
+ }, V = (e, n, r, i) => Ar(kr(e.rescaleX(U(n, [0, r])).domain(), n, i, t), n, r), H = (e) => {
2474
2542
  let n = Number(t.minVisiblePoints);
2475
2543
  return kn(e.seriesList, e.xScale.domain(), Number.isFinite(n) && n > 0 ? Math.ceil(n) + 1 : n);
2476
- }, B = () => {
2544
+ }, G = () => {
2477
2545
  let e = s.value.filter((e) => e.hasVisibleSeries);
2478
- return e.length > 0 && e.every(z);
2479
- }, V = (e, t) => {
2546
+ return e.length > 0 && e.every(H);
2547
+ }, ee = (e, t) => {
2480
2548
  if (e.type !== "wheel") return !1;
2481
2549
  let n = e.deltaY;
2482
- return n < 0 ? t : n > 0 && q(e.currentTarget).k > Rt.MIN_SCALE;
2550
+ return n < 0 ? t : n > 0 && J(e.currentTarget).k > Rt.MIN_SCALE;
2483
2551
  };
2484
2552
  return {
2485
- cancelPendingZoom: F,
2486
- clearZoomBindings: I,
2487
- canZoomTrack: z,
2488
- canZoomSharedTracks: B,
2553
+ cancelPendingZoom: R,
2554
+ clearZoomBindings: z,
2555
+ canZoomTrack: H,
2556
+ canZoomSharedTracks: G,
2489
2557
  configureZoom: () => {
2490
- if (I(), m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
2558
+ z(D);
2559
+ let e = O;
2560
+ if (m.value || !t.zoomable || !p.value || !f.value || !s.value.length) return;
2491
2561
  if (t.displayMode === "independent") {
2492
- s.value.forEach((e) => {
2493
- let t = r.value?.querySelector(`[data-independent-overlay-index="${e.index}"]`);
2494
- if (!t) return;
2495
- let n = h(e), i = [e.seriesList], a = G().filter((t) => {
2496
- let n = s.value.find((t) => t.index === e.index) ?? e;
2497
- return V(t, z(n));
2498
- }).scaleExtent([1, L(n, i)]).constrain((t) => R(t, n, e.width, i)).extent([[0, 0], [e.width, e.height]]).translateExtent([[0, 0], [e.width, e.height]]).on("zoom", (t) => A(t, e.index)).on("end", N);
2499
- _.set(e.index, a), y = !0;
2562
+ s.value.forEach((t) => {
2563
+ let n = r.value?.querySelector(`[data-independent-overlay-index="${t.index}"]`);
2564
+ if (!n) return;
2565
+ let i = h(t), a = [t.seriesList], c = K().filter((e) => {
2566
+ let n = s.value.find((e) => e.index === t.index) ?? t;
2567
+ return ee(e, H(n));
2568
+ }).scaleExtent([1, B(i, a)]).constrain((e) => V(e, i, t.width, a)).extent([[0, 0], [t.width, t.height]]).translateExtent([[0, 0], [t.width, t.height]]).on("zoom", (e) => j(e, t.index)).on("end", () => F(e));
2569
+ _.set(t.index, c), y = !0;
2500
2570
  try {
2501
- W(t).call(a).on("dblclick.zoom", null).call(a.transform, o.value[e.index] ?? K);
2571
+ W(n).call(c).on("dblclick.zoom", null).call(c.transform, o.value[t.index] ?? q);
2502
2572
  } finally {
2503
2573
  y = !1;
2504
2574
  }
2505
2575
  });
2506
2576
  return;
2507
2577
  }
2508
- let e = i.value;
2509
- if (!e) return;
2510
- let n = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), l = G().filter((e) => V(e, B())).scaleExtent([1, L(c.value, n)]).constrain((e) => R(e, c.value, u.value, n)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", k).on("end", N);
2511
- _.set("shared", l), y = !0;
2578
+ let n = i.value;
2579
+ if (!n) return;
2580
+ let l = s.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), g = K().filter((e) => ee(e, G())).scaleExtent([1, B(c.value, l)]).constrain((e) => V(e, c.value, u.value, l)).extent([[0, 0], [u.value, d.value]]).translateExtent([[0, 0], [u.value, d.value]]).on("zoom", A).on("end", () => F(e));
2581
+ _.set("shared", g), y = !0;
2512
2582
  try {
2513
- W(e).call(l).on("dblclick.zoom", null).call(l.transform, a.value);
2583
+ W(n).call(g).on("dblclick.zoom", null).call(g.transform, a.value);
2514
2584
  } finally {
2515
2585
  y = !1;
2516
2586
  }
2517
- }
2587
+ },
2588
+ prepareForDataChange: L
2518
2589
  };
2519
2590
  }
2520
2591
  //#endregion
2521
2592
  //#region src/components/core/useWaveformChartLifecycle.ts
2522
- function Mr(e) {
2593
+ function Br(e) {
2523
2594
  return e instanceof Element && !!e.closest("button, input, select, textarea, [contenteditable]:not([contenteditable=\"false\"])");
2524
2595
  }
2525
- function Nr(e) {
2526
- let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: ee, clearZoomBindings: te } = e;
2527
- function ne(e) {
2528
- z.value || e.code !== "Space" || !t.pannable || !_.value || Mr(e.target) || (m.value = !0, e.preventDefault());
2596
+ function Vr(e) {
2597
+ let { props: t, emit: n, container: r, titleMeasureElement: i, resizeObserver: a, observedWidth: o, observedHeight: s, measuredTitleWidth: c, measuredTitleHeight: l, resolvedTitleText: u, titleAreaReserved: d, titleMeasureStyle: p, spacePressed: m, pointerInsideChart: _, currentPage: v, pageCount: y, pagedTracks: b, gridOptions: x, chartSeries: S, chartTracks: C, trackLayouts: w, innerWidth: T, innerHeight: E, sharedZoomDomain: D, initialXDomain: k, sharedTransform: A, activeInteractionMode: j, hiddenSeriesIdSet: M, internalHiddenSeriesIds: N, independentTransforms: P, independentYDomains: F, resolveInitialTrackDomain: I, annotationInteraction: L, editorSeriesOptions: R, isPresentationMode: z, clearHover: B, cancelAnnotation: V, configureZoom: H, resetViewport: U, cancelViewportDrag: W, cancelPendingHover: G, clearZoomBindings: ee } = e;
2598
+ function te(e) {
2599
+ z.value || e.code !== "Space" || !t.pannable || !_.value || Br(e.target) || (m.value = !0, e.preventDefault());
2529
2600
  }
2530
- function re(e) {
2601
+ function ne(e) {
2531
2602
  e.code === "Space" && (m.value = !1);
2532
2603
  }
2533
- function ie(e) {
2604
+ function re(e) {
2534
2605
  let r = Math.min(y.value, Math.max(1, Math.floor(e)));
2535
- r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => K), F.value = {}), f(H), n("page-change", r, y.value));
2606
+ r !== v.value && (v.value = r, B(), L.closeContextMenu(), V(), t.displayMode === "independent" && (P.value = b.value.map(() => q), F.value = {}), f(H), n("page-change", r, y.value));
2536
2607
  }
2537
- let G, q;
2538
- function ae() {
2608
+ let K, J;
2609
+ function ie() {
2539
2610
  if (t.displayMode === "independent") {
2540
- G = void 0, q = w.value.map((e) => {
2611
+ K = void 0, J = new Map(w.value.flatMap((e) => {
2541
2612
  let t = e.xScale.domain(), n = I(e);
2542
- return t[1] - t[0] < n[1] - n[0] - 1e-12 ? t : void 0;
2543
- });
2613
+ return t[1] - t[0] < n[1] - n[0] - 1e-12 ? [[Mr(e.seriesList.map((e) => e.id)), t]] : [];
2614
+ }));
2544
2615
  return;
2545
2616
  }
2546
- q = void 0;
2617
+ J = void 0;
2547
2618
  let e = D.value, n = k.value;
2548
- G = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
2619
+ K = e[1] - e[0] < n[1] - n[0] - 1e-12 ? [...e] : void 0;
2549
2620
  }
2550
- function oe() {
2621
+ function ae() {
2551
2622
  if (t.displayMode === "independent") {
2552
2623
  let e = P.value;
2553
- P.value = C.value.map((t, n) => e[n] ?? K);
2624
+ P.value = C.value.map((t, n) => e[n] ?? q);
2554
2625
  }
2555
2626
  B(), R.value = [], f(() => {
2556
- if (t.displayMode === "independent" && q) {
2557
- let e = C.value.map(() => K);
2627
+ if (t.displayMode === "independent" && J) {
2628
+ let e = C.value.map(() => q);
2558
2629
  w.value.forEach((n) => {
2559
- let r = q?.[n.index];
2630
+ let r = J?.get(Mr(n.seriesList.map((e) => e.id)));
2560
2631
  if (!r) return;
2561
- let i = I(n), a = Er(r, i, [n.seriesList], t);
2562
- e[n.index] = Dr(a, i, n.width);
2563
- }), P.value = e, q = void 0;
2564
- } else if (t.displayMode !== "independent" && G) {
2565
- let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = Er(G, e, n, t);
2566
- A.value = Dr(r, e, T.value), G = void 0;
2632
+ let i = I(n), a = kr(r, i, [n.seriesList], t);
2633
+ e[n.index] = Ar(a, i, n.width);
2634
+ }), P.value = e, J = void 0;
2635
+ } else if (t.displayMode !== "independent" && K) {
2636
+ let e = k.value, n = w.value.filter((e) => e.hasVisibleSeries).map((e) => e.seriesList), r = kr(K, e, n, t);
2637
+ A.value = Ar(r, e, T.value), K = void 0;
2567
2638
  }
2568
2639
  H();
2569
2640
  });
@@ -2602,7 +2673,7 @@ function Nr(e) {
2602
2673
  }), O(j, () => {
2603
2674
  R.value = [];
2604
2675
  }), O(z, (e) => {
2605
- m.value = !1, e && (W(), te(), B(), L.closeContextMenu(), V());
2676
+ m.value = !1, e && (W(), ee(), B(), L.closeContextMenu(), V());
2606
2677
  }), O(() => S.value.map((e) => e.id).join("\0"), () => {
2607
2678
  if (t.hiddenSeriesIds !== void 0) return;
2608
2679
  let e = new Set(S.value.map((e) => e.id)), n = new Set(Array.from(N.value).filter((t) => e.has(t)));
@@ -2621,7 +2692,7 @@ function Nr(e) {
2621
2692
  let n = L.editorDraft.value;
2622
2693
  n?.mode === "edit" && !e.some((e) => e.id === n.annotation.id) && L.closeEditor();
2623
2694
  }, { deep: !0 });
2624
- function se() {
2695
+ function oe() {
2625
2696
  if (!d.value || !i.value) {
2626
2697
  c.value = 0, l.value = 0;
2627
2698
  return;
@@ -2634,22 +2705,22 @@ function Nr(e) {
2634
2705
  d,
2635
2706
  p
2636
2707
  ], async () => {
2637
- c.value = 0, l.value = 0, await f(), se();
2708
+ c.value = 0, l.value = 0, await f(), oe();
2638
2709
  }, { immediate: !0 }), g(() => {
2639
- window.addEventListener("keydown", ne), window.addEventListener("keyup", re), r.value && (a.value = new ResizeObserver(([e]) => {
2640
- o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(se);
2710
+ window.addEventListener("keydown", te), window.addEventListener("keyup", ne), r.value && (a.value = new ResizeObserver(([e]) => {
2711
+ o.value = Math.max(0, e?.contentRect.width ?? 0), s.value = Math.max(0, e?.contentRect.height ?? 0), f(oe);
2641
2712
  }), a.value.observe(r.value));
2642
2713
  }), h(() => {
2643
- window.removeEventListener("keydown", ne), window.removeEventListener("keyup", re), ee(), a.value?.disconnect(), te(), R.value = [];
2714
+ window.removeEventListener("keydown", te), window.removeEventListener("keyup", ne), G(), a.value?.disconnect(), ee(), R.value = [];
2644
2715
  }), {
2645
- goToPage: ie,
2646
- handleBeforeDataReferenceChange: ae,
2647
- handleDataReferenceChange: oe
2716
+ goToPage: re,
2717
+ handleBeforeDataReferenceChange: ie,
2718
+ handleDataReferenceChange: ae
2648
2719
  };
2649
2720
  }
2650
2721
  //#endregion
2651
2722
  //#region src/components/core/useWaveformData.ts
2652
- function Pr(e) {
2723
+ function Hr(e) {
2653
2724
  return ln(e).map(({ source: e, ...t }) => {
2654
2725
  let n = e.metrics(t.errorBar.visible);
2655
2726
  return {
@@ -2662,45 +2733,45 @@ function Pr(e) {
2662
2733
  };
2663
2734
  });
2664
2735
  }
2665
- function Fr(e, t, n) {
2666
- let r = C(Pr(e()));
2736
+ function Ur(e, t, n) {
2737
+ let r = C(Hr(e()));
2667
2738
  return O(e, (e) => {
2668
- t(), r.value = Pr(e), n();
2739
+ t(), r.value = Hr(e), n();
2669
2740
  }), r;
2670
2741
  }
2671
2742
  //#endregion
2672
2743
  //#region wasm/pkg/waveform_sampling_wasm.js
2673
- function Ir(e, t) {
2674
- let n = Xr(e, $.__wbindgen_malloc), r = ni, i = Xr(t, $.__wbindgen_malloc), a = ni, o = $.calculate_range(n, r, i, a);
2675
- if (o[3]) throw Zr(o[2]);
2676
- var s = Vr(o[0], o[1]).slice();
2744
+ function Wr(e, t) {
2745
+ let n = ii(e, $.__wbindgen_malloc), r = ui, i = ii(t, $.__wbindgen_malloc), a = ui, o = $.calculate_range(n, r, i, a);
2746
+ if (o[3]) throw ai(o[2]);
2747
+ var s = Yr(o[0], o[1]).slice();
2677
2748
  return $.__wbindgen_free(o[0], o[1] * 8, 8), s;
2678
2749
  }
2679
- function Lr(e, t, n, r) {
2680
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.find_visible_range(i, a, o, s, n, r);
2681
- if (c[3]) throw Zr(c[2]);
2682
- var l = Hr(c[0], c[1]).slice();
2750
+ function Gr(e, t, n, r) {
2751
+ let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.find_visible_range(i, a, o, s, n, r);
2752
+ if (c[3]) throw ai(c[2]);
2753
+ var l = Xr(c[0], c[1]).slice();
2683
2754
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2684
2755
  }
2685
- function Rr(e, t, n, r) {
2686
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_aggregates(i, a, o, s, n, r);
2687
- if (c[3]) throw Zr(c[2]);
2688
- var l = Vr(c[0], c[1]).slice();
2756
+ function Kr(e, t, n, r) {
2757
+ let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_aggregates(i, a, o, s, n, r);
2758
+ if (c[3]) throw ai(c[2]);
2759
+ var l = Yr(c[0], c[1]).slice();
2689
2760
  return $.__wbindgen_free(c[0], c[1] * 8, 8), l;
2690
2761
  }
2691
- function zr(e, t, n, r) {
2692
- let i = Xr(e, $.__wbindgen_malloc), a = ni, o = Xr(t, $.__wbindgen_malloc), s = ni, c = $.sample_indexes(i, a, o, s, n, r);
2693
- if (c[3]) throw Zr(c[2]);
2694
- var l = Hr(c[0], c[1]).slice();
2762
+ function qr(e, t, n, r) {
2763
+ let i = ii(e, $.__wbindgen_malloc), a = ui, o = ii(t, $.__wbindgen_malloc), s = ui, c = $.sample_indexes(i, a, o, s, n, r);
2764
+ if (c[3]) throw ai(c[2]);
2765
+ var l = Xr(c[0], c[1]).slice();
2695
2766
  return $.__wbindgen_free(c[0], c[1] * 4, 4), l;
2696
2767
  }
2697
- function Br() {
2768
+ function Jr() {
2698
2769
  return {
2699
2770
  __proto__: null,
2700
2771
  "./waveform_sampling_wasm_bg.js": {
2701
2772
  __proto__: null,
2702
2773
  __wbindgen_cast_0000000000000001: function(e, t) {
2703
- return Gr(e, t);
2774
+ return $r(e, t);
2704
2775
  },
2705
2776
  __wbindgen_init_externref_table: function() {
2706
2777
  let e = $.__wbindgen_externrefs, t = e.grow(4);
@@ -2709,52 +2780,52 @@ function Br() {
2709
2780
  }
2710
2781
  };
2711
2782
  }
2712
- function Vr(e, t) {
2713
- return e >>>= 0, Wr().subarray(e / 8, e / 8 + t);
2783
+ function Yr(e, t) {
2784
+ return e >>>= 0, Qr().subarray(e / 8, e / 8 + t);
2714
2785
  }
2715
- function Hr(e, t) {
2716
- return e >>>= 0, qr().subarray(e / 4, e / 4 + t);
2786
+ function Xr(e, t) {
2787
+ return e >>>= 0, ti().subarray(e / 4, e / 4 + t);
2717
2788
  }
2718
- var Ur = null;
2719
- function Wr() {
2720
- return (Ur === null || Ur.byteLength === 0) && (Ur = new Float64Array($.memory.buffer)), Ur;
2789
+ var Zr = null;
2790
+ function Qr() {
2791
+ return (Zr === null || Zr.byteLength === 0) && (Zr = new Float64Array($.memory.buffer)), Zr;
2721
2792
  }
2722
- function Gr(e, t) {
2723
- return e >>>= 0, ti(e, t);
2793
+ function $r(e, t) {
2794
+ return e >>>= 0, li(e, t);
2724
2795
  }
2725
- var Kr = null;
2726
- function qr() {
2727
- return (Kr === null || Kr.byteLength === 0) && (Kr = new Uint32Array($.memory.buffer)), Kr;
2796
+ var ei = null;
2797
+ function ti() {
2798
+ return (ei === null || ei.byteLength === 0) && (ei = new Uint32Array($.memory.buffer)), ei;
2728
2799
  }
2729
- var Jr = null;
2730
- function Yr() {
2731
- return (Jr === null || Jr.byteLength === 0) && (Jr = new Uint8Array($.memory.buffer)), Jr;
2800
+ var ni = null;
2801
+ function ri() {
2802
+ return (ni === null || ni.byteLength === 0) && (ni = new Uint8Array($.memory.buffer)), ni;
2732
2803
  }
2733
- function Xr(e, t) {
2804
+ function ii(e, t) {
2734
2805
  let n = t(e.length * 8, 8) >>> 0;
2735
- return Wr().set(e, n / 8), ni = e.length, n;
2806
+ return Qr().set(e, n / 8), ui = e.length, n;
2736
2807
  }
2737
- function Zr(e) {
2808
+ function ai(e) {
2738
2809
  let t = $.__wbindgen_externrefs.get(e);
2739
2810
  return $.__externref_table_dealloc(e), t;
2740
2811
  }
2741
- var Qr = new TextDecoder("utf-8", {
2812
+ var oi = new TextDecoder("utf-8", {
2742
2813
  ignoreBOM: !0,
2743
2814
  fatal: !0
2744
2815
  });
2745
- Qr.decode();
2746
- var $r = 2146435072, ei = 0;
2747
- function ti(e, t) {
2748
- return ei += t, ei >= $r && (Qr = new TextDecoder("utf-8", {
2816
+ oi.decode();
2817
+ var si = 2146435072, ci = 0;
2818
+ function li(e, t) {
2819
+ return ci += t, ci >= si && (oi = new TextDecoder("utf-8", {
2749
2820
  ignoreBOM: !0,
2750
2821
  fatal: !0
2751
- }), Qr.decode(), ei = t), Qr.decode(Yr().subarray(e, e + t));
2822
+ }), oi.decode(), ci = t), oi.decode(ri().subarray(e, e + t));
2752
2823
  }
2753
- var ni = 0, $;
2754
- function ri(e, t) {
2755
- return $ = e.exports, Ur = null, Kr = null, Jr = null, $.__wbindgen_start(), $;
2824
+ var ui = 0, $;
2825
+ function di(e, t) {
2826
+ return $ = e.exports, Zr = null, ei = null, ni = null, $.__wbindgen_start(), $;
2756
2827
  }
2757
- async function ii(e, t) {
2828
+ async function fi(e, t) {
2758
2829
  if (typeof Response == "function" && e instanceof Response) {
2759
2830
  if (typeof WebAssembly.instantiateStreaming == "function") try {
2760
2831
  return await WebAssembly.instantiateStreaming(e, t);
@@ -2780,17 +2851,17 @@ async function ii(e, t) {
2780
2851
  return !1;
2781
2852
  }
2782
2853
  }
2783
- async function ai(e) {
2854
+ async function pi(e) {
2784
2855
  if ($ !== void 0) return $;
2785
2856
  e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL("data:application/wasm;base64,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kkA7AAAgAkEEayECIAVB/6ziBEsNAAsLIABBCUsEQCACQQJrIgIgBkEGamogACAAQf//A3FB5ABuIgBB5ABsa0H//wNxQQF0LwDSkkA7AAALQQAgBCAAG0UEQCACQQFrIgIgBkEGamogAEEBdC0A05JAOgAACwJ/IAZBBmogAmohB0EAIQRBK0GAgMQAIAEoAggiA0GAgIABcSIAGyEIIANBgICABHFFRSEKAkBBCiACayILIABBFXZqIgAgAS8BDCIFSQRAAkACQCADQYCAgAhxRQRAIAUgAGshBUEAIQACQAJAAkAgA0EddkEDcUEBaw4DAAEAAgsgBSEADAELIAVB/v8DcUEBdiEACyADQf///wBxIQkgASgCBCEDIAEoAgAhAQNAIARB//8DcSAAQf//A3FPDQJBASECIARBAWohBCABIAkgAygCEBEBAEUNAAsMBAsgASABKQIIIgynQYCAgP95cUGwgICAAnI2AghBASECIAEoAgAiAyABKAIEIgkgCCAKECwNAyAFIABrQf//A3EhAANAIARB//8DcSAATw0CIARBAWohBCADQTAgCSgCEBEBAEUNAAsMAwtBASECIAEgAyAIIAoQLA0CIAEgByALIAMoAgwRAgANAkEAIQQgBSAAa0H//wNxIQADQCAEQf//A3EiBSAASSECIAAgBU0NAyAEQQFqIQQgASAJIAMoAhARAQBFDQALDAILIAMgByALIAkoAgwRAgANASABIAw3AghBAAwCC0EBIQIgASgCACIAIAEoAgQiASAIIAoQLA0AIAAgByALIAEoAgwRAgAhAgsgAgsgBkEQaiQAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQHSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALzwIBCH9BAEHo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gIACcSABQYCABElyDQBBgIAEIQYgAEGAgARxIAFBgIAISXINAEGAgAghBiAAQYCACHEgAUGAgBBJcg0AQYCAECEGIABBgIAQcSABQYCAIElyDQBBgIAgIQYgAEGAgCBxIAFBgIDAAElyDQBBgIDAACEGIABBgIDAAHEgAUGAgIABSXINAEGAgIABIQYgAEGAgIABcSABQYCAgAJJcg0AQYCAgAIhBiAAQYCAgAJxIAFBgICABElyDQBBgICABCEGIABBgICABHEgAUGAgIAISXINAEGAgIAIIQYgAEGAgIAIcSABQYCAgBBJcg0AQYCAgBAhBiAAQYCAgBBxIAFBgICAIElyDQBBgICAICEGIABBgICAIHEgAUGAgIDAAElyDQBBgICAwAAhBiAAQYCAgMAAcSABQYCAgIABSXINAEGAgICAASEGIABBgICAgAFxIAFBgICAgAJJcg0AQYCAgIACIQYgAEGAgICAAnEgAUGAgICABElyDQBBgICAgAQhBiAAQYCAgIAEcSABQQBOcg0AEEoACyAAIQEgACEDAkAgBmgiCEUNAAJAIAggC0kEQCAQIAhBGGxqIgEoAgBBgICAgHhHDQEMDAsgCCALQbyJwAAQJgALIAAgCHYiAyABKAIIIghJBEAgASgCFCIIIANLBEAgA0ECdCIIIAEoAhBqKAIAIQMgASgCBCAIaigCACEBDAILIAMgCEHcicAAECYACyADIAhBzInAABAmAAsgASAMTw0BIAcgDE8NAiAHIAEgDyABQQN0aisDACInIA8gB0EDdGorAwAiKGNFIAEgB08gJyAoYnJxGyEHIAMgDE8NAyAEIAxPDQQgBCADIA8gA0EDdGorAwAiJyAPIARBA3RqKwMAIihkRSADIARPICcgKGJycRshBCAAIAZqIgAgI0kNAAsCQAJAAkACQAJAIBZBAWsOBgMAAAECBAALQZyKwABBKEHEisAAED4ACyAFKAIUIgAEQCAFKAIQIABBAnRqQQRrKAIAIAdGDQkLIAUoAgwgAEYEQCAFQQxqECcLIAUoAhAgAEECdGogBzYCACAFIABBAWo2AhQMCAsgBSgCFCIABEAgBSgCECAAQQJ0akEEaygCACAERg0ICyAFKAIMIABGBEAgBUEMahAnCyAFKAIQIABBAnRqIAQ2AgAgBSAAQQFqNgIUDAcLIAUgBDYC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IQ4gAyEKIwBB8ABrIgckAAJ/AkAgBL0iEEL///////////8Ag0KAgICAgICA+P8AWg0AIAW9IhFC////////////AIMiD1AgEUIAUyIIIA9CAX1C/////////wdUcXIgD0KAgICAgICA+P8AUXIgD0KAgICAgICA+P8AVXIgD0KAgICAgICACH1CgICAgICAgPD/AFQgCHFyDQAgAUEDdCELQQAhCAJAA0AgCCALRg0BIAAgCGogCEEIaiEIKQMAQv///////////wCDQv/////////3/wBYDQALQcmIwABBLBA/rSEQIAdBGGohCUGAgICAeAwCCwJAIApFDQAgASAKRgRAIAFBAWohCSACIQgDQCAJQQFrIglBAkkNAiAIKAIAIQsgCyAIQQRqIggoAgBNDQALC0GciMAAQS0QP60hECAHQRhqIQlBgICAgHgMAgsCQCABRQRAQQghCwwBCyABQQN0IghBCBBLIgsEQCAIRQ0BIAsgACAI/AoAAAwBC0EIIAgQPQALAkACQCAKRQRAQYCAgIB4IQoMAQsgCkECdCIJQQQQSyIIRQ0BIAkEQCAIIAIgCfwKAAALIAitIAqtQiCGhCEPC0QAAAAAAADwPyAFoyEEIAdBADYCGCAHQRBqIQlBAAwCC0EEIAkQPQALQfWIwABBNhA/rSEQIAdBGGohCUGAgICAeAshCCAJIAg2AgACfyAHKAIYIghBgICAgHhGBEBBASEJIBCnDAELIAcgBygCEDYCaCAHQQQ2AmQgByAINgJgIAdBADYCXCAHQoCAgIDAADcCVCAHIAE2AlAgByALNgJMIAcgATYCSCAHIA83A0AgByAKNgI8IAdBgICAgHg2AjAgByAGNgIsIAdBADYCKCAHIAQ5AyAgByAQNwMYIAdBCGogB0EYahAXIAcoAgghCSAHKAIMCyEGIA4gCTYCACAOIAY2AgQgB0HwAGokACANKAIMIQogDSgCCCEGIAMEQCACIANBAnRBBBBHCyABBEAgACABQQN0QQgQRwsgDCAGQQFxIgA2AgggDCAKQQAgABs2AgQgDEEAIAogABs2AgAgDUEQaiQAIAwoAgAgDCgCBCAMKAIIIAxBEGokAAuBIAMmfwV8AX4jAEEQayIPJAAjAEFAaiIKJAAgCiAENgIoIAogAzYCJCAKIAI2AiAgCiABNgIcIAogADYCGCAKIApBKGo2AjwgCiAKQSRqNgI4IAogCkEgajYCNCAKIApBHGo2AjAgCiAKQRhqNgIsIApBDGohHyAKQSxqIQAjAEEQayITJAACQAJAQQBB6IzAACgCABEFACIQRQ0AIBAoAgBFBEAgEEF/NgIAIB8CfgJAIAAoAgAoAgAiASAQKAIMSQRAIBAoAgggAUHYAGxqIgcoAkhBgICAgHhHDQELQfyNwABBHBA/IQAgECAQKAIAQQFqNgIAIBMgADYCCEGAgICAeCEAIBMpAggMAQsgE0EEaiEYIAAoAgQoAgAhAiAAKAIIKAIAIQMgACgCDCgCACEeIAAoAhAoAgAhAEEAIQEjAEEwayIIJAACQAJAAkACQAJAIB5BA2sOBQABAQEAAQtBASAAIABBAU0bIgQgBygCOCIAIAIgACACSRsiGSAAIAMgACADSRsiACAAIBlJGyIgIBlrIhogBCAaSRsiIUEAIAAgAksbIh1BBHQhAgJAAkAgHUEBdCIGQf////8BSyACQfj///8HS3INAAJAIAJFBEBBCCEAQQAhBgwBC0EIIQkgAkEIEEsiAEUNAQsgCEEANgIIIAggADYCBCAIIAY2AgAgHQRAIAdByABqIREDQCAaIBxsICFuIgAgGWoiBSAcQQFqIhwgGmwgIW4iAiAZaiIiTw0DAkAgAiAAa2ciAEEfRg0AIABBH3MhG0EBIQsDQAJAIAcoAlAgC0sEQCAHKAJMIAtBJGxqKAIAQYCAgIB4Rw0BCyAHKAIUQX8CfyAHKAI4IgAgC3YgAEF/IAt0QX9zcUEAR2oiDa1CFH4iMEIgiFAEQCAwpwwBC0F/CyAHKAIQIgJqIgAgACACSRtJDQYgByAANgIQQQAhBgJAAkAgDUH/////AE0EQCANRQRAQQghAUEEIRRBCCEVDAMLQQghBiANQQN0IgBBCBBMIgENASAAIQELIAYgARA9AAsgAEEIEEwiFQRAIA1BAnQiAEEEEEwiFARAIA1BAXQhJCAHKAJMIAtBAWsiAkEkbGohDCAHKAI4IQ4gBygCNCElIAcoAighIyAHKAIsIRYgBysDCCEsIAcrAwAhLSAHKAIkISYgBygCHCEnIAcoAiAhF0EEIQBBACEGIAIgBygCUEkhKCAHKAIYQYCAgIB4RiEpQQAhCSAUIQMDQAJAIAZBAWohBAJAAnwCQAJAAkACQAJAAkACQCAoRQ0AIAwoAgBBgICAgHhGDQAgBiAMKAIIIgJPDQEgACABakEEayAMKAIEIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIUIgJPDQMgACAVakEEayAMKAIQIAlqIhIrAwAgAiAESwR8IBJBCGorAwAFRAAAAAAAAAAAC6A5AwAgBiAMKAIgIgJPDQQgDCgCHCAAaiISQQRrKAIAISogAyACIARLBH8gEigCAAVBAAsgKmo2AgAMCAsCQAJAAkAgKUUEQCAGIBdJDQEgBiAXQfiLwAAQJgALAkAgLSAsICZBgICAgHhGIhIEfyAGBSAGIBZPDQEgACAjakEEaygCAAu4oqAhKyAEIA5JDQJEAAAAAAAAAAAMCgsgBiAWQYiMwAAQJgALIAkgJ2oiAisDACErIAQgDkkNAUQAAAAAAAAAAAwICyAEIQIgEkUNBQwGCyAEIBdPDQEgAkEIaisDAAwGCyAGIAJBrIfAABAmAAsgBkEBaiAXQfiLwAAQJgALIAYgAkG8h8AAECYACyAGIAJBzIfAABAmAAsgBCAWSQRAIAAgI2ooAgAhAgwBCyAGQQFqIBZBiIzAABAmAAsgLSAsIAK4oqALIS4gACABakEEayArIC6gOQMAIAYgDk8NASAJICVqIgIrAwAhLkQAAAAAAAAAACErIAQgDkkiBARAIAJBCGorAwAhKwsgA0ECQQEgBBs2AgAgACAVakEEayAuICugOQMACyAJQRBqIQkgAEEIaiEAIANBBGohAyAGQQJqIgYgJEcNAQwECwsgBiAOQZyHwAAQJgALQQQgABA9AAtBCCAAED0ACyALIAcoAlAiBk8EQAJAIAtBAWoiBiARKAIIIgNNBEAgESAGNgIIIAMgBkYNASADIAZrIQkgESgCBCAGQSRsaiECA0ACQCACKAIAIgBBgICAgHhGDQAgAARAIAJBBGooAgAgAEEDdEEIEEcLIAJBDGooAgAiAARAIAJBEGooAgAgAEEDdEEIEEcLIAJBGGooAgAiAEUNACACQRxqKAIAIABBAnRBBBBHCyACQSRqIQIgCUEBayIJDQALDAELIAYgAyIAayIMIBEoAgAgAGtLBEAgESAAIAxBBEEkEBogESgCCCEACyARKAIEIQ4gDEEDcSIJBEAgACAJaiAGIANrIAlrIQwgDiAAQSRsaiECA0AgAkGAgICAeDYCACACQSRqIQIgCUEBayIJDQALIQALIAMgBmtBfE0EQCAOIABBJGxqIQIDQCACQYCAgIB4NgIAIAJB7ABqQYCAgIB4NgIAIAJByABqQYCAgIB4NgIAIAJBJGpBgICAgHg2AgAgAkGQAWohAiAAQQRqIQAgDEEEayIMDQALCyARIAA2AggLIAcoAlAhBgsgBiALTQ0JAkAgBygCTCALQSRsaiIAKAIAIgJBgICAgHhGDQAgAgRAIAAoAgQgAkEDdEEIEEcLIAAoAgwiAgRAIAAoAhAgAkEDdEEIEEcLIAAoAhgiAkUNACAAKAIcIAJBAnRBBBBHCyAAIA02AiAgACAUNgIcIAAgDTYCGCAAIA02AhQgACAVNgIQIAAgDTYCDCAAIA02AgggACABNgIEIAAgDTYCAAsgCyAbTw0BIAsgCyAbSWoiCyAbTQ0ACwsgBygCNCEMIAcoAjghFCAHKwMIIS4gBysDACEvIAcoAighDiAHKAIsIQYgBygCHCEVIAcoAiAhCyAHKAJMIRYgBygCUCENQQAhCUQAAAAAAAAAACEsIAcoAhhBgICAgHhGIRcgBygCJEGAgICAeEYhG0QAAAAAAAAAACErA0BBASEAAkAgBUEBcSAiIAVrIgJBAklyDQBBAiEAIAVBAnEgAkEESXINAEEEIQAgBUEEcSACQQhJcg0AQQghACAFQQhxIAJBEElyDQBBECEAIAVBEHEgAkEgSXINAEEgIQAgBUEgcSACQcAASXINAEHAACEAIAVBwABxIAJBgAFJcg0AQYABIQAgBUGAAXEgAkGAAklyDQBBgAIhACAFQYACcSACQYAESXINAEGABCEAIAVBgARxIAJBgAhJcg0AQYAIIQAgBUGACHEgAkGAEElyDQBBgBAhACAFQYAQcSACQYAgSXINAEGAICEAIAVBgCBxIAJBgMAASXINAEGAwAAhACAFQYDAAHEgAkGAgAFJcg0AQYCAASEAIAVBgIABcSACQYCAAklyDQBBgIACIQAgBUGAgAJxIAJBgIAESXINAEGAgAQhACAFQYCABHEgAkGAgAhJcg0AQYCACCEAIAVBgIAIcSACQYCAEElyDQBBgIAQIQAgBUGAgBBxIAJBgIAgSXINAEGAgCAhACAFQYCAIHEgAkGAgMAASXINAEGAgMAAIQAgBUGAgMAAcSACQYCAgAFJcg0AQYCAgAEhACAFQYCAgAFxIAJBgICAAklyDQBBgICAAiEAIAVBgICAAnEgAkGAgIAESXINAEGAgIAEIQAgBUGAgIAEcSACQYCAgAhJcg0AQYCAgAghACAFQYCAgAhxIAJBgICAEElyDQBBgICAECEAIAVBgICAEHEgAkGAgIAgSXINAEGAgIAgIQAgBUGAgIAgcSACQYCAgMAASXINAEGAgIDAACEAIAVBgICAwABxIAJBgICAgAFJcg0AQYCAgIABIQAgBUGAgICAAXEgAkGAgICAAklyDQBBgICAgAIhACAFQYCAgIACcSACQYCAgIAESXINAEGAgICABCEAIAVBgICAgARxIAJBAE5yDQAQSgALAkACQAJAAkACQCAAaCICRQRAAnwgF0UEQCAFIAtPDQQgFSAFQQN0aisDAAwBCyAvIC4gGwR/IAUFIAUgBk8NAyAOIAVBAnRqKAIAC7iioAshLSAFIBRPDQMgCUEBaiEJIAwgBUEDdGohAwwFCyACIA1PBEAgAiANQaiMwAAQJgALIBYgAkEkbGoiBCgCAEGAgICAeEcNAwwJCyAFIAZBiIzAABAmAAsgBSALQfiLwAAQJgALIAUgFEGYjMAAECYACwJAIAUgAnYiAiAEKAIIIgNJBEAgAiAEKAIUIgNPDQEgBCgCICIDIAJLBEAgAkEDdCIDIAQoAgRqKwMAIS0gBCgCECADaiEDIAQoAhwgAkECdGooAgAgCWohCQwDCyACIANB2IzAABAmAAsgAiADQbiMwAAQJgALIAIgA0HIjMAAECYACyAsIC2gISwgKyADKwMAoCErIAAgBWoiBSAiSQ0ACyAsIAm4IiyjIS0gCCgCCCIAIAgoAgBGBEAgCBAiCyAIKAIEIABBA3RqIC05AwAgCCAAQQFqIgI2AgggCCgCACACRgRAIAgQIgsgCCgCBCACQQN0aiArICyjICsgHkEDRhs5AwAgCCAAQQJqNgIIIBwgHUcNAAsLIBggCCgCCDYCCCAYIAgpAgA3AgAMAwsgCSACED0ACyAIIAc2AgwgCCAZNgIQIAggIDYCFEEAIQAgGkEAIBogIE0bIgFBGGwhAgJAIAFB1arVKksNAEEIIQYgAgRAQQghACACQQgQSyIGRQ0BIAEhAAsgCEEANgIgIAggBjYCHCAIIAA2AhggCEEANgIoIAggCEEgajYCJCAIIAY2AiwgCEEMaiAIQSRqEBMgCCgCGCEAIBggCCgCHCIBIAgoAiAgHSAeEAcgAARAIAEgAEEYbEEIEEcLIAgoAgAiAEUNAiAIKAIEIABBA3RBCBBHDAILIAAgAhA9AAtB+4rAAEEpED8hACAYQYCAgIB4NgIAIBggADYCBAsgCEEwaiQADAELIAsgBkGMh8AAECYACyAQIBAoAgBBAWo2AgAgEygCBCIAQYGAgIB4Rg0CIBMpAggLNwIEIB8gADYCACATQRBqJAAMAgtBuI7AABA3AAsQNgALAkACQAJ/IAooAgwiAUGAgICAeEYEQEEBIQBBACEBQQAhAyAKKAIQDAELIAooAhAhAAJAIAooAhQiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQBBAAshAiAPIAA2AgwgDyACNgIIIA8gAzYCBCAPIAE2AgAgCkFAayQADAELQQggABA9AAsgDygCACAPKAIEIA8oAgggDygCDCAPQRBqJAALugYCC38MfCMAQRBrIgYkACMAQRBrIggkACAIQQRqIQkjAEEQayIKJAAgCkEEaiAAIAEgAiADEAsgCigCCCEHAkACQAJAIAooAgQiDUGAgICAeEYEQCAJQYCAgIB4NgIAIAkgBzYCBAwBCyAJAn8gCigCDCIFRQRAQQghBEEADAELIAcrAwghDyAHKwMAIRACQCAFQQFGBEAgDyERIBAhEgwBCyAHQRhqIQQCfyAFQRhsIgxBMGsiDkEYbiIFQQNxQQNGBEAgECESIA8hESAHDAELQQAgBUEBakEDcWshCyAQIRIgDyERA0AgBCIFQRhqIQQgBUEIaisDACETIBIgBSsDACIUEDshEiAQIBQQPCEQIBEgExA7IREgDyATEDwhDyALQQFqIgsNAAsgBEEYawshBSAOQcgASQ0AIAcgDGohDANAIARByABqIgsrAwAhEyAEQTBqKwMAIRQgBEEYaisDACEVIARB0ABqKwMAIRYgBEE4aisDACEXIARBIGorAwAhGCAEKwMAIRkgESAFKwMgIhoQOyAYEDsgFxA7IBYQOyERIA8gGhA8IBgQPCAXEDwgFhA8IQ8gEiAZEDsgFRA7IBQQOyATEDshEiAQIBkQPCAVEDwgFBA8IBMQPCEQIAshBSAEQeAAaiIEIAxHDQALC0EgQQgQSyIERQ0CIAQgETkDGCAEIA85AxAgBCASOQMIIAQgEDkDAEEECyIFNgIIIAkgBDYCBCAJIAU2AgAgDUUNACAHIA1BGGxBCBBHCyAKQRBqJAAMAQtBCEEgEE4ACyADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLAkACQAJ/IAgoAgQiAUGAgICAeEYEQEEBIQJBACEBQQAhAyAIKAIIDAELIAgoAgghAAJAIAgoAgwiAyABTwRAIAAhAQwBCyABQQN0IQIgA0UEQEEIIQEgACACQQgQRwwBCyAAIAJBCCADQQN0IgAQRCIBRQ0CC0EAIQJBAAshACAGIAI2AgwgBiAANgIIIAYgAzYCBCAGIAE2AgAgCEEQaiQADAELQQggABA9AAsgBigCACAGKAIEIAYoAgggBigCDCAGQRBqJAALswEBAn8jAEEQayIAJAAgASgCAEHkkcAAQQsgASgCBCgCDBECACEDIABBCGoiAkEAOgAFIAIgAzoABCACIAE2AgAgAiIBLQAEIQIgAS0ABQRAIAECf0EBIAJBAXENABogASgCACIBLQAKQYABcUUEQCABKAIAQaWSwABBAiABKAIEKAIMEQIADAELIAEoAgBBpJLAAEEBIAEoAgQoAgwRAgALIgI6AAQLIAJBAXEgAEEQaiQAC78GAwp/An4DfCMAQRBrIgskACMAQRBrIgwkACAMQQhqIQ4gACEIIwBB8ABrIgUkAAJAAkACQAJ/IAEgA0cEQEHXi8AAQSEQP60hD0GAgICAeCENIAVBGGoMAQsCfyABRQRAQYCAgIB4IQpBCCEGQQAMAQsgAUEDdCEJIAghByACIQYCQAJAAkADQAJAIAcpAwBC////////////AINC//////////f/AFYNACAGKQMAQv///////////wCDQv/////////3/wBWDQAgB0EIaiEHIAZBCGohBiAKQQFqIgogAUcNAQwCCwsgASAKSw0BCyABQQFGDQEgCCABQQFrIgdBA3RqKwMAIAgrAwChIAe4oyERDAELQaSLwABBMxA/rSEPQYCAgIB4IQ0gBUEYagwCC0EAIQdBACEGAn8DQEGAgICAeCAHIAlGDQEaIAcgCGogBrghEiAHQQhqIQcgBkEBaiEGKwMAIhMgESASoiAIKwMAoCISoZkgE5kgEpkQO0QAAAAAAADwPxA7RAAAAAAAACA9omUNAAsgCUEIEEsiB0UNAyAJBEAgByAIIAn8CgAACyAHrSABrUIghoQhECABCyEKIAlBCBBLIgZFDQMgCQRAIAYgAiAJ/AoAAAsgCCkDACEPIAELIQggBUEANgIYIAVBEGoLIA02AgACfyAFKAIYIgdBgICAgHhGBEBBASEGIA+nDAELIAUgBSgCEDYCaCAFQQQ2AmQgBSAHNgJgIAVBADYCXCAFQoCAgIDAADcCVCAFIAE2AlAgBSAGNgJMIAUgCDYCSCAFQYCAgIB4NgI8IAUgEDcCNCAFIAo2AjAgBSAENgIsIAVBADYCKCAFIBE5AyAgBSAPNwMYIAVBCGogBUEYahAXIAUoAgghBiAFKAIMCyEEIA4gBjYCACAOIAQ2AgQgBUHwAGokAAwCC0EIIAkQPQALQQggCRA9AAsgDCgCDCEIIAwoAgghBCADBEAgAiADQQN0QQgQRwsgAQRAIAAgAUEDdEEIEEcLIAsgBEEBcSIANgIIIAsgCEEAIAAbNgIEIAtBACAIIAAbNgIAIAxBEGokACALKAIAIAsoAgQgCygCCCALQRBqJAALLwEBfyMAQRBrIgAkACAAIABBD2qtQoCAgIDAAIQ3AwBBz4HAACAAQciOwAAQKQALLAEBfyMAQRBrIgEkACABIAFBD2qtQoCAgIDQAoQ3AwBBmILAACABIAAQKQALGQEBfyAAQQQQSyIBRQRAQQQgABBOAAsgAQscAQF/IAAoAgAiAUEASgRAIAAoAgQgAUEBEEcLCxkBAX8gACgCACIBBEAgACgCBCABQQEQRwsLFAAgASABIAAgACABYxsgACAAYhsLFAAgACAAIAEgACABYxsgASABYhsLHQAgAARAIAAgARBOAAtBgJLAAEEjQZSSwAAQKQALEQAgACABQQF0QQFyIAIQKQAL/gICA38BbyAAIAEQASEFAn8jAEEQayIDJAACQEH4lcAAKAIARQRAQfiVwABBfzYCAEGIlsAAKAIAIgFBhJbAACgCACIARgRAAn8gASABQfyVwAAoAgAiAEcNABrQb0GAASABIAFBgAFNGyIC/A8BIgBBf0YNAwJAQYyWwAAoAgAiBEUEQEGMlsAAIAA2AgAMAQsgASAEaiAARw0ECyABQfyVwAAoAgAiACABayACTw0AGiADQQRqIABBgJbAACgCACABIAJqIgBBBEEEEBwgAygCBEEBRg0DQYCWwAAgAygCCDYCAEH8lcAAIAA2AgBBhJbAACgCAAsiAiAATw0CQYCWwAAoAgAgAkECdGogAUEBajYCAEGElsAAIAJBAWoiADYCAAsgACABTQ0BQYiWwABBgJbAACgCACABQQJ0aigCADYCAEH4lcAAQfiVwAAoAgBBAWo2AgBBjJbAACgCACADQRBqJAAgAWoMAgtBxI/AABA3CwALIgAgBSYBIAALDwAgAQRAIAAgASACEEcLCxwAIABBzJDAACkCADcCCCAAQcSQwAApAgA3AgALHAAgAEG8kMAAKQIANwIIIABBtJDAACkCADcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQIAC+cGAQV/An8CQAJAAkACQAJAAkACQCAAQQRrIgcoAgAiCEF4cSIEQQRBCCAIQQNxIgUbIAFqTwRAIAVBACABQSdqIgYgBEkbDQECQCACQQlPBEAgAiADEBAiAg0BQQAMCgtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBCGshBiAFRQRAIAZFIAFBgAJJciAEIAFrQYCACEsgASAET3JyDQcgAAwKCyAEIAZqIQUCQCABIARLBEAgBUHgmcAAKAIARg0BQdyZwAAoAgAgBUcEQCAFKAIEIghBAnENCSAIQXhxIgggBGoiBCABSQ0JIAUgCBARIAQgAWsiBUEQTwRAIAcgASAHKAIAQQFxckECcjYCACABIAZqIgEgBUEDcjYCBCAEIAZqIgQgBCgCBEEBcjYCBCABIAUQDAwJCyAHIAQgBygCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCAtB1JnAACgCACAEaiIEIAFJDQgCQCAEIAFrIgVBD00EQCAHIAhBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEFQQAhAQwBCyAHIAEgCEEBcXJBAnI2AgAgASAGaiIBIAVBAXI2AgQgBCAGaiIEIAU2AgAgBCAEKAIEQX5xNgIEC0HcmcAAIAE2AgBB1JnAACAFNgIADAcLIAQgAWsiBEEPTQ0GIAcgASAIQQFxckECcjYCACABIAZqIgEgBEEDcjYCBCAFIAUoAgRBAXI2AgQgASAEEAwMBgtB2JnAACgCACAEaiIEIAFLDQQMBgsgAyABIAEgA0sbIgMEQCACIAAgA/wKAAALIAcoAgAiA0F4cSIHIAFBBEEIIANBA3EiAxtqSQ0CIANFIAYgB09yDQZBlJHAAEEuQcSRwAAQPgALQdSQwABBLkGEkcAAED4AC0GUkcAAQS5BxJHAABA+AAtB1JDAAEEuQYSRwAAQPgALIAcgASAIQQFxckECcjYCACABIAZqIgUgBCABayIBQQFyNgIEQdiZwAAgATYCAEHgmcAAIAU2AgALIAZFDQAgAAwDCyADEAIiAUUNASADQXxBeCAHKAIAIgJBA3EbIAJBeHFqIgIgAiADSxsiAgRAIAEgACAC/AoAAAsgASECCyAAEAgLIAILCxMAIABB1JHAADYCBCAAIAE2AgALEAAgASAAKAIAIAAoAgQQQwtfAQF/AkACQCAAQQRrKAIAIgJBeHEiA0EEQQggAkEDcSICGyABak8EQCACQQAgAyABQSdqSxsNASAAEAgMAgtB1JDAAEEuQYSRwAAQPgALQZSRwABBLkHEkcAAED4ACwsPACAAQeSPwAAgASACEAoLDgBBp5LAAEErIAAQPgALEgBBmpTAAEHzAEGsicAAECkACxkAAn8gAUEJTwRAIAEgABAQDAELIAAQAgsLPgACQAJ/IAFBCU8EQCABIAAQEAwBCyAAEAILIgFFDQAgAUEEay0AAEEDcUUgAEVyDQAgAUEAIAD8CwALIAELDAAgACABKQIANwMACz0BAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqIgAoAgAgACgCBEGglsAAKAIAIgBBAyAAGxEAAAALDQAgAUHQlcAAQRgQCQsNACABQbCVwABBIBAJCwwAQfiZwABBAToAAAsJACAAQQA2AgALBwBB6JXAAAsLhBYDAEGAgMAAC+gVFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwAAScmFuZ2Ugc3RhcnQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAQcmFuZ2UgZW5kIGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAASGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb246IMAAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3NoYXJlZC9zbWFsbHNvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnMAL3J1c3RjLzU5ODA3NjE2ZTFmYTI1NDA3MjRiZmJhYzE0ZDc5NzZkN2U0YTM4NjAvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBzcmMvbGliLnJzAAAAAA4DEAAKAAAA0gAAABkAAAAOAxAACgAAANoAAAAaAAAADgMQAAoAAADaAAAAPQAAAA4DEAAKAAAAyQAAAB0AAAAOAxAACgAAAKoAAAAQAAAADgMQAAoAAACqAAAAIgAAAA4DEAAKAAAArQAAACIAAAAOAxAACgAAABcCAAAcAAAADgMQAAoAAAALAgAAJgAAAA4DEAAKAAAA8gEAACoAAAAOAxAACgAAAPgBAAAqAAAADgMQAAoAAAD+AQAAMgAAAA4DEAAKAAAAkgEAAA8AAAAOAxAACgAAAJIBAAAsAAAADgMQAAoAAACNAQAADwAAAA4DEAAKAAAAjQEAACwAAABzb3VyY2UgaW5kZXhlcyBtdXN0IGJlIGVtcHR5IG9yIG5vbmRlY3JlYXNpbmdzYW1wbGUgdmFsdWVzIG11c3QgYmUgZmluaXRlIGFuZCBhZGRyZXNzYWJsZXNhbXBsZSBtZXRhZGF0YSBtdXN0IGJlIGZpbml0ZSBhbmQgc2FtcGxlUmF0ZSBwb3NpdGl2ZQAOAxAACgAAABYBAAAkAAAADgMQAAoAAAAuAgAAMAAAAA4DEAAKAAAALwIAAB8AAAAOAxAACgAAAC8CAAA1AAAADgMQAAoAAADWAQAAIAAAAA4DEAAKAAAAsQEAAC0AAAAOAxAACgAAALIBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQ4DEAAKAAAAmgIAABYAAABzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gc291cmNlIGluZGV4ZXNzdHJhdGVneSBkb2VzIG5vdCByZXR1cm4gYWdncmVnYXRlIHZhbHVlc3JlZ2lzdGVyZWQgZGF0YXNldHMgbXVzdCBjb250YWluIGZpbml0ZSBjb29yZGluYXRlc3ggYW5kIHkgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aA4DEAAKAAAAdgEAABIAAAAOAxAACgAAAHMBAAA8AAAADgMQAAoAAABMAgAAHAAAAA4DEAAKAAAATwIAACwAAAAOAxAACgAAAFACAAAdAAAADgMQAAoAAABRAgAAHQAAAA4DEAAKAAAAUgIAACUAAAABAAAADgMQAAoAAACUAAAAEgAAAA4DEAAKAAAAggAAABAAAAAOAxAACgAAAIIAAAAiAAAADgMQAAoAAACFAAAAIgAAAA4DEAAKAAAAAQEAAB0AAAAOAxAACgAAABwDAAAlAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAALQMAAA4AAAAOAxAACgAAACYDAAAnAAAAZGF0YXNldCBoYW5kbGUgd2FzIG5vdCBmb3VuZA4DEAAKAAAAPwMAACUAAAAOAxAACgAAAAoDAAAlAAAADgMQAAoAAABRAwAAJQAAANoBEABPAAAA3wEAABkAAABtaWQgPiBsZW4AAAB6ARAAXwAAAE0AAAAfAAAAegEQAF8AAABHAAAAFwAAAA4DEAAKAAAAfwEAABoAAAAOAxAACgAAAPMAAAAWAAAADgMQAAoAAABJAAAAQwAAAA4DEAAKAAAASQAAAEMAAAAqAhAAZwAAAHwAAAARAAAAKgIQAGcAAACJAAAAEQAAAAUAAAAMAAAABAAAAAYAAAAHAAAACAAAAAAAAAAIAAAABAAAAAkAAAAKAAAACwAAAAwAAAANAAAAEAAAAAQAAAAOAAAADwAAABAAAAARAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADjAhAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA4wIQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABIAAABBY2Nlc3NFcnJvcgAFAAAADAAAAAQAAAATAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACSAhAAUAAAABwAAAAFAAAAfSB9Y2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5YXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZiB6ZXJvdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgAaARAAXwAAAFwDAAAFAAAAUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQfCVwAALAQgAQYCWwAALAQQAfAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuOTUuMCAoNTk4MDc2MTZlIDIwMjYtMDQtMTQpBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuEzAuMi4xMTggKDc1M2JiN2ZmNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl", "" + import.meta.url));
2786
- let t = Br();
2857
+ let t = Jr();
2787
2858
  (typeof e == "string" || typeof Request == "function" && e instanceof Request || typeof URL == "function" && e instanceof URL) && (e = fetch(e));
2788
- let { instance: n, module: r } = await ii(await e, t);
2789
- return ri(n, r);
2859
+ let { instance: n, module: r } = await fi(await e, t);
2860
+ return di(n, r);
2790
2861
  }
2791
2862
  //#endregion
2792
2863
  //#region src/core/wasmSampling.ts
2793
- var oi = {
2864
+ var mi = {
2794
2865
  none: 0,
2795
2866
  peak: 1,
2796
2867
  lttb: 2,
@@ -2799,24 +2870,24 @@ var oi = {
2799
2870
  max: 5,
2800
2871
  minmax: 6,
2801
2872
  sum: 7
2802
- }, si;
2803
- function ci(e, t) {
2873
+ }, hi;
2874
+ function gi(e, t) {
2804
2875
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
2805
2876
  }
2806
- function li(e) {
2877
+ function _i(e) {
2807
2878
  if (e.x.length !== e.y.length) throw Error("x and y must have the same length");
2808
2879
  }
2809
- function ui(e) {
2810
- return si ??= Promise.resolve(ai(e)).then(() => void 0), si;
2880
+ function vi(e) {
2881
+ return hi ??= Promise.resolve(pi(e)).then(() => void 0), hi;
2811
2882
  }
2812
- async function di(e) {
2813
- li(e), await ui();
2814
- let t = ci(e.targetPointCount, e.x.length), n = oi[e.strategy];
2883
+ async function yi(e) {
2884
+ _i(e), await vi();
2885
+ let t = gi(e.targetPointCount, e.x.length), n = mi[e.strategy];
2815
2886
  if (e.strategy !== "average" && e.strategy !== "sum") return {
2816
2887
  kind: "source-indexes",
2817
- sourceIndexes: zr(e.x, e.y, n, t)
2888
+ sourceIndexes: qr(e.x, e.y, n, t)
2818
2889
  };
2819
- let r = Rr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2890
+ let r = Kr(e.x, e.y, n, t), i = new Float64Array(r.length / 2), a = new Float64Array(r.length / 2);
2820
2891
  for (let e = 0; e < i.length; e += 1) i[e] = r[e * 2], a[e] = r[e * 2 + 1];
2821
2892
  return {
2822
2893
  kind: "aggregates",
@@ -2824,34 +2895,50 @@ async function di(e) {
2824
2895
  y: a
2825
2896
  };
2826
2897
  }
2827
- async function fi(e, t) {
2898
+ async function bi(e, t) {
2828
2899
  if (e.length !== t.length) throw Error("x and y must have the same length");
2829
- await ui();
2830
- let n = Ir(e, t);
2900
+ await vi();
2901
+ let n = Wr(e, t);
2831
2902
  return n.length === 4 ? {
2832
2903
  x: [n[0], n[1]],
2833
2904
  y: [n[2], n[3]]
2834
2905
  } : void 0;
2835
2906
  }
2836
- async function pi(e, t, n) {
2907
+ async function xi(e, t, n) {
2837
2908
  if (e.length !== t.length) throw Error("x and y must have the same length");
2838
- await ui();
2839
- let r = Lr(e, t, n[0], n[1]);
2909
+ await vi();
2910
+ let r = Gr(e, t, n[0], n[1]);
2840
2911
  return [r[0], r[1]];
2841
2912
  }
2842
2913
  //#endregion
2843
2914
  //#region src/components/core/trackPagination.ts
2844
- var mi = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, hi = (e, t, n, r, i) => {
2915
+ var Si = (e, t) => t ? e.filter((e) => e.series.length > 0) : e, Ci = (e, t, n, r, i) => {
2845
2916
  let a = t?.[i];
2846
2917
  if (a !== void 0) return a;
2847
2918
  if (e !== void 0) return n === 1 ? e : typeof e == "number" ? e + r : `${e}-${r + 1}`;
2848
- }, gi = (e, t, n) => (r) => {
2919
+ }, wi = (e, t, n) => (r) => {
2849
2920
  let i = n(), a = i.findIndex((e) => e.id === r);
2850
- return hi(e(), t(), i.length, a >= 0 ? a : 0, r);
2921
+ return Ci(e(), t(), i.length, a >= 0 ? a : 0, r);
2851
2922
  };
2852
2923
  //#endregion
2924
+ //#region src/components/core/yAxisLayoutMetrics.ts
2925
+ function Ti(e, t, n, r) {
2926
+ return e === "independent" ? Object.fromEntries(t.flatMap((e, t) => {
2927
+ let n = r[t];
2928
+ return n ? [[e.id, n]] : [];
2929
+ })) : n;
2930
+ }
2931
+ function Ei(e, t, n, r, i, a, o, s) {
2932
+ let c = e.filter((e) => e.visibleSeries.length > 0).flatMap((e) => lr(e, t, n, r, i)).map((e) => ur(e.domain, a, void 0, e.seriesList[0]?.unit, o, s).tickTextWidth), l = Math.max(7, ...c), u = l + 7 + 4, d = -(7 + l + 0 + 12 / 2);
2933
+ return {
2934
+ tickClearance: u,
2935
+ fullClearance: l + 7 + 0 + 12 + 4,
2936
+ labelCenterX: d
2937
+ };
2938
+ }
2939
+ //#endregion
2853
2940
  //#region src/components/core/useWaveformLayout.ts
2854
- function _i(e) {
2941
+ function Di(e) {
2855
2942
  let { props: n, preparedSeries: r, currentPage: i, hiddenSeriesIdSet: a, chartWidth: o, innerHeight: s, isCleanView: c, sharedTransform: l, independentTransforms: u, sharedYDomains: d, independentYDomains: f, annotationInteraction: p, linePointOverrides: m } = e, h = t(() => r.value.map((e, t) => ({
2856
2943
  ...e,
2857
2944
  color: e.color ?? (t === 0 ? n.lineColor : Vt[t % Vt.length])
@@ -2874,67 +2961,57 @@ function _i(e) {
2874
2961
  yDomain: o.length ? ht(o) : [0, 1]
2875
2962
  };
2876
2963
  });
2877
- }), v = t(() => Tn(n.rendering)), y = t(() => mi(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
2964
+ }), v = t(() => Tn(n.rendering)), y = t(() => Si(_.value, g.value.hideEmptyTracks)), b = t(() => Vn(y.value.length, g.value)), x = t(() => Hn(y.value, i.value, g.value)), S = t(() => {
2878
2965
  let e = x.value.filter((e) => e.series.length > 0);
2879
2966
  return g.value.fillIncompleteLastRow && e.length > 0 ? e : x.value;
2880
- }), C = t(() => {
2881
- let e = _.value.filter((e) => e.visibleSeries.length > 0).flatMap((e) => or(e, n.overlayMode, n.yDomain, n.yDomains)).map((e) => sr(e.domain, n.axes?.y?.nice !== !1, void 0, e.seriesList[0]?.unit, n.axes?.y?.splitNumber).tickTextWidth), t = Math.max(7, ...e), r = t + 7 + 4, i = -(7 + t + 0 + 12 / 2);
2967
+ }), C = t(() => nr(s.value, n.axes?.y?.splitNumber)), w = t(() => Ti(n.displayMode, _.value, d.value, f.value)), T = t(() => Ei(_.value, n.overlayMode, n.yDomain, n.yDomains, w.value, n.axes?.y?.nice !== !1, C.value, n.displayMode === "compact")), E = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), D = t(() => _.value.some((e) => e.visibleSeries.length > 0)), O = t(() => Math.max(Lt.left, E.value ? T.value.fullClearance : D.value ? T.value.tickClearance : 0)), k = t(() => dr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, C.value, n.axes?.y?.nice !== !1, n.displayMode === "compact", w.value)), A = t(() => n.overlayMode === "multi-axis" ? Math.max(O.value, k.value.clearance.left) : O.value), j = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, k.value.clearance.right) : Lt.right), M = t(() => Math.max(0, o.value - A.value - j.value)), N = t(() => {
2968
+ let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, T.value.fullClearance), a = Math.max(e, T.value.tickClearance), o = (M.value - i * Math.max(0, t - 1)) / t >= 120;
2882
2969
  return {
2883
- tickClearance: r,
2884
- fullClearance: t + 7 + 0 + 12 + 4,
2885
- labelCenterX: i
2970
+ horizontalGap: n.overlayMode === "multi-axis" && r && D.value ? Math.max(e, k.value.clearance.left + k.value.clearance.right) : r && D.value ? E.value && o ? i : a : e,
2971
+ hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && E.value && !o
2886
2972
  };
2887
- }), w = t(() => _.value.some((e) => e.visibleSeries.length === 1 && !!(e.visibleSeries[0]?.name.trim() || n.yLabel))), T = t(() => _.value.some((e) => e.visibleSeries.length > 0)), E = t(() => Math.max(Lt.left, w.value ? C.value.fullClearance : T.value ? C.value.tickClearance : 0)), D = t(() => cr(S.value.filter((e) => e.visibleSeries.length > 0), n.overlayMode, n.yDomain, n.yDomains, n.axes?.y?.splitNumber, n.axes?.y?.nice !== !1)), O = t(() => n.overlayMode === "multi-axis" ? Math.max(E.value, D.value.clearance.left) : E.value), k = t(() => n.overlayMode === "multi-axis" ? Math.max(Lt.right, D.value.clearance.right) : Lt.right), A = t(() => Math.max(0, o.value - O.value - k.value)), j = t(() => {
2888
- let e = Un(n.displayMode), t = g.value.columnCount, r = t > 1, i = Math.max(e, C.value.fullClearance), a = Math.max(e, C.value.tickClearance), o = (A.value - i * Math.max(0, t - 1)) / t >= 120;
2889
- return {
2890
- horizontalGap: n.overlayMode === "multi-axis" && r && T.value ? Math.max(e, D.value.clearance.left + D.value.clearance.right) : r && T.value ? w.value && o ? i : a : e,
2891
- hideSecondaryLabels: n.overlayMode !== "multi-axis" && r && w.value && !o
2892
- };
2893
- }), M = t(() => h.value.length > 0), N = t(() => A.value > 0 && s.value > 0), P = t(() => n.xLabel ?? `时间(${n.timeUnit})`), F = t(() => n.interactionMode), I = t(() => F.value !== "annotation"), L = t(() => {
2973
+ }), P = t(() => h.value.length > 0), F = t(() => M.value > 0 && s.value > 0), I = t(() => n.xLabel ?? `时间(${n.timeUnit})`), L = t(() => n.interactionMode), R = t(() => L.value !== "annotation"), z = t(() => {
2894
2974
  let e = [];
2895
2975
  return _.value.forEach((t) => {
2896
2976
  t.visibleSeries.length && e.push(t.xDomain[0], t.xDomain[1]);
2897
2977
  }), ht(e);
2898
- }), R = t(() => {
2978
+ }), B = t(() => {
2899
2979
  let e = n.initialXDomain;
2900
- return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(L.value, n.xDomainStrategy);
2901
- }), z = (e) => {
2980
+ return e && Number.isFinite(e[0]) && Number.isFinite(e[1]) && e[0] !== e[1] ? Jn(e[0] < e[1] ? e : [e[1], e[0]], n.xDomainStrategy, !0) : Jn(z.value, n.xDomainStrategy);
2981
+ }), V = (e) => {
2902
2982
  let t = n.initialXDomains?.[e.series?.trackId ?? e.series?.id ?? e.id] ?? (e.series ? n.initialXDomains?.[e.series.id] : void 0) ?? n.initialXDomain;
2903
2983
  return t && Number.isFinite(t[0]) && Number.isFinite(t[1]) && t[0] !== t[1] ? Jn(t[0] < t[1] ? t : [t[1], t[0]], n.xDomainStrategy, !0) : Jn(ht(e.seriesList.flatMap((e) => e.xDomain)), n.xDomainStrategy);
2904
- }, B = t(() => l.value.rescaleX(U(R.value, [0, A.value])).domain()), V = t(() => Wn(A.value, s.value, g.value, n.displayMode, S.value.map(Boolean), j.value.horizontalGap).map((e, t) => ({
2984
+ }, H = t(() => l.value.rescaleX(U(B.value, [0, M.value])).domain()), W = t(() => Wn(M.value, s.value, g.value, n.displayMode, S.value.map(Boolean), N.value.horizontalGap).map((e, t) => ({
2905
2985
  ...e,
2906
2986
  series: S.value[t]
2907
- }))), H = t(() => Xn({
2908
- cells: V.value,
2987
+ }))), G = t(() => Xn({
2988
+ cells: W.value,
2909
2989
  grid: g.value,
2910
2990
  displayMode: n.displayMode,
2911
2991
  overlayMode: n.overlayMode,
2912
2992
  independentTransforms: u.value,
2913
- sharedZoomDomain: B.value,
2914
- initialXDomain: n.initialXDomain ? R.value : void 0,
2993
+ sharedZoomDomain: H.value,
2994
+ initialXDomain: n.initialXDomain ? B.value : void 0,
2915
2995
  initialXDomains: n.initialXDomains,
2916
2996
  xDomainStrategy: n.xDomainStrategy,
2917
2997
  fixedYDomain: n.yDomain,
2918
2998
  fixedYDomains: n.yDomains,
2919
- yDomains: n.displayMode === "independent" ? Object.fromEntries(_.value.flatMap((e, t) => {
2920
- let n = f.value[t];
2921
- return n ? [[e.id, n]] : [];
2922
- })) : d.value,
2999
+ yDomains: w.value,
2923
3000
  timeUnit: n.timeUnit,
2924
3001
  xAxisLabelFormatter: n.axes?.x?.labelFormatter,
2925
3002
  yAxisSplitNumber: n.axes?.y?.splitNumber,
2926
3003
  yAxisNice: n.axes?.y?.nice,
2927
3004
  rendering: v.value,
2928
3005
  linePointOverrides: m?.value,
2929
- hideSecondaryLabels: c.value || j.value.hideSecondaryLabels,
2930
- yAxisLabelX: D.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? C.value.labelCenterX,
2931
- yAxisSlots: n.overlayMode === "multi-axis" ? D.value.slots : void 0,
2932
- showCompactEmptyTracks: n.displayMode === "compact" && M.value
2933
- })), W = (e) => e.seriesList.map((t) => ({
3006
+ hideSecondaryLabels: c.value || N.value.hideSecondaryLabels,
3007
+ yAxisLabelX: k.value.slots.find((e) => e.side === "left" && e.sideIndex === 0)?.labelOffset ?? T.value.labelCenterX,
3008
+ yAxisSlots: n.overlayMode === "multi-axis" ? k.value.slots : void 0,
3009
+ showCompactEmptyTracks: n.displayMode === "compact" && P.value
3010
+ })), ee = (e) => e.seriesList.map((t) => ({
2934
3011
  ...e,
2935
3012
  series: t,
2936
3013
  yScale: e.seriesPaths.find((e) => e.series.id === t.id)?.yScale ?? e.yScale
2937
- })), ee = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, te = t(() => H.value.flatMap(W));
3014
+ })), te = (e, t) => e.seriesPaths.find((e) => e.series.id === t)?.yScale ?? e.yScale, ne = t(() => G.value.flatMap(ee));
2938
3015
  return {
2939
3016
  chartSeries: h,
2940
3017
  chartTracks: _,
@@ -2943,23 +3020,23 @@ function _i(e) {
2943
3020
  gridOptions: g,
2944
3021
  pageCount: b,
2945
3022
  pagedTracks: x,
2946
- resolvedChartLeftMargin: O,
2947
- innerWidth: A,
2948
- hasVisibleWaveformData: T,
2949
- hasWaveformData: M,
2950
- hasChartArea: N,
2951
- resolvedXLabel: P,
2952
- activeInteractionMode: F,
2953
- isZoomMode: I,
2954
- initialXDomain: R,
2955
- sharedZoomDomain: B,
2956
- resolveInitialTrackDomain: z,
2957
- gridCells: V,
2958
- trackLayouts: H,
2959
- annotationLayoutsForTrack: W,
2960
- resolveSeriesYScale: ee,
2961
- annotationTrackLayouts: te,
2962
- renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, te.value, A.value, s.value) : []),
3023
+ resolvedChartLeftMargin: A,
3024
+ innerWidth: M,
3025
+ hasVisibleWaveformData: D,
3026
+ hasWaveformData: P,
3027
+ hasChartArea: F,
3028
+ resolvedXLabel: I,
3029
+ activeInteractionMode: L,
3030
+ isZoomMode: R,
3031
+ initialXDomain: B,
3032
+ sharedZoomDomain: H,
3033
+ resolveInitialTrackDomain: V,
3034
+ gridCells: W,
3035
+ trackLayouts: G,
3036
+ annotationLayoutsForTrack: ee,
3037
+ resolveSeriesYScale: te,
3038
+ annotationTrackLayouts: ne,
3039
+ renderedAnnotations: t(() => n.annotationsVisible ? Me(n.annotations, ne.value, M.value, s.value) : []),
2963
3040
  editorSeries: t(() => {
2964
3041
  let e = p.editorDraft.value?.annotation.seriesId, t = h.value.find((t) => t.id === e);
2965
3042
  return t ? {
@@ -2969,16 +3046,16 @@ function _i(e) {
2969
3046
  unit: t.unit
2970
3047
  } : void 0;
2971
3048
  }),
2972
- resolveFrameNumber: gi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
3049
+ resolveFrameNumber: wi(() => n.frameNumber, () => n.frameNumbers, () => _.value)
2973
3050
  };
2974
3051
  }
2975
- var vi = 1e-6;
2976
- function yi(e) {
3052
+ var Oi = 1e-6;
3053
+ function ki(e) {
2977
3054
  return Number.isFinite(e) ? Math.max(1, e) : 1;
2978
3055
  }
2979
- function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
2980
- let i = yi(e), a = yi(t), o = yi(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
2981
- if (!(d > vi && Math.abs(d - 360) > vi)) {
3056
+ function Ai({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r }) {
3057
+ let i = ki(e), a = ki(t), o = ki(n), s = Number.isFinite(r) ? r : 0, c = s * Math.PI / 180, l = Math.abs(Math.cos(c)), u = Math.abs(Math.sin(c)), d = (s % 360 + 360) % 360;
3058
+ if (!(d > Oi && Math.abs(d - 360) > Oi)) {
2982
3059
  let e = Math.max(1, Math.ceil(i / o)), t = o, n = a * e;
2983
3060
  return {
2984
3061
  textWidth: t,
@@ -3003,7 +3080,7 @@ function bi({ naturalWidth: e, naturalHeight: t, availableWidth: n, rotation: r
3003
3080
  }
3004
3081
  //#endregion
3005
3082
  //#region src/components/core/useWaveformPresentation.ts
3006
- function xi(e) {
3083
+ function ji(e) {
3007
3084
  let { props: n, observedWidth: r, observedHeight: i, measuredTitleWidth: a, measuredTitleHeight: o, internalHiddenSeriesIds: s, paginationBandHeight: c } = e, l = t(() => Number.isFinite(n.width) ? Math.max(0, n.width ?? 0) : void 0), u = t(() => Number.isFinite(n.height) ? Math.max(180, n.height ?? 0) : void 0), d = t(() => r.value > 0 ? r.value : l.value ?? 0), f = t(() => i.value > 0 ? i.value : u.value ?? 180), p = t(() => ({
3008
3085
  width: l.value === void 0 ? "100%" : `${l.value}px`,
3009
3086
  height: u.value === void 0 ? "100%" : `${u.value}px`
@@ -3048,7 +3125,7 @@ function xi(e) {
3048
3125
  maxWidth: O.value ? "none" : `${j.value}px`,
3049
3126
  whiteSpace: O.value ? "nowrap" : "normal",
3050
3127
  overflowWrap: O.value ? "normal" : "anywhere"
3051
- })), N = t(() => bi({
3128
+ })), N = t(() => Ai({
3052
3129
  naturalWidth: a.value || A.value,
3053
3130
  naturalHeight: o.value || E.value * 1.2,
3054
3131
  availableWidth: j.value,
@@ -3104,66 +3181,66 @@ function xi(e) {
3104
3181
  }
3105
3182
  //#endregion
3106
3183
  //#region src/core/samplingReferenceValues.ts
3107
- function Si(e, t) {
3184
+ function Mi(e, t) {
3108
3185
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3109
3186
  }
3110
- function Ci(e, t, n, r) {
3187
+ function Ni(e, t, n, r) {
3111
3188
  let i = r - n;
3112
3189
  return {
3113
3190
  start: n + Math.floor(e * i / t),
3114
3191
  end: n + Math.floor((e + 1) * i / t)
3115
3192
  };
3116
3193
  }
3117
- function wi(e, t) {
3194
+ function Pi(e, t) {
3118
3195
  e[e.length - 1] !== t && e.push(t);
3119
3196
  }
3120
- function Ti(e, t, n) {
3197
+ function Fi(e, t, n) {
3121
3198
  if (e <= t) return Array.from({ length: e }, (e, t) => t);
3122
3199
  if (t === 1) return [0];
3123
3200
  if (t === 2) return [0, e - 1];
3124
3201
  let r = [0];
3125
- return n().forEach((e) => wi(r, e)), wi(r, e - 1), r;
3202
+ return n().forEach((e) => Pi(r, e)), Pi(r, e - 1), r;
3126
3203
  }
3127
- function Ei(e, t, n) {
3204
+ function Ii(e, t, n) {
3128
3205
  let r = n === "minmax" ? Math.floor((t - 2) / 2) : Math.max(0, t - 2);
3129
- return Ti(e.length, t, () => {
3206
+ return Fi(e.length, t, () => {
3130
3207
  if (!r) return [];
3131
3208
  let t = [];
3132
3209
  for (let i = 0; i < r; i += 1) {
3133
- let a = Ci(i, r, 1, e.length - 1), o = a.start, s = a.start;
3210
+ let a = Ni(i, r, 1, e.length - 1), o = a.start, s = a.start;
3134
3211
  for (let t = a.start + 1; t < a.end; t += 1) e[t] < e[o] && (o = t), e[t] > e[s] && (s = t);
3135
- n === "min" ? wi(t, o) : n === "max" ? wi(t, s) : o <= s ? (wi(t, o), wi(t, s)) : (wi(t, s), wi(t, o));
3212
+ n === "min" ? Pi(t, o) : n === "max" ? Pi(t, s) : o <= s ? (Pi(t, o), Pi(t, s)) : (Pi(t, s), Pi(t, o));
3136
3213
  }
3137
3214
  return t;
3138
3215
  });
3139
3216
  }
3140
- function Di(e, t) {
3217
+ function Li(e, t) {
3141
3218
  let n = Math.floor((t - 2) / 4);
3142
- return Ti(e.length, t, () => {
3219
+ return Fi(e.length, t, () => {
3143
3220
  if (!n) return [];
3144
3221
  let t = [];
3145
3222
  for (let r = 0; r < n; r += 1) {
3146
- let i = Ci(r, n, 1, e.length - 1), a = i.start, o = i.start;
3223
+ let i = Ni(r, n, 1, e.length - 1), a = i.start, o = i.start;
3147
3224
  for (let t = i.start + 1; t < i.end; t += 1) e[t] < e[a] && (a = t), e[t] > e[o] && (o = t);
3148
3225
  [
3149
3226
  i.start,
3150
3227
  a,
3151
3228
  o,
3152
3229
  i.end - 1
3153
- ].sort((e, t) => e - t).forEach((e) => wi(t, e));
3230
+ ].sort((e, t) => e - t).forEach((e) => Pi(t, e));
3154
3231
  }
3155
3232
  return t;
3156
3233
  });
3157
3234
  }
3158
- function Oi(e, t, n) {
3159
- return Ti(e.length, n, () => {
3235
+ function Ri(e, t, n) {
3236
+ return Fi(e.length, n, () => {
3160
3237
  let r = (e.length - 2) / (n - 2), i = [], a = 0;
3161
3238
  for (let o = 0; o < n - 2; o += 1) {
3162
3239
  let s = Math.min(e.length, Math.floor((o + 1) * r) + 1), c = Math.min(e.length, Math.floor((o + 2) * r) + 1), l = 0, u = 0;
3163
3240
  for (let n = s; n < c; n += 1) l += e[n], u += t[n];
3164
3241
  let d = c - s;
3165
3242
  d ? (l /= d, u /= d) : (l = e[e.length - 1], u = t[t.length - 1]);
3166
- let f = Ci(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3243
+ let f = Ni(o, n - 2, 1, e.length - 1), p = f.start, m = -1;
3167
3244
  for (let n = f.start; n < f.end; n += 1) {
3168
3245
  let r = Math.abs((e[a] - l) * (t[n] - t[a]) - (e[a] - e[n]) * (u - t[a]));
3169
3246
  r > m && (m = r, p = n);
@@ -3173,10 +3250,10 @@ function Oi(e, t, n) {
3173
3250
  return i;
3174
3251
  });
3175
3252
  }
3176
- function ki(e, t, n, r) {
3177
- let i = Si(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3253
+ function zi(e, t, n, r) {
3254
+ let i = Mi(n, e.length), a = new Float64Array(i), o = new Float64Array(i);
3178
3255
  for (let n = 0; n < i; n += 1) {
3179
- let s = Ci(n, i, 0, e.length);
3256
+ let s = Ni(n, i, 0, e.length);
3180
3257
  for (let r = s.start; r < s.end; r += 1) a[n] += e[r], o[n] += t[r];
3181
3258
  let c = s.end - s.start;
3182
3259
  a[n] /= c, r === "average" && (o[n] /= c);
@@ -3187,10 +3264,10 @@ function ki(e, t, n, r) {
3187
3264
  y: o
3188
3265
  };
3189
3266
  }
3190
- function Ai(e, t, n, r) {
3267
+ function Bi(e, t, n, r) {
3191
3268
  if (e.length !== t.length) throw Error("x and y must have the same length");
3192
- if (n === "average" || n === "sum") return ki(e, t, r, n);
3193
- let i = Si(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Di(t, i) : n === "lttb" ? Oi(e, t, i) : Ei(t, i, n);
3269
+ if (n === "average" || n === "sum") return zi(e, t, r, n);
3270
+ let i = Mi(r, e.length), a = n === "none" || e.length <= i ? Array.from({ length: e.length }, (e, t) => t) : n === "peak" ? Li(t, i) : n === "lttb" ? Ri(e, t, i) : Ii(t, i, n);
3194
3271
  return {
3195
3272
  kind: "source-indexes",
3196
3273
  sourceIndexes: Uint32Array.from(a)
@@ -3198,41 +3275,41 @@ function Ai(e, t, n, r) {
3198
3275
  }
3199
3276
  //#endregion
3200
3277
  //#region src/core/workerSampling/javascriptBackend.ts
3201
- var ji = {
3278
+ var Vi = {
3202
3279
  kind: "javascript",
3203
3280
  sample(e) {
3204
- return Ai(e.x, e.y, e.strategy, e.targetPointCount);
3281
+ return Bi(e.x, e.y, e.strategy, e.targetPointCount);
3205
3282
  }
3206
- }, Mi = 8 * 1024 * 1024;
3207
- function Ni(e, t) {
3283
+ }, Hi = 8 * 1024 * 1024;
3284
+ function Ui(e, t) {
3208
3285
  return t === 0 ? 0 : Number.isFinite(e) ? Math.min(t, Math.max(1, Math.floor(e))) : t;
3209
3286
  }
3210
- function Pi(e, t, n, r) {
3287
+ function Wi(e, t, n, r) {
3211
3288
  let i = r - n;
3212
3289
  return {
3213
3290
  start: n + Math.floor(e * i / t),
3214
3291
  end: n + Math.floor((e + 1) * i / t)
3215
3292
  };
3216
3293
  }
3217
- function Fi(e, t) {
3294
+ function Gi(e, t) {
3218
3295
  e[e.length - 1] !== t && e.push(t);
3219
3296
  }
3220
- function Ii(e) {
3297
+ function Ki(e) {
3221
3298
  return "minimumIndexes" in e ? e.minimumIndexes.byteLength + e.maximumIndexes.byteLength : e.x.byteLength + e.y.byteLength + e.count.byteLength;
3222
3299
  }
3223
- function Li(e, t) {
3300
+ function qi(e, t) {
3224
3301
  let n = 1;
3225
3302
  for (; n * 2 <= t && e % (n * 2) == 0;) n *= 2;
3226
3303
  return n;
3227
3304
  }
3228
- var Ri = class {
3305
+ var Ji = class {
3229
3306
  points;
3230
3307
  extremaLayers = [];
3231
3308
  sumLayers = [];
3232
3309
  indexBytes = 0;
3233
3310
  maxBytes;
3234
3311
  constructor(e, t = {}) {
3235
- this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Mi;
3312
+ this.points = e, this.maxBytes = Number.isFinite(t.maxBytes) ? Math.max(0, Math.floor(t.maxBytes ?? 0)) : Hi;
3236
3313
  }
3237
3314
  get byteLength() {
3238
3315
  return this.indexBytes;
@@ -3241,7 +3318,7 @@ var Ri = class {
3241
3318
  this.extremaLayers.length = 0, this.sumLayers.length = 0, this.indexBytes = 0;
3242
3319
  }
3243
3320
  sample(e, t, n, r) {
3244
- let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ni(r, o);
3321
+ let i = Math.max(0, Math.min(this.points.length, Math.floor(e))), a = Math.max(i, Math.min(this.points.length, Math.floor(t))), o = a - i, s = Ui(r, o);
3245
3322
  if (n !== "lttb") return n === "average" || n === "sum" ? this.aggregate(i, a, s, n) : n === "none" || o <= s ? this.allIndexes(i, a) : s === 1 ? this.indexes([i]) : s === 2 ? this.indexes([i, a - 1]) : this.extrema(i, a, s, n);
3246
3323
  }
3247
3324
  allIndexes(e, t) {
@@ -3261,24 +3338,24 @@ var Ri = class {
3261
3338
  if (i === 0) return this.indexes([e, t - 1]);
3262
3339
  let a = [e];
3263
3340
  for (let n = 0; n < i; n += 1) {
3264
- let o = Pi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3341
+ let o = Wi(n, i, e + 1, t - 1), s = this.queryExtrema(o.start, o.end);
3265
3342
  if (!s) return;
3266
- if (r === "min") Fi(a, s.minimum);
3267
- else if (r === "max") Fi(a, s.maximum);
3268
- else if (r === "minmax") s.minimum <= s.maximum ? (Fi(a, s.minimum), Fi(a, s.maximum)) : (Fi(a, s.maximum), Fi(a, s.minimum));
3343
+ if (r === "min") Gi(a, s.minimum);
3344
+ else if (r === "max") Gi(a, s.maximum);
3345
+ else if (r === "minmax") s.minimum <= s.maximum ? (Gi(a, s.minimum), Gi(a, s.maximum)) : (Gi(a, s.maximum), Gi(a, s.minimum));
3269
3346
  else for (let e of [
3270
3347
  o.start,
3271
3348
  s.minimum,
3272
3349
  s.maximum,
3273
3350
  o.end - 1
3274
- ].sort((e, t) => e - t)) Fi(a, e);
3351
+ ].sort((e, t) => e - t)) Gi(a, e);
3275
3352
  }
3276
- return Fi(a, t - 1), this.indexes(a);
3353
+ return Gi(a, t - 1), this.indexes(a);
3277
3354
  }
3278
3355
  aggregate(e, t, n, r) {
3279
3356
  let i = new Float64Array(n), a = new Float64Array(n);
3280
3357
  for (let o = 0; o < n; o += 1) {
3281
- let s = Pi(o, n, e, t), c = this.querySum(s.start, s.end);
3358
+ let s = Wi(o, n, e, t), c = this.querySum(s.start, s.end);
3282
3359
  if (!c || c.count === 0) return;
3283
3360
  i[o] = c.x / c.count, a[o] = r === "average" ? c.y / c.count : c.y;
3284
3361
  }
@@ -3293,7 +3370,7 @@ var Ri = class {
3293
3370
  if (!this.ensureExtrema(n)) return;
3294
3371
  let r = e, i = e;
3295
3372
  for (let n = e; n < t;) {
3296
- let e = Li(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3373
+ let e = qi(n, t - n), a = Math.floor(Math.log2(e)), o = n / e, s = this.extremaLayers[a], c = s ? s.minimumIndexes[o] : n, l = s ? s.maximumIndexes[o] : n;
3297
3374
  this.isMinimum(c, r) && (r = c), this.isMaximum(l, i) && (i = l), n += e;
3298
3375
  }
3299
3376
  return {
@@ -3306,7 +3383,7 @@ var Ri = class {
3306
3383
  if (!this.ensureSum(n)) return;
3307
3384
  let r = 0, i = 0, a = 0;
3308
3385
  for (let n = e; n < t;) {
3309
- let e = Li(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3386
+ let e = qi(n, t - n), o = Math.floor(Math.log2(e)), s = n / e, c = this.sumLayers[o];
3310
3387
  if (c) r += c.x[s], i += c.y[s], a += c.count[s];
3311
3388
  else {
3312
3389
  let e = this.points[n];
@@ -3327,7 +3404,7 @@ var Ri = class {
3327
3404
  minimumIndexes: new Uint32Array(e),
3328
3405
  maximumIndexes: new Uint32Array(e)
3329
3406
  };
3330
- if (!this.reserve(Ii(n))) return !1;
3407
+ if (!this.reserve(Ki(n))) return !1;
3331
3408
  let r = this.extremaLayers[t - 1];
3332
3409
  for (let t = 0; t < e; t += 1) {
3333
3410
  let e = t * 2, i = e + 1, a = r ? r.minimumIndexes[e] : e, o = r ? r.maximumIndexes[e] : e, s = r ? i < r.minimumIndexes.length : i < this.points.length, c = r && s ? r.minimumIndexes[i] : i, l = r && s ? r.maximumIndexes[i] : i;
@@ -3345,7 +3422,7 @@ var Ri = class {
3345
3422
  y: new Float64Array(e),
3346
3423
  count: new Uint32Array(e)
3347
3424
  };
3348
- if (!this.reserve(Ii(n))) return !1;
3425
+ if (!this.reserve(Ki(n))) return !1;
3349
3426
  let r = this.sumLayers[t - 1];
3350
3427
  for (let t = 0; t < e; t += 1) {
3351
3428
  let e = t * 2, i = e + 1;
@@ -3370,8 +3447,8 @@ var Ri = class {
3370
3447
  let n = this.points[e], r = this.points[t];
3371
3448
  return n.y > r.y || n.y === r.y && e < t;
3372
3449
  }
3373
- }, zi = 1e3, Bi = I((e) => e.x);
3374
- function Vi(e) {
3450
+ }, Yi = 1e3, Xi = I((e) => e.x);
3451
+ function Zi(e) {
3375
3452
  let t = [], n = !0, r = -Infinity;
3376
3453
  for (let i of e) !Number.isFinite(i.x) || !Number.isFinite(i.y) || (i.x < r && (n = !1), r = i.x, t.push({
3377
3454
  x: i.x,
@@ -3382,7 +3459,7 @@ function Vi(e) {
3382
3459
  }));
3383
3460
  return n || t.sort((e, t) => e.x - t.x), t;
3384
3461
  }
3385
- function Hi(e, t) {
3462
+ function Qi(e, t) {
3386
3463
  let n = Infinity, r = -Infinity, i = Infinity, a = -Infinity;
3387
3464
  for (let t of e) n = Math.min(n, t.x), r = Math.max(r, t.x), i = Math.min(i, t.y), a = Math.max(a, t.y);
3388
3465
  return {
@@ -3392,7 +3469,7 @@ function Hi(e, t) {
3392
3469
  yDomain: e.length ? [i, a] : null
3393
3470
  };
3394
3471
  }
3395
- function Ui(e, t, n = e.length) {
3472
+ function $i(e, t, n = e.length) {
3396
3473
  let r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
3397
3474
  for (let n = 0; n < e.length; n += 1) r = Math.min(r, e[n]), i = Math.max(i, e[n]), a = Math.min(a, t[n]), o = Math.max(o, t[n]);
3398
3475
  return {
@@ -3402,39 +3479,39 @@ function Ui(e, t, n = e.length) {
3402
3479
  yDomain: e.length ? [a, o] : null
3403
3480
  };
3404
3481
  }
3405
- function Wi(e, t) {
3482
+ function ea(e, t) {
3406
3483
  return e ? e.revision === t ? "ok" : "stale-revision" : "not-found";
3407
3484
  }
3408
- function Gi(e) {
3485
+ function ta(e) {
3409
3486
  return e === "auto" ? "peak" : e;
3410
3487
  }
3411
- function Ki(e) {
3488
+ function na(e) {
3412
3489
  if (Number.isFinite(e.maxPointCount) && (e.maxPointCount ?? 0) >= 1) return Math.floor(e.maxPointCount);
3413
3490
  let t = Number.isFinite(e.plotWidth) ? Math.max(0, e.plotWidth) : 0, n = Number.isFinite(e.maxPointsPerPixel) ? Math.max(0, e.maxPointsPerPixel ?? 0) : 4;
3414
3491
  return Math.max(1, Math.floor(t * n));
3415
3492
  }
3416
- function qi(e, t) {
3493
+ function ra(e, t) {
3417
3494
  if (e.mode === "raw") return !0;
3418
3495
  if (e.mode !== "auto") return !1;
3419
- let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : zi;
3496
+ let n = Number.isFinite(e.autoThreshold) ? Math.max(1, Math.floor(e.autoThreshold ?? 0)) : Yi;
3420
3497
  if (!e.previousSelectedMode) return t <= n;
3421
3498
  let r = Number.isFinite(e.autoHysteresis) ? Math.max(0, Math.floor(e.autoHysteresis ?? 0)) : 0;
3422
3499
  return e.previousSelectedMode === "raw" ? t <= n + r : t <= Math.max(0, n - r);
3423
3500
  }
3424
- function Ji(e, t) {
3501
+ function ia(e, t) {
3425
3502
  let n = e[0], r = e.at(-1);
3426
- return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Bi.center(e, t)] : void 0;
3503
+ return Number.isFinite(t) && n && r && t >= n.x && t <= r.x ? e[Xi.center(e, t)] : void 0;
3427
3504
  }
3428
- function Yi(e) {
3505
+ function aa(e) {
3429
3506
  return e ? e.kind === "source-indexes" ? e.sourceIndexes.length : e.x.length : 0;
3430
3507
  }
3431
- function Xi(e, t) {
3508
+ function oa(e, t) {
3432
3509
  return e.kind === "aggregates" ? e : {
3433
3510
  kind: "source-indexes",
3434
3511
  sourceIndexes: Uint32Array.from(e.sourceIndexes, (e) => e + t)
3435
3512
  };
3436
3513
  }
3437
- function Zi(e, t, n, r, i) {
3514
+ function sa(e, t, n, r, i) {
3438
3515
  return [
3439
3516
  e.datasetId,
3440
3517
  e.revision,
@@ -3454,14 +3531,14 @@ function Zi(e, t, n, r, i) {
3454
3531
  e.errorBarMinSpacing ?? 0
3455
3532
  ].join("\0");
3456
3533
  }
3457
- function Qi(e, t, n, r, i, a, o, s) {
3534
+ function ca(e, t, n, r, i, a, o, s) {
3458
3535
  return {
3459
3536
  seriesId: e.seriesId,
3460
3537
  datasetId: e.datasetId,
3461
3538
  mode: e.mode,
3462
3539
  selectedMode: i,
3463
3540
  backend: r,
3464
- strategy: Gi(e.strategy),
3541
+ strategy: ta(e.strategy),
3465
3542
  sourcePointCount: t,
3466
3543
  visiblePointCount: n,
3467
3544
  renderedPointCount: o,
@@ -3477,18 +3554,18 @@ function Qi(e, t, n, r, i, a, o, s) {
3477
3554
  }
3478
3555
  //#endregion
3479
3556
  //#region src/core/workerSampling/repositoryDataset.ts
3480
- function $i(e) {
3557
+ function la(e) {
3481
3558
  return e?.y.length ?? 0;
3482
3559
  }
3483
- function ea(e, t) {
3560
+ function ua(e, t) {
3484
3561
  return e.x ? e.x[t] : e.sampleStartTime + (e.sampleSourceIndexes?.[t] ?? t) / e.sampleRate;
3485
3562
  }
3486
- function ta(e, t) {
3563
+ function da(e, t) {
3487
3564
  let n = (t, n) => {
3488
- let r = 0, i = $i(e);
3565
+ let r = 0, i = la(e);
3489
3566
  for (; r < i;) {
3490
3567
  let a = r + Math.floor((i - r) / 2);
3491
- (n ? ea(e, a) <= t : ea(e, a) < t) ? r = a + 1 : i = a;
3568
+ (n ? ua(e, a) <= t : ua(e, a) < t) ? r = a + 1 : i = a;
3492
3569
  }
3493
3570
  return r;
3494
3571
  }, r = Math.min(t[0], t[1]), i = Math.max(t[0], t[1]);
@@ -3497,13 +3574,13 @@ function ta(e, t) {
3497
3574
  end: n(i, !0)
3498
3575
  };
3499
3576
  }
3500
- function na(e, t, n) {
3501
- return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ea(e, t + r));
3577
+ function fa(e, t, n) {
3578
+ return e.x ? e.x.subarray(t, n) : Float64Array.from({ length: n - t }, (n, r) => ua(e, t + r));
3502
3579
  }
3503
- function ra(e) {
3580
+ function pa(e) {
3504
3581
  return e?.kind === "wasm" && "registerDataset" in e && "disposeDataset" in e && "disposeAllDatasets" in e && "datasetIndexBytes" in e && "registerSamples" in e && "sampleDataset" in e;
3505
3582
  }
3506
- function ia(e, t) {
3583
+ function ma(e, t) {
3507
3584
  let n = [], r = Math.min(e.length, t.length);
3508
3585
  for (let i = 0; i < r; i += 1) Number.isFinite(e[i]) && Number.isFinite(t[i]) && n.push(i);
3509
3586
  return n.sort((t, n) => e[t] - e[n] || t - n), {
@@ -3511,14 +3588,14 @@ function ia(e, t) {
3511
3588
  y: Float64Array.from(n, (e) => t[e])
3512
3589
  };
3513
3590
  }
3514
- function aa(e, t, n, r) {
3591
+ function ha(e, t, n, r) {
3515
3592
  if (t?.kind === "typed") {
3516
- let e = ia(t.x, t.y);
3593
+ let e = ma(t.x, t.y);
3517
3594
  return {
3518
3595
  x: e.x,
3519
3596
  y: e.y,
3520
3597
  revision: n,
3521
- metrics: Ui(e.x, e.y, Math.max(t.x.length, t.y.length))
3598
+ metrics: $i(e.x, e.y, Math.max(t.x.length, t.y.length))
3522
3599
  };
3523
3600
  }
3524
3601
  if (t?.kind === "samples") {
@@ -3552,35 +3629,35 @@ function aa(e, t, n, r) {
3552
3629
  }
3553
3630
  };
3554
3631
  }
3555
- let i = Vi(e ?? t?.points ?? []);
3632
+ let i = Zi(e ?? t?.points ?? []);
3556
3633
  return {
3557
3634
  x: Float64Array.from(i, (e) => e.x),
3558
3635
  y: Float64Array.from(i, (e) => e.y),
3559
3636
  points: i,
3560
3637
  revision: n,
3561
- metrics: Hi(i, e?.length ?? t?.points.length ?? 0),
3562
- index: new Ri(i, { maxBytes: r })
3638
+ metrics: Qi(i, e?.length ?? t?.points.length ?? 0),
3639
+ index: new Ji(i, { maxBytes: r })
3563
3640
  };
3564
3641
  }
3565
- function oa(e, t, n) {
3566
- !ra(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3642
+ function ga(e, t, n) {
3643
+ !pa(e) || t.wasmDatasetHandle !== void 0 || (t.wasmDatasetHandle = t.x ? e.registerDataset(t.x, t.y, n) : e.registerSamples(t.y, t.sampleSourceIndexes, t.sampleStartTime, t.sampleRate, n), t.wasmIndexBytes = e.datasetIndexBytes(t.wasmDatasetHandle));
3567
3644
  }
3568
- function sa(e, t) {
3569
- t.index?.dispose(), t.wasmDatasetHandle !== void 0 && ra(e) && e.disposeDataset(t.wasmDatasetHandle);
3645
+ function _a(e, t) {
3646
+ t.index?.dispose(), t.wasmDatasetHandle !== void 0 && pa(e) && e.disposeDataset(t.wasmDatasetHandle);
3570
3647
  }
3571
3648
  //#endregion
3572
3649
  //#region src/core/workerSampling/samplingCache.ts
3573
- var ca = 96, la = 16 * 1024 * 1024;
3574
- function ua(e) {
3650
+ var va = 96, ya = 16 * 1024 * 1024;
3651
+ function ba(e) {
3575
3652
  return e.kind === "source-indexes" ? e.sourceIndexes.byteLength : e.x.byteLength + e.y.byteLength;
3576
3653
  }
3577
- var da = class {
3654
+ var xa = class {
3578
3655
  entries = /* @__PURE__ */ new Map();
3579
3656
  bytes = 0;
3580
3657
  maxEntries;
3581
3658
  maxBytes;
3582
3659
  constructor(e = {}) {
3583
- this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : ca, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : la;
3660
+ this.maxEntries = Number.isFinite(e.maxEntries) ? Math.max(0, Math.floor(e.maxEntries ?? 0)) : va, this.maxBytes = Number.isFinite(e.maxBytes) ? Math.max(0, Math.floor(e.maxBytes ?? 0)) : ya;
3584
3661
  }
3585
3662
  get metrics() {
3586
3663
  return {
@@ -3595,7 +3672,7 @@ var da = class {
3595
3672
  if (t) return this.entries.delete(e), this.entries.set(e, t), t.output;
3596
3673
  }
3597
3674
  set(e, t) {
3598
- let n = ua(t);
3675
+ let n = ba(t);
3599
3676
  if (n > this.maxBytes || this.maxEntries === 0) return;
3600
3677
  let r = this.entries.get(e);
3601
3678
  for (r && (this.bytes -= r.bytes, this.entries.delete(e)), this.entries.set(e, {
@@ -3615,14 +3692,14 @@ var da = class {
3615
3692
  clear() {
3616
3693
  this.entries.clear(), this.bytes = 0;
3617
3694
  }
3618
- }, fa = class {
3695
+ }, Sa = class {
3619
3696
  datasets = /* @__PURE__ */ new Map();
3620
3697
  javascriptBackend;
3621
3698
  cache;
3622
3699
  indexMaxBytes;
3623
3700
  wasmBackend;
3624
3701
  constructor(e = {}) {
3625
- this.javascriptBackend = e.javascriptBackend ?? ji, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new da({
3702
+ this.javascriptBackend = e.javascriptBackend ?? Vi, this.wasmBackend = e.wasmBackend, this.indexMaxBytes = e.indexMaxBytes, this.cache = new xa({
3626
3703
  maxEntries: e.cacheMaxEntries,
3627
3704
  maxBytes: e.cacheMaxBytes
3628
3705
  });
@@ -3635,9 +3712,9 @@ var da = class {
3635
3712
  };
3636
3713
  }
3637
3714
  setWasmBackend(e) {
3638
- this.wasmBackend && this.wasmBackend !== e && ra(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3715
+ this.wasmBackend && this.wasmBackend !== e && pa(this.wasmBackend) && (this.wasmBackend.disposeAllDatasets(), this.datasets.forEach((e) => {
3639
3716
  e.wasmDatasetHandle = void 0, e.wasmIndexBytes = void 0;
3640
- })), this.wasmBackend = e, ra(e) && this.datasets.forEach((t) => oa(e, t, this.indexMaxBytes));
3717
+ })), this.wasmBackend = e, pa(e) && this.datasets.forEach((t) => ga(e, t, this.indexMaxBytes));
3641
3718
  }
3642
3719
  handle(e) {
3643
3720
  switch (e.type) {
@@ -3653,15 +3730,15 @@ var da = class {
3653
3730
  register(e, t, n, r) {
3654
3731
  let i = this.datasets.get(e);
3655
3732
  if (i) return this.datasetResponse(t, e, i, "stale-revision");
3656
- let a = aa(n, r, 1, this.indexMaxBytes);
3657
- return oa(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3733
+ let a = ha(n, r, 1, this.indexMaxBytes);
3734
+ return ga(this.wasmBackend, a, this.indexMaxBytes), this.datasets.set(e, a), this.datasetResponse(t, e, a, "ok");
3658
3735
  }
3659
3736
  replace(e, t, n, r, i) {
3660
- let a = this.datasets.get(e), o = Wi(a, n);
3737
+ let a = this.datasets.get(e), o = ea(a, n);
3661
3738
  if (o !== "ok" || !a) return this.datasetResponse(t, e, a, o);
3662
- sa(this.wasmBackend, a), this.cache.deleteDataset(e);
3663
- let s = aa(r, i, a.revision + 1, this.indexMaxBytes);
3664
- return oa(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3739
+ _a(this.wasmBackend, a), this.cache.deleteDataset(e);
3740
+ let s = ha(r, i, a.revision + 1, this.indexMaxBytes);
3741
+ return ga(this.wasmBackend, s, this.indexMaxBytes), this.datasets.set(e, s), this.datasetResponse(t, e, s, "ok");
3665
3742
  }
3666
3743
  sample(e) {
3667
3744
  return {
@@ -3671,28 +3748,28 @@ var da = class {
3671
3748
  };
3672
3749
  }
3673
3750
  sampleSeries(e, t) {
3674
- let n = performance.now(), r = this.datasets.get(t.datasetId), i = Wi(r, t.revision);
3751
+ let n = performance.now(), r = this.datasets.get(t.datasetId), i = ea(r, t.revision);
3675
3752
  if (i !== "ok" || !r) return this.sampleResponse(e, t, i, void 0, "unavailable", "sampled", 0, n, !1);
3676
- let a = ta(r, t.xDomain), o = a.end - a.start;
3677
- if (qi(t, o)) return this.sampleResponse(e, t, "ok", {
3753
+ let a = da(r, t.xDomain), o = a.end - a.start;
3754
+ if (ra(t, o)) return this.sampleResponse(e, t, "ok", {
3678
3755
  kind: "source-indexes",
3679
3756
  sourceIndexes: Uint32Array.from({ length: o }, (e, t) => a.start + t)
3680
3757
  }, "raw", "raw", o, n, !1);
3681
3758
  let s = t.mode === "wasm" || t.mode === "auto" && this.wasmBackend ? this.wasmBackend : this.javascriptBackend, c = !s && t.wasmFailureFallback === "javascript", l = s ?? (c ? this.javascriptBackend : void 0);
3682
3759
  if (!l) return this.sampleResponse(e, t, "wasm-unavailable", void 0, "unavailable", "sampled", o, n, !1);
3683
- let u = Gi(t.strategy), d = Ki(t), f = Zi(t, a, u, d, l.kind), p = this.cache.get(f);
3760
+ let u = ta(t.strategy), d = na(t), f = sa(t, a, u, d, l.kind), p = this.cache.get(f);
3684
3761
  if (p) return this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", p, l.kind, "sampled", o, n, !0);
3685
- let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && ra(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? Xi(l.sample({
3686
- x: na(r, a.start, a.end),
3762
+ let m = (l.kind === "wasm" ? r.wasmDatasetHandle !== void 0 && pa(l) ? l.sampleDataset(r.wasmDatasetHandle, a.start, a.end, u, d) : void 0 : r.index?.sample(a.start, a.end, u, d)) ?? oa(l.sample({
3763
+ x: fa(r, a.start, a.end),
3687
3764
  y: r.y.subarray(a.start, a.end),
3688
3765
  points: r.points?.slice(a.start, a.end) ?? [],
3689
3766
  strategy: u,
3690
3767
  targetPointCount: d
3691
3768
  }), a.start);
3692
- return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && ra(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3769
+ return this.cache.set(f, m), r.wasmDatasetHandle !== void 0 && pa(l) && (r.wasmIndexBytes = l.datasetIndexBytes(r.wasmDatasetHandle)), this.sampleResponse(e, t, c ? "wasm-unavailable" : "ok", m, l.kind, "sampled", o, n, !1);
3693
3770
  }
3694
3771
  sampleResponse(e, t, n, r, i, a, o, s, c) {
3695
- let l = Qi(t, $i(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, Yi(r), c);
3772
+ let l = ca(t, la(this.datasets.get(t.datasetId)), o, i, a, performance.now() - s, aa(r), c);
3696
3773
  return l.requestId = e, {
3697
3774
  seriesId: t.seriesId,
3698
3775
  datasetId: t.datasetId,
@@ -3703,7 +3780,7 @@ var da = class {
3703
3780
  };
3704
3781
  }
3705
3782
  findNearest(e, t, n, r) {
3706
- let i = this.datasets.get(e), a = Wi(i, n);
3783
+ let i = this.datasets.get(e), a = ea(i, n);
3707
3784
  return a !== "ok" || !i ? {
3708
3785
  type: "find-nearest-point-response",
3709
3786
  requestId: t,
@@ -3716,12 +3793,12 @@ var da = class {
3716
3793
  datasetId: e,
3717
3794
  revision: n,
3718
3795
  status: a,
3719
- point: i.points ? Ji(i.points, r) : (() => {
3720
- let e = ta(i, [r, r]);
3721
- if (!$i(i) || r < ea(i, 0) || r > ea(i, $i(i) - 1)) return;
3722
- let t = Math.min($i(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ea(i, n)) < Math.abs(ea(i, t) - r) ? n : t;
3723
- return Number.isFinite(r) && $i(i) ? {
3724
- x: ea(i, a),
3796
+ point: i.points ? ia(i.points, r) : (() => {
3797
+ let e = da(i, [r, r]);
3798
+ if (!la(i) || r < ua(i, 0) || r > ua(i, la(i) - 1)) return;
3799
+ let t = Math.min(la(i) - 1, e.start), n = Math.max(0, t - 1), a = Math.abs(r - ua(i, n)) < Math.abs(ua(i, t) - r) ? n : t;
3800
+ return Number.isFinite(r) && la(i) ? {
3801
+ x: ua(i, a),
3725
3802
  y: i.y[a]
3726
3803
  } : void 0;
3727
3804
  })()
@@ -3729,15 +3806,15 @@ var da = class {
3729
3806
  }
3730
3807
  metrics(e, t, n) {
3731
3808
  let r = this.datasets.get(e);
3732
- return this.datasetResponse(t, e, r, Wi(r, n));
3809
+ return this.datasetResponse(t, e, r, ea(r, n));
3733
3810
  }
3734
3811
  dispose(e, t, n) {
3735
- let r = this.datasets.get(e), i = Wi(r, n);
3736
- return i === "ok" && r && (sa(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3812
+ let r = this.datasets.get(e), i = ea(r, n);
3813
+ return i === "ok" && r && (_a(this.wasmBackend, r), this.cache.deleteDataset(e), this.datasets.delete(e)), this.datasetResponse(t, e, r, i);
3737
3814
  }
3738
3815
  disposeAll(e) {
3739
3816
  let t = [...this.datasets.keys()];
3740
- return this.datasets.forEach((e) => sa(this.wasmBackend, e)), ra(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3817
+ return this.datasets.forEach((e) => _a(this.wasmBackend, e)), pa(this.wasmBackend) && this.wasmBackend.disposeAllDatasets(), this.datasets.clear(), this.cache.clear(), {
3741
3818
  type: "dispose-all-response",
3742
3819
  requestId: e,
3743
3820
  disposedDatasetIds: t
@@ -3759,10 +3836,10 @@ var da = class {
3759
3836
  };
3760
3837
  //#endregion
3761
3838
  //#region src/components/core/latestTaskScheduler.ts
3762
- function pa(e, t, n, r) {
3839
+ function Ca(e, t, n, r) {
3763
3840
  return r ? r === "raw" ? e <= t + n ? "raw" : "sampled" : e <= Math.max(0, t - n) ? "raw" : "sampled" : e <= t ? "raw" : "sampled";
3764
3841
  }
3765
- function ma() {
3842
+ function wa() {
3766
3843
  let e = 0, t = !1, n, r = !1, i = {
3767
3844
  scheduled: 0,
3768
3845
  coalesced: 0,
@@ -3801,12 +3878,12 @@ function ma() {
3801
3878
  }
3802
3879
  //#endregion
3803
3880
  //#region src/components/core/workerSamplingClient.ts
3804
- function ha(e) {
3881
+ function Ta(e) {
3805
3882
  return e?.message || "Web Worker is unavailable; JavaScript sampling is being used.";
3806
3883
  }
3807
- function ga() {
3884
+ function Ea() {
3808
3885
  let e, t, n, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = () => {
3809
- t ??= new fa();
3886
+ t ??= new Sa();
3810
3887
  for (let [e, n] of i) {
3811
3888
  t.handle({
3812
3889
  type: "register-dataset",
@@ -3842,7 +3919,7 @@ function ga() {
3842
3919
  let t = a();
3843
3920
  e.forEach(({ request: e, resolve: n }) => n(t.handle(e)));
3844
3921
  }, c = (r) => {
3845
- t || (n = ha(r), e?.terminate(), e = void 0, s());
3922
+ t || (n = Ta(r), e?.terminate(), e = void 0, s());
3846
3923
  };
3847
3924
  try {
3848
3925
  typeof Worker > "u" ? c() : (e = new Worker(new URL(
@@ -3879,20 +3956,20 @@ function ga() {
3879
3956
  }
3880
3957
  };
3881
3958
  }
3882
- function _a(e) {
3959
+ function Da(e) {
3883
3960
  return e.type === "dataset-response";
3884
3961
  }
3885
3962
  //#endregion
3886
3963
  //#region src/components/core/useWaveformRenderSampling.ts
3887
- var va = 120;
3888
- function ya(e, t) {
3964
+ var Oa = 120;
3965
+ function ka(e, t) {
3889
3966
  let n = e.output;
3890
3967
  if (n) return n.kind === "aggregates" ? Array.from(n.x, (e, t) => ({
3891
3968
  x: e,
3892
3969
  y: n.y[t]
3893
3970
  })) : Array.from(n.sourceIndexes, (e) => t.pointAt(e)).filter((e) => e !== void 0);
3894
3971
  }
3895
- function ba(e, t) {
3972
+ function Aa(e, t) {
3896
3973
  let n = e.request, r = e.visibleRange.end - e.visibleRange.start;
3897
3974
  return {
3898
3975
  seriesId: n.seriesId,
@@ -3914,7 +3991,7 @@ function ba(e, t) {
3914
3991
  maxPendingRequestCount: 0
3915
3992
  };
3916
3993
  }
3917
- function xa(e) {
3994
+ function ja(e) {
3918
3995
  let { source: t } = e, { start: n, end: r } = e.visibleRange, i = r - n, a = Number.isFinite(e.request.maxPointCount) && (e.request.maxPointCount ?? 0) >= 1 ? Math.floor(e.request.maxPointCount) : Math.max(1, Math.floor(e.request.plotWidth * e.request.maxPointsPerPixel));
3919
3996
  if (i <= a) return t.pointsInRange(n, r);
3920
3997
  if (a === 1) return t.pointAt(n) ? [t.pointAt(n)] : [];
@@ -3925,7 +4002,7 @@ function xa(e) {
3925
4002
  }
3926
4003
  return o;
3927
4004
  }
3928
- function Sa(e, t, n, r) {
4005
+ function Ma(e, t, n, r) {
3929
4006
  return {
3930
4007
  message: e,
3931
4008
  mode: t,
@@ -3933,8 +4010,8 @@ function Sa(e, t, n, r) {
3933
4010
  seriesIds: r
3934
4011
  };
3935
4012
  }
3936
- function Ca(e) {
3937
- let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = ma(), d, f, p = !1, m = t(() => {
4013
+ function Na(e) {
4014
+ let n = C(0), r, i = 0, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map(), u = wa(), d, f, p = !1, m = t(() => {
3938
4015
  let t = e.renderingOptions.value.sampling;
3939
4016
  return e.sourceTrackLayouts.value.flatMap((n) => {
3940
4017
  let r = n.xScale.domain();
@@ -3999,13 +4076,13 @@ function Ca(e) {
3999
4076
  revision: 0,
4000
4077
  dataset: t.source.toWorkerDataset()
4001
4078
  });
4002
- !u.isCurrent(n) || !_a(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4079
+ !u.isCurrent(n) || !Da(r) || r.status !== "ok" && r.status !== "stale-revision" || a.set(t.request.datasetId, r.revision);
4003
4080
  }));
4004
4081
  }, x = async (t, n = !1) => {
4005
4082
  let o = m.value, c = { ...e.linePointOverrides.value }, l = [], d = [];
4006
4083
  if (o.forEach((e) => {
4007
- let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && pa(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4008
- e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(ba(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = xa(e)), l.push({
4084
+ let r = e.visibleRange.end - e.visibleRange.start, i = n ? s.get(e.series.id) : void 0, a = e.request.mode === "auto" && Ca(r, e.request.autoThreshold, e.request.autoHysteresis ?? 0, i) === "raw";
4085
+ e.request.mode === "raw" || a ? (c[e.series.id] = e.source.pointsInRange(e.visibleRange.start, e.visibleRange.end), s.set(e.series.id, "raw"), d.push(Aa(e, t))) : (c[e.series.id]?.length || (c[e.series.id] = ja(e)), l.push({
4009
4086
  ...e,
4010
4087
  request: {
4011
4088
  ...e.request,
@@ -4017,7 +4094,7 @@ function Ca(e) {
4017
4094
  e.linePointOverrides.value = c, v(d);
4018
4095
  return;
4019
4096
  }
4020
- if (e.linePointOverrides.value = c, r ??= ga(), await b(r, l, t), !u.isCurrent(t)) return;
4097
+ if (e.linePointOverrides.value = c, r ??= Ea(), await b(r, l, t), !u.isCurrent(t)) return;
4021
4098
  let f = l.map((e) => ({
4022
4099
  ...e.request,
4023
4100
  revision: a.get(e.request.datasetId) ?? 1
@@ -4032,22 +4109,22 @@ function Ca(e) {
4032
4109
  p = e;
4033
4110
  } catch (n) {
4034
4111
  if (!u.isCurrent(t)) return;
4035
- y(Sa(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4112
+ y(Ma(n instanceof Error ? n.message : String(n), e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id)));
4036
4113
  return;
4037
4114
  }
4038
4115
  if (!u.isCurrent(t)) return;
4039
4116
  let h = new Map(l.map((e) => [e.series.id, e.source]));
4040
4117
  p.results.forEach((e) => {
4041
- let t = h.get(e.seriesId), n = t ? ya(e, t) : void 0;
4042
- n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Sa(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4043
- }), p.workerError && y(Sa(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Sa(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4118
+ let t = h.get(e.seriesId), n = t ? ka(e, t) : void 0;
4119
+ n && (e.status === "ok" || e.status === "wasm-unavailable") && (c[e.seriesId] = n), d.push(e.diagnostics), s.set(e.seriesId, e.diagnostics.selectedMode), e.status === "wasm-unavailable" && y(Ma(p.workerError ?? "WASM sampling is unavailable.", e.diagnostics.mode, e.diagnostics.backend === "javascript" ? "javascript" : "none", [e.seriesId]));
4120
+ }), p.workerError && y(Ma(p.workerError, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), r.workerFailureReason && p.results.every((e) => e.status !== "wasm-unavailable") && y(Ma(r.workerFailureReason, e.renderingOptions.value.sampling.mode, "javascript", l.map((e) => e.series.id))), e.linePointOverrides.value = { ...c }, v(d);
4044
4121
  };
4045
4122
  return O(h, () => {
4046
4123
  f && clearTimeout(f);
4047
4124
  let t = p;
4048
4125
  p = !0, u.schedule((e) => x(e, t)), t && e.renderingOptions.value.sampling.mode === "auto" && e.renderingOptions.value.sampling.autoHysteresis > 0 && (f = setTimeout(() => {
4049
4126
  f = void 0, u.schedule((e) => x(e, !1));
4050
- }, va));
4127
+ }, Oa));
4051
4128
  }, { immediate: !0 }), O(e.preparedSeries, () => {
4052
4129
  u.cancelPending(), n.value += 1, e.linePointOverrides.value = {}, a.clear(), o.clear(), s.clear(), c.clear(), r?.dispose(), r = void 0;
4053
4130
  }, { flush: "sync" }), _(() => {
@@ -4056,11 +4133,11 @@ function Ca(e) {
4056
4133
  }
4057
4134
  //#endregion
4058
4135
  //#region src/components/core/useWaveformChartController.ts
4059
- function wa(e, t) {
4136
+ function Pa(e, t) {
4060
4137
  e.value = t instanceof Element ? t : void 0;
4061
4138
  }
4062
- function Ta(e, t) {
4063
- let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(K), p = C([]), m = b({}), h = b({}), g = S({
4139
+ function Fa(e, t) {
4140
+ let n = b(), r = b(), i = b(), a = b(), o = b(0), s = b(0), c = b(0), l = b(0), u = b(0), f = C(q), p = C([]), m = b({}), h = b({}), g = S({
4064
4141
  points: [],
4065
4142
  trackIndex: null,
4066
4143
  queryX: null,
@@ -4069,11 +4146,13 @@ function Ta(e, t) {
4069
4146
  x: 0,
4070
4147
  y: 0
4071
4148
  }
4072
- }), _ = b(!1), v = b(1), x = C(), w = le("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Ar();
4149
+ }), _ = b(!1), v = b(1), x = C(), w = ce("waveform-clip"), E = b(new Set(e.defaultHiddenSeriesIds)), D = mt(), A = C({}), j = b([]), M = Rr();
4073
4150
  O([() => e.yDomain, () => e.yDomains], () => {
4074
4151
  m.value = {}, h.value = {};
4075
4152
  }, { deep: !0 });
4076
- let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = Fr(() => e.data, () => I(), () => L()), z = xi({
4153
+ let N = C(null), P = b(!1), F = b(!1), I = () => void 0, L = () => void 0, R = () => void 0, z = Ur(() => e.data, () => {
4154
+ R(), I();
4155
+ }, () => L()), B = ji({
4077
4156
  props: e,
4078
4157
  observedWidth: o,
4079
4158
  observedHeight: s,
@@ -4081,110 +4160,112 @@ function Ta(e, t) {
4081
4160
  measuredTitleHeight: l,
4082
4161
  internalHiddenSeriesIds: E,
4083
4162
  paginationBandHeight: u
4084
- }), { chartWidth: B, chartHeight: V, isCleanView: H, isPresentationMode: U, hiddenSeriesIdSet: W, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: ie, innerHeight: G } = z, q = _i({
4163
+ }), { chartWidth: V, chartHeight: H, isCleanView: U, isPresentationMode: W, hiddenSeriesIdSet: G, resolvedTitleText: ee, titleAreaReserved: te, titleMeasureStyle: ne, titleAreaHeight: re, chartTopMargin: K, innerHeight: J } = B, ie = Di({
4085
4164
  props: e,
4086
- preparedSeries: R,
4165
+ preparedSeries: z,
4087
4166
  currentPage: v,
4088
- hiddenSeriesIdSet: W,
4089
- chartWidth: B,
4090
- innerHeight: G,
4091
- isCleanView: H,
4167
+ hiddenSeriesIdSet: G,
4168
+ chartWidth: V,
4169
+ innerHeight: J,
4170
+ isCleanView: U,
4092
4171
  sharedTransform: f,
4093
4172
  independentTransforms: p,
4094
4173
  sharedYDomains: m,
4095
4174
  independentYDomains: h,
4096
4175
  annotationInteraction: d(D),
4097
4176
  linePointOverrides: A
4098
- }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: ce, gridOptions: ue, pageCount: de, pagedTracks: J, resolvedChartLeftMargin: fe, innerWidth: Y, hasChartArea: pe, activeInteractionMode: me, isZoomMode: he, initialXDomain: ge, sharedZoomDomain: _e, resolveInitialTrackDomain: ve, annotationLayoutsForTrack: ye, resolveSeriesYScale: be } = q;
4099
- Ca({
4177
+ }), { chartSeries: ae, chartTracks: oe, renderingOptions: se, trackLayouts: le, gridOptions: ue, pageCount: Y, pagedTracks: de, resolvedChartLeftMargin: fe, innerWidth: pe, hasChartArea: me, activeInteractionMode: he, isZoomMode: ge, initialXDomain: _e, sharedZoomDomain: ve, resolveInitialTrackDomain: ye, annotationLayoutsForTrack: be, resolveSeriesYScale: xe } = ie;
4178
+ Na({
4100
4179
  props: e,
4101
4180
  emit: t,
4102
4181
  instanceId: w,
4103
- preparedSeries: R,
4104
- sourceTrackLayouts: ce,
4182
+ preparedSeries: z,
4183
+ sourceTrackLayouts: le,
4105
4184
  renderingOptions: se,
4106
4185
  linePointOverrides: A
4107
4186
  }), k(() => {
4108
- u.value = ue.value.showPagination && de.value > 1 && B.value <= 520 ? 40 : 0;
4187
+ u.value = ue.value.showPagination && Y.value > 1 && V.value <= 520 ? 40 : 0;
4109
4188
  });
4110
- let xe = jr({
4189
+ let X = zr({
4111
4190
  props: e,
4112
4191
  emit: t,
4113
4192
  svgElement: r,
4114
4193
  sharedOverlayElement: a,
4115
4194
  sharedTransform: f,
4116
4195
  independentTransforms: p,
4117
- trackLayouts: ce,
4118
- initialXDomain: ge,
4119
- sharedZoomDomain: _e,
4120
- innerWidth: Y,
4121
- innerHeight: G,
4122
- hasChartArea: pe,
4123
- isZoomMode: he,
4124
- isPresentationMode: U,
4125
- resolveInitialTrackDomain: ve,
4126
- cancelPendingHover: () => Ce.cancelPendingHover()
4127
- }), X = fr({
4196
+ trackLayouts: le,
4197
+ initialXDomain: _e,
4198
+ sharedZoomDomain: ve,
4199
+ innerWidth: pe,
4200
+ innerHeight: J,
4201
+ hasChartArea: me,
4202
+ isZoomMode: ge,
4203
+ isPresentationMode: W,
4204
+ resolveInitialTrackDomain: ye,
4205
+ cancelPendingHover: () => we.cancelPendingHover()
4206
+ });
4207
+ R = X.prepareForDataChange;
4208
+ let Se = hr({
4128
4209
  props: e,
4129
4210
  emit: t,
4130
4211
  container: n,
4131
4212
  chartSeries: ae,
4132
- hiddenSeriesIdSet: W,
4213
+ hiddenSeriesIdSet: G,
4133
4214
  internalHiddenSeriesIds: E,
4134
4215
  annotationInteraction: D,
4135
4216
  editorSeriesOptions: j,
4136
- trackLayouts: ce,
4137
- annotationLayoutsForTrack: ye,
4138
- resolveSeriesYScale: be,
4139
- chartWidth: B,
4140
- chartHeight: V,
4141
- innerWidth: Y,
4217
+ trackLayouts: le,
4218
+ annotationLayoutsForTrack: be,
4219
+ resolveSeriesYScale: xe,
4220
+ chartWidth: V,
4221
+ chartHeight: H,
4222
+ innerWidth: pe,
4142
4223
  resolvedChartLeftMargin: fe,
4143
4224
  titleAreaHeight: re,
4144
- chartTopMargin: ie,
4145
- activeInteractionMode: me,
4146
- isPresentationMode: U
4147
- }), Se = kr({
4225
+ chartTopMargin: K,
4226
+ activeInteractionMode: he,
4227
+ isPresentationMode: W
4228
+ }), Ce = Lr({
4148
4229
  props: e,
4149
4230
  emit: t,
4150
4231
  selection: N,
4151
4232
  spacePressed: P,
4152
- trackLayouts: ce,
4233
+ trackLayouts: le,
4153
4234
  chartTracks: oe,
4154
- initialXDomain: ge,
4155
- innerWidth: Y,
4156
- innerHeight: G,
4235
+ initialXDomain: _e,
4236
+ innerWidth: pe,
4237
+ innerHeight: J,
4157
4238
  sharedOverlayElement: a,
4158
4239
  sharedTransform: f,
4159
4240
  independentTransforms: p,
4160
4241
  sharedYDomains: m,
4161
4242
  independentYDomains: h,
4162
- isZoomMode: he,
4163
- isPresentationMode: U,
4243
+ isZoomMode: ge,
4244
+ isPresentationMode: W,
4164
4245
  editorSeriesOptions: j,
4165
- resolveInitialTrackDomain: ve,
4166
- canZoomTrack: xe.canZoomTrack,
4167
- canZoomSharedTracks: xe.canZoomSharedTracks,
4168
- configureZoom: xe.configureZoom,
4169
- cancelPendingZoom: xe.cancelPendingZoom,
4170
- clearHover: () => Ce.clearHover(),
4171
- resolveTrackAtPointer: X.resolveTrackAtPointer
4172
- }), Ce = pr({
4246
+ resolveInitialTrackDomain: ye,
4247
+ canZoomTrack: X.canZoomTrack,
4248
+ canZoomSharedTracks: X.canZoomSharedTracks,
4249
+ configureZoom: X.configureZoom,
4250
+ cancelPendingZoom: X.cancelPendingZoom,
4251
+ clearHover: () => we.clearHover(),
4252
+ resolveTrackAtPointer: Se.resolveTrackAtPointer
4253
+ }), we = gr({
4173
4254
  emit: t,
4174
4255
  hoverState: g,
4175
4256
  suppressHoverUntilMove: _,
4176
4257
  hoverThrottle: M,
4177
4258
  selection: N,
4178
- trackLayouts: ce,
4179
- innerWidth: Y,
4259
+ trackLayouts: le,
4260
+ innerWidth: pe,
4180
4261
  resolvedChartLeftMargin: fe,
4181
4262
  titleAreaHeight: re,
4182
- chartTopMargin: ie,
4263
+ chartTopMargin: K,
4183
4264
  sharedOverlayElement: a,
4184
- isPresentationMode: U,
4185
- updateViewportDrag: Se.updateViewportDrag,
4186
- resolveTrackAtPointer: X.resolveTrackAtPointer
4187
- }), we = Nr({
4265
+ isPresentationMode: W,
4266
+ updateViewportDrag: Ce.updateViewportDrag,
4267
+ resolveTrackAtPointer: Se.resolveTrackAtPointer
4268
+ }), Te = Vr({
4188
4269
  props: e,
4189
4270
  emit: t,
4190
4271
  container: n,
@@ -4200,41 +4281,41 @@ function Ta(e, t) {
4200
4281
  spacePressed: P,
4201
4282
  pointerInsideChart: F,
4202
4283
  currentPage: v,
4203
- pageCount: de,
4204
- pagedTracks: J,
4284
+ pageCount: Y,
4285
+ pagedTracks: de,
4205
4286
  gridOptions: ue,
4206
4287
  chartSeries: ae,
4207
4288
  chartTracks: oe,
4208
- trackLayouts: ce,
4209
- innerWidth: Y,
4210
- innerHeight: G,
4211
- sharedZoomDomain: _e,
4212
- initialXDomain: ge,
4289
+ trackLayouts: le,
4290
+ innerWidth: pe,
4291
+ innerHeight: J,
4292
+ sharedZoomDomain: ve,
4293
+ initialXDomain: _e,
4213
4294
  sharedTransform: f,
4214
- activeInteractionMode: me,
4215
- hiddenSeriesIdSet: W,
4295
+ activeInteractionMode: he,
4296
+ hiddenSeriesIdSet: G,
4216
4297
  internalHiddenSeriesIds: E,
4217
4298
  independentTransforms: p,
4218
4299
  independentYDomains: h,
4219
- resolveInitialTrackDomain: ve,
4300
+ resolveInitialTrackDomain: ye,
4220
4301
  annotationInteraction: D,
4221
4302
  editorSeriesOptions: j,
4222
- isPresentationMode: U,
4223
- clearHover: Ce.clearHover,
4224
- cancelAnnotation: X.cancelAnnotation,
4225
- configureZoom: xe.configureZoom,
4226
- resetViewport: Se.resetViewport,
4227
- cancelViewportDrag: Se.cancelViewportDrag,
4228
- cancelPendingHover: Ce.cancelPendingHover,
4229
- clearZoomBindings: xe.clearZoomBindings
4303
+ isPresentationMode: W,
4304
+ clearHover: we.clearHover,
4305
+ cancelAnnotation: Se.cancelAnnotation,
4306
+ configureZoom: X.configureZoom,
4307
+ resetViewport: Ce.resetViewport,
4308
+ cancelViewportDrag: Ce.cancelViewportDrag,
4309
+ cancelPendingHover: we.cancelPendingHover,
4310
+ clearZoomBindings: X.clearZoomBindings
4230
4311
  });
4231
- return I = we.handleBeforeDataReferenceChange, L = we.handleDataReferenceChange, y({
4312
+ return I = Te.handleBeforeDataReferenceChange, L = Te.handleDataReferenceChange, y({
4232
4313
  ...T(e),
4233
- ...z,
4234
- ...q,
4235
- ...X,
4314
+ ...B,
4315
+ ...ie,
4236
4316
  ...Se,
4237
4317
  ...Ce,
4318
+ ...we,
4238
4319
  margin: Lt,
4239
4320
  getPageSize: Bn,
4240
4321
  currentPage: v,
@@ -4246,35 +4327,35 @@ function Ta(e, t) {
4246
4327
  contextMenu: D.contextMenu,
4247
4328
  editorSeriesOptions: j,
4248
4329
  clipPathId: w,
4249
- goToPage: we.goToPage,
4250
- setContainer: (e) => wa(n, e),
4251
- setSvgElement: (e) => wa(r, e),
4252
- setTitleMeasureElement: (e) => wa(i, e),
4253
- setSharedOverlayElement: (e) => wa(a, e)
4330
+ goToPage: Te.goToPage,
4331
+ setContainer: (e) => Pa(n, e),
4332
+ setSvgElement: (e) => Pa(r, e),
4333
+ setTitleMeasureElement: (e) => Pa(i, e),
4334
+ setSharedOverlayElement: (e) => Pa(a, e)
4254
4335
  });
4255
4336
  }
4256
4337
  //#endregion
4257
4338
  //#region src/components/annotation/WaveformAnnotationEditor.vue?vue&type=script&setup=true&lang.ts
4258
- var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4339
+ var Ia = ["id"], La = { class: "waveform-annotation-editor__content" }, Ra = {
4259
4340
  class: "waveform-annotation-editor__coordinates",
4260
4341
  "aria-label": "标注坐标"
4261
- }, ka = ["aria-invalid"], Aa = {
4342
+ }, za = ["aria-invalid"], Ba = {
4262
4343
  class: "waveform-annotation-editor__coordinate-value",
4263
4344
  "aria-hidden": "true"
4264
- }, ja = ["id"], Ma = {
4345
+ }, Va = ["id"], Ha = {
4265
4346
  key: 0,
4266
4347
  class: "waveform-annotation-editor__series",
4267
4348
  "aria-label": "标注所属波形"
4268
- }, Na = { class: "waveform-annotation-editor__series-label" }, Pa = ["value"], Fa = ["value"], Ia = { key: 1 }, La = { class: "waveform-annotation-editor__field" }, Ra = { class: "waveform-annotation-editor__label-row" }, za = ["maxlength"], Ba = { class: "waveform-annotation-editor__colors" }, Va = {
4349
+ }, Ua = { class: "waveform-annotation-editor__series-label" }, Wa = ["value"], Ga = ["value"], Ka = { key: 1 }, qa = { class: "waveform-annotation-editor__field" }, Ja = { class: "waveform-annotation-editor__label-row" }, Ya = ["maxlength"], Xa = { class: "waveform-annotation-editor__colors" }, Za = {
4269
4350
  class: "waveform-annotation-editor__color-field",
4270
4351
  title: "调整标注边框色和透明度"
4271
- }, Ha = {
4352
+ }, Qa = {
4272
4353
  class: "waveform-annotation-editor__color-field",
4273
4354
  title: "调整标注文字色和透明度"
4274
- }, Ua = {
4355
+ }, $a = {
4275
4356
  class: "waveform-annotation-editor__color-field",
4276
4357
  title: "调整标注背景色和透明度"
4277
- }, Wa = /*#__PURE__*/ et(/* @__PURE__ */ l({
4358
+ }, eo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4278
4359
  __name: "WaveformAnnotationEditor",
4279
4360
  props: {
4280
4361
  annotation: {},
@@ -4294,7 +4375,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4294
4375
  let u = c(async () => typeof window > "u" ? {
4295
4376
  name: "WaveformColorPickerSsrFallback",
4296
4377
  render: () => null
4297
- } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = le("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4378
+ } : (await import("vue3-colorpicker")).ColorPicker), d = o, p = l, h = b(), g = ce("waveform-annotation-editor-title"), _ = b(""), y = b(""), S = b(!1), C = b(""), T = b(""), k = b(""), M = t(() => S.value && (!y.value.trim() || !Number.isFinite(Number(y.value))) ? "请输入有效的时间" : ""), N = t(() => S.value && (M.value || d.timeError) || ""), P = t(() => _.value.trim().length > 0 && y.value.trim().length > 0 && Number.isFinite(Number(y.value)) && !N.value), F = t(() => _.value.length), I = t(() => {
4298
4379
  let e = d.seriesOptions?.find((e) => e.seriesId === d.annotation.seriesId);
4299
4380
  return e ? {
4300
4381
  id: e.seriesId,
@@ -4332,7 +4413,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4332
4413
  let t = e.target;
4333
4414
  t.value && p("series-change", t.value);
4334
4415
  }
4335
- return (t, o) => (v(), n(E(oe), {
4416
+ return (t, o) => (v(), n(E(ae), {
4336
4417
  visible: !0,
4337
4418
  width: 440,
4338
4419
  "mask-closable": !0,
@@ -4345,15 +4426,15 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4345
4426
  onCancel: o[4] ||= (e) => p("cancel"),
4346
4427
  onOk: B
4347
4428
  }, {
4348
- title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ea)]),
4349
- default: A(() => [a("div", Da, [
4350
- a("div", Oa, [
4429
+ title: A(() => [a("span", { id: E(g) }, w(d.mode === "add" ? "添加标注" : "编辑标注"), 9, Ia)]),
4430
+ default: A(() => [a("div", La, [
4431
+ a("div", Ra, [
4351
4432
  a("label", {
4352
4433
  class: "waveform-annotation-editor__coordinate-input",
4353
4434
  "aria-invalid": !!N.value
4354
4435
  }, [
4355
4436
  o[5] ||= a("b", null, "X", -1),
4356
- s(E(ae), {
4437
+ s(E(ie), {
4357
4438
  value: y.value === "" ? void 0 : Number(y.value),
4358
4439
  controls: !0,
4359
4440
  step: .001,
@@ -4370,26 +4451,26 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4370
4451
  "aria-invalid",
4371
4452
  "aria-describedby"
4372
4453
  ]),
4373
- a("code", Aa, w(y.value), 1)
4374
- ], 8, ka),
4454
+ a("code", Ba, w(y.value), 1)
4455
+ ], 8, za),
4375
4456
  N.value ? (v(), i("p", {
4376
4457
  key: 0,
4377
4458
  id: `${E(g)}-time-error`,
4378
4459
  class: "waveform-annotation-editor__coordinate-error",
4379
4460
  role: "alert"
4380
- }, w(N.value), 9, ja)) : r("", !0),
4461
+ }, w(N.value), 9, Va)) : r("", !0),
4381
4462
  a("span", null, [o[6] ||= a("b", null, "Y", -1), a("code", null, w(E(Ot)(d.annotation.y)), 1)])
4382
4463
  ]),
4383
4464
  o[13] ||= a("p", {
4384
4465
  class: "waveform-annotation-editor__coordinate-hint",
4385
4466
  role: "note"
4386
4467
  }, " 修改 X 轴后失焦时会自动吸附最近的采样点 ", -1),
4387
- I.value ? (v(), i("label", Ma, [
4468
+ I.value ? (v(), i("label", Ha, [
4388
4469
  a("i", {
4389
4470
  style: m({ backgroundColor: I.value.color }),
4390
4471
  "aria-hidden": "true"
4391
4472
  }, null, 4),
4392
- a("span", Na, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4473
+ a("span", Ua, [o[7] ||= a("small", null, "标注波形", -1), a("b", null, w(I.value.name), 1)]),
4393
4474
  d.seriesOptions?.length ? (v(), i("select", {
4394
4475
  key: 0,
4395
4476
  value: d.annotation.seriesId,
@@ -4398,9 +4479,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4398
4479
  }, [(v(!0), i(e, null, x(d.seriesOptions, (e) => (v(), i("option", {
4399
4480
  key: e.seriesId,
4400
4481
  value: e.seriesId
4401
- }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Fa))), 128))], 40, Pa)) : I.value.unit ? (v(), i("code", Ia, w(I.value.unit), 1)) : r("", !0)
4482
+ }, w(e.name) + w(e.unit ? ` (${e.unit})` : ""), 9, Ga))), 128))], 40, Wa)) : I.value.unit ? (v(), i("code", Ka, w(I.value.unit), 1)) : r("", !0)
4402
4483
  ])) : r("", !0),
4403
- a("label", La, [a("span", Ra, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4484
+ a("label", qa, [a("span", Ja, [o[8] ||= a("b", null, "标注文本", -1), a("small", null, w(F.value) + "/" + w(E(40)), 1)]), j(a("textarea", {
4404
4485
  ref_key: "textarea",
4405
4486
  ref: h,
4406
4487
  "onUpdate:modelValue": o[0] ||= (e) => _.value = e,
@@ -4409,10 +4490,10 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4409
4490
  "aria-label": "标注文本",
4410
4491
  placeholder: "输入这处波形的说明",
4411
4492
  onKeydown: V
4412
- }, null, 40, za), [[D, _.value]])]),
4413
- a("fieldset", Ba, [
4493
+ }, null, 40, Ya), [[D, _.value]])]),
4494
+ a("fieldset", Xa, [
4414
4495
  o[12] ||= a("legend", null, "颜色与透明度", -1),
4415
- a("label", Va, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4496
+ a("label", Za, [o[9] ||= a("span", null, "边框色", -1), s(E(u), {
4416
4497
  "pure-color": C.value,
4417
4498
  "onUpdate:pureColor": o[1] ||= (e) => C.value = e,
4418
4499
  "aria-label": "标注边框色",
@@ -4422,7 +4503,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4422
4503
  "disable-alpha": !1,
4423
4504
  "blur-close": !0
4424
4505
  }, null, 8, ["pure-color"])]),
4425
- a("label", Ha, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4506
+ a("label", Qa, [o[10] ||= a("span", null, "文字色", -1), s(E(u), {
4426
4507
  "pure-color": T.value,
4427
4508
  "onUpdate:pureColor": o[2] ||= (e) => T.value = e,
4428
4509
  "aria-label": "标注文字色",
@@ -4432,7 +4513,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4432
4513
  "disable-alpha": !1,
4433
4514
  "blur-close": !0
4434
4515
  }, null, 8, ["pure-color"])]),
4435
- a("label", Ua, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4516
+ a("label", $a, [o[11] ||= a("span", null, "背景色", -1), s(E(u), {
4436
4517
  "pure-color": k.value,
4437
4518
  "onUpdate:pureColor": o[3] ||= (e) => k.value = e,
4438
4519
  "aria-label": "标注背景色",
@@ -4447,13 +4528,13 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4447
4528
  _: 1
4448
4529
  }, 8, ["ok-button-props"]));
4449
4530
  }
4450
- }), [["__scopeId", "data-v-01ecd3a4"]]), Ga = { class: "waveform-tooltip__series-content" }, Ka = { class: "waveform-tooltip__series-label" }, qa = {
4531
+ }), [["__scopeId", "data-v-01ecd3a4"]]), to = { class: "waveform-tooltip__series-content" }, no = { class: "waveform-tooltip__series-label" }, ro = {
4451
4532
  key: 0,
4452
4533
  class: "waveform-tooltip__value"
4453
- }, Ja = {
4534
+ }, io = {
4454
4535
  key: 1,
4455
4536
  class: "waveform-tooltip__value waveform-tooltip__value--missing"
4456
- }, Ya = 12, Xa = 8, Za = 238, Qa = 560, $a = 20, eo = 20, to = /*#__PURE__*/ et(/* @__PURE__ */ l({
4537
+ }, ao = 12, oo = 8, so = 238, co = 560, lo = 20, uo = 20, fo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4457
4538
  __name: "WaveformTooltip",
4458
4539
  props: {
4459
4540
  visible: { type: Boolean },
@@ -4467,7 +4548,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4467
4548
  setup(n) {
4468
4549
  let s = n;
4469
4550
  function c(e, t) {
4470
- let n = Math.max(1, t - $a - 14), r = Math.max(1, Math.floor(n / 7.2));
4551
+ let n = Math.max(1, t - lo - 14), r = Math.max(1, Math.floor(n / 7.2));
4471
4552
  return Math.max(1, Math.ceil([...e].length / r));
4472
4553
  }
4473
4554
  function l(e) {
@@ -4475,18 +4556,18 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4475
4556
  return `${e.shotNo?.trim() || "未配置炮号"}: ${e.name}${e.unit ? `(${e.unit})` : ""} ${t}`;
4476
4557
  }
4477
4558
  function u(e) {
4478
- return 16 + eo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4559
+ return 16 + uo * s.seriesPoints.reduce((t, n) => t + c(l(n), e), 0) + 5;
4479
4560
  }
4480
4561
  let d = t(() => {
4481
4562
  if (!s.visible || !s.hoveredPoint) return { display: "none" };
4482
- let e = s.position.x + Ya, t = s.position.x - Ya - Za, n = s.containerWidth - Xa - e, r = s.position.x - Ya - Xa, i = Math.max(1, Math.min(Qa, s.containerWidth - Xa * 2)), a = e + Za <= s.containerWidth - Xa ? {
4563
+ let e = s.position.x + ao, t = s.position.x - ao - so, n = s.containerWidth - oo - e, r = s.position.x - ao - oo, i = Math.max(1, Math.min(co, s.containerWidth - oo * 2)), a = e + so <= s.containerWidth - oo ? {
4483
4564
  left: `${e}px`,
4484
- maxWidth: `${Math.min(Qa, n)}px`
4485
- } : t >= Xa ? {
4486
- right: `${s.containerWidth - s.position.x + Ya}px`,
4487
- maxWidth: `${Math.min(Qa, r)}px`
4565
+ maxWidth: `${Math.min(co, n)}px`
4566
+ } : t >= oo ? {
4567
+ right: `${s.containerWidth - s.position.x + ao}px`,
4568
+ maxWidth: `${Math.min(co, r)}px`
4488
4569
  } : {
4489
- left: `${Xa}px`,
4570
+ left: `${oo}px`,
4490
4571
  maxWidth: `${i}px`
4491
4572
  }, o = Number.parseFloat(a.maxWidth);
4492
4573
  return {
@@ -4501,9 +4582,9 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4501
4582
  }, [(v(!0), i(e, null, x(n.seriesPoints, (t) => (v(), i("span", {
4502
4583
  key: `${t.trackIndex}-${t.name}`,
4503
4584
  class: "waveform-tooltip__series waveform-chart__tooltip-series"
4504
- }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", Ga, [a("span", Ka, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", qa, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", Ja, "无数据"))])]))), 128))], 4)) : r("", !0);
4585
+ }, [a("i", { style: m({ backgroundColor: t.color }) }, null, 4), a("span", to, [a("span", no, [o(w(t.shotNo?.trim() || "未配置炮号") + ": " + w(t.name), 1), t.unit ? (v(), i(e, { key: 0 }, [o("(" + w(t.unit) + ")", 1)], 64)) : r("", !0)]), t.point ? (v(), i("span", ro, "(x:" + w(E(Nt)(t.point.x, n.timeUnit)) + " y:" + w(E(Dt)(t.point.y)) + ")", 1)) : (v(), i("span", io, "无数据"))])]))), 128))], 4)) : r("", !0);
4505
4586
  }
4506
- }), [["__scopeId", "data-v-1ae3316b"]]), no = /* @__PURE__ */ l({
4587
+ }), [["__scopeId", "data-v-1ae3316b"]]), po = /* @__PURE__ */ l({
4507
4588
  __name: "WaveformHoverHost",
4508
4589
  props: {
4509
4590
  state: {},
@@ -4514,7 +4595,7 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4514
4595
  },
4515
4596
  setup(e) {
4516
4597
  let r = e, i = t(() => r.state.points.find((e) => e.point)?.point ?? null);
4517
- return (t, r) => (v(), n(to, {
4598
+ return (t, r) => (v(), n(fo, {
4518
4599
  visible: e.visible && i.value !== null,
4519
4600
  position: e.state.position,
4520
4601
  "time-unit": e.timeUnit,
@@ -4532,16 +4613,16 @@ var Ea = ["id"], Da = { class: "waveform-annotation-editor__content" }, Oa = {
4532
4613
  "container-height"
4533
4614
  ]));
4534
4615
  }
4535
- }), ro = 13, io = 2, ao = 14, oo = 8, so = 24, co = {
4536
- circle: te,
4537
- square: re,
4538
- triangle: ie,
4539
- diamond: ne
4616
+ }), mo = 13, ho = 2, go = 14, _o = 8, vo = 24, yo = {
4617
+ circle: ee,
4618
+ square: ne,
4619
+ triangle: re,
4620
+ diamond: te
4540
4621
  };
4541
- function lo(e, t = 48) {
4542
- return e === "none" ? null : ee().type(co[e]).size(t)() ?? null;
4622
+ function bo(e, t = 48) {
4623
+ return e === "none" ? null : G().type(yo[e]).size(t)() ?? null;
4543
4624
  }
4544
- function uo(e, t, n = 48) {
4625
+ function xo(e, t, n = 48) {
4545
4626
  if (e === "none" || t.length === 0) return null;
4546
4627
  if (e === "circle") {
4547
4628
  let e = Math.sqrt(n / Math.PI);
@@ -4558,24 +4639,24 @@ function uo(e, t, n = 48) {
4558
4639
  let r = Math.sqrt(n / (2 * Math.tan(Math.PI / 6))), i = r * Math.tan(Math.PI / 6);
4559
4640
  return t.map(({ x: e, y: t }) => `M${e},${t - r}L${e + i},${t}L${e},${t + r}L${e - i},${t}Z`).join("");
4560
4641
  }
4561
- function fo(e) {
4642
+ function So(e) {
4562
4643
  return e === "none" ? null : "M1 8H25";
4563
4644
  }
4564
- function po(e) {
4645
+ function Co(e) {
4565
4646
  if (e === "dashed") return "8 5";
4566
4647
  if (e === "dash-dot") return "8 5 1.5 5";
4567
4648
  }
4568
- function mo(e) {
4569
- let t = (Number.isFinite(e) && e > 0 ? Math.min(e, so) : oo) / 2, n = ro - t, r = ro + t;
4649
+ function wo(e) {
4650
+ let t = (Number.isFinite(e) && e > 0 ? Math.min(e, vo) : _o) / 2, n = mo - t, r = mo + t;
4570
4651
  return [
4571
- `M${n} ${io}H${r}`,
4572
- `M${ro} ${io}V${ao}`,
4573
- `M${n} ${ao}H${r}`
4652
+ `M${n} ${ho}H${r}`,
4653
+ `M${mo} ${ho}V${go}`,
4654
+ `M${n} ${go}H${r}`
4574
4655
  ].join("");
4575
4656
  }
4576
4657
  //#endregion
4577
4658
  //#region src/components/rendering/WaveformSeriesLayer.vue?vue&type=script&setup=true&lang.ts
4578
- var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4659
+ var To = ["clip-path"], Eo = ["data-series-id", "data-series-name"], Do = [
4579
4660
  "data-series-id",
4580
4661
  "data-series-name",
4581
4662
  "data-y-axis-index",
@@ -4584,11 +4665,11 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4584
4665
  "d",
4585
4666
  "stroke",
4586
4667
  "stroke-dasharray"
4587
- ], vo = ["data-series-id"], yo = [
4668
+ ], Oo = ["data-series-id"], ko = [
4588
4669
  "d",
4589
4670
  "stroke",
4590
4671
  "stroke-width"
4591
- ], bo = ["data-series-id", "data-point-type"], xo = ["d", "fill"], So = /*#__PURE__*/ et(/* @__PURE__ */ l({
4672
+ ], Ao = ["data-series-id", "data-point-type"], jo = ["d", "fill"], Mo = /*#__PURE__*/ et(/* @__PURE__ */ l({
4592
4673
  __name: "WaveformSeriesLayer",
4593
4674
  props: {
4594
4675
  track: {},
@@ -4596,7 +4677,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4596
4677
  },
4597
4678
  setup(n) {
4598
4679
  let a = n, o = t(() => a.track.seriesPaths.map((e) => {
4599
- let t = uo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4680
+ let t = xo(e.series.pointType, e.pointRenderPoints.map((t) => ({
4600
4681
  x: a.track.xScale(t.x),
4601
4682
  y: e.yScale(t.y)
4602
4683
  }))), n = e.series.errorBar.capWidth / 2, r = e.errorBarRenderPoints.map((t) => {
@@ -4633,8 +4714,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4633
4714
  "data-line-style": e.series.lineStyle,
4634
4715
  d: e.path,
4635
4716
  stroke: e.series.color,
4636
- "stroke-dasharray": E(po)(e.series.lineStyle)
4637
- }, null, 8, _o)) : r("", !0),
4717
+ "stroke-dasharray": E(Co)(e.series.lineStyle)
4718
+ }, null, 8, Do)) : r("", !0),
4638
4719
  e.series.errorBar.visible ? (v(), i("g", {
4639
4720
  key: 1,
4640
4721
  class: "waveform-track__error-bars waveform-chart__error-bars",
@@ -4645,7 +4726,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4645
4726
  d: e.errorBarPath,
4646
4727
  stroke: e.series.errorBar.color || e.series.color,
4647
4728
  "stroke-width": e.series.errorBar.width
4648
- }, null, 8, yo)) : r("", !0)], 8, vo)) : r("", !0),
4729
+ }, null, 8, ko)) : r("", !0)], 8, Oo)) : r("", !0),
4649
4730
  e.series.pointType === "none" ? r("", !0) : (v(), i("g", {
4650
4731
  key: 2,
4651
4732
  class: "waveform-track__points waveform-chart__points",
@@ -4656,28 +4737,28 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4656
4737
  class: "waveform-track__point waveform-chart__point",
4657
4738
  d: e.pointPath,
4658
4739
  fill: e.series.color
4659
- }, null, 8, xo)) : r("", !0)], 8, bo))
4660
- ], 8, go))), 128))], 8, ho)) : r("", !0);
4740
+ }, null, 8, jo)) : r("", !0)], 8, Ao))
4741
+ ], 8, Eo))), 128))], 8, To)) : r("", !0);
4661
4742
  }
4662
- }), [["__scopeId", "data-v-42a3fd47"]]), Co = ["transform"], wo = ["transform"], To = {
4743
+ }), [["__scopeId", "data-v-42a3fd47"]]), No = ["transform"], Po = ["transform"], Fo = {
4663
4744
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--start waveform-chart__axis-endpoint waveform-chart__axis-endpoint--start",
4664
4745
  x: "0",
4665
4746
  y: "7",
4666
4747
  dy: "0.71em",
4667
4748
  "text-anchor": "start"
4668
- }, Eo = ["x"], Do = [
4749
+ }, Io = ["x"], Lo = [
4669
4750
  "data-y-axis-index",
4670
4751
  "data-y-axis-side",
4671
4752
  "transform"
4672
- ], Oo = { key: 2 }, ko = [
4753
+ ], Ro = { key: 2 }, zo = [
4673
4754
  "x",
4674
4755
  "y",
4675
4756
  "width"
4676
- ], Ao = ["fill", "transform"], jo = ["data-y-axis-title-index"], Mo = [
4757
+ ], Bo = ["fill", "transform"], Vo = ["data-y-axis-title-index"], Ho = [
4677
4758
  "x",
4678
4759
  "y",
4679
4760
  "width"
4680
- ], No = ["fill", "transform"], Po = /* @__PURE__ */ l({
4761
+ ], Uo = ["fill", "transform"], Wo = /* @__PURE__ */ l({
4681
4762
  __name: "WaveformTrackAxes",
4682
4763
  props: {
4683
4764
  track: {},
@@ -4706,13 +4787,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4706
4787
  if (n.track.yAxes.forEach((e, t) => {
4707
4788
  let r = s.value[t];
4708
4789
  if (!r) return;
4709
- let [i, a] = e.scale.domain(), o = Math.max(...e.tickValues), c = e.seriesList[0]?.unit, l = (e.side === "left" ? P(e.scale) : F(e.scale)).tickFormat((e) => Et(Number(e), {
4710
- axisMin: i,
4711
- axisMax: a,
4712
- topTickValue: o,
4713
- unit: c
4714
- })).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), u = W(r);
4715
- u.call(l), u.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4790
+ let i = e.seriesList[0]?.unit, a = (e.side === "left" ? P(e.scale) : F(e.scale)).tickFormat((t) => ir(Number(t), e.scale.domain(), e.tickValues, i)).tickSize(-4).tickPadding(7).tickSizeOuter(0).tickValues(e.tickValues), o = W(r);
4791
+ o.call(a), o.selectAll("path.domain").attr("display", n.axes?.y?.lineVisible === !1 ? "none" : null);
4716
4792
  }), !o.value) return;
4717
4793
  let e = W(o.value);
4718
4794
  e.call(N(n.track.xScale).tickValues(n.track.xAxisTickValues).tickFormat((e) => At(Number(e), n.track.xScale.domain(), n.timeUnit, "tick", n.axes?.x?.labelFormatter)).tickSize(-4).tickPadding(7).tickSizeOuter(0)), e.selectAll("path.domain").attr("display", n.axes?.x?.lineVisible === !1 ? "none" : null);
@@ -4737,7 +4813,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4737
4813
  ref: o,
4738
4814
  class: p(["waveform-track__axis waveform-track__axis--x waveform-chart__axis waveform-chart__axis--x", { "waveform-track__axis--line-hidden": t.axes?.x?.lineVisible === !1 }]),
4739
4815
  transform: `translate(0, ${t.track.height})`
4740
- }, null, 10, Co)) : r("", !0),
4816
+ }, null, 10, No)) : r("", !0),
4741
4817
  t.track.showXAxis ? (v(), i("g", {
4742
4818
  key: 1,
4743
4819
  class: "waveform-track__axis-endpoints waveform-chart__axis-endpoints",
@@ -4745,13 +4821,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4745
4821
  "font-family": "sans-serif",
4746
4822
  "font-size": "10",
4747
4823
  "aria-hidden": "true"
4748
- }, [a("text", To, w(t.track.endpointLabels.start), 1), a("text", {
4824
+ }, [a("text", Fo, w(t.track.endpointLabels.start), 1), a("text", {
4749
4825
  class: "waveform-track__axis-endpoint waveform-track__axis-endpoint--end waveform-chart__axis-endpoint waveform-chart__axis-endpoint--end",
4750
4826
  x: t.track.width ?? t.innerWidth,
4751
4827
  y: "7",
4752
4828
  dy: "0.71em",
4753
4829
  "text-anchor": "end"
4754
- }, w(t.track.endpointLabels.end), 9, Eo)], 8, wo)) : r("", !0),
4830
+ }, w(t.track.endpointLabels.end), 9, Io)], 8, Po)) : r("", !0),
4755
4831
  (v(!0), i(e, null, x(t.track.isEmpty ? [] : t.track.yAxes, (e) => (v(), i("g", {
4756
4832
  key: `y-axis-${t.track.index}-${e.index}`,
4757
4833
  ref_for: !0,
@@ -4760,21 +4836,21 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4760
4836
  "data-y-axis-index": e.index,
4761
4837
  "data-y-axis-side": e.side,
4762
4838
  transform: `translate(${e.x}, 0)`
4763
- }, null, 10, Do))), 128)),
4764
- !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Oo, [a("rect", {
4839
+ }, null, 10, Lo))), 128)),
4840
+ !t.cleanView && !t.track.isEmpty && t.track.hasVisibleSeries && t.track.seriesList.length === 1 && t.track.showYAxisLabel && t.track.series && c(t.track.series) && d(t.track.height, t.track.index) ? (v(), i("g", Ro, [a("rect", {
4765
4841
  class: "waveform-track__y-axis-label-bg waveform-chart__y-axis-label-bg",
4766
4842
  x: t.track.yAxisLabelX - E(12) / 2,
4767
4843
  y: t.track.height / 2 - 40,
4768
4844
  width: E(12),
4769
4845
  height: "80",
4770
4846
  rx: "2"
4771
- }, null, 8, ko), a("text", {
4847
+ }, null, 8, zo), a("text", {
4772
4848
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4773
4849
  fill: t.track.series?.color,
4774
4850
  transform: `translate(${t.track.yAxisLabelX}, ${t.track.height / 2}) rotate(-90)`,
4775
4851
  "text-anchor": "middle",
4776
4852
  "dominant-baseline": "central"
4777
- }, w(t.track.series ? c(t.track.series) : ""), 9, Ao)])) : r("", !0),
4853
+ }, w(t.track.series ? c(t.track.series) : ""), 9, Bo)])) : r("", !0),
4778
4854
  (v(!0), i(e, null, x(!t.cleanView && t.track.yAxes.length > 1 ? t.track.yAxes.filter(l) : [], (e) => (v(), i("g", {
4779
4855
  key: `y-axis-title-${t.track.index}-${e.index}`,
4780
4856
  class: "waveform-track__multi-axis-title",
@@ -4786,40 +4862,40 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4786
4862
  width: E(12),
4787
4863
  height: "80",
4788
4864
  rx: "2"
4789
- }, null, 8, Mo), a("text", {
4865
+ }, null, 8, Ho), a("text", {
4790
4866
  class: "waveform-track__y-axis-label waveform-chart__y-axis-label",
4791
4867
  fill: e.seriesList[0].color,
4792
4868
  transform: `translate(${e.labelX}, ${t.track.height / 2}) rotate(-90)`,
4793
4869
  "text-anchor": "middle",
4794
4870
  "dominant-baseline": "central"
4795
- }, w(c(e.seriesList[0])), 9, No)], 8, jo))), 128))
4871
+ }, w(c(e.seriesList[0])), 9, Uo)], 8, Vo))), 128))
4796
4872
  ], 64));
4797
4873
  }
4798
- }), Fo = [
4874
+ }), Go = [
4799
4875
  "width",
4800
4876
  "height",
4801
4877
  "fill"
4802
- ], Io = ["clip-path"], Lo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Ro = [
4878
+ ], Ko = ["clip-path"], qo = { class: "waveform-track__grid waveform-track__grid--minor waveform-chart__grid waveform-chart__grid--minor" }, Jo = [
4803
4879
  "stroke",
4804
4880
  "x1",
4805
4881
  "x2",
4806
4882
  "y2"
4807
- ], zo = [
4883
+ ], Yo = [
4808
4884
  "stroke",
4809
4885
  "x2",
4810
4886
  "y1",
4811
4887
  "y2"
4812
- ], Bo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Vo = [
4888
+ ], Xo = { class: "waveform-track__grid waveform-track__grid--major waveform-chart__grid waveform-chart__grid--major" }, Zo = [
4813
4889
  "stroke",
4814
4890
  "x1",
4815
4891
  "x2",
4816
4892
  "y2"
4817
- ], Ho = [
4893
+ ], Qo = [
4818
4894
  "stroke",
4819
4895
  "x2",
4820
4896
  "y1",
4821
4897
  "y2"
4822
- ], Uo = ["clip-path"], Wo = [
4898
+ ], $o = ["clip-path"], es = [
4823
4899
  "data-y-axis-index",
4824
4900
  "x2",
4825
4901
  "y1",
@@ -4827,7 +4903,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4827
4903
  "stroke",
4828
4904
  "stroke-width",
4829
4905
  "stroke-dasharray"
4830
- ], Go = ["x", "y"], Ko = /* @__PURE__ */ l({
4906
+ ], ts = ["x", "y"], ns = /* @__PURE__ */ l({
4831
4907
  __name: "WaveformTrackBackdrop",
4832
4908
  props: {
4833
4909
  track: {},
@@ -4852,12 +4928,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4852
4928
  height: t.track.height,
4853
4929
  fill: t.frameStyle.backgroundColor,
4854
4930
  "aria-hidden": "true"
4855
- }, null, 8, Fo)) : r("", !0),
4931
+ }, null, 8, Go)) : r("", !0),
4856
4932
  !t.track.isEmpty && t.track.hasVisibleSeries && !t.cleanView ? (v(), i("g", {
4857
4933
  key: 1,
4858
4934
  "clip-path": `url(#${t.clipPathId}-${t.track.index})`,
4859
4935
  "aria-hidden": "true"
4860
- }, [a("g", Lo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4936
+ }, [a("g", qo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMinorTicks, (e) => (v(), i("line", {
4861
4937
  key: `x-minor-${t.track.index}-${e}`,
4862
4938
  "data-grid-direction": "vertical",
4863
4939
  stroke: t.track.gridLines.verticalColor,
@@ -4865,7 +4941,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4865
4941
  x2: t.track.xScale(e),
4866
4942
  y1: "0",
4867
4943
  y2: t.track.height
4868
- }, null, 8, Ro))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4944
+ }, null, 8, Jo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMinorTicks, (e) => (v(), i("line", {
4869
4945
  key: `y-minor-${t.track.index}-${e}`,
4870
4946
  "data-grid-direction": "horizontal",
4871
4947
  stroke: t.track.gridLines.horizontalColor,
@@ -4873,7 +4949,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4873
4949
  x2: t.track.width ?? t.innerWidth,
4874
4950
  y1: t.track.yScale(e),
4875
4951
  y2: t.track.yScale(e)
4876
- }, null, 8, zo))), 128)) : r("", !0)]), a("g", Bo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4952
+ }, null, 8, Yo))), 128)) : r("", !0)]), a("g", Xo, [t.track.gridLines.vertical ? (v(!0), i(e, { key: 0 }, x(t.track.xMajorTicks, (e) => (v(), i("line", {
4877
4953
  key: `x-major-${t.track.index}-${e}`,
4878
4954
  "data-grid-direction": "vertical",
4879
4955
  stroke: t.track.gridLines.verticalColor,
@@ -4881,7 +4957,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4881
4957
  x2: t.track.xScale(e),
4882
4958
  y1: "0",
4883
4959
  y2: t.track.height
4884
- }, null, 8, Vo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4960
+ }, null, 8, Zo))), 128)) : r("", !0), t.track.gridLines.horizontal ? (v(!0), i(e, { key: 1 }, x(t.track.yMajorTicks, (e) => (v(), i("line", {
4885
4961
  key: `y-major-${t.track.index}-${e}`,
4886
4962
  "data-grid-direction": "horizontal",
4887
4963
  stroke: t.track.gridLines.horizontalColor,
@@ -4889,7 +4965,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4889
4965
  x2: t.track.width ?? t.innerWidth,
4890
4966
  y1: t.track.yScale(e),
4891
4967
  y2: t.track.yScale(e)
4892
- }, null, 8, Ho))), 128)) : r("", !0)])], 8, Io)) : r("", !0),
4968
+ }, null, 8, Qo))), 128)) : r("", !0)])], 8, Ko)) : r("", !0),
4893
4969
  !t.track.isEmpty && t.track.hasVisibleSeries && t.zeroLine.visible && !t.cleanView ? (v(), i("g", {
4894
4970
  key: 2,
4895
4971
  class: "waveform-track__zero-lines waveform-chart__zero-lines",
@@ -4906,7 +4982,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4906
4982
  stroke: t.zeroLine.color,
4907
4983
  "stroke-width": t.zeroLine.width,
4908
4984
  "stroke-dasharray": t.zeroLine.dash || void 0
4909
- }, null, 8, Wo))], 64))), 128))], 8, Uo)) : r("", !0),
4985
+ }, null, 8, es))], 64))), 128))], 8, $o)) : r("", !0),
4910
4986
  !t.track.isEmpty && t.track.hasVisibleSeries && t.frameNumber !== void 0 && !t.cleanView ? (v(), i("text", {
4911
4987
  key: 3,
4912
4988
  class: "waveform-track__watermark waveform-chart__watermark",
@@ -4916,10 +4992,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4916
4992
  "text-anchor": "middle",
4917
4993
  "dominant-baseline": "central",
4918
4994
  "aria-hidden": "true"
4919
- }, w(t.frameNumber), 13, Go)) : r("", !0)
4995
+ }, w(t.frameNumber), 13, ts)) : r("", !0)
4920
4996
  ], 64));
4921
4997
  }
4922
- }), qo = [
4998
+ }), rs = [
4923
4999
  "data-track-index",
4924
5000
  "data-track-id",
4925
5001
  "data-track-empty",
@@ -4929,19 +5005,19 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
4929
5005
  "data-track-top",
4930
5006
  "data-track-height",
4931
5007
  "transform"
4932
- ], Jo = [
5008
+ ], is = [
4933
5009
  "width",
4934
5010
  "height",
4935
5011
  "stroke",
4936
5012
  "stroke-width",
4937
5013
  "stroke-dasharray",
4938
5014
  "stroke-linecap"
4939
- ], Yo = [
5015
+ ], as = [
4940
5016
  "data-interactive",
4941
5017
  "data-independent-overlay-index",
4942
5018
  "width",
4943
5019
  "height"
4944
- ], Xo = ["x", "y"], Zo = /* @__PURE__ */ l({
5020
+ ], os = ["x", "y"], ss = /* @__PURE__ */ l({
4945
5021
  __name: "WaveformTrack",
4946
5022
  props: {
4947
5023
  track: {},
@@ -5001,7 +5077,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5001
5077
  "data-track-height": e.track.height,
5002
5078
  transform: `translate(${e.track.left ?? 0}, ${e.track.top})`
5003
5079
  }, [
5004
- s(Ko, {
5080
+ s(ns, {
5005
5081
  track: e.track,
5006
5082
  "clip-path-id": e.clipPathId,
5007
5083
  "inner-width": e.innerWidth,
@@ -5018,7 +5094,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5018
5094
  "frame-style",
5019
5095
  "zero-line"
5020
5096
  ]),
5021
- s(Po, {
5097
+ s(Wo, {
5022
5098
  track: e.track,
5023
5099
  "inner-width": e.innerWidth,
5024
5100
  "clean-view": e.cleanView,
@@ -5044,8 +5120,8 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5044
5120
  "stroke-dasharray": c.value.borderStyle === "dashed" ? "6 4" : c.value.borderStyle === "dotted" ? "1 3" : void 0,
5045
5121
  "stroke-linecap": c.value.borderStyle === "dotted" ? "round" : void 0,
5046
5122
  "aria-hidden": "true"
5047
- }, null, 8, Jo)),
5048
- s(So, {
5123
+ }, null, 8, is)),
5124
+ s(Mo, {
5049
5125
  track: e.track,
5050
5126
  "clip-path-id": e.clipPathId
5051
5127
  }, null, 8, ["track", "clip-path-id"]),
@@ -5067,7 +5143,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5067
5143
  onPointerleave: n[4] ||= (e) => o("pointer-leave"),
5068
5144
  onClick: n[5] ||= (e) => o("click", e),
5069
5145
  onContextmenu: n[6] ||= (e) => o("contextmenu", e)
5070
- }, null, 42, Yo)) : r("", !0),
5146
+ }, null, 42, as)) : r("", !0),
5071
5147
  !e.track.isEmpty && !e.track.hasVisibleSeries && !e.cleanView ? (v(), i("text", {
5072
5148
  key: 2,
5073
5149
  class: "waveform-track__no-visible-series",
@@ -5075,33 +5151,33 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5075
5151
  y: e.track.height / 2,
5076
5152
  "text-anchor": "middle",
5077
5153
  "dominant-baseline": "central"
5078
- }, " 暂无可见曲线 ", 8, Xo)) : r("", !0)
5079
- ], 10, qo));
5154
+ }, " 暂无可见曲线 ", 8, os)) : r("", !0)
5155
+ ], 10, rs));
5080
5156
  }
5081
- }), Qo = [
5157
+ }), cs = [
5082
5158
  "width",
5083
5159
  "height",
5084
5160
  "data-position",
5085
5161
  "data-orientation"
5086
- ], $o = [
5162
+ ], ls = [
5087
5163
  "disabled",
5088
5164
  "aria-pressed",
5089
5165
  "aria-label",
5090
5166
  "onClick"
5091
- ], es = [
5167
+ ], us = [
5092
5168
  "data-line-type",
5093
5169
  "data-line-style",
5094
5170
  "data-point-type",
5095
5171
  "data-error-bar-visible"
5096
- ], ts = [
5172
+ ], ds = [
5097
5173
  "d",
5098
5174
  "stroke",
5099
5175
  "stroke-dasharray"
5100
- ], ns = [
5176
+ ], fs = [
5101
5177
  "d",
5102
5178
  "stroke",
5103
5179
  "stroke-width"
5104
- ], rs = ["d", "fill"], is = ["title"], as = /*#__PURE__*/ et(/* @__PURE__ */ l({
5180
+ ], ps = ["d", "fill"], ms = ["title"], hs = /*#__PURE__*/ et(/* @__PURE__ */ l({
5105
5181
  __name: "WaveformLegend",
5106
5182
  props: {
5107
5183
  series: {},
@@ -5159,45 +5235,45 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5159
5235
  "data-point-type": e.pointType,
5160
5236
  "data-error-bar-visible": e.errorBar.visible || void 0
5161
5237
  }, [
5162
- E(fo)(e.lineType) ? (v(), i("path", {
5238
+ E(So)(e.lineType) ? (v(), i("path", {
5163
5239
  key: 0,
5164
5240
  class: "waveform-legend__line",
5165
- d: E(fo)(e.lineType) ?? void 0,
5241
+ d: E(So)(e.lineType) ?? void 0,
5166
5242
  stroke: e.color,
5167
- "stroke-dasharray": E(po)(e.lineStyle),
5243
+ "stroke-dasharray": E(Co)(e.lineStyle),
5168
5244
  "stroke-width": "1.5",
5169
5245
  fill: "none"
5170
- }, null, 8, ts)) : r("", !0),
5246
+ }, null, 8, ds)) : r("", !0),
5171
5247
  e.errorBar.visible ? (v(), i("path", {
5172
5248
  key: 1,
5173
5249
  class: "waveform-legend__error-bar",
5174
- d: E(mo)(e.errorBar.capWidth),
5250
+ d: E(wo)(e.errorBar.capWidth),
5175
5251
  stroke: e.errorBar.color || e.color,
5176
5252
  "stroke-width": e.errorBar.width,
5177
5253
  "stroke-linecap": "butt",
5178
5254
  fill: "none"
5179
- }, null, 8, ns)) : r("", !0),
5255
+ }, null, 8, fs)) : r("", !0),
5180
5256
  e.pointType === "none" ? r("", !0) : (v(), i("path", {
5181
5257
  key: 2,
5182
5258
  class: "waveform-legend__point",
5183
- d: E(lo)(e.pointType, 30) ?? void 0,
5259
+ d: E(bo)(e.pointType, 30) ?? void 0,
5184
5260
  fill: e.color,
5185
5261
  transform: "translate(13 8)"
5186
- }, null, 8, rs))
5187
- ], 8, es)), a("span", {
5262
+ }, null, 8, ps))
5263
+ ], 8, us)), a("span", {
5188
5264
  class: "waveform-legend__label",
5189
5265
  title: e.name
5190
- }, w(e.name), 9, is)], 10, $o))), 128))], 6)], 2)], 8, Qo));
5266
+ }, w(e.name), 9, ms)], 10, ls))), 128))], 6)], 2)], 8, cs));
5191
5267
  }
5192
- }), [["__scopeId", "data-v-2ae12e71"]]), os = {
5268
+ }), [["__scopeId", "data-v-2ae12e71"]]), gs = {
5193
5269
  class: "waveform-chart__hover-layer",
5194
5270
  "pointer-events": "none",
5195
5271
  "aria-hidden": "true"
5196
- }, ss = ["clip-path", "transform"], cs = [
5272
+ }, _s = ["clip-path", "transform"], vs = [
5197
5273
  "x1",
5198
5274
  "x2",
5199
5275
  "y2"
5200
- ], ls = /*#__PURE__*/ et(/* @__PURE__ */ l({
5276
+ ], ys = /*#__PURE__*/ et(/* @__PURE__ */ l({
5201
5277
  __name: "WaveformHoverLayer",
5202
5278
  props: {
5203
5279
  state: {},
@@ -5213,7 +5289,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5213
5289
  x: e.xScale(n)
5214
5290
  }] : [];
5215
5291
  }));
5216
- return (t, r) => (v(), i("g", os, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5292
+ return (t, r) => (v(), i("g", gs, [(v(!0), i(e, null, x(o.value, (e) => (v(), i("g", {
5217
5293
  key: e.track.index,
5218
5294
  class: "waveform-track__crosshair waveform-chart__crosshair",
5219
5295
  "clip-path": `url(#${n.clipPathId}-${e.track.index})`,
@@ -5223,9 +5299,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5223
5299
  x2: e.x,
5224
5300
  y1: "0",
5225
5301
  y2: e.track.height
5226
- }, null, 8, cs)], 8, ss))), 128))]));
5302
+ }, null, 8, vs)], 8, _s))), 128))]));
5227
5303
  }
5228
- }), [["__scopeId", "data-v-54a5a37d"]]), us = [
5304
+ }), [["__scopeId", "data-v-54a5a37d"]]), bs = [
5229
5305
  "data-display-mode",
5230
5306
  "data-interaction-mode",
5231
5307
  "data-presentation-mode",
@@ -5234,37 +5310,37 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5234
5310
  "data-plot-margin-top",
5235
5311
  "data-plot-margin-bottom",
5236
5312
  "data-title-area-height"
5237
- ], ds = [
5313
+ ], xs = [
5238
5314
  "role",
5239
5315
  "aria-level",
5240
5316
  "aria-hidden"
5241
- ], fs = ["data-title-scale", "data-title-wrapped"], ps = [
5317
+ ], Ss = ["data-title-scale", "data-title-wrapped"], Cs = [
5242
5318
  "width",
5243
5319
  "height",
5244
5320
  "aria-label"
5245
- ], ms = ["id"], hs = ["width", "height"], gs = ["transform"], _s = {
5321
+ ], ws = ["id"], Ts = ["width", "height"], Es = ["transform"], Ds = {
5246
5322
  key: 0,
5247
5323
  class: "waveform-chart__grid-slots",
5248
5324
  "aria-hidden": "true"
5249
- }, vs = ["transform"], ys = ["width", "height"], bs = ["width", "height"], xs = [
5325
+ }, Os = ["transform"], ks = ["width", "height"], As = ["width", "height"], js = [
5250
5326
  "x",
5251
5327
  "y",
5252
5328
  "width",
5253
5329
  "height"
5254
- ], Ss = {
5330
+ ], Ms = {
5255
5331
  key: 4,
5256
5332
  class: "waveform-chart__legend-layer"
5257
- }, Cs = [
5333
+ }, Ns = [
5258
5334
  "data-legend-track-index",
5259
5335
  "data-legend-track-id",
5260
5336
  "transform"
5261
- ], ws = ["x", "y"], Ts = ["x", "y"], Es = /* @__PURE__ */ l({
5337
+ ], Ps = ["x", "y"], Fs = ["x", "y"], Is = /* @__PURE__ */ l({
5262
5338
  __name: "WaveformChartView",
5263
5339
  props: { controller: {} },
5264
5340
  setup(t) {
5265
- let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: ee, innerHeight: te, handleSharedPointerMove: ne, beginSharedViewportDrag: re, finishViewportDrag: ie, cancelViewportDrag: G, handlePointerLeave: K, handleAnnotationClick: q, handleAnnotationContextMenu: ae, resolveFrameNumber: oe, frameStyle: ce, axes: le, resolvedZeroLine: ue, timeUnit: de, yLabel: J, handleIndependentPointerMove: fe, beginViewportDrag: Y, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
5341
+ let { displayMode: o, activeInteractionMode: c, isCleanView: l, isPresentationMode: u, selection: d, containerStyle: f, overlayMode: h, resolvedChartLeftMargin: g, titleAreaHeight: _, resolvedPlotMargin: y, pointerInsideChart: b, handleNativeContextMenu: S, titleAreaReserved: C, titleAreaStyle: D, titleVisible: O, titleMeasureStyle: k, resolvedTitleText: A, titleVisualStyle: j, titleTextStyle: M, titleLayout: N, chartWidth: P, drawingHeight: F, hasWaveformData: I, requestViewportReset: L, trackLayouts: R, clipPathId: z, chartTopMargin: B, gridCells: V, hasVisibleWaveformData: H, zoomable: U, isZoomMode: W, innerWidth: G, innerHeight: ee, handleSharedPointerMove: te, beginSharedViewportDrag: ne, finishViewportDrag: re, cancelViewportDrag: K, handlePointerLeave: q, handleAnnotationClick: J, handleAnnotationContextMenu: ie, resolveFrameNumber: ae, frameStyle: se, axes: ce, resolvedZeroLine: le, timeUnit: ue, yLabel: Y, handleIndependentPointerMove: de, beginViewportDrag: fe, hoverState: pe, showTooltip: me, selectionBox: he, renderedAnnotations: ge, annotationsVisible: _e, handleExistingAnnotationContextMenu: ve, beginAnnotationDrag: ye, handleAnnotationMove: be, endAnnotationDrag: xe, resolveLegendPosition: X, resolveLegendOrientation: Se, legendBackgroundColor: Ce, legendInteractive: we, resolvedHiddenSeriesIds: Te, toggleSeriesVisibility: Ee, resolvedXLabel: De, xAxisTitleY: Oe, hasChartArea: ke, gridOptions: Ae, pageCount: je, currentPage: Me, getPageSize: Ne, pageableTracks: Pe, goToPage: Fe, annotationInteraction: Ie, editorDraft: Le, contextMenu: Re, editorSeries: ze, editorSeriesOptions: Be, timeError: Ve, confirmAnnotation: He, cancelAnnotation: Ue, changeDraftSeries: We, changeDraftTime: Ge, editContextAnnotation: Ke, deleteContextAnnotation: qe, chartHeight: Je, setContainer: Ye, setSvgElement: Xe, setTitleMeasureElement: Ze, setSharedOverlayElement: Qe } = T(t.controller);
5266
5342
  function $e() {
5267
- b.value = !1, K.value();
5343
+ b.value = !1, q.value();
5268
5344
  }
5269
5345
  return (t, T) => (v(), i("div", {
5270
5346
  ref: E(Ye),
@@ -5311,7 +5387,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5311
5387
  style: m(E(M)),
5312
5388
  "data-title-scale": E(N).scale,
5313
5389
  "data-title-wrapped": E(N).wrapped || void 0
5314
- }, w(E(A)), 13, fs)], 4)) : r("", !0)], 12, ds)) : r("", !0),
5390
+ }, w(E(A)), 13, Ss)], 4)) : r("", !0)], 12, xs)) : r("", !0),
5315
5391
  (v(), i("svg", {
5316
5392
  ref: E(Xe),
5317
5393
  class: "waveform-chart__svg",
@@ -5328,9 +5404,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5328
5404
  }, [a("rect", {
5329
5405
  width: e.width,
5330
5406
  height: e.height
5331
- }, null, 8, hs)], 8, ms))), 128))]),
5407
+ }, null, 8, Ts)], 8, ws))), 128))]),
5332
5408
  a("g", { transform: `translate(${E(g)}, ${E(B)})` }, [
5333
- E(o) !== "compact" && !E(l) ? (v(), i("g", _s, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5409
+ E(o) !== "compact" && !E(l) ? (v(), i("g", Ds, [(v(!0), i(e, null, x(E(V), (e) => (v(), i("g", {
5334
5410
  key: `grid-slot-${e.slotIndex}`,
5335
5411
  transform: `translate(${e.left}, ${e.top})`
5336
5412
  }, [e.series ? r("", !0) : (v(), i("rect", {
@@ -5338,7 +5414,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5338
5414
  class: "waveform-chart__grid-slot-placeholder",
5339
5415
  width: e.width,
5340
5416
  height: e.cellHeight
5341
- }, null, 8, ys))], 8, vs))), 128))])) : r("", !0),
5417
+ }, null, 8, ks))], 8, Os))), 128))])) : r("", !0),
5342
5418
  E(o) !== "independent" && E(R).length && E(H) ? (v(), i("rect", {
5343
5419
  key: 1,
5344
5420
  ref: E(Qe),
@@ -5346,39 +5422,39 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5346
5422
  "is-zoomable": !E(u) && E(U) && E(W),
5347
5423
  "is-annotating": !E(u) && E(c) === "annotation"
5348
5424
  }]),
5349
- width: E(ee),
5350
- height: E(te),
5351
- onPointermove: T[0] ||= (...e) => E(ne) && E(ne)(...e),
5352
- onPointerdown: T[1] ||= (...e) => E(re) && E(re)(...e),
5353
- onPointerup: T[2] ||= (...e) => E(ie) && E(ie)(...e),
5354
- onPointercancel: T[3] ||= (...e) => E(G) && E(G)(...e),
5355
- onPointerleave: T[4] ||= (...e) => E(K) && E(K)(...e),
5356
- onClick: T[5] ||= (...e) => E(q) && E(q)(...e),
5357
- onContextmenu: T[6] ||= (...e) => E(ae) && E(ae)(...e)
5358
- }, null, 42, bs)) : r("", !0),
5359
- (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(Zo), {
5425
+ width: E(G),
5426
+ height: E(ee),
5427
+ onPointermove: T[0] ||= (...e) => E(te) && E(te)(...e),
5428
+ onPointerdown: T[1] ||= (...e) => E(ne) && E(ne)(...e),
5429
+ onPointerup: T[2] ||= (...e) => E(re) && E(re)(...e),
5430
+ onPointercancel: T[3] ||= (...e) => E(K) && E(K)(...e),
5431
+ onPointerleave: T[4] ||= (...e) => E(q) && E(q)(...e),
5432
+ onClick: T[5] ||= (...e) => E(J) && E(J)(...e),
5433
+ onContextmenu: T[6] ||= (...e) => E(ie) && E(ie)(...e)
5434
+ }, null, 42, As)) : r("", !0),
5435
+ (v(!0), i(e, null, x(E(R), (e) => (v(), n(E(ss), {
5360
5436
  key: `${e.index}-${e.id}`,
5361
5437
  track: e,
5362
5438
  "clip-path-id": E(z),
5363
- "inner-width": E(ee),
5439
+ "inner-width": E(G),
5364
5440
  zoomable: E(U),
5365
5441
  interactive: !E(u),
5366
5442
  "display-mode": E(o),
5367
5443
  "interaction-mode": E(c),
5368
- "frame-number": E(oe)(e.id),
5369
- "frame-style": E(ce),
5370
- axes: E(le),
5444
+ "frame-number": E(ae)(e.id),
5445
+ "frame-style": E(se),
5446
+ axes: E(ce),
5371
5447
  "clean-view": E(l),
5372
- "zero-line": E(ue),
5373
- "time-unit": E(de),
5374
- "y-label": E(J),
5375
- onPointerMove: (t) => E(fe)(t, e.index),
5376
- onPointerDown: (t) => E(Y)(t, e.index, !0),
5377
- onPointerUp: E(ie),
5378
- onPointerCancel: E(G),
5379
- onPointerLeave: E(K),
5380
- onClick: (t) => E(q)(t, e.index),
5381
- onContextmenu: (t) => E(ae)(t, e.index)
5448
+ "zero-line": E(le),
5449
+ "time-unit": E(ue),
5450
+ "y-label": E(Y),
5451
+ onPointerMove: (t) => E(de)(t, e.index),
5452
+ onPointerDown: (t) => E(fe)(t, e.index, !0),
5453
+ onPointerUp: E(re),
5454
+ onPointerCancel: E(K),
5455
+ onPointerLeave: E(q),
5456
+ onClick: (t) => E(J)(t, e.index),
5457
+ onContextmenu: (t) => E(ie)(t, e.index)
5382
5458
  }, null, 8, [
5383
5459
  "track",
5384
5460
  "clip-path-id",
@@ -5402,7 +5478,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5402
5478
  "onClick",
5403
5479
  "onContextmenu"
5404
5480
  ]))), 128)),
5405
- s(E(ls), {
5481
+ s(E(ys), {
5406
5482
  state: E(pe),
5407
5483
  tracks: E(R),
5408
5484
  "clip-path-id": E(z),
@@ -5421,7 +5497,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5421
5497
  width: E(he).width,
5422
5498
  height: E(he).height,
5423
5499
  "aria-hidden": "true"
5424
- }, null, 8, xs)) : r("", !0),
5500
+ }, null, 8, js)) : r("", !0),
5425
5501
  E(l) ? r("", !0) : (v(), n(E(tt), {
5426
5502
  key: 3,
5427
5503
  annotations: E(ge),
@@ -5440,13 +5516,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5440
5516
  "onMove",
5441
5517
  "onDragEnd"
5442
5518
  ])),
5443
- E(l) ? r("", !0) : (v(), i("g", Ss, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5519
+ E(l) ? r("", !0) : (v(), i("g", Ms, [(v(!0), i(e, null, x(E(R), (e) => (v(), i("g", {
5444
5520
  key: `legend-${e.index}-${e.id}`,
5445
5521
  class: "waveform-chart__legend-track",
5446
5522
  "data-legend-track-index": e.index,
5447
5523
  "data-legend-track-id": e.id,
5448
5524
  transform: `translate(${e.left}, ${e.top})`
5449
- }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(as), {
5525
+ }, [!e.isEmpty && e.legendSeries.length > 1 ? (v(), n(E(hs), {
5450
5526
  key: 0,
5451
5527
  series: e.legendSeries,
5452
5528
  position: E(X)(e.id),
@@ -5454,7 +5530,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5454
5530
  "background-color": E(Ce),
5455
5531
  interactive: E(we),
5456
5532
  "hidden-series-ids": E(Te),
5457
- width: e.width ?? E(ee),
5533
+ width: e.width ?? E(G),
5458
5534
  height: e.height,
5459
5535
  onToggle: E(Ee)
5460
5536
  }, null, 8, [
@@ -5467,24 +5543,24 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5467
5543
  "width",
5468
5544
  "height",
5469
5545
  "onToggle"
5470
- ])) : r("", !0)], 8, Cs))), 128))]))
5471
- ], 8, gs),
5546
+ ])) : r("", !0)], 8, Ns))), 128))]))
5547
+ ], 8, Es),
5472
5548
  E(De) && !E(l) ? (v(), i("text", {
5473
5549
  key: 0,
5474
5550
  class: "waveform-chart__label waveform-chart__x-label",
5475
- x: E(g) + E(ee) / 2,
5551
+ x: E(g) + E(G) / 2,
5476
5552
  y: E(Oe),
5477
5553
  "text-anchor": "middle"
5478
- }, w(E(De)), 9, ws)) : r("", !0),
5554
+ }, w(E(De)), 9, Ps)) : r("", !0),
5479
5555
  E(ke) && !E(I) ? (v(), i("text", {
5480
5556
  key: 1,
5481
5557
  class: "waveform-chart__empty",
5482
5558
  x: E(P) / 2,
5483
5559
  y: E(F) / 2,
5484
5560
  "text-anchor": "middle"
5485
- }, " 暂无有效波形数据 ", 8, Ts)) : r("", !0)
5486
- ], 40, ps)),
5487
- E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(se), {
5561
+ }, " 暂无有效波形数据 ", 8, Fs)) : r("", !0)
5562
+ ], 40, Cs)),
5563
+ E(Ae).showPagination && E(je) > 1 && !E(l) ? (v(), n(E(oe), {
5488
5564
  key: 1,
5489
5565
  class: "waveform-chart__pagination",
5490
5566
  "aria-label": "波形分页",
@@ -5500,13 +5576,13 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5500
5576
  "total",
5501
5577
  "onChange"
5502
5578
  ])) : r("", !0),
5503
- E(Le) && !E(l) && !E(u) ? (v(), n(Wa, {
5579
+ E(Le) && !E(l) && !E(u) ? (v(), n(eo, {
5504
5580
  key: 2,
5505
5581
  annotation: E(Le).annotation,
5506
5582
  mode: E(Le).mode,
5507
5583
  series: E(ze),
5508
5584
  "series-options": E(Be),
5509
- "time-unit": E(de),
5585
+ "time-unit": E(ue),
5510
5586
  "time-error": E(Ve),
5511
5587
  onConfirm: E(He),
5512
5588
  onCancel: E(Ue),
@@ -5542,10 +5618,10 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5542
5618
  "onDelete",
5543
5619
  "onClose"
5544
5620
  ])) : r("", !0),
5545
- s(E(no), {
5621
+ s(E(po), {
5546
5622
  state: E(pe),
5547
5623
  visible: E(me) && !E(u),
5548
- "time-unit": E(de),
5624
+ "time-unit": E(ue),
5549
5625
  "container-width": E(P),
5550
5626
  "container-height": E(Je)
5551
5627
  }, null, 8, [
@@ -5555,9 +5631,9 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5555
5631
  "container-width",
5556
5632
  "container-height"
5557
5633
  ])
5558
- ], 46, us));
5634
+ ], 46, bs));
5559
5635
  }
5560
- }), Ds = /* @__PURE__ */ l({
5636
+ }), Ls = /* @__PURE__ */ l({
5561
5637
  __name: "WaveformChart",
5562
5638
  props: {
5563
5639
  data: {},
@@ -5625,6 +5701,7 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5625
5701
  },
5626
5702
  emits: [
5627
5703
  "point-hover",
5704
+ "zoom-intent",
5628
5705
  "zoom-change",
5629
5706
  "zoom-end",
5630
5707
  "zoom-reset",
@@ -5640,12 +5717,12 @@ var ho = ["clip-path"], go = ["data-series-id", "data-series-name"], _o = [
5640
5717
  "sampling-error"
5641
5718
  ],
5642
5719
  setup(e, { expose: t, emit: r }) {
5643
- let i = Ta(e, r);
5720
+ let i = Fa(e, r);
5644
5721
  return t({
5645
5722
  resetViewport: i.resetViewport,
5646
5723
  setViewportDomain: i.setViewportDomain
5647
- }), (e, t) => (v(), n(Es, { controller: E(i) }, null, 8, ["controller"]));
5724
+ }), (e, t) => (v(), n(Is, { controller: E(i) }, null, 8, ["controller"]));
5648
5725
  }
5649
5726
  });
5650
5727
  //#endregion
5651
- export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ds as WaveformChart, gt as buildMinorTicks, fi as calculateWasmRange, It as clamp, kt as displayTime, pi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, ui as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, di as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };
5728
+ export { Q as DEFAULT_WAVEFORM_RENDERING_OPTIONS, Ls as WaveformChart, gt as buildMinorTicks, bi as calculateWasmRange, It as clamp, kt as displayTime, xi as findWasmVisibleRange, Mt as formatAxisTime, jt as formatEndpointTime, Nt as formatTooltipTime, vi as initializeWasmSampling, sn as normalizeWaveformData, un as normalizeWaveformSeries, ht as paddedDomain, pt as parseWaveformAnnotations, Ft as resolveTrackGeometry, Tn as resolveWaveformRenderingOptions, yi as sampleWaveformWasm, Nn as selectRenderablePoints, ft as serializeWaveformAnnotations };