qntjs-lib 2.0.3 → 2.0.4

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 (2) hide show
  1. package/dist/bundle/index.js +535 -496
  2. package/package.json +1 -1
@@ -215,7 +215,7 @@ function sn(n, t) {
215
215
  }
216
216
  return e;
217
217
  }
218
- function V() {
218
+ function S() {
219
219
  return typeof process == "undefined" || typeof process.env == "undefined" ? !1 : process.env.SKIP_DENSE_OPTIMIZATION === "true";
220
220
  }
221
221
  function dt(n, t, r, e = !0) {
@@ -229,33 +229,33 @@ function dt(n, t, r, e = !0) {
229
229
  if (!e) {
230
230
  a = 0, s = 0;
231
231
  const N = Math.min(o, t);
232
- for (let h = 1; h < N; h++) {
233
- const m = h - 1, w = n[m];
232
+ for (let m = 1; m < N; m++) {
233
+ const h = m - 1, w = n[h];
234
234
  if (f)
235
235
  for (; s > a && n[i[s - 1]] <= w; )
236
236
  s--;
237
237
  else
238
238
  for (; s > a && n[i[s - 1]] >= w; )
239
239
  s--;
240
- i[s++] = m;
241
- const v = h - t;
240
+ i[s++] = h;
241
+ const v = m - t;
242
242
  for (; s > a && i[a] < v; )
243
243
  a++;
244
244
  }
245
- for (let h = Math.max(t, 1); h < o; h++) {
246
- const m = h - 1, w = n[m];
245
+ for (let m = Math.max(t, 1); m < o; m++) {
246
+ const h = m - 1, w = n[h];
247
247
  if (f)
248
248
  for (; s > a && n[i[s - 1]] <= w; )
249
249
  s--;
250
250
  else
251
251
  for (; s > a && n[i[s - 1]] >= w; )
252
252
  s--;
253
- i[s++] = m;
254
- const v = h - t;
253
+ i[s++] = h;
254
+ const v = m - t;
255
255
  for (; s > a && i[a] < v; )
256
256
  a++;
257
257
  const d = s > a ? i[a] : -1;
258
- d >= 0 ? l[h] = f ? n[h] > n[d] ? 1 : 0 : n[h] < n[d] ? 1 : 0 : l[h] = 0;
258
+ d >= 0 ? l[m] = f ? n[m] > n[d] ? 1 : 0 : n[m] < n[d] ? 1 : 0 : l[m] = 0;
259
259
  }
260
260
  return l;
261
261
  }
@@ -267,21 +267,21 @@ function dt(n, t, r, e = !0) {
267
267
  N !== N ? (l[0] = 0, u = -1) : (u = 0, l[0] = 0);
268
268
  }
269
269
  for (let N = 1; N < c; N++) {
270
- const h = n[N];
271
- if (h !== h) {
270
+ const m = n[N];
271
+ if (m !== m) {
272
272
  l[N] = l[N - 1];
273
273
  continue;
274
274
  }
275
- const m = u;
276
- if (m >= 0) {
277
- const v = n[m];
275
+ const h = u;
276
+ if (h >= 0) {
277
+ const v = n[h];
278
278
  if (f)
279
279
  for (; s > a && n[i[s - 1]] <= v; )
280
280
  s--;
281
281
  else
282
282
  for (; s > a && n[i[s - 1]] >= v; )
283
283
  s--;
284
- i[s++] = m;
284
+ i[s++] = h;
285
285
  }
286
286
  u = N;
287
287
  const w = N - t;
@@ -289,21 +289,21 @@ function dt(n, t, r, e = !0) {
289
289
  a++;
290
290
  }
291
291
  for (let N = Math.max(t, 1); N < o; N++) {
292
- const h = n[N];
293
- if (h !== h) {
292
+ const m = n[N];
293
+ if (m !== m) {
294
294
  l[N] = l[N - 1];
295
295
  continue;
296
296
  }
297
- const m = u;
298
- if (m >= 0) {
299
- const d = n[m];
297
+ const h = u;
298
+ if (h >= 0) {
299
+ const d = n[h];
300
300
  if (f)
301
301
  for (; s > a && n[i[s - 1]] <= d; )
302
302
  s--;
303
303
  else
304
304
  for (; s > a && n[i[s - 1]] >= d; )
305
305
  s--;
306
- i[s++] = m;
306
+ i[s++] = h;
307
307
  }
308
308
  u = N;
309
309
  const w = N - t;
@@ -402,7 +402,7 @@ function At(n) {
402
402
  }
403
403
  return r;
404
404
  }
405
- function D(n) {
405
+ function P(n) {
406
406
  const t = At(n), r = t.length;
407
407
  for (let e = 0; e < r; e++)
408
408
  t[e] = t[e] ? 0 : 1;
@@ -492,12 +492,12 @@ const Do = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
492
492
  havena: k,
493
493
  isna: At,
494
494
  lag: yt,
495
- notna: D,
495
+ notna: P,
496
496
  replace: bn
497
497
  }, Symbol.toStringTag, { value: "Module" }));
498
498
  function it(n, t = !0) {
499
499
  let r = 0, e = 0;
500
- if (!V() && t && (k(n) || (t = !1)), t)
500
+ if (!S() && t && (k(n) || (t = !1)), t)
501
501
  for (let o = 0; o < n.length; o++) {
502
502
  const l = n[o];
503
503
  l === l && (r += l, e++);
@@ -509,7 +509,7 @@ function it(n, t = !0) {
509
509
  }
510
510
  return e === 0 ? NaN : r;
511
511
  }
512
- function Mn(n) {
512
+ function Fn(n) {
513
513
  const t = n.length, r = new Float64Array(t);
514
514
  let e = 0;
515
515
  for (let o = 0; o < t; o++) {
@@ -524,7 +524,7 @@ function nt(n, t, r = !0) {
524
524
  throw new Error("period must be positive");
525
525
  if (e < t)
526
526
  return o.fill(NaN);
527
- if (V() || r && !k(n) && (r = !1), !r) {
527
+ if (S() || r && !k(n) && (r = !1), !r) {
528
528
  let i = 0;
529
529
  for (let a = 0; a < t; a++)
530
530
  i += n[a];
@@ -574,7 +574,7 @@ function bt(n, t, r) {
574
574
  }
575
575
  return o;
576
576
  }
577
- function Fn(n, t) {
577
+ function Mn(n, t) {
578
578
  return bt(n, t, !1);
579
579
  }
580
580
  function xn(n, t) {
@@ -591,27 +591,27 @@ function Nt(n, t, r, e) {
591
591
  return { min: l, max: f };
592
592
  const i = new Int32Array(o), a = new Int32Array(o);
593
593
  let s = 0, u = 0, c = 0, N = 0;
594
- for (let h = 0; h < r - 1; h++) {
595
- const m = n[h], w = t[h];
596
- for (; u > s && n[i[u - 1]] > m; )
594
+ for (let m = 0; m < r - 1; m++) {
595
+ const h = n[m], w = t[m];
596
+ for (; u > s && n[i[u - 1]] >= h; )
597
597
  u--;
598
- for (; N > c && t[a[N - 1]] < w; )
598
+ for (; N > c && t[a[N - 1]] <= w; )
599
599
  N--;
600
- m === m && (i[u++] = h), w === w && (a[N++] = h);
600
+ h === h && (i[u++] = m), w === w && (a[N++] = m);
601
601
  }
602
- for (let h = r - 1; h < o; h++) {
603
- const m = n[h], w = t[h];
604
- for (; u > s && i[s] <= h - r; )
602
+ for (let m = r - 1; m < o; m++) {
603
+ const h = n[m], w = t[m];
604
+ for (; u > s && i[s] <= m - r; )
605
605
  s++;
606
- for (; u > s && n[i[u - 1]] > m; )
606
+ for (; u > s && n[i[u - 1]] > h; )
607
607
  u--;
608
- for (; N > c && a[c] <= h - r; )
608
+ for (; N > c && a[c] <= m - r; )
609
609
  c++;
610
610
  for (; N > c && t[a[N - 1]] < w; )
611
611
  N--;
612
- m === m && (i[u++] = h), w === w && (a[N++] = h);
612
+ h === h && (i[u++] = m), w === w && (a[N++] = m);
613
613
  const v = u > s ? n[i[s]] : NaN, d = N > c ? t[a[c]] : NaN;
614
- l[h] = v, f[h] = d, e && e(v, d, h);
614
+ l[m] = v, f[m] = d, e && e(v, d, m);
615
615
  }
616
616
  return { min: l, max: f };
617
617
  }
@@ -647,7 +647,7 @@ function _n(n) {
647
647
  }
648
648
  return t;
649
649
  }
650
- function Vn(n) {
650
+ function Sn(n) {
651
651
  const t = n.length, r = new Float64Array(t);
652
652
  let e = -1 / 0;
653
653
  for (let o = 0; o < t; o++) {
@@ -656,7 +656,7 @@ function Vn(n) {
656
656
  }
657
657
  return r;
658
658
  }
659
- function Sn(n) {
659
+ function Vn(n) {
660
660
  const t = n.length, r = new Float64Array(t);
661
661
  let e = 1 / 0;
662
662
  for (let o = 0; o < t; o++) {
@@ -665,7 +665,7 @@ function Sn(n) {
665
665
  }
666
666
  return r;
667
667
  }
668
- function Mt(n, t) {
668
+ function Ft(n, t) {
669
669
  const r = n.length, e = new Float64Array(r);
670
670
  if (t <= 0)
671
671
  throw new Error("period must be positive");
@@ -676,10 +676,10 @@ function Mt(n, t) {
676
676
  let l = 0, f = 0;
677
677
  for (let i = 0; i < r; i++) {
678
678
  const a = n[i];
679
- for (; f > l && o[l] <= i - t; )
679
+ for (; f > l && o[l] < i - t; )
680
680
  l++;
681
681
  if (a === a) {
682
- for (; f > l && n[o[f - 1]] > a; )
682
+ for (; f > l && n[o[f - 1]] >= a; )
683
683
  f--;
684
684
  o[f++] = i;
685
685
  }
@@ -687,7 +687,7 @@ function Mt(n, t) {
687
687
  }
688
688
  return e;
689
689
  }
690
- function Ft(n, t) {
690
+ function Mt(n, t) {
691
691
  const r = n.length, e = new Float64Array(r);
692
692
  if (t <= 0)
693
693
  throw new Error("period must be positive");
@@ -698,10 +698,10 @@ function Ft(n, t) {
698
698
  let l = 0, f = 0;
699
699
  for (let i = 0; i < r; i++) {
700
700
  const a = n[i];
701
- for (; f > l && o[l] <= i - t; )
701
+ for (; f > l && o[l] < i - t; )
702
702
  l++;
703
703
  if (a === a) {
704
- for (; f > l && n[o[f - 1]] < a; )
704
+ for (; f > l && n[o[f - 1]] <= a; )
705
705
  f--;
706
706
  o[f++] = i;
707
707
  }
@@ -781,8 +781,8 @@ function On(n, t) {
781
781
  const r = Math.min(n.length, t.length);
782
782
  let e = 0, o = 0, l = 0, f = 0, i = 0;
783
783
  for (let c = 0; c < r; c++) {
784
- const N = n[c], h = t[c];
785
- N === N && h === h && (e += N, o += h, l += N * N, f += N * h, i++);
784
+ const N = n[c], m = t[c];
785
+ N === N && m === m && (e += N, o += m, l += N * N, f += N * m, i++);
786
786
  }
787
787
  if (i === 0)
788
788
  return { intercept: NaN, slope: NaN };
@@ -815,8 +815,8 @@ function Cn(n) {
815
815
  for (let c = 0; c < t; c++)
816
816
  if (c !== o) {
817
817
  const N = r[c][o];
818
- for (let h = 0; h < t; h++)
819
- r[c][h] -= N * r[o][h], e[c][h] -= N * e[o][h];
818
+ for (let m = 0; m < t; m++)
819
+ r[c][m] -= N * r[o][m], e[c][m] -= N * e[o][m];
820
820
  }
821
821
  }
822
822
  return e;
@@ -830,13 +830,13 @@ function Tn(n, t) {
830
830
  }), f = new Array(o).fill(0);
831
831
  for (let s = 0; s < r; s++) {
832
832
  const u = n[s], c = t[s], N = [1];
833
- for (let h = 0; h < e; h++)
834
- N.push(u[h]);
835
- for (let h = 0; h < o; h++)
836
- for (let m = 0; m < o; m++)
837
- l[h][m] += N[h] * N[m];
838
- for (let h = 0; h < o; h++)
839
- f[h] += N[h] * c;
833
+ for (let m = 0; m < e; m++)
834
+ N.push(u[m]);
835
+ for (let m = 0; m < o; m++)
836
+ for (let h = 0; h < o; h++)
837
+ l[m][h] += N[m] * N[h];
838
+ for (let m = 0; m < o; m++)
839
+ f[m] += N[m] * c;
840
840
  }
841
841
  const i = Cn(l);
842
842
  if (!i)
@@ -857,10 +857,10 @@ const Oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
857
857
  avg: gt,
858
858
  ceil: Gt,
859
859
  clamp: zt,
860
- cummax: Vn,
861
- cummin: Sn,
860
+ cummax: Sn,
861
+ cummin: Vn,
862
862
  cumprod: an,
863
- cumsum: Mn,
863
+ cumsum: Fn,
864
864
  diff: $t,
865
865
  div: Xt,
866
866
  dot: Pn,
@@ -882,10 +882,10 @@ const Oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
882
882
  prod: fn,
883
883
  randnormal: jn,
884
884
  randuniform: Ln,
885
- rollargmax: Ft,
886
- rollargmin: Mt,
885
+ rollargmax: Mt,
886
+ rollargmin: Ft,
887
887
  rollmax: xn,
888
- rollmin: Fn,
888
+ rollmin: Mn,
889
889
  rollminmax: Nt,
890
890
  rollprod: sn,
891
891
  rollsum: nt,
@@ -917,11 +917,11 @@ function qn(n, t, r, e) {
917
917
  }
918
918
  return e;
919
919
  }
920
- function P(n, t, r = !0) {
920
+ function O(n, t, r = !0) {
921
921
  if (t <= 0)
922
922
  throw new Error("Period must be positive");
923
923
  const e = n.length, o = new Float64Array(e);
924
- return e < t ? o.fill(NaN) : (r && !V() && !k(n) && (r = !1), r ? qn(n, t, e, o) : Un(n, t, e, o));
924
+ return e < t ? o.fill(NaN) : (r && !S() && !k(n) && (r = !1), r ? qn(n, t, e, o) : Un(n, t, e, o));
925
925
  }
926
926
  function xt(n, t) {
927
927
  if (t <= 0)
@@ -963,7 +963,7 @@ function p(n, t, r = !0) {
963
963
  if (t <= 0)
964
964
  throw new Error("Period must be positive");
965
965
  const e = n.length, o = new Float64Array(e);
966
- return e < t ? o.fill(NaN) : (r && !V() && !k(n) && (r = !1), r ? Xn(n, t, o) : Bn(n, t, o));
966
+ return e < t ? o.fill(NaN) : (r && !S() && !k(n) && (r = !1), r ? Xn(n, t, o) : Bn(n, t, o));
967
967
  }
968
968
  function Bn(n, t, r) {
969
969
  const e = n.length, o = t * (t + 1) / 2;
@@ -986,18 +986,18 @@ function Xn(n, t, r) {
986
986
  let f = 0, i = 0, a = 0, s = 0;
987
987
  const u = Math.min(e, o);
988
988
  for (let N = 0; N < u; N++) {
989
- const h = n[N];
990
- if (l[N] = h, h === h) {
991
- const m = N + 1;
992
- f += h, i += h * m, a += m, s++;
989
+ const m = n[N];
990
+ if (l[N] = m, m === m) {
991
+ const h = N + 1;
992
+ f += m, i += m * h, a += h, s++;
993
993
  }
994
994
  r[N] = NaN;
995
995
  }
996
996
  s > 0 ? r[o - 1] = i / a : r[o - 1] = NaN;
997
997
  let c = 0;
998
998
  for (let N = o; N < e; N++) {
999
- const h = n[N], m = l[c], w = m === m, v = h === h, d = f;
1000
- w && (f -= m), v && (f += h), i = i - d + (v ? h * o : 0), a = a - s + (v ? o : 0), w && s--, v && s++, l[c] = h, c = (c + 1) % o, a > 0 ? r[N] = i / a : r[N] = NaN;
999
+ const m = n[N], h = l[c], w = h === h, v = m === m, d = f;
1000
+ w && (f -= h), v && (f += m), i = i - d + (v ? m * o : 0), a = a - s + (v ? o : 0), w && s--, v && s++, l[c] = m, c = (c + 1) % o, a > 0 ? r[N] = i / a : r[N] = NaN;
1001
1001
  }
1002
1002
  return r;
1003
1003
  }
@@ -1012,7 +1012,7 @@ function Rn(n, t, r, e = !0) {
1012
1012
  return l.fill(NaN);
1013
1013
  for (let f = 0; f < r; f++)
1014
1014
  l[f] = NaN;
1015
- return e && !V() && !k(n, t) && (e = !1), e ? zn(n, t, r, l) : Kn(n, t, r, l);
1015
+ return e && !S() && !k(n, t) && (e = !1), e ? zn(n, t, r, l) : Kn(n, t, r, l);
1016
1016
  }
1017
1017
  function zn(n, t, r, e) {
1018
1018
  const o = n.length, l = r;
@@ -1023,20 +1023,20 @@ function zn(n, t, r, e) {
1023
1023
  f[c] = NaN, i[c] = NaN;
1024
1024
  let a = 0, s = 0;
1025
1025
  for (let c = 0; c < l; c++) {
1026
- const N = n[c], h = t[c];
1027
- if (N === N && h === h) {
1028
- const m = N * h;
1029
- f[c] = m, i[c] = h, a += m, s += h;
1026
+ const N = n[c], m = t[c];
1027
+ if (N === N && m === m) {
1028
+ const h = N * m;
1029
+ f[c] = h, i[c] = m, a += h, s += m;
1030
1030
  } else
1031
1031
  f[c] = NaN, i[c] = NaN;
1032
1032
  }
1033
1033
  e[l - 1] = s !== 0 ? a / s : NaN;
1034
1034
  let u = 0;
1035
1035
  for (let c = l; c < o; c++) {
1036
- const N = n[c], h = t[c], m = f[u], w = i[u];
1037
- if (w === w && (a -= m, s -= w), N === N && h === h) {
1038
- const v = N * h;
1039
- f[u] = v, i[u] = h, a += v, s += h;
1036
+ const N = n[c], m = t[c], h = f[u], w = i[u];
1037
+ if (w === w && (a -= h, s -= w), N === N && m === m) {
1038
+ const v = N * m;
1039
+ f[u] = v, i[u] = m, a += v, s += m;
1040
1040
  } else
1041
1041
  f[u] = NaN, i[u] = NaN;
1042
1042
  u++, u === l && (u = 0), e[c] = s !== 0 ? a / s : NaN;
@@ -1101,8 +1101,31 @@ function Hn(n, t) {
1101
1101
  const r = n.length;
1102
1102
  if (r < t)
1103
1103
  return new Float64Array(r).fill(NaN);
1104
- const e = Math.floor((t + 1) / 2);
1105
- return P(P(n, e, !1), t + 1 - e, !1);
1104
+ const e = new Float64Array(r);
1105
+ e.fill(NaN);
1106
+ const o = Math.floor((t + 1) / 2), l = new Float64Array(t);
1107
+ for (let s = 0; s < t; s++)
1108
+ l[s] = s < o ? s + 1 : t - s;
1109
+ let f = 0;
1110
+ for (let s = 0; s < t; s++)
1111
+ f += l[s];
1112
+ let i = 0, a = 0;
1113
+ for (let s = 0; s < t; s++) {
1114
+ const u = n[s];
1115
+ Number.isFinite(u) && (i += l[s] * u, a += l[s]), e[s] = NaN;
1116
+ }
1117
+ e[t - 1] = a > 0 ? i / a : NaN;
1118
+ for (let s = t; s < r; s++) {
1119
+ const u = s - t, c = n[u];
1120
+ Number.isFinite(c) && (i -= l[0] * c, a -= l[0]), i = 0, a = 0;
1121
+ const N = s - t + 1;
1122
+ for (let m = 0; m < t; m++) {
1123
+ const h = n[N + m];
1124
+ Number.isFinite(h) && (i += l[m] * h, a += l[m]);
1125
+ }
1126
+ e[s] = a > 0 ? i / a : NaN;
1127
+ }
1128
+ return e;
1106
1129
  }
1107
1130
  function Wn(n, t) {
1108
1131
  if (t <= 0)
@@ -1118,34 +1141,34 @@ function Wn(n, t) {
1118
1141
  return e.fill(NaN);
1119
1142
  let f = n[l], i = 1;
1120
1143
  for (l++; l < r && i < t; ) {
1121
- const h = n[l];
1122
- l++, h === h && (f = f + o * (h - f), i++);
1144
+ const m = n[l];
1145
+ l++, m === m && (f = f + o * (m - f), i++);
1123
1146
  }
1124
1147
  if (i < t)
1125
1148
  return e.fill(NaN);
1126
1149
  let a = f, s = 1;
1127
1150
  for (; l < r && s < t; ) {
1128
- const h = n[l];
1129
- l++, h === h && (f = f + o * (h - f), i++, a = a + o * (f - a), s++);
1151
+ const m = n[l];
1152
+ l++, m === m && (f = f + o * (m - f), i++, a = a + o * (f - a), s++);
1130
1153
  }
1131
1154
  if (s < t)
1132
1155
  return e.fill(NaN);
1133
1156
  let u = a, c = 1;
1134
1157
  for (; l < r && c < t; ) {
1135
- const h = n[l];
1136
- l++, h === h && (f = f + o * (h - f), a = a + o * (f - a), u = u + o * (a - u), c++);
1158
+ const m = n[l];
1159
+ l++, m === m && (f = f + o * (m - f), a = a + o * (f - a), u = u + o * (a - u), c++);
1137
1160
  }
1138
1161
  if (c < t)
1139
1162
  return e.fill(NaN);
1140
1163
  const N = l - 1;
1141
1164
  e[N] = 3 * f - 3 * a + u, N > 0 && e.fill(NaN, 0, N);
1142
- for (let h = l; h < r; h++) {
1143
- const m = n[h];
1144
- if (m !== m) {
1145
- e[h] = NaN;
1165
+ for (let m = l; m < r; m++) {
1166
+ const h = n[m];
1167
+ if (h !== h) {
1168
+ e[m] = NaN;
1146
1169
  continue;
1147
1170
  }
1148
- f = f + o * (m - f), a = a + o * (f - a), u = u + o * (a - u), e[h] = 3 * f - 3 * a + u;
1171
+ f = f + o * (h - f), a = a + o * (f - a), u = u + o * (a - u), e[m] = 3 * f - 3 * a + u;
1149
1172
  }
1150
1173
  return e;
1151
1174
  }
@@ -1154,18 +1177,30 @@ function Gn(n, t) {
1154
1177
  if (r < t)
1155
1178
  return e.fill(NaN);
1156
1179
  const o = Math.floor(t / 2), l = Math.floor(Math.sqrt(t)), f = new Float64Array(r);
1157
- for (let s = 0; s < t - 1; s++)
1158
- f[s] = NaN;
1159
- const i = p(n, o), a = p(n, t);
1160
- for (let s = t - 1; s < r; s++)
1161
- f[s] = 2 * i[s] - a[s];
1162
- return p(f, l, !1);
1180
+ for (let h = 0; h < t - 1; h++)
1181
+ f[h] = NaN;
1182
+ const i = k(n), a = p(n, o, i), s = p(n, t, i);
1183
+ for (let h = t - 1; h < r; h++)
1184
+ f[h] = 2 * a[h] - s[h];
1185
+ let u = -1;
1186
+ for (let h = 0; h < r; h++)
1187
+ if (Number.isFinite(f[h])) {
1188
+ u = h;
1189
+ break;
1190
+ }
1191
+ if (u === -1)
1192
+ return f;
1193
+ const c = f.slice(u), N = p(c, l, i), m = new Float64Array(r);
1194
+ m.fill(NaN);
1195
+ for (let h = 0; h < N.length; h++)
1196
+ m[u + h] = N[h];
1197
+ return m;
1163
1198
  }
1164
1199
  function $n(n, t, r = 2, e = 30, o = !0) {
1165
1200
  if (t <= 0)
1166
1201
  throw new Error("Period must be positive");
1167
1202
  const l = n.length, f = new Float64Array(l);
1168
- return l < t ? (f.fill(NaN), f) : (o && !V() && !k(n) && (o = !1), o ? Jn(n, t, r, e) : ft(n, t, r, e));
1203
+ return l < t ? (f.fill(NaN), f) : (o && !S() && !k(n) && (o = !1), o ? Jn(n, t, r, e) : ft(n, t, r, e));
1169
1204
  }
1170
1205
  function ft(n, t, r, e) {
1171
1206
  const o = n.length, l = new Float64Array(o);
@@ -1178,7 +1213,7 @@ function ft(n, t, r, e) {
1178
1213
  let u = n[t - 1];
1179
1214
  l[t - 1] = u;
1180
1215
  for (let c = t; c < o; c++) {
1181
- const N = a(n[c] - n[c - t]), m = (s !== 0 ? N / s : 0) * (f - i) + i, w = m * m;
1216
+ const N = a(n[c] - n[c - t]), h = (s !== 0 ? N / s : 0) * (f - i) + i, w = h * h;
1182
1217
  if (u = u + w * (n[c] - u), l[c] = u, c + 1 < o) {
1183
1218
  const v = a(n[c + 1] - n[c]), d = a(n[c - t + 1] - n[c - t]);
1184
1219
  s += v - d;
@@ -1249,7 +1284,7 @@ function at(n, t, r = !0) {
1249
1284
  if (t <= 0)
1250
1285
  throw new Error("Period must be positive");
1251
1286
  const e = n.length, o = new Float64Array(e);
1252
- return e < t ? (o.fill(NaN), o) : (r && !V() && !k(n) && (r = !1), r ? Zn(n, t, e, o) : Qn(n, t, e, o));
1287
+ return e < t ? (o.fill(NaN), o) : (r && !S() && !k(n) && (r = !1), r ? Zn(n, t, e, o) : Qn(n, t, e, o));
1253
1288
  }
1254
1289
  function pn(n, t, r) {
1255
1290
  if (t <= 0)
@@ -1282,36 +1317,36 @@ function pn(n, t, r) {
1282
1317
  }
1283
1318
  if (u < t)
1284
1319
  return o;
1285
- let h = s / t;
1286
- for (s = h, u = 1; a < e && u < t; ) {
1320
+ let m = s / t;
1321
+ for (s = m, u = 1; a < e && u < t; ) {
1287
1322
  const y = n[a++];
1288
- y === y && (c = f * y + i * c, N = f * c + i * N, h = f * N + i * h, s += h, u++);
1323
+ y === y && (c = f * y + i * c, N = f * c + i * N, m = f * N + i * m, s += m, u++);
1289
1324
  }
1290
1325
  if (u < t)
1291
1326
  return o;
1292
- let m = s / t;
1293
- for (s = m, u = 1; a < e && u < t; ) {
1327
+ let h = s / t;
1328
+ for (s = h, u = 1; a < e && u < t; ) {
1294
1329
  const y = n[a++];
1295
- y === y && (c = f * y + i * c, N = f * c + i * N, h = f * N + i * h, m = f * h + i * m, s += m, u++);
1330
+ y === y && (c = f * y + i * c, N = f * c + i * N, m = f * N + i * m, h = f * m + i * h, s += h, u++);
1296
1331
  }
1297
1332
  if (u < t)
1298
1333
  return o;
1299
1334
  let w = s / t;
1300
1335
  for (s = w, u = 1; a < e && u < t; ) {
1301
1336
  const y = n[a++];
1302
- y === y && (c = f * y + i * c, N = f * c + i * N, h = f * N + i * h, m = f * h + i * m, w = f * m + i * w, s += w, u++);
1337
+ y === y && (c = f * y + i * c, N = f * c + i * N, m = f * N + i * m, h = f * m + i * h, w = f * h + i * w, s += w, u++);
1303
1338
  }
1304
1339
  if (u < t)
1305
1340
  return o;
1306
1341
  let v = s / t;
1307
1342
  const d = l;
1308
1343
  a = d + 1;
1309
- const A = r * r, b = -(A * r), g = 3 * (A - b), F = -6 * A - 3 * (r - b), x = 1 + 3 * r - b + 3 * A;
1344
+ const A = r * r, b = -(A * r), g = 3 * (A - b), M = -6 * A - 3 * (r - b), x = 1 + 3 * r - b + 3 * A;
1310
1345
  let I = d;
1311
- o[I++] = b * v + g * w + F * m + x * h;
1346
+ o[I++] = b * v + g * w + M * h + x * m;
1312
1347
  for (let y = a; y < e; y++) {
1313
- const M = n[y];
1314
- c = f * M + i * c, N = f * c + i * N, h = f * N + i * h, m = f * h + i * m, w = f * m + i * w, v = f * w + i * v, o[I++] = b * v + g * w + F * m + x * h;
1348
+ const F = n[y];
1349
+ c = f * F + i * c, N = f * c + i * N, m = f * N + i * m, h = f * m + i * h, w = f * h + i * w, v = f * w + i * v, o[I++] = b * v + g * w + M * h + x * m;
1315
1350
  }
1316
1351
  return o;
1317
1352
  }
@@ -1322,16 +1357,16 @@ function Et(n, t = { ddof: 1, skipna: !0 }) {
1322
1357
  const f = n.length;
1323
1358
  let i = 0, a = 0, s = 0;
1324
1359
  if (l) {
1325
- !V() && l && !k(n) && (l = !1);
1360
+ !S() && l && !k(n) && (l = !1);
1326
1361
  for (let N = 0; N < f; N++) {
1327
- const h = n[N];
1328
- h === h && (i += h, a += h * h, s++);
1362
+ const m = n[N];
1363
+ m === m && (i += m, a += m * m, s++);
1329
1364
  }
1330
1365
  } else {
1331
1366
  s = f;
1332
1367
  for (let N = 0; N < f; N++) {
1333
- const h = n[N];
1334
- i += h, a += h * h;
1368
+ const m = n[N];
1369
+ i += m, a += m * m;
1335
1370
  }
1336
1371
  }
1337
1372
  if (s === 0)
@@ -1352,9 +1387,9 @@ function te(n, t, r = { ddof: 1 }) {
1352
1387
  throw new Error("x and y must have same length");
1353
1388
  const o = n.length, l = (e = r == null ? void 0 : r.ddof) !== null && e !== void 0 ? e : 1;
1354
1389
  let f = 0, i = 0, a = 0, s = 0;
1355
- for (let h = 0; h < o; h++) {
1356
- const m = n[h], w = t[h];
1357
- m === m && w === w && (f += m, i += w, a += m * w, s++);
1390
+ for (let m = 0; m < o; m++) {
1391
+ const h = n[m], w = t[m];
1392
+ h === h && w === w && (f += h, i += w, a += h * w, s++);
1358
1393
  }
1359
1394
  if (s === 0)
1360
1395
  return NaN;
@@ -1398,7 +1433,7 @@ function wt(n, t, r) {
1398
1433
  function It(n, t, r = { skipna: !0, ddof: 1 }) {
1399
1434
  var e, o;
1400
1435
  let l = (e = r.skipna) !== null && e !== void 0 ? e : !0, f = (o = r.ddof) !== null && o !== void 0 ? o : 1;
1401
- return l ? !V() && !k(n) ? wt(n, t, f) : ne(n, t, f) : wt(n, t, f);
1436
+ return l ? !S() && !k(n) ? wt(n, t, f) : ne(n, t, f) : wt(n, t, f);
1402
1437
  }
1403
1438
  function ne(n, t, r) {
1404
1439
  const e = n.length, o = new Float64Array(e);
@@ -1430,25 +1465,25 @@ function kt(n, t, r, e = { ddof: 1 }) {
1430
1465
  throw new Error("x and y must have same length");
1431
1466
  const f = n.length, i = new Float64Array(f);
1432
1467
  let a = 0, s = 0, u = 0, c = 0;
1433
- for (let h = 0; h < r; h++) {
1434
- const m = n[h], w = t[h];
1435
- m === m && w === w && (a += m, s += w, u += m * w, c++);
1468
+ for (let m = 0; m < r; m++) {
1469
+ const h = n[m], w = t[m];
1470
+ h === h && w === w && (a += h, s += w, u += h * w, c++);
1436
1471
  }
1437
1472
  const N = l + 1;
1438
1473
  if (c >= N) {
1439
- const h = 1 / c, m = a * h, w = s * h, v = c - l;
1440
- i[r - 1] = v > 0 ? (u - c * m * w) / v : NaN;
1474
+ const m = 1 / c, h = a * m, w = s * m, v = c - l;
1475
+ i[r - 1] = v > 0 ? (u - c * h * w) / v : NaN;
1441
1476
  } else
1442
1477
  i[r - 1] = NaN;
1443
- for (let h = r; h < f; h++) {
1444
- const m = n[h], w = t[h], v = n[h - r], d = t[h - r];
1445
- m === m && w === w && (a += m, s += w, u += m * w, c++), v === v && d === d && (a -= v, s -= d, u -= v * d, c--);
1478
+ for (let m = r; m < f; m++) {
1479
+ const h = n[m], w = t[m], v = n[m - r], d = t[m - r];
1480
+ h === h && w === w && (a += h, s += w, u += h * w, c++), v === v && d === d && (a -= v, s -= d, u -= v * d, c--);
1446
1481
  const A = l + 1;
1447
1482
  if (c >= A) {
1448
- const b = 1 / c, g = a * b, F = s * b, x = c - l;
1449
- i[h] = x > 0 ? (u - c * g * F) / x : NaN;
1483
+ const b = 1 / c, g = a * b, M = s * b, x = c - l;
1484
+ i[m] = x > 0 ? (u - c * g * M) / x : NaN;
1450
1485
  } else
1451
- i[h] = NaN;
1486
+ i[m] = NaN;
1452
1487
  }
1453
1488
  return i;
1454
1489
  }
@@ -1464,7 +1499,7 @@ function T(n, t = { skipna: !0 }) {
1464
1499
  let o = (r = t == null ? void 0 : t.skipna) !== null && r !== void 0 ? r : !0;
1465
1500
  if (e && e.length !== n.length)
1466
1501
  throw new Error("source and weights must have same length");
1467
- if (!V() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1502
+ if (!S() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1468
1503
  if (!o) {
1469
1504
  const s = it(n, !1);
1470
1505
  return s !== s ? NaN : s / n.length;
@@ -1498,7 +1533,7 @@ function ht(n, t, r = !0) {
1498
1533
  throw new Error("period must be positive");
1499
1534
  if (e < t)
1500
1535
  return o;
1501
- if (!V() && r && !k(n)) {
1536
+ if (!S() && r && !k(n)) {
1502
1537
  let i = 0;
1503
1538
  for (let a = 0; a < t; a++)
1504
1539
  i += n[a];
@@ -1525,7 +1560,7 @@ function ee(n, t = { skipna: !0 }) {
1525
1560
  let o = (r = t == null ? void 0 : t.skipna) !== null && r !== void 0 ? r : !0;
1526
1561
  if (e && e.length !== n.length)
1527
1562
  throw new Error("source and weights must have same length");
1528
- if (!V() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1563
+ if (!S() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1529
1564
  if (!o) {
1530
1565
  let s = 0;
1531
1566
  for (let u = 0; u < n.length; u++) {
@@ -1574,7 +1609,7 @@ function oe(n, t = { skipna: !0 }) {
1574
1609
  let o = (r = t == null ? void 0 : t.skipna) !== null && r !== void 0 ? r : !0;
1575
1610
  if (e && e.length !== n.length)
1576
1611
  throw new Error("source and weights must have same length");
1577
- if (!V() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1612
+ if (!S() && o && (e ? k(n, e) || (o = !1) : k(n) || (o = !1)), !e) {
1578
1613
  if (!o) {
1579
1614
  let s = 0;
1580
1615
  for (let u = 0; u < n.length; u++) {
@@ -1623,7 +1658,7 @@ function le(n, t = !0) {
1623
1658
  const r = T(n, { skipna: t });
1624
1659
  if (r !== r)
1625
1660
  return NaN;
1626
- if (!V() && t && !k(n)) {
1661
+ if (!S() && t && !k(n)) {
1627
1662
  let l = 0;
1628
1663
  for (let f = 0; f < n.length; f++)
1629
1664
  l += Math.abs(n[f] - r);
@@ -1733,44 +1768,44 @@ function _t(n, t, r) {
1733
1768
  if (r < 0 || r > 1)
1734
1769
  throw new Error("q must be in [0,1]");
1735
1770
  const f = new Int32Array(t), i = new Int32Array(t), a = new Uint8Array(e), s = new Uint8Array(e);
1736
- let u = 0, c = 0, N = 0, h = 0;
1737
- const m = n;
1771
+ let u = 0, c = 0, N = 0, m = 0;
1772
+ const h = n;
1738
1773
  for (let w = 0; w < e; w++) {
1739
- const v = w, d = m[v];
1774
+ const v = w, d = h[v];
1740
1775
  if (d === d) {
1741
1776
  const b = u === 0 ? void 0 : f[0];
1742
- b === void 0 || d <= m[b] ? (f[u] = v, Q(f, u, !1, m), u++, N++, s[v] = 1) : (i[c] = v, Q(i, c, !0, m), c++, h++, s[v] = 2);
1777
+ b === void 0 || d <= h[b] ? (f[u] = v, Q(f, u, !1, h), u++, N++, s[v] = 1) : (i[c] = v, Q(i, c, !0, h), c++, m++, s[v] = 2);
1743
1778
  }
1744
1779
  if (w >= t) {
1745
1780
  const b = w - t;
1746
- s[b] === 1 ? (N--, a[b] = 1, s[b] = 0) : s[b] === 2 && (h--, a[b] = 1, s[b] = 0);
1781
+ s[b] === 1 ? (N--, a[b] = 1, s[b] = 0) : s[b] === 2 && (m--, a[b] = 1, s[b] = 0);
1747
1782
  }
1748
- const A = N + h;
1783
+ const A = N + m;
1749
1784
  if (A !== 0) {
1750
1785
  const g = Math.floor((A - 1) * r) + 1;
1751
- for (u = q(f, u, !1, a, s, m), c = q(i, c, !0, a, s, m); N > g; ) {
1752
- u = q(f, u, !1, a, s, m);
1753
- const F = ct(f, u, !1, m, s), x = F.top;
1754
- u = F.len, N--, i[c] = x, Q(i, c, !0, m), c++, h++;
1786
+ for (u = q(f, u, !1, a, s, h), c = q(i, c, !0, a, s, h); N > g; ) {
1787
+ u = q(f, u, !1, a, s, h);
1788
+ const M = ct(f, u, !1, h, s), x = M.top;
1789
+ u = M.len, N--, i[c] = x, Q(i, c, !0, h), c++, m++;
1755
1790
  }
1756
1791
  for (; N < g; ) {
1757
- c = q(i, c, !0, a, s, m);
1758
- const F = ct(i, c, !0, m, s), x = F.top;
1759
- c = F.len, h--, f[u] = x, Q(f, u, !1, m), u++, N++;
1792
+ c = q(i, c, !0, a, s, h);
1793
+ const M = ct(i, c, !0, h, s), x = M.top;
1794
+ c = M.len, m--, f[u] = x, Q(f, u, !1, h), u++, N++;
1760
1795
  }
1761
- u = q(f, u, !1, a, s, m), c = q(i, c, !0, a, s, m);
1796
+ u = q(f, u, !1, a, s, h), c = q(i, c, !0, a, s, h);
1762
1797
  }
1763
1798
  if (w >= t - 1) {
1764
- u = q(f, u, !1, a, s, m), c = q(i, c, !0, a, s, m);
1765
- const b = N + h;
1799
+ u = q(f, u, !1, a, s, h), c = q(i, c, !0, a, s, h);
1800
+ const b = N + m;
1766
1801
  if (b === 0)
1767
1802
  o[w] = NaN;
1768
1803
  else if ((b & 1) === 1) {
1769
1804
  const g = f[0];
1770
- o[w] = m[g];
1805
+ o[w] = h[g];
1771
1806
  } else {
1772
- const g = f[0], F = i[0];
1773
- o[w] = (m[g] + m[F]) / 2;
1807
+ const g = f[0], M = i[0];
1808
+ o[w] = (h[g] + h[M]) / 2;
1774
1809
  }
1775
1810
  }
1776
1811
  }
@@ -1779,7 +1814,7 @@ function _t(n, t, r) {
1779
1814
  function ae(n, t) {
1780
1815
  return n.length, _t(n, t, 0.5);
1781
1816
  }
1782
- function Vt(n, t, r) {
1817
+ function St(n, t, r) {
1783
1818
  const e = (t - 1) * r, o = Math.floor(e), l = Math.ceil(e);
1784
1819
  if (o === l)
1785
1820
  return st(n, o, 0, t - 1);
@@ -1804,7 +1839,7 @@ function C(n, t) {
1804
1839
  const f = n[l];
1805
1840
  f === f && (e[o++] = f);
1806
1841
  }
1807
- return o === 0 ? NaN : Vt(e, o, t);
1842
+ return o === 0 ? NaN : St(e, o, t);
1808
1843
  }
1809
1844
  function se(n, t) {
1810
1845
  if (t.length === 0)
@@ -1827,7 +1862,7 @@ function se(n, t) {
1827
1862
  l[a] = NaN;
1828
1863
  continue;
1829
1864
  }
1830
- l[a] = Vt(e, o, s);
1865
+ l[a] = St(e, o, s);
1831
1866
  }
1832
1867
  return l;
1833
1868
  }
@@ -1844,8 +1879,8 @@ function se(n, t) {
1844
1879
  if (c === N)
1845
1880
  l[a] = f[c];
1846
1881
  else {
1847
- const h = u - c;
1848
- l[a] = f[c] * (1 - h) + f[N] * h;
1882
+ const m = u - c;
1883
+ l[a] = f[c] * (1 - m) + f[N] * m;
1849
1884
  }
1850
1885
  }
1851
1886
  return l;
@@ -1857,7 +1892,7 @@ function ue(n, t = !0) {
1857
1892
  const r = n.length, e = new Float64Array(r);
1858
1893
  if (r === 0)
1859
1894
  return e;
1860
- !V() && t && (k(n) || (t = !1));
1895
+ !S() && t && (k(n) || (t = !1));
1861
1896
  const o = T(n, { skipna: t }), l = W(n, { ddof: 1, skipna: t });
1862
1897
  if (l === 0 || l !== l)
1863
1898
  return e.fill(NaN), e;
@@ -1903,7 +1938,7 @@ function he(n, t, r = !0) {
1903
1938
  const e = n.length;
1904
1939
  if (e === 0)
1905
1940
  return NaN;
1906
- if (!V() && r && (k(n, t) || (r = !1)), r) {
1941
+ if (!S() && r && (k(n, t) || (r = !1)), r) {
1907
1942
  let o = 0, l = 0, f = 0, i = 0, a = 0, s = 0;
1908
1943
  for (let d = 0; d < e; d++) {
1909
1944
  const A = n[d], b = t[d];
@@ -1917,8 +1952,8 @@ function he(n, t, r = !0) {
1917
1952
  const c = s - u;
1918
1953
  if (c <= 0)
1919
1954
  return NaN;
1920
- const N = o / s, h = l / s, m = (f - s * N * h) / c, w = (i - s * N * N) / c, v = (a - s * h * h) / c;
1921
- return w === 0 || v === 0 ? NaN : m / Math.sqrt(w * v);
1955
+ const N = o / s, m = l / s, h = (f - s * N * m) / c, w = (i - s * N * N) / c, v = (a - s * m * m) / c;
1956
+ return w === 0 || v === 0 ? NaN : h / Math.sqrt(w * v);
1922
1957
  } else {
1923
1958
  let o = 0, l = 0;
1924
1959
  for (let c = 0; c < e; c++)
@@ -1926,8 +1961,8 @@ function he(n, t, r = !0) {
1926
1961
  const f = o / e, i = l / e;
1927
1962
  let a = 0, s = 0, u = 0;
1928
1963
  for (let c = 0; c < e; c++) {
1929
- const N = n[c] - f, h = t[c] - i;
1930
- a += N * h, s += N * N, u += h * h;
1964
+ const N = n[c] - f, m = t[c] - i;
1965
+ a += N * m, s += N * N, u += m * m;
1931
1966
  }
1932
1967
  return s === 0 || u === 0 ? NaN : a / Math.sqrt(s * u);
1933
1968
  }
@@ -1943,12 +1978,12 @@ function me(n, t, r, e) {
1943
1978
  for (let w = 0; w < i; w++)
1944
1979
  s[w] = w < n.length ? n[w] : NaN, u[w] = w < t.length ? t[w] : NaN;
1945
1980
  }
1946
- const c = kt(s, u, r), N = X(s, r, { skipna: a }), h = X(u, r, { skipna: a }), m = new Float64Array(i);
1981
+ const c = kt(s, u, r), N = X(s, r, { skipna: a }), m = X(u, r, { skipna: a }), h = new Float64Array(i);
1947
1982
  for (let w = 0; w < i; w++) {
1948
- const v = N[w] * h[w];
1949
- v > 1e-12 ? m[w] = c[w] / v : m[w] = NaN;
1983
+ const v = N[w] * m[w];
1984
+ v > 1e-12 ? h[w] = c[w] / v : h[w] = NaN;
1950
1985
  }
1951
- return m;
1986
+ return h;
1952
1987
  }
1953
1988
  function we(n, t) {
1954
1989
  var r, e, o;
@@ -1958,19 +1993,19 @@ function we(n, t) {
1958
1993
  return s;
1959
1994
  if (l < 0 || f < 0 || l > 1 || f > 1 || l > f)
1960
1995
  throw new Error("invalid quantile bounds");
1961
- !V() && i && (k(n) || (i = !1));
1996
+ !S() && i && (k(n) || (i = !1));
1962
1997
  const u = C(n, l), c = C(n, f);
1963
1998
  if (u !== u || c !== c)
1964
1999
  return s.fill(NaN), s;
1965
2000
  if (i)
1966
2001
  for (let N = 0; N < a; N++) {
1967
- const h = n[N];
1968
- h !== h ? s[N] = NaN : h < u ? s[N] = u : h > c ? s[N] = c : s[N] = h;
2002
+ const m = n[N];
2003
+ m !== m ? s[N] = NaN : m < u ? s[N] = u : m > c ? s[N] = c : s[N] = m;
1969
2004
  }
1970
2005
  else
1971
2006
  for (let N = 0; N < a; N++) {
1972
- const h = n[N];
1973
- h < u ? s[N] = u : h > c ? s[N] = c : s[N] = h;
2007
+ const m = n[N];
2008
+ m < u ? s[N] = u : m > c ? s[N] = c : s[N] = m;
1974
2009
  }
1975
2010
  return s;
1976
2011
  }
@@ -2032,8 +2067,8 @@ function de(n, t) {
2032
2067
  if (u === u && (i++, o += u, l += u * u, f += u * u * u), i >= 3) {
2033
2068
  const c = o / i, N = l / i - c * c;
2034
2069
  if (N > 1e-12) {
2035
- const h = Math.sqrt(N);
2036
- e[a] = (f / i - 3 * c * N - c * c * c) / (h * h * h);
2070
+ const m = Math.sqrt(N);
2071
+ e[a] = (f / i - 3 * c * N - c * c * c) / (m * m * m);
2037
2072
  } else
2038
2073
  e[a] = 0;
2039
2074
  }
@@ -2056,8 +2091,8 @@ function Ae(n, t) {
2056
2091
  if (a >= 4) {
2057
2092
  const s = o / a, u = l / a - s * s;
2058
2093
  if (u > 1e-12) {
2059
- const c = l / a, N = f / a, h = i / a;
2060
- e[t - 1] = (h - 4 * s * N + 6 * s * s * c - 3 * s * s * s * s) / (u * u) - 3;
2094
+ const c = l / a, N = f / a, m = i / a;
2095
+ e[t - 1] = (m - 4 * s * N + 6 * s * s * c - 3 * s * s * s * s) / (u * u) - 3;
2061
2096
  } else
2062
2097
  e[t - 1] = 0;
2063
2098
  }
@@ -2075,10 +2110,10 @@ function Ae(n, t) {
2075
2110
  l += N, f += N * c, i += N * N;
2076
2111
  }
2077
2112
  if (a >= 4) {
2078
- const N = o / a, h = l / a - N * N;
2079
- if (h > 1e-12) {
2080
- const m = l / a, w = f / a, v = i / a;
2081
- e[s] = (v - 4 * N * w + 6 * N * N * m - 3 * N * N * N * N) / (h * h) - 3;
2113
+ const N = o / a, m = l / a - N * N;
2114
+ if (m > 1e-12) {
2115
+ const h = l / a, w = f / a, v = i / a;
2116
+ e[s] = (v - 4 * N * w + 6 * N * N * h - 3 * N * N * N * N) / (m * m) - 3;
2082
2117
  } else
2083
2118
  e[s] = 0;
2084
2119
  }
@@ -2105,7 +2140,7 @@ function be(n, t) {
2105
2140
  }
2106
2141
  return e;
2107
2142
  }
2108
- function Me(n, t) {
2143
+ function Fe(n, t) {
2109
2144
  const r = [];
2110
2145
  for (let e = 0; e < t; e++) {
2111
2146
  const o = Math.floor(Math.random() * n.length);
@@ -2115,7 +2150,7 @@ function Me(n, t) {
2115
2150
  }
2116
2151
  const Co = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2117
2152
  __proto__: null,
2118
- bootstrap: Me,
2153
+ bootstrap: Fe,
2119
2154
  corr: he,
2120
2155
  covar: te,
2121
2156
  gmean: oe,
@@ -2144,7 +2179,7 @@ const Co = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2144
2179
  winsorize: we,
2145
2180
  zscore: ue
2146
2181
  }, Symbol.toStringTag, { value: "Module" }));
2147
- function Fe(n) {
2182
+ function Me(n) {
2148
2183
  const t = n.length;
2149
2184
  if (t === 0)
2150
2185
  return new Float32Array(0);
@@ -2196,22 +2231,22 @@ function ke(n, t, r = 0) {
2196
2231
  if (e === 0)
2197
2232
  return { days: [], dailyReturns: new Float32Array(0) };
2198
2233
  const o = 1440 * 60 * 1e3, l = r * 60 * 1e3, f = /* @__PURE__ */ new Map();
2199
- for (let h = 0; h < e; h++) {
2200
- const m = Number(n[h]), w = Number(t[h]);
2201
- if (!Number.isFinite(m) || w !== w)
2234
+ for (let m = 0; m < e; m++) {
2235
+ const h = Number(n[m]), w = Number(t[m]);
2236
+ if (!Number.isFinite(h) || w !== w)
2202
2237
  continue;
2203
- const v = Math.floor((m + l) / o), d = f.get(v);
2238
+ const v = Math.floor((h + l) / o), d = f.get(v);
2204
2239
  d ? (d.prod *= 1 + w, d.count += 1) : f.set(v, { prod: 1 + w, count: 1 });
2205
2240
  }
2206
- const i = Array.from(f.keys()).sort((h, m) => h - m);
2241
+ const i = Array.from(f.keys()).sort((m, h) => m - h);
2207
2242
  if (i.length === 0)
2208
2243
  return { days: [], dailyReturns: new Float32Array(0) };
2209
2244
  const a = i[0], u = i[i.length - 1] - a + 1, c = new Array(u), N = new Float32Array(u);
2210
- for (let h = 0; h < u; h++) {
2211
- const m = a + h;
2212
- c[h] = m * o - l;
2213
- const w = f.get(m);
2214
- w ? N[h] = w.prod - 1 : N[h] = 0;
2245
+ for (let m = 0; m < u; m++) {
2246
+ const h = a + m;
2247
+ c[m] = h * o - l;
2248
+ const w = f.get(h);
2249
+ w ? N[m] = w.prod - 1 : N[m] = 0;
2215
2250
  }
2216
2251
  return { days: c, dailyReturns: N };
2217
2252
  }
@@ -2219,7 +2254,7 @@ function _e(n) {
2219
2254
  const t = n.length, r = new Float64Array(t);
2220
2255
  if (t === 0)
2221
2256
  return r;
2222
- const e = D(n);
2257
+ const e = P(n);
2223
2258
  let o = -1;
2224
2259
  for (let f = 0; f < t; f++)
2225
2260
  if (e[f] === 1) {
@@ -2246,7 +2281,7 @@ function mt(n) {
2246
2281
  const t = n.length;
2247
2282
  if (t === 0)
2248
2283
  return NaN;
2249
- const r = D(n);
2284
+ const r = P(n);
2250
2285
  let e = -1;
2251
2286
  for (let i = 0; i < t; i++)
2252
2287
  if (r[i] === 1) {
@@ -2269,53 +2304,53 @@ function mt(n) {
2269
2304
  }
2270
2305
  return f ? -l : 0;
2271
2306
  }
2272
- function Ve(n) {
2307
+ function Se(n) {
2273
2308
  const t = n.length;
2274
2309
  if (t === 0)
2275
2310
  return { maxDrawdown: NaN, peakIndex: -1, troughIndex: -1, startIndex: -1, endIndex: -1 };
2276
- const r = D(n);
2311
+ const r = P(n);
2277
2312
  let e = -1;
2278
- for (let m = 0; m < t; m++)
2279
- if (r[m] === 1) {
2280
- e = m;
2313
+ for (let h = 0; h < t; h++)
2314
+ if (r[h] === 1) {
2315
+ e = h;
2281
2316
  break;
2282
2317
  }
2283
2318
  if (e === -1)
2284
2319
  return { maxDrawdown: NaN, peakIndex: -1, troughIndex: -1, startIndex: -1, endIndex: -1 };
2285
2320
  let o = n[e], l = e, f = 0, i = e;
2286
- for (let m = e + 1; m < t; m++) {
2287
- if (r[m] !== 1)
2321
+ for (let h = e + 1; h < t; h++) {
2322
+ if (r[h] !== 1)
2288
2323
  continue;
2289
- const w = n[m];
2324
+ const w = n[h];
2290
2325
  if (w > o)
2291
- o = w, l = m;
2326
+ o = w, l = h;
2292
2327
  else {
2293
2328
  const v = w / o - 1;
2294
- v < f && (f = v, i = m);
2329
+ v < f && (f = v, i = h);
2295
2330
  }
2296
2331
  }
2297
2332
  if (f === 0)
2298
2333
  return { maxDrawdown: 0, peakIndex: l, troughIndex: l, startIndex: l, endIndex: l };
2299
2334
  const a = -f;
2300
2335
  let s = n[e], u = e;
2301
- for (let m = e + 1; m <= i; m++) {
2302
- if (r[m] !== 1)
2336
+ for (let h = e + 1; h <= i; h++) {
2337
+ if (r[h] !== 1)
2303
2338
  continue;
2304
- const w = n[m];
2305
- w > s && (s = w, u = m);
2339
+ const w = n[h];
2340
+ w > s && (s = w, u = h);
2306
2341
  }
2307
2342
  const c = u;
2308
2343
  let N = -1;
2309
- const h = n[c];
2310
- for (let m = i + 1; m < t; m++)
2311
- if (r[m] === 1 && n[m] > h) {
2312
- N = m;
2344
+ const m = n[c];
2345
+ for (let h = i + 1; h < t; h++)
2346
+ if (r[h] === 1 && n[h] > m) {
2347
+ N = h;
2313
2348
  break;
2314
2349
  }
2315
2350
  if (N === -1) {
2316
- for (let m = t - 1; m >= 0; m--)
2317
- if (r[m] === 1) {
2318
- N = m;
2351
+ for (let h = t - 1; h >= 0; h--)
2352
+ if (r[h] === 1) {
2353
+ N = h;
2319
2354
  break;
2320
2355
  }
2321
2356
  }
@@ -2327,13 +2362,13 @@ function Ve(n) {
2327
2362
  endIndex: N
2328
2363
  };
2329
2364
  }
2330
- function Se(n, t) {
2365
+ function Ve(n, t) {
2331
2366
  if (t <= 0)
2332
2367
  throw new Error("window must be positive");
2333
2368
  const r = n.length, e = new Float64Array(r);
2334
2369
  if (r === 0)
2335
2370
  return e;
2336
- const o = D(n);
2371
+ const o = P(n);
2337
2372
  for (let l = 0; l < r; l++) {
2338
2373
  const f = Math.max(0, l - t + 1);
2339
2374
  let i = -1;
@@ -2354,8 +2389,8 @@ function Se(n, t) {
2354
2389
  if (N > a)
2355
2390
  a = N;
2356
2391
  else {
2357
- const h = N / a - 1;
2358
- (!u || h < s) && (s = h), u = !0;
2392
+ const m = N / a - 1;
2393
+ (!u || m < s) && (s = m), u = !0;
2359
2394
  }
2360
2395
  }
2361
2396
  e[l] = u ? -s : 0;
@@ -2363,7 +2398,7 @@ function Se(n, t) {
2363
2398
  return e;
2364
2399
  }
2365
2400
  function Le(n) {
2366
- const t = n.length, r = new Int32Array(t), e = D(n);
2401
+ const t = n.length, r = new Int32Array(t), e = P(n);
2367
2402
  let o = -1;
2368
2403
  for (let a = 0; a < t; a++)
2369
2404
  if (e[a] === 1) {
@@ -2394,7 +2429,7 @@ function je(n, t = 252) {
2394
2429
  const r = n.length;
2395
2430
  if (r === 0)
2396
2431
  return NaN;
2397
- const e = D(n);
2432
+ const e = P(n);
2398
2433
  let o = -1, l = -1;
2399
2434
  for (let N = 0; N < r; N++)
2400
2435
  if (e[N] === 1) {
@@ -2421,7 +2456,7 @@ function Pe(n, t = 3, r = 252) {
2421
2456
  const e = n.length;
2422
2457
  if (e === 0)
2423
2458
  return NaN;
2424
- const o = D(n);
2459
+ const o = P(n);
2425
2460
  let l = -1, f = -1;
2426
2461
  for (let v = 0; v < e; v++)
2427
2462
  if (o[v] === 1) {
@@ -2454,18 +2489,18 @@ function Pe(n, t = 3, r = 252) {
2454
2489
  const c = (f - i) / r;
2455
2490
  if (c <= 0)
2456
2491
  return NaN;
2457
- const N = Math.pow(s / a, 1 / c) - 1, h = new Float64Array(f - i + 1);
2458
- let m = 0;
2492
+ const N = Math.pow(s / a, 1 / c) - 1, m = new Float64Array(f - i + 1);
2493
+ let h = 0;
2459
2494
  for (let v = i; v <= f; v++)
2460
- h[m++] = n[v];
2461
- const w = mt(h);
2495
+ m[h++] = n[v];
2496
+ const w = mt(m);
2462
2497
  return w !== w || w === 0 ? NaN : N / w;
2463
2498
  }
2464
2499
  function De(n) {
2465
2500
  const t = n.length;
2466
2501
  if (t === 0)
2467
2502
  return NaN;
2468
- const r = D(n);
2503
+ const r = P(n);
2469
2504
  let e = -1;
2470
2505
  for (let i = 0; i < t; i++)
2471
2506
  if (r[i] === 1) {
@@ -2491,7 +2526,7 @@ function Oe(n, t, r = 1) {
2491
2526
  const e = n.length, o = new Float64Array(e);
2492
2527
  if (e === 0)
2493
2528
  return o;
2494
- const l = D(n);
2529
+ const l = P(n);
2495
2530
  for (let f = 0; f < e; f++) {
2496
2531
  const i = Math.max(0, f - t + 1);
2497
2532
  let a = -1;
@@ -2508,10 +2543,10 @@ function Oe(n, t, r = 1) {
2508
2543
  for (let N = a; N <= f; N++) {
2509
2544
  if (l[N] !== 1)
2510
2545
  continue;
2511
- const h = n[N];
2512
- h > s && (s = h);
2513
- const m = (s - h) / s;
2514
- u += m * m, c++;
2546
+ const m = n[N];
2547
+ m > s && (s = m);
2548
+ const h = (s - m) / s;
2549
+ u += h * h, c++;
2515
2550
  }
2516
2551
  if (c < r || c === 0) {
2517
2552
  o[f] = NaN;
@@ -2551,23 +2586,23 @@ function Ue(n, t, r = 0, e = 252, o = 1) {
2551
2586
  const l = n.length, f = new Float64Array(l);
2552
2587
  if (l === 0)
2553
2588
  return f;
2554
- const i = r / e, a = H(n, i), s = D(a), u = ht(a, t), c = X(a, t, { skipna: !0, ddof: 0 }), N = nt(s, t);
2555
- for (let h = 0; h < l; h++) {
2556
- const m = N[h];
2557
- if (m !== m || m < o) {
2558
- f[h] = NaN;
2589
+ const i = r / e, a = H(n, i), s = P(a), u = ht(a, t), c = X(a, t, { skipna: !0, ddof: 0 }), N = nt(s, t);
2590
+ for (let m = 0; m < l; m++) {
2591
+ const h = N[m];
2592
+ if (h !== h || h < o) {
2593
+ f[m] = NaN;
2559
2594
  continue;
2560
2595
  }
2561
- if (m <= 1) {
2562
- f[h] = NaN;
2596
+ if (h <= 1) {
2597
+ f[m] = NaN;
2563
2598
  continue;
2564
2599
  }
2565
- const w = c[h] * Math.sqrt(m / (m - 1)), v = u[h];
2600
+ const w = c[m] * Math.sqrt(h / (h - 1)), v = u[m];
2566
2601
  if (w !== w || w === 0 || v !== v) {
2567
- f[h] = NaN;
2602
+ f[m] = NaN;
2568
2603
  continue;
2569
2604
  }
2570
- f[h] = v * Math.sqrt(e) / w;
2605
+ f[m] = v * Math.sqrt(e) / w;
2571
2606
  }
2572
2607
  return f;
2573
2608
  }
@@ -2576,23 +2611,23 @@ function qe(n, t, r = 0, e = 252, o = 1) {
2576
2611
  if (l === 0)
2577
2612
  return f;
2578
2613
  const i = r / e, a = H(n, i), s = new Float64Array(l);
2579
- for (let m = 0; m < l; m++) {
2580
- const w = a[m];
2581
- s[m] = w === w && w < 0 ? w : NaN;
2614
+ for (let h = 0; h < l; h++) {
2615
+ const w = a[h];
2616
+ s[h] = w === w && w < 0 ? w : NaN;
2582
2617
  }
2583
- const u = D(s), c = ht(a, t), N = X(s, t, { skipna: !0, ddof: 0 }), h = nt(u, t);
2584
- for (let m = 0; m < l; m++) {
2585
- const w = h[m], v = c[m];
2618
+ const u = P(s), c = ht(a, t), N = X(s, t, { skipna: !0, ddof: 0 }), m = nt(u, t);
2619
+ for (let h = 0; h < l; h++) {
2620
+ const w = m[h], v = c[h];
2586
2621
  if (w !== w || v !== v || w < 2) {
2587
- f[m] = NaN;
2622
+ f[h] = NaN;
2588
2623
  continue;
2589
2624
  }
2590
- const d = N[m] * Math.sqrt(w / (w - 1));
2625
+ const d = N[h] * Math.sqrt(w / (w - 1));
2591
2626
  if (d !== d || d === 0) {
2592
- f[m] = NaN;
2627
+ f[h] = NaN;
2593
2628
  continue;
2594
2629
  }
2595
- f[m] = v * Math.sqrt(e) / d;
2630
+ f[h] = v * Math.sqrt(e) / d;
2596
2631
  }
2597
2632
  return f;
2598
2633
  }
@@ -2606,7 +2641,7 @@ function Xe(n, t, r = 252, e = 1) {
2606
2641
  const o = n.length, l = new Float64Array(o);
2607
2642
  if (o === 0)
2608
2643
  return l;
2609
- const f = X(n, t, { skipna: !0, ddof: 0 }), i = nt(D(n), t);
2644
+ const f = X(n, t, { skipna: !0, ddof: 0 }), i = nt(P(n), t);
2610
2645
  for (let a = 0; a < o; a++) {
2611
2646
  const s = i[a];
2612
2647
  if (s !== s || s < e) {
@@ -2626,10 +2661,10 @@ function Xe(n, t, r = 252, e = 1) {
2626
2661
  }
2627
2662
  return l;
2628
2663
  }
2629
- function St(n) {
2630
- const t = -39.69683028665376, r = 220.9460984245205, e = -275.9285104469687, o = 138.357751867269, l = -30.66479806614716, f = 2.506628277459239, i = -54.47609879822406, a = 161.5858368580409, s = -155.6989798598866, u = 66.80131188771972, c = -13.28068155288572, N = -0.007784894002430293, h = -0.3223964580411365, m = -2.400758277161838, w = -2.549732539343734, v = 4.374664141464968, d = 2.938163982698783, A = 0.007784695709041462, b = 0.3224671290700398, g = 2.445134137142996, F = 3.754408661907416, x = 0.02425, I = 1 - x;
2631
- let y, M, E;
2632
- return n < x ? (y = Math.sqrt(-2 * Math.log(n)), E = (((((N * y + h) * y + m) * y + w) * y + v) * y + d) / ((((A * y + b) * y + g) * y + F) * y + 1), -E) : n <= I ? (y = n - 0.5, M = y * y, E = (((((t * M + r) * M + e) * M + o) * M + l) * M + f) * y / (((((i * M + a) * M + s) * M + u) * M + c) * M + 1), E) : (y = Math.sqrt(-2 * Math.log(1 - n)), E = (((((N * y + h) * y + m) * y + w) * y + v) * y + d) / ((((A * y + b) * y + g) * y + F) * y + 1), E);
2664
+ function Vt(n) {
2665
+ const t = -39.69683028665376, r = 220.9460984245205, e = -275.9285104469687, o = 138.357751867269, l = -30.66479806614716, f = 2.506628277459239, i = -54.47609879822406, a = 161.5858368580409, s = -155.6989798598866, u = 66.80131188771972, c = -13.28068155288572, N = -0.007784894002430293, m = -0.3223964580411365, h = -2.400758277161838, w = -2.549732539343734, v = 4.374664141464968, d = 2.938163982698783, A = 0.007784695709041462, b = 0.3224671290700398, g = 2.445134137142996, M = 3.754408661907416, x = 0.02425, I = 1 - x;
2666
+ let y, F, E;
2667
+ return n < x ? (y = Math.sqrt(-2 * Math.log(n)), E = (((((N * y + m) * y + h) * y + w) * y + v) * y + d) / ((((A * y + b) * y + g) * y + M) * y + 1), -E) : n <= I ? (y = n - 0.5, F = y * y, E = (((((t * F + r) * F + e) * F + o) * F + l) * F + f) * y / (((((i * F + a) * F + s) * F + u) * F + c) * F + 1), E) : (y = Math.sqrt(-2 * Math.log(1 - n)), E = (((((N * y + m) * y + h) * y + w) * y + v) * y + d) / ((((A * y + b) * y + g) * y + M) * y + 1), E);
2633
2668
  }
2634
2669
  function Re(n) {
2635
2670
  return Math.exp(-0.5 * n * n) / Math.sqrt(2 * Math.PI);
@@ -2646,7 +2681,7 @@ function ze(n, t = 0.05, r = "historical") {
2646
2681
  const o = T(n), l = W(n);
2647
2682
  if (o !== o || l !== l || l === 0)
2648
2683
  return NaN;
2649
- const f = St(t);
2684
+ const f = Vt(t);
2650
2685
  return o + l * f;
2651
2686
  }
2652
2687
  function Ke(n, t = 0.05, r = "historical") {
@@ -2661,15 +2696,15 @@ function Ke(n, t = 0.05, r = "historical") {
2661
2696
  const s = C(a, t);
2662
2697
  let u = 0, c = 0;
2663
2698
  for (let N = 0; N < a.length; N++) {
2664
- const h = a[N];
2665
- h <= s && (u += h, c++);
2699
+ const m = a[N];
2700
+ m <= s && (u += m, c++);
2666
2701
  }
2667
2702
  return u / c;
2668
2703
  }
2669
2704
  const o = T(n), l = W(n);
2670
2705
  if (o !== o || l !== l || l === 0)
2671
2706
  return NaN;
2672
- const f = St(t);
2707
+ const f = Vt(t);
2673
2708
  return o - l * (Re(f) / t);
2674
2709
  }
2675
2710
  function Ye(n, t = 0.05) {
@@ -2683,8 +2718,8 @@ function Ye(n, t = 0.05) {
2683
2718
  const o = C(e, t), l = C(e, 1 - t);
2684
2719
  let f = 0, i = 0, a = 0, s = 0;
2685
2720
  for (let N = 0; N < e.length; N++) {
2686
- const h = e[N];
2687
- h <= o && (f += h, i++), h >= l && (a += h, s++);
2721
+ const m = e[N];
2722
+ m <= o && (f += m, i++), m >= l && (a += m, s++);
2688
2723
  }
2689
2724
  const u = f / i, c = a / s;
2690
2725
  return u === 0 ? NaN : c / Math.abs(u);
@@ -2713,11 +2748,11 @@ const To = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2713
2748
  expshortfall: Ke,
2714
2749
  logreturns: xe,
2715
2750
  maxdd: mt,
2716
- maxddDetails: Ve,
2751
+ maxddDetails: Se,
2717
2752
  omega: He,
2718
2753
  recoveryfactor: je,
2719
- returns: Fe,
2720
- rollmaxdd: Se,
2754
+ returns: Me,
2755
+ rollmaxdd: Ve,
2721
2756
  rollsharpe: Ue,
2722
2757
  rollsortino: qe,
2723
2758
  rollulcer: Oe,
@@ -2741,20 +2776,20 @@ function We(n, t, r = 5, e = 34, o = !0) {
2741
2776
  if (l < e)
2742
2777
  return f.fill(NaN);
2743
2778
  let i = o;
2744
- if (i && !V() && (k(n, t) || (i = !0)), !i) {
2779
+ if (i && !S() && (k(n, t) || (i = !0)), !i) {
2745
2780
  const c = new Float64Array(e), N = new Float64Array(r);
2746
- let h = 0, m = 0, w = 0, v = 0;
2781
+ let m = 0, h = 0, w = 0, v = 0;
2747
2782
  for (let d = 0; d < l; d++) {
2748
2783
  const A = (n[d] + t[d]) / 2;
2749
- h += A, m += A;
2784
+ m += A, h += A;
2750
2785
  const b = c[w];
2751
- h -= b, c[w] = A, w++, w === e && (w = 0);
2786
+ m -= b, c[w] = A, w++, w === e && (w = 0);
2752
2787
  const g = N[v];
2753
- m -= g, N[v] = A, v++, v === r && (v = 0), d >= e - 1 && (d >= r - 1 ? f[d] = m / r - h / e : f[d] = NaN);
2788
+ h -= g, N[v] = A, v++, v === r && (v = 0), d >= e - 1 && (d >= r - 1 ? f[d] = h / r - m / e : f[d] = NaN);
2754
2789
  }
2755
2790
  return f;
2756
2791
  }
2757
- const a = gt(n, t), s = P(a, r), u = P(a, e);
2792
+ const a = gt(n, t), s = O(a, r), u = O(a, e);
2758
2793
  return H(s, u);
2759
2794
  }
2760
2795
  function Ge(n, t, r) {
@@ -2797,8 +2832,8 @@ function $e(n, t) {
2797
2832
  const i = o + l;
2798
2833
  e[t] = f === 0 ? NaN : i !== 0 ? 100 * (o - l) / i : 0;
2799
2834
  for (let a = t + 1; a < r; a++) {
2800
- const s = n[a - 1], c = n[a] - s, N = n[a - t - 1], m = n[a - t] - N, w = m === m, v = c === c;
2801
- if (w && (m > 0 ? o -= m : m < 0 && (l -= -m), f--), v && (c > 0 ? o += c : c < 0 && (l += -c), f++), f === 0) {
2835
+ const s = n[a - 1], c = n[a] - s, N = n[a - t - 1], h = n[a - t] - N, w = h === h, v = c === c;
2836
+ if (w && (h > 0 ? o -= h : h < 0 && (l -= -h), f--), v && (c > 0 ? o += c : c < 0 && (l += -c), f++), f === 0) {
2802
2837
  e[a] = NaN;
2803
2838
  continue;
2804
2839
  }
@@ -2816,16 +2851,16 @@ function Je(n, t, r, e) {
2816
2851
  if (o < a)
2817
2852
  return [l, f, i];
2818
2853
  const s = 2 / (t + 1), u = 2 / (r + 1), c = 2 / (e + 1);
2819
- let N = !1, h = NaN, m = NaN, w = NaN, v = 0, d = 0;
2854
+ let N = !1, m = NaN, h = NaN, w = NaN, v = 0, d = 0;
2820
2855
  for (let A = 0; A < o; A++) {
2821
2856
  const b = n[A];
2822
2857
  if (b === b) {
2823
2858
  if (v === 0) {
2824
- h = b, m = b, v = 1, d = 1;
2859
+ m = b, h = b, v = 1, d = 1;
2825
2860
  continue;
2826
2861
  }
2827
- if (h = h + s * (b - h), m = m + u * (b - m), v++, d++, d >= r && v >= t) {
2828
- const g = h - m;
2862
+ if (m = m + s * (b - m), h = h + u * (b - h), v++, d++, d >= r && v >= t) {
2863
+ const g = m - h;
2829
2864
  l[A] = g, N ? (w = w + c * (g - w), f[A] = w, i[A] = g - w) : (w = g, N = !0, f[A] = w, i[A] = 0);
2830
2865
  }
2831
2866
  }
@@ -2915,8 +2950,8 @@ function no(n, t) {
2915
2950
  s = c;
2916
2951
  continue;
2917
2952
  }
2918
- const N = c - s, h = Math.max(N, 0), m = Math.max(-N, 0);
2919
- f < t ? (o += h, l += m, f++, f === t ? (i = o / t, a = l / t, e[u] = a === 0 ? 100 : 100 - 100 / (1 + i / a)) : e[u] = NaN) : (i = (i * (t - 1) + h) / t, a = (a * (t - 1) + m) / t, e[u] = a === 0 ? 100 : 100 - 100 / (1 + i / a)), s = c;
2953
+ const N = c - s, m = Math.max(N, 0), h = Math.max(-N, 0);
2954
+ f < t ? (o += m, l += h, f++, f === t ? (i = o / t, a = l / t, e[u] = a === 0 ? 100 : 100 - 100 / (1 + i / a)) : e[u] = NaN) : (i = (i * (t - 1) + m) / t, a = (a * (t - 1) + h) / t, e[u] = a === 0 ? 100 : 100 - 100 / (1 + i / a)), s = c;
2920
2955
  }
2921
2956
  return e;
2922
2957
  }
@@ -2924,7 +2959,7 @@ function jt(n, t, r = !0) {
2924
2959
  if (t <= 0)
2925
2960
  throw new Error("Period must be positive");
2926
2961
  const e = n.length;
2927
- if (r && !V()) {
2962
+ if (r && !S()) {
2928
2963
  let o = !1;
2929
2964
  for (let l = 0; l < e; l++)
2930
2965
  if (n[l] !== n[l]) {
@@ -2944,16 +2979,20 @@ function eo(n, t, r, e, o, l) {
2944
2979
  const i = new Float64Array(f), a = new Float64Array(f);
2945
2980
  if (f === 0)
2946
2981
  return [i, a];
2947
- const s = e + o + l - 2;
2948
- if (f < s)
2982
+ const s = e + o + l - 3;
2983
+ if (f <= s)
2949
2984
  return [i.fill(NaN), a.fill(NaN)];
2950
2985
  const u = new Float64Array(f).fill(NaN);
2951
- Nt(t, n, e, (m, w, v) => {
2952
- const d = r[v], A = w - m;
2953
- u[v] = A === 0 ? 0 : (d - m) / A * 100;
2986
+ Nt(t, n, e, (h, w, v) => {
2987
+ const d = r[v], A = w - h;
2988
+ u[v] = A === 0 ? 0 : (d - h) / A * 100;
2954
2989
  });
2955
- const N = P(u, o, !1), h = P(N, l, !1);
2956
- return [N, h];
2990
+ const N = O(u, o, !0), m = O(N, l, !0);
2991
+ for (let h = 0; h < s; h++)
2992
+ i[h] = NaN, a[h] = NaN;
2993
+ for (let h = s; h < f; h++)
2994
+ i[h] = N[h], a[h] = m[h];
2995
+ return [i, a];
2957
2996
  }
2958
2997
  function oo(n, t) {
2959
2998
  if (t <= 0)
@@ -2964,30 +3003,30 @@ function oo(n, t) {
2964
3003
  if (r === 0)
2965
3004
  return e;
2966
3005
  const l = new Int32Array(r), f = new Int32Array(r), i = new Int32Array(r), a = new Int32Array(r);
2967
- let s = 0, u = 0, c = 0, N = 0, h = -1;
2968
- for (let m = 0; m < r; m++) {
2969
- const w = o[m];
3006
+ let s = 0, u = 0, c = 0, N = 0, m = -1;
3007
+ for (let h = 0; h < r; h++) {
3008
+ const w = o[h];
2970
3009
  if (w !== w) {
2971
- e[m] = NaN;
3010
+ e[h] = NaN;
2972
3011
  continue;
2973
3012
  }
2974
- for (h++; u > s && o[l[u - 1]] >= w; )
3013
+ for (m++; u > s && o[l[u - 1]] >= w; )
2975
3014
  u--;
2976
- l[u] = m, i[u] = h, u++;
2977
- const v = h - t;
3015
+ l[u] = h, i[u] = m, u++;
3016
+ const v = m - t;
2978
3017
  for (; u > s && i[s] <= v; )
2979
3018
  s++;
2980
3019
  for (; N > c && o[f[N - 1]] <= w; )
2981
3020
  N--;
2982
- f[N] = m, a[N] = h, N++;
2983
- const d = h - t;
3021
+ f[N] = h, a[N] = m, N++;
3022
+ const d = m - t;
2984
3023
  for (; N > c && a[c] <= d; )
2985
3024
  c++;
2986
- if (h >= t - 1) {
3025
+ if (m >= t - 1) {
2987
3026
  const A = o[l[s]], g = o[f[c]] - A;
2988
- e[m] = g === 0 ? 0 : (w - A) / g;
3027
+ e[h] = g === 0 ? 0 : (w - A) / g;
2989
3028
  } else
2990
- e[m] = NaN;
3029
+ e[h] = NaN;
2991
3030
  }
2992
3031
  return e;
2993
3032
  }
@@ -3005,22 +3044,22 @@ function lo(n, t, r, e) {
3005
3044
  c[g] = NaN;
3006
3045
  if (u === 0)
3007
3046
  return c;
3008
- const N = new Float64Array(u + 1), h = new Float64Array(u + 1);
3047
+ const N = new Float64Array(u + 1), m = new Float64Array(u + 1);
3009
3048
  {
3010
- const g = n[0], F = t[0], I = r[0] - F, y = g - F;
3011
- N[1] = I, h[1] = y;
3049
+ const g = n[0], M = t[0], I = r[0] - M, y = g - M;
3050
+ N[1] = I, m[1] = y;
3012
3051
  }
3013
3052
  for (let g = 1; g < u; g++) {
3014
- const F = n[g], x = t[g], I = r[g], y = r[g - 1], M = Math.min(x, y), E = Math.max(F, y), _ = I - M, S = E - M;
3015
- N[g + 1] = N[g] + _, h[g + 1] = h[g] + S;
3053
+ const M = n[g], x = t[g], I = r[g], y = r[g - 1], F = Math.min(x, y), E = Math.max(M, y), _ = I - F, V = E - F;
3054
+ N[g + 1] = N[g] + _, m[g + 1] = m[g] + V;
3016
3055
  }
3017
- const m = 4, w = 2, v = 1, d = m + w + v, A = Math.max(i, a, s);
3056
+ const h = 4, w = 2, v = 1, d = h + w + v, A = Math.max(i, a, s);
3018
3057
  if (u < A)
3019
3058
  return c;
3020
3059
  const b = A;
3021
3060
  for (let g = b; g < u; g++) {
3022
- const F = g - i + 1, x = g - a + 1, I = g - s + 1, y = N[g + 1] - N[F], M = h[g + 1] - h[F], E = M === 0 ? 0 : y / M, _ = N[g + 1] - N[x], S = h[g + 1] - h[x], L = S === 0 ? 0 : _ / S, j = N[g + 1] - N[I], U = h[g + 1] - h[I], R = U === 0 ? 0 : j / U;
3023
- c[g] = 100 * ((m * E + w * L + v * R) / d);
3061
+ const M = g - i + 1, x = g - a + 1, I = g - s + 1, y = N[g + 1] - N[M], F = m[g + 1] - m[M], E = F === 0 ? 0 : y / F, _ = N[g + 1] - N[x], V = m[g + 1] - m[x], L = V === 0 ? 0 : _ / V, j = N[g + 1] - N[I], U = m[g + 1] - m[I], R = U === 0 ? 0 : j / U;
3062
+ c[g] = 100 * ((h * E + w * L + v * R) / d);
3024
3063
  }
3025
3064
  return c;
3026
3065
  }
@@ -3045,10 +3084,10 @@ function io(n, t, r, e = !0) {
3045
3084
  const l = new Float64Array(o), f = new Float64Array(o);
3046
3085
  if (l.fill(NaN), f.fill(NaN), o < r)
3047
3086
  return [l, f];
3048
- if (k(n, t))
3087
+ if (e && k(n, t))
3049
3088
  return [l, f];
3050
3089
  let i = e;
3051
- if (i && !V()) {
3090
+ if (i && !S()) {
3052
3091
  let u = !1;
3053
3092
  for (let c = 0; c < o; c++)
3054
3093
  if (n[c] !== n[c] || t[c] !== t[c]) {
@@ -3058,36 +3097,36 @@ function io(n, t, r, e = !0) {
3058
3097
  u || (i = !0);
3059
3098
  }
3060
3099
  if (!i) {
3061
- let u = -1, c = NaN, N = -1, h = NaN;
3062
- for (let m = r; m < o; m++) {
3063
- const w = m - r + 1;
3100
+ let u = -1, c = NaN, N = -1, m = NaN;
3101
+ for (let h = r; h < o; h++) {
3102
+ const w = h - r;
3064
3103
  if (u < w) {
3065
3104
  u = -1, c = NaN;
3066
- for (let A = w; A <= m; A++) {
3105
+ for (let A = w; A <= h; A++) {
3067
3106
  const b = n[A];
3068
- b === b && (u === -1 || b > c) && (u = A, c = b);
3107
+ b === b && (u === -1 || b >= c) && (u = A, c = b);
3069
3108
  }
3070
3109
  } else {
3071
- const A = n[m];
3072
- A === A && (u === -1 || A > c) && (u = m, c = A);
3110
+ const A = n[h];
3111
+ A === A && (u === -1 || A >= c) && (u = h, c = A);
3073
3112
  }
3074
- const v = u === -1 ? NaN : m - u;
3075
- if (l[m - 1] = v === v ? (r - v) / r * 100 : NaN, N < w) {
3076
- N = -1, h = NaN;
3077
- for (let A = w; A <= m; A++) {
3113
+ const v = u === -1 ? NaN : h - u;
3114
+ if (l[h - 1] = v === v ? (r - v) / r * 100 : NaN, N < w) {
3115
+ N = -1, m = NaN;
3116
+ for (let A = w; A <= h; A++) {
3078
3117
  const b = t[A];
3079
- b === b && (N === -1 || b < h) && (N = A, h = b);
3118
+ b === b && (N === -1 || b <= m) && (N = A, m = b);
3080
3119
  }
3081
3120
  } else {
3082
- const A = t[m];
3083
- A === A && (N === -1 || A < h) && (N = m, h = A);
3121
+ const A = t[h];
3122
+ A === A && (N === -1 || A <= m) && (N = h, m = A);
3084
3123
  }
3085
- const d = N === -1 ? NaN : m - N;
3086
- f[m - 1] = d === d ? (r - d) / r * 100 : NaN;
3124
+ const d = N === -1 ? NaN : h - N;
3125
+ f[h - 1] = d === d ? (r - d) / r * 100 : NaN;
3087
3126
  }
3088
3127
  return [l, f];
3089
3128
  }
3090
- const a = Ft(n, r), s = Mt(t, r);
3129
+ const a = Mt(n, r), s = Ft(t, r);
3091
3130
  for (let u = r; u < o; u++) {
3092
3131
  const c = a[u];
3093
3132
  l[u - 1] = c !== c ? NaN : (r - (u - c)) / r * 100;
@@ -3096,7 +3135,7 @@ function io(n, t, r, e = !0) {
3096
3135
  }
3097
3136
  return [l, f];
3098
3137
  }
3099
- const O = {
3138
+ const D = {
3100
3139
  r1: 10,
3101
3140
  r2: 15,
3102
3141
  r3: 20,
@@ -3111,15 +3150,15 @@ const O = {
3111
3150
  w4: 4
3112
3151
  };
3113
3152
  function fo(n, t) {
3114
- var r, e, o, l, f, i, a, s, u, c, N, h;
3115
- let m = (r = t == null ? void 0 : t.r1) !== null && r !== void 0 ? r : O.r1, w = (e = t == null ? void 0 : t.r2) !== null && e !== void 0 ? e : O.r2, v = (o = t == null ? void 0 : t.r3) !== null && o !== void 0 ? o : O.r3, d = (l = t == null ? void 0 : t.r4) !== null && l !== void 0 ? l : O.r4, A = (f = t == null ? void 0 : t.n1) !== null && f !== void 0 ? f : O.n1, b = (i = t == null ? void 0 : t.n2) !== null && i !== void 0 ? i : O.n2, g = (a = t == null ? void 0 : t.n3) !== null && a !== void 0 ? a : O.n3, F = (s = t == null ? void 0 : t.n4) !== null && s !== void 0 ? s : O.n4, x = (u = t == null ? void 0 : t.w1) !== null && u !== void 0 ? u : O.w1, I = (c = t == null ? void 0 : t.w2) !== null && c !== void 0 ? c : O.w2, y = (N = t == null ? void 0 : t.w3) !== null && N !== void 0 ? N : O.w3, M = (h = t == null ? void 0 : t.w4) !== null && h !== void 0 ? h : O.w4;
3116
- const E = [m, w, v, d], _ = [A, b, g, F];
3153
+ var r, e, o, l, f, i, a, s, u, c, N, m;
3154
+ let h = (r = t == null ? void 0 : t.r1) !== null && r !== void 0 ? r : D.r1, w = (e = t == null ? void 0 : t.r2) !== null && e !== void 0 ? e : D.r2, v = (o = t == null ? void 0 : t.r3) !== null && o !== void 0 ? o : D.r3, d = (l = t == null ? void 0 : t.r4) !== null && l !== void 0 ? l : D.r4, A = (f = t == null ? void 0 : t.n1) !== null && f !== void 0 ? f : D.n1, b = (i = t == null ? void 0 : t.n2) !== null && i !== void 0 ? i : D.n2, g = (a = t == null ? void 0 : t.n3) !== null && a !== void 0 ? a : D.n3, M = (s = t == null ? void 0 : t.n4) !== null && s !== void 0 ? s : D.n4, x = (u = t == null ? void 0 : t.w1) !== null && u !== void 0 ? u : D.w1, I = (c = t == null ? void 0 : t.w2) !== null && c !== void 0 ? c : D.w2, y = (N = t == null ? void 0 : t.w3) !== null && N !== void 0 ? N : D.w3, F = (m = t == null ? void 0 : t.w4) !== null && m !== void 0 ? m : D.w4;
3155
+ const E = [h, w, v, d], _ = [A, b, g, M];
3117
3156
  for (const Bt of E.concat(_))
3118
3157
  if (Bt <= 0)
3119
3158
  throw new Error("Periods must be positive");
3120
3159
  if (n.length === 0)
3121
3160
  return new Float64Array(0);
3122
- const L = $(n, m), j = $(n, w), U = $(n, v), R = $(n, d), z = P(L, A), K = P(j, b), Y = P(U, g), Ot = P(R, F), Ct = G(z, x), Tt = G(K, I), Ut = G(Y, y), qt = G(Ot, M);
3161
+ const L = $(n, h), j = $(n, w), U = $(n, v), R = $(n, d), z = O(L, A), K = O(j, b), Y = O(U, g), Ot = O(R, M), Ct = G(z, x), Tt = G(K, I), Ut = G(Y, y), qt = G(Ot, F);
3123
3162
  return Z(Z(Ct, Tt), Z(Ut, qt));
3124
3163
  }
3125
3164
  function ao(n, t, r, e) {
@@ -3132,30 +3171,30 @@ function ao(n, t, r, e) {
3132
3171
  if (o < e)
3133
3172
  return l;
3134
3173
  const f = new Float64Array(o);
3135
- for (let m = 0; m < o; m++)
3136
- f[m] = (n[m] + t[m] + r[m]) / 3;
3174
+ for (let h = 0; h < o; h++)
3175
+ f[h] = (n[h] + t[h] + r[h]) / 3;
3137
3176
  let i = 0, a = 0;
3138
3177
  const s = e;
3139
- for (let m = 0; m < s && m < o; m++) {
3140
- const w = f[m];
3178
+ for (let h = 0; h < s && h < o; h++) {
3179
+ const w = f[h];
3141
3180
  w === w && (i += w, a++);
3142
3181
  }
3143
- const u = Math.abs, c = 1 / s, N = 0.015, h = 2 * s - 2;
3144
- for (let m = s - 1; m < o; m++) {
3145
- if (a === s && m >= h) {
3182
+ const u = Math.abs, c = 1 / s, N = 0.015, m = 2 * s - 2;
3183
+ for (let h = s - 1; h < o; h++) {
3184
+ if (a === s && h >= m) {
3146
3185
  const w = i * c;
3147
3186
  let v = 0;
3148
- const d = m - s + 1;
3149
- for (let g = d; g <= m; g++)
3187
+ const d = h - s + 1;
3188
+ for (let g = d; g <= h; g++)
3150
3189
  v += u(f[g] - w);
3151
3190
  v = v * c;
3152
- const A = N * v, b = f[m];
3153
- l[m] = A === 0 ? 0 : (b - w) / A;
3191
+ const A = N * v, b = f[h];
3192
+ l[h] = A === 0 ? 0 : (b - w) / A;
3154
3193
  }
3155
- if (m + 1 < o) {
3156
- const w = m - s + 1, v = f[w];
3194
+ if (h + 1 < o) {
3195
+ const w = h - s + 1, v = f[w];
3157
3196
  v === v && (i -= v, a--);
3158
- const d = f[m + 1];
3197
+ const d = f[h + 1];
3159
3198
  d === d && (i += d, a++);
3160
3199
  }
3161
3200
  }
@@ -3171,38 +3210,38 @@ function et(n, t, r, e) {
3171
3210
  if (o < e)
3172
3211
  return l.fill(NaN), f.fill(NaN), i.fill(NaN), a.fill(NaN), s.fill(NaN), { diplus: l, diminus: f, dx: i, adx: a, adxr: s };
3173
3212
  let u = 0, c = 0, N = 0;
3174
- function h(g) {
3175
- const F = n[g] - n[g - 1], x = t[g - 1] - t[g], I = F > x && F > 0 ? F : 0, y = x > F && x > 0 ? x : 0, M = n[g] - t[g], E = Math.abs(n[g] - r[g - 1]), _ = Math.abs(t[g] - r[g - 1]);
3176
- return { tr: Math.max(M, Math.max(E, _)), p: I, m: y };
3213
+ function m(g) {
3214
+ const M = n[g] - n[g - 1], x = t[g - 1] - t[g], I = M > x && M > 0 ? M : 0, y = x > M && x > 0 ? x : 0, F = n[g] - t[g], E = Math.abs(n[g] - r[g - 1]), _ = Math.abs(t[g] - r[g - 1]);
3215
+ return { tr: Math.max(F, Math.max(E, _)), p: I, m: y };
3177
3216
  }
3178
3217
  n[0] - t[0], u += 0;
3179
3218
  for (let g = 1; g < e; g++) {
3180
- const F = h(g);
3181
- u += F.tr, c += F.p, N += F.m;
3219
+ const M = m(g);
3220
+ u += M.tr, c += M.p, N += M.m;
3182
3221
  }
3183
3222
  for (let g = 0; g < e - 1 && g < o; g++)
3184
3223
  l[g] = NaN, f[g] = NaN, i[g] = NaN, s[g] = NaN;
3185
- const m = u !== 0 ? 100 * (c / u) : NaN, w = u !== 0 ? 100 * (N / u) : NaN;
3186
- l[e - 1] = m, f[e - 1] = w, i[e - 1] = 100 * Math.abs(m - w) / (m + w);
3224
+ const h = u !== 0 ? 100 * (c / u) : NaN, w = u !== 0 ? 100 * (N / u) : NaN;
3225
+ l[e - 1] = h, f[e - 1] = w, i[e - 1] = 100 * Math.abs(h - w) / (h + w);
3187
3226
  const v = 2 * e - 2;
3188
3227
  v > 0 && (a.fill(NaN, 0, Math.min(o, v + 1)), s.fill(NaN, 0, Math.min(o, v + 1)));
3189
3228
  let d = 0, A = 0;
3190
3229
  const b = i[e - 1];
3191
3230
  b === b && (d += b, A++);
3192
3231
  for (let g = e; g <= v && g < o; g++) {
3193
- const { tr: F, p: x, m: I } = h(g);
3194
- u = u - u / e + F, c = c - c / e + x, N = N - N / e + I;
3195
- const y = u !== 0 ? 100 * (c / u) : NaN, M = u !== 0 ? 100 * (N / u) : NaN;
3196
- l[g] = y, f[g] = M;
3197
- const E = 100 * Math.abs(y - M) / (y + M);
3232
+ const { tr: M, p: x, m: I } = m(g);
3233
+ u = u - u / e + M, c = c - c / e + x, N = N - N / e + I;
3234
+ const y = u !== 0 ? 100 * (c / u) : NaN, F = u !== 0 ? 100 * (N / u) : NaN;
3235
+ l[g] = y, f[g] = F;
3236
+ const E = 100 * Math.abs(y - F) / (y + F);
3198
3237
  i[g] = E, E === E && (d += E, A++), g === v && (a[v] = A === e ? d / A : NaN);
3199
3238
  }
3200
3239
  for (let g = Math.max(e, v + 1); g < o; g++) {
3201
- const { tr: F, p: x, m: I } = h(g);
3202
- u = u - u / e + F, c = c - c / e + x, N = N - N / e + I;
3203
- const y = u !== 0 ? 100 * (c / u) : NaN, M = u !== 0 ? 100 * (N / u) : NaN;
3204
- l[g] = y, f[g] = M;
3205
- const E = 100 * Math.abs(y - M) / (y + M);
3240
+ const { tr: M, p: x, m: I } = m(g);
3241
+ u = u - u / e + M, c = c - c / e + x, N = N - N / e + I;
3242
+ const y = u !== 0 ? 100 * (c / u) : NaN, F = u !== 0 ? 100 * (N / u) : NaN;
3243
+ l[g] = y, f[g] = F;
3244
+ const E = 100 * Math.abs(y - F) / (y + F);
3206
3245
  i[g] = E, a[g] = (a[g - 1] * (e - 1) + E) / e;
3207
3246
  const _ = a[g - e + 1];
3208
3247
  s[g] = (a[g] + _) / 2;
@@ -3228,7 +3267,7 @@ function ho(n, t) {
3228
3267
  const r = n.length, e = new Float64Array(r);
3229
3268
  if (r < t)
3230
3269
  return e.fill(NaN);
3231
- const o = P(n, t, !0), l = Math.floor(t / 2) + 1;
3270
+ const o = O(n, t, !0), l = Math.floor(t / 2) + 1;
3232
3271
  for (let f = 0; f < l && f < r; f++)
3233
3272
  e[f] = NaN;
3234
3273
  for (let f = l; f < r; f++)
@@ -3246,60 +3285,60 @@ function mo(n, t, r, e, o = !0) {
3246
3285
  const f = new Float64Array(l);
3247
3286
  if (l === 0)
3248
3287
  return f;
3249
- function i(u, c, N, h, m, w, v, d, A, b) {
3250
- let g = u + c * (N - u), F, x = c, I = u, y = h, M = N;
3251
- return h ? (g > b && (g = b), g > A && (g = A), m > M && (M = m, x += r, x >= e && (x = e)), I = g, w < g && (x = r, I = M, y = !1, M = w), F = I) : (g < d && (g = d), g < v && (g = v), w < M && (M = w, x += r, x >= e && (x = e)), I = g, m > g && (x = r, I = M, y = !0, M = m), F = I), { sar: I, accel: x, lng: y, extreme: M, outVal: F };
3288
+ function i(u, c, N, m, h, w, v, d, A, b) {
3289
+ let g = u + c * (N - u), M, x = c, I = u, y = m, F = N;
3290
+ return m ? (g > b && (g = b), g > A && (g = A), h > F && (F = h, x += r, x >= e && (x = e)), I = g, w < g && (x = r, I = F, y = !1, F = w), M = I) : (g < d && (g = d), g < v && (g = v), w < F && (F = w, x += r, x >= e && (x = e)), I = g, h > g && (x = r, I = F, y = !0, F = h), M = I), { sar: I, accel: x, lng: y, extreme: F, outVal: M };
3252
3291
  }
3253
3292
  function a(u, c) {
3254
- const N = u.length, h = new Float64Array(N);
3255
- if (h.fill(NaN), N < 2)
3256
- return h;
3257
- let m = u[0] + c[0] <= u[1] + c[1], w, v;
3258
- m ? (v = u[0], w = c[0]) : (v = c[0], w = u[0]);
3293
+ const N = u.length, m = new Float64Array(N);
3294
+ if (m.fill(NaN), N < 2)
3295
+ return m;
3296
+ let h = u[0] + c[0] <= u[1] + c[1], w, v;
3297
+ h ? (v = u[0], w = c[0]) : (v = c[0], w = u[0]);
3259
3298
  let d = r;
3260
3299
  {
3261
- const b = u[0], g = c[0], F = i(w, d, v, m, u[1], c[1], b, b, g, g);
3262
- w = F.sar, d = F.accel, m = F.lng, v = F.extreme, h[1] = F.outVal;
3300
+ const b = u[0], g = c[0], M = i(w, d, v, h, u[1], c[1], b, b, g, g);
3301
+ w = M.sar, d = M.accel, h = M.lng, v = M.extreme, m[1] = M.outVal;
3263
3302
  }
3264
3303
  for (let A = 2; A < N; A++) {
3265
- const b = u[A], g = c[A], F = u[A - 1], x = u[A - 2], I = c[A - 1], y = c[A - 2], M = i(w, d, v, m, b, g, F, x, I, y);
3266
- w = M.sar, d = M.accel, m = M.lng, v = M.extreme, h[A] = M.outVal;
3304
+ const b = u[A], g = c[A], M = u[A - 1], x = u[A - 2], I = c[A - 1], y = c[A - 2], F = i(w, d, v, h, b, g, M, x, I, y);
3305
+ w = F.sar, d = F.accel, h = F.lng, v = F.extreme, m[A] = F.outVal;
3267
3306
  }
3268
- return h;
3307
+ return m;
3269
3308
  }
3270
3309
  function s(u, c) {
3271
3310
  const N = new Float64Array(l).fill(NaN);
3272
3311
  if (l < 2)
3273
3312
  return N;
3274
- const h = (y) => {
3275
- const M = u[y], E = c[y];
3276
- return M === M && E === E;
3277
- }, m = (y) => {
3278
- let M = y;
3279
- for (; M < l && !h(M); )
3280
- M++;
3281
- return M;
3282
- }, w = m(0);
3313
+ const m = (y) => {
3314
+ const F = u[y], E = c[y];
3315
+ return F === F && E === E;
3316
+ }, h = (y) => {
3317
+ let F = y;
3318
+ for (; F < l && !m(F); )
3319
+ F++;
3320
+ return F;
3321
+ }, w = h(0);
3283
3322
  if (w >= l)
3284
3323
  return N;
3285
- const v = m(w + 1);
3324
+ const v = h(w + 1);
3286
3325
  if (v >= l)
3287
3326
  return N;
3288
3327
  let d = u[w] + c[w] <= u[v] + c[v], A, b;
3289
3328
  d ? (b = u[w], A = c[w]) : (b = c[w], A = u[w]);
3290
3329
  let g = r;
3291
3330
  {
3292
- const y = v, M = u[w], E = c[w], _ = i(A, g, b, d, u[y], c[y], M, M, E, E);
3331
+ const y = v, F = u[w], E = c[w], _ = i(A, g, b, d, u[y], c[y], F, F, E, E);
3293
3332
  A = _.sar, g = _.accel, d = _.lng, b = _.extreme, N[y] = _.outVal;
3294
3333
  }
3295
- let F = w, x = v, I = m(x + 1);
3334
+ let M = w, x = v, I = h(x + 1);
3296
3335
  for (; I < l; ) {
3297
- const y = u[I], M = c[I], E = u[x], _ = u[F], S = c[x], L = c[F], j = i(A, g, b, d, y, M, E, _, S, L);
3298
- A = j.sar, g = j.accel, d = j.lng, b = j.extreme, N[I] = j.outVal, F = x, x = I, I = m(x + 1);
3336
+ const y = u[I], F = c[I], E = u[x], _ = u[M], V = c[x], L = c[M], j = i(A, g, b, d, y, F, E, _, V, L);
3337
+ A = j.sar, g = j.accel, d = j.lng, b = j.extreme, N[I] = j.outVal, M = x, x = I, I = h(x + 1);
3299
3338
  }
3300
3339
  return N;
3301
3340
  }
3302
- return o && !V() && (k(n, t) || (o = !1)), o ? s(n, t) : a(n, t);
3341
+ return o && !S() && (k(n, t) || (o = !1)), o ? s(n, t) : a(n, t);
3303
3342
  }
3304
3343
  function Pt(n, t, r) {
3305
3344
  const e = n.length;
@@ -3322,7 +3361,7 @@ function ot(n, t, r, e) {
3322
3361
  if (o < e)
3323
3362
  return new Float64Array(o).fill(NaN);
3324
3363
  const l = Pt(n, t, r);
3325
- return !V() && !k(n, t, r) ? at(l, e, !1) : at(l, e, !0);
3364
+ return !S() && !k(n, t, r) ? at(l, e, !1) : at(l, e, !0);
3326
3365
  }
3327
3366
  function wo(n, t, r, e) {
3328
3367
  const o = ot(n, t, r, e);
@@ -3338,25 +3377,25 @@ function vo(n, t, r, e, o) {
3338
3377
  if (l === 0)
3339
3378
  return [f, i, a, s];
3340
3379
  const u = ot(n, t, r, e);
3341
- for (let m = 0; m < l; m++)
3342
- f[m] = i[m] = a[m] = NaN;
3343
- let c = NaN, N = NaN, h = 1;
3344
- for (let m = 0; m < l; m++) {
3345
- const w = u[m], v = n[m], d = t[m], A = r[m];
3380
+ for (let h = 0; h < l; h++)
3381
+ f[h] = i[h] = a[h] = NaN;
3382
+ let c = NaN, N = NaN, m = 1;
3383
+ for (let h = 0; h < l; h++) {
3384
+ const w = u[h], v = n[h], d = t[h], A = r[h];
3346
3385
  if (w !== w || v !== v || d !== d || A !== A)
3347
3386
  continue;
3348
- const b = (v + d) / 2, g = b + o * w, F = b - o * w;
3349
- let x = g, I = F;
3350
- if (m > 0 && c === c) {
3351
- const M = r[m - 1];
3352
- g < c || M === M && M > c || (x = c);
3387
+ const b = (v + d) / 2, g = b + o * w, M = b - o * w;
3388
+ let x = g, I = M;
3389
+ if (h > 0 && c === c) {
3390
+ const F = r[h - 1];
3391
+ g < c || F === F && F > c || (x = c);
3353
3392
  }
3354
- if (m > 0 && N === N) {
3355
- const M = r[m - 1];
3356
- F > N || M === M && M < N || (I = N);
3393
+ if (h > 0 && N === N) {
3394
+ const F = r[h - 1];
3395
+ M > N || F === F && F < N || (I = N);
3357
3396
  }
3358
- let y = h;
3359
- A > x ? y = 1 : A < I && (y = 0), f[m] = y ? I : x, i[m] = x, a[m] = I, s[m] = y ? 1 : 0, c = x, N = I, h = y;
3397
+ let y = m;
3398
+ A > x ? y = 1 : A < I && (y = 0), f[h] = y ? I : x, i[h] = x, a[h] = I, s[h] = y ? 1 : 0, c = x, N = I, m = y;
3360
3399
  }
3361
3400
  return [f, i, a, s];
3362
3401
  }
@@ -3369,14 +3408,14 @@ function bo(n, t, r, e) {
3369
3408
  const c = n.length;
3370
3409
  if (t.length !== c || r.length !== c)
3371
3410
  throw new Error("high/low/close must have the same length");
3372
- const N = new Float64Array(c), h = new Float64Array(c), m = new Float64Array(c), w = new Float64Array(c);
3373
- N.fill(NaN), h.fill(NaN), m.fill(NaN), w.fill(NaN);
3374
- function v(y, M, E, _, S) {
3411
+ const N = new Float64Array(c), m = new Float64Array(c), h = new Float64Array(c), w = new Float64Array(c);
3412
+ N.fill(NaN), m.fill(NaN), h.fill(NaN), w.fill(NaN);
3413
+ function v(y, F, E, _, V) {
3375
3414
  if (!(c < E))
3376
3415
  for (let L = E - 1; L < c; L++) {
3377
3416
  let j = -1 / 0, U = 1 / 0, R = !1;
3378
3417
  for (let z = L - E + 1; z <= L; z++) {
3379
- const K = y[z], Y = M[z];
3418
+ const K = y[z], Y = F[z];
3380
3419
  if (K !== K || Y !== Y) {
3381
3420
  R = !0;
3382
3421
  break;
@@ -3384,50 +3423,50 @@ function bo(n, t, r, e) {
3384
3423
  K > j && (j = K), Y < U && (U = Y);
3385
3424
  }
3386
3425
  if (R) {
3387
- _[L] = S[L] = NaN;
3426
+ _[L] = V[L] = NaN;
3388
3427
  continue;
3389
3428
  }
3390
- _[L] = j, S[L] = U;
3429
+ _[L] = j, V[L] = U;
3391
3430
  }
3392
3431
  }
3393
3432
  const d = new Float64Array(c), A = new Float64Array(c);
3394
3433
  d.fill(NaN), A.fill(NaN), v(n, t, i, d, A);
3395
3434
  for (let y = 0; y < c; y++) {
3396
- const M = d[y], E = A[y];
3397
- M !== M || E !== E ? N[y] = NaN : N[y] = (M + E) / 2;
3435
+ const F = d[y], E = A[y];
3436
+ F !== F || E !== E ? N[y] = NaN : N[y] = (F + E) / 2;
3398
3437
  }
3399
3438
  const b = new Float64Array(c), g = new Float64Array(c);
3400
3439
  b.fill(NaN), g.fill(NaN), v(n, t, a, b, g);
3401
3440
  for (let y = 0; y < c; y++) {
3402
- const M = b[y], E = g[y];
3403
- M !== M || E !== E ? h[y] = NaN : h[y] = (M + E) / 2;
3441
+ const F = b[y], E = g[y];
3442
+ F !== F || E !== E ? m[y] = NaN : m[y] = (F + E) / 2;
3404
3443
  }
3405
3444
  for (let y = 0; y < c; y++) {
3406
- const M = N[y], E = h[y];
3407
- if (M !== M || E !== E)
3445
+ const F = N[y], E = m[y];
3446
+ if (F !== F || E !== E)
3408
3447
  continue;
3409
- const _ = (M + E) / 2, S = y + u;
3410
- S < c && (m[S] = _);
3448
+ const _ = (F + E) / 2, V = y + u;
3449
+ V < c && (h[V] = _);
3411
3450
  }
3412
- const F = new Float64Array(c), x = new Float64Array(c);
3413
- F.fill(NaN), x.fill(NaN), v(n, t, s, F, x);
3451
+ const M = new Float64Array(c), x = new Float64Array(c);
3452
+ M.fill(NaN), x.fill(NaN), v(n, t, s, M, x);
3414
3453
  for (let y = 0; y < c; y++) {
3415
- const M = F[y], E = x[y];
3416
- if (M !== M || E !== E)
3454
+ const F = M[y], E = x[y];
3455
+ if (F !== F || E !== E)
3417
3456
  continue;
3418
- const _ = (M + E) / 2, S = y + u;
3419
- S < c && (w[S] = _);
3457
+ const _ = (F + E) / 2, V = y + u;
3458
+ V < c && (w[V] = _);
3420
3459
  }
3421
3460
  const I = yt(r, -u);
3422
- return [N, h, m, w, I];
3461
+ return [N, m, h, w, I];
3423
3462
  }
3424
3463
  function Dt(n, t, r) {
3425
3464
  if (t <= 0)
3426
3465
  throw new Error("Period must be positive");
3427
- const e = n.length, o = P(n, t, !0), l = new Float64Array(e), f = new Float64Array(e);
3466
+ const e = n.length, o = O(n, t, !0), l = new Float64Array(e), f = new Float64Array(e);
3428
3467
  if (f.fill(NaN, 0, Math.min(e, t)), l.fill(NaN, 0, Math.min(e, t)), e < t)
3429
3468
  return [o.fill(NaN), l.fill(NaN), f.fill(NaN)];
3430
- const i = !(V() === !1 && !k(n)), a = X(n, t, { skipna: i, ddof: 0 });
3469
+ const i = !(S() === !1 && !k(n)), a = X(n, t, { skipna: i, ddof: 0 });
3431
3470
  for (let s = t - 1; s < e; s++) {
3432
3471
  const u = o[s], c = a[s];
3433
3472
  if (u !== u || c !== c) {
@@ -3438,7 +3477,7 @@ function Dt(n, t, r) {
3438
3477
  }
3439
3478
  return [o, l, f];
3440
3479
  }
3441
- function Mo(n, t, r) {
3480
+ function Fo(n, t, r) {
3442
3481
  if (t <= 0)
3443
3482
  throw new Error("Period must be positive");
3444
3483
  const e = n.length, o = new Float64Array(e);
@@ -3451,7 +3490,7 @@ function Mo(n, t, r) {
3451
3490
  }
3452
3491
  return o;
3453
3492
  }
3454
- function Fo(n, t, r) {
3493
+ function Mo(n, t, r) {
3455
3494
  if (r <= 0)
3456
3495
  throw new Error("Period must be positive");
3457
3496
  const e = n.length;
@@ -3460,17 +3499,17 @@ function Fo(n, t, r) {
3460
3499
  const o = new Float64Array(e), l = new Float64Array(e), f = new Float64Array(e);
3461
3500
  if (o.fill(NaN, 0, Math.min(e, r - 1)), l.fill(NaN, 0, Math.min(e, r - 1)), f.fill(NaN, 0, Math.min(e, r - 1)), e < r)
3462
3501
  return [o, l, f];
3463
- const i = !V() && !k(n, t);
3502
+ const i = !S() && !k(n, t);
3464
3503
  for (let a = r - 1; a < e; a++) {
3465
3504
  let s = -1 / 0, u = 1 / 0, c = !1;
3466
3505
  for (let N = a - r + 1; N <= a; N++) {
3467
- const h = n[N], m = t[N];
3468
- if (h !== h || m !== m) {
3506
+ const m = n[N], h = t[N];
3507
+ if (m !== m || h !== h) {
3469
3508
  if (c = !0, i)
3470
3509
  break;
3471
3510
  break;
3472
3511
  }
3473
- h > s && (s = h), m < u && (u = m);
3512
+ m > s && (s = m), h < u && (u = h);
3474
3513
  }
3475
3514
  if (c) {
3476
3515
  o[a] = l[a] = f[a] = NaN;
@@ -3490,17 +3529,17 @@ function xo(n, t, r, e, o) {
3490
3529
  return [new Float64Array(0), new Float64Array(0), new Float64Array(0)];
3491
3530
  const f = new Float64Array(l);
3492
3531
  for (let c = 0; c < l; c++) {
3493
- const N = n[c], h = t[c], m = r[c];
3494
- N !== N || h !== h || m !== m ? f[c] = NaN : f[c] = (N + h + m) / 3;
3532
+ const N = n[c], m = t[c], h = r[c];
3533
+ N !== N || m !== m || h !== h ? f[c] = NaN : f[c] = (N + m + h) / 3;
3495
3534
  }
3496
3535
  const i = xt(f, e), a = ot(n, t, r, e), s = new Float64Array(l), u = new Float64Array(l);
3497
3536
  for (let c = 0; c < l; c++) {
3498
- const N = i[c], h = a[c];
3499
- if (N !== N || h !== h) {
3537
+ const N = i[c], m = a[c];
3538
+ if (N !== N || m !== m) {
3500
3539
  s[c] = u[c] = NaN;
3501
3540
  continue;
3502
3541
  }
3503
- s[c] = N + o * h, u[c] = N - o * h;
3542
+ s[c] = N + o * m, u[c] = N - o * m;
3504
3543
  }
3505
3544
  return [i, s, u];
3506
3545
  }
@@ -3511,35 +3550,35 @@ function Eo(n, t, r, e) {
3511
3550
  const l = new Float64Array(o);
3512
3551
  let f = 0;
3513
3552
  for (let i = 0; i < o; i++) {
3514
- const a = n[i], s = t[i], u = r[i], c = e[i], N = a - s, h = N === 0 ? 0 : (u - s - (a - u)) / N, m = f + h * c;
3515
- m === m && (f = m), l[i] = m;
3553
+ const a = n[i], s = t[i], u = r[i], c = e[i], N = a - s, m = N === 0 ? 0 : (u - s - (a - u)) / N, h = f + m * c;
3554
+ h === h && (f = h), l[i] = h;
3516
3555
  }
3517
3556
  return l;
3518
3557
  }
3519
3558
  function Io(n, t, r, e, o, l, f, i) {
3520
3559
  if (o < f)
3521
3560
  return i.fill(NaN);
3522
- const a = 2 / (l + 1), s = 2 / (f + 1), u = n[0], c = t[0], N = r[0], h = e[0];
3523
- let m = 0;
3561
+ const a = 2 / (l + 1), s = 2 / (f + 1), u = n[0], c = t[0], N = r[0], m = e[0];
3562
+ let h = 0;
3524
3563
  const w = u - c;
3525
- w !== 0 && (m = (N - c - (u - N)) / w);
3526
- let d = m * h, A = d, b = d;
3564
+ w !== 0 && (h = (N - c - (u - N)) / w);
3565
+ let d = h * m, A = d, b = d;
3527
3566
  i[0] = NaN;
3528
3567
  for (let g = 1; g < f; g++) {
3529
- const F = n[g], x = t[g], I = r[g], y = e[g];
3530
- let M = 0;
3531
- const E = F - x;
3532
- E !== 0 && (M = (I - x - (F - I)) / E);
3533
- const _ = M * y;
3568
+ const M = n[g], x = t[g], I = r[g], y = e[g];
3569
+ let F = 0;
3570
+ const E = M - x;
3571
+ E !== 0 && (F = (I - x - (M - I)) / E);
3572
+ const _ = F * y;
3534
3573
  d += _, A = A + a * (d - A), b = b + s * (d - b), i[g] = NaN;
3535
3574
  }
3536
3575
  i[f - 1] = A - b;
3537
3576
  for (let g = f; g < o; g++) {
3538
- const F = n[g], x = t[g], I = r[g], y = e[g];
3539
- let M = 0;
3540
- const E = F - x;
3541
- E !== 0 && (M = (I - x - (F - I)) / E);
3542
- const _ = M * y;
3577
+ const M = n[g], x = t[g], I = r[g], y = e[g];
3578
+ let F = 0;
3579
+ const E = M - x;
3580
+ E !== 0 && (F = (I - x - (M - I)) / E);
3581
+ const _ = F * y;
3543
3582
  d += _, A = A + a * (d - A), b = b + s * (d - b), i[g] = A - b;
3544
3583
  }
3545
3584
  return i;
@@ -3547,16 +3586,16 @@ function Io(n, t, r, e, o, l, f, i) {
3547
3586
  function ko(n, t, r, e, o, l, f, i) {
3548
3587
  i.fill(NaN);
3549
3588
  const a = 2 / (l + 1), s = 2 / (f + 1);
3550
- let u = 0, c = NaN, N = NaN, h = 0;
3551
- for (let m = 0; m < o; m++) {
3552
- const w = n[m], v = t[m], d = r[m], A = e[m];
3589
+ let u = 0, c = NaN, N = NaN, m = 0;
3590
+ for (let h = 0; h < o; h++) {
3591
+ const w = n[h], v = t[h], d = r[h], A = e[h];
3553
3592
  if (!(w === w && v === v && d === d && A === A))
3554
3593
  continue;
3555
3594
  const b = w - v;
3556
3595
  let g = 0;
3557
3596
  b !== 0 && (g = (d - v - (w - d)) / b);
3558
- const F = g * A;
3559
- u += F, h === 0 ? (c = u, N = u) : (c = c + a * (u - c), N = N + s * (u - N)), h++, h >= f && (i[m] = c - N);
3597
+ const M = g * A;
3598
+ u += M, m === 0 ? (c = u, N = u) : (c = c + a * (u - c), N = N + s * (u - N)), m++, m >= f && (i[h] = c - N);
3560
3599
  }
3561
3600
  return i;
3562
3601
  }
@@ -3568,11 +3607,11 @@ function _o(n, t, r, e, o, l, f = !0) {
3568
3607
  const i = r.length;
3569
3608
  if (n.length !== i || t.length !== i || e.length !== i)
3570
3609
  throw new Error("high, low, close and volume must have equal length");
3571
- f && !V() && !k(n, t, r, e) && (f = !1);
3610
+ f && !S() && !k(n, t, r, e) && (f = !1);
3572
3611
  const a = new Float64Array(i);
3573
3612
  return i === 0 ? a : f ? ko(n, t, r, e, i, o, l, a) : Io(n, t, r, e, i, o, l, a);
3574
3613
  }
3575
- function Vo(n, t, r, e, o) {
3614
+ function So(n, t, r, e, o) {
3576
3615
  if (o <= 0)
3577
3616
  throw new Error("Period must be positive");
3578
3617
  const l = r.length;
@@ -3582,16 +3621,16 @@ function Vo(n, t, r, e, o) {
3582
3621
  if (f.fill(NaN), l <= o)
3583
3622
  return f;
3584
3623
  const i = new Float64Array(o), a = new Float64Array(o), s = new Uint8Array(o);
3585
- let u = 0, c = 0, N = 0, m = (n[0] + t[0] + r[0]) / 3;
3624
+ let u = 0, c = 0, N = 0, h = (n[0] + t[0] + r[0]) / 3;
3586
3625
  for (let v = 1; v < o; v++) {
3587
3626
  const d = (n[v] + t[v] + r[v]) / 3, A = d * e[v], b = Number.isFinite(A);
3588
- let g = 0, F = 0;
3589
- b ? d > m ? g = A : d < m && (F = A) : (s[v] = 1, N++), i[v] = g, a[v] = F, u += g, c += F, m = d;
3627
+ let g = 0, M = 0;
3628
+ b ? d > h ? g = A : d < h && (M = A) : (s[v] = 1, N++), i[v] = g, a[v] = M, u += g, c += M, h = d;
3590
3629
  }
3591
3630
  {
3592
3631
  const v = o, d = (n[v] + t[v] + r[v]) / 3, A = d * e[v], b = Number.isFinite(A);
3593
- let g = 0, F = 0;
3594
- if (b ? d > m ? g = A : d < m && (F = A) : (s[0] = 1, N++), i[0] = g, a[0] = F, u += g, c += F, Number.isFinite(d) && N === 0)
3632
+ let g = 0, M = 0;
3633
+ if (b ? d > h ? g = A : d < h && (M = A) : (s[0] = 1, N++), i[0] = g, a[0] = M, u += g, c += M, Number.isFinite(d) && N === 0)
3595
3634
  if (u + c === 0)
3596
3635
  f[v] = 50;
3597
3636
  else if (c === 0)
@@ -3600,13 +3639,13 @@ function Vo(n, t, r, e, o) {
3600
3639
  const I = u / c;
3601
3640
  f[v] = 100 - 100 / (1 + I);
3602
3641
  }
3603
- m = d;
3642
+ h = d;
3604
3643
  }
3605
3644
  let w = 1;
3606
3645
  for (let v = o + 1; v < l; v++) {
3607
3646
  const d = (n[v] + t[v] + r[v]) / 3, A = d * e[v], b = Number.isFinite(A);
3608
- let g = 0, F = 0, x = 0;
3609
- if (b ? d > m ? g = A : d < m && (F = A) : x = 1, u += g - i[w], c += F - a[w], N += x - s[w], i[w] = g, a[w] = F, s[w] = x, w++, w === o && (w = 0), Number.isFinite(d) && N === 0)
3647
+ let g = 0, M = 0, x = 0;
3648
+ if (b ? d > h ? g = A : d < h && (M = A) : x = 1, u += g - i[w], c += M - a[w], N += x - s[w], i[w] = g, a[w] = M, s[w] = x, w++, w === o && (w = 0), Number.isFinite(d) && N === 0)
3610
3649
  if (u + c === 0)
3611
3650
  f[v] = 50;
3612
3651
  else if (c === 0)
@@ -3615,11 +3654,11 @@ function Vo(n, t, r, e, o) {
3615
3654
  const y = u / c;
3616
3655
  f[v] = 100 - 100 / (1 + y);
3617
3656
  }
3618
- m = d;
3657
+ h = d;
3619
3658
  }
3620
3659
  return f;
3621
3660
  }
3622
- function So(n, t) {
3661
+ function Vo(n, t) {
3623
3662
  const r = n.length;
3624
3663
  if (t.length !== r)
3625
3664
  throw new Error("price and volume must have same length");
@@ -3648,8 +3687,8 @@ function Lo(n, t, r = 1e3) {
3648
3687
  o.fill(NaN), l.fill(NaN);
3649
3688
  let f = -1;
3650
3689
  for (let c = 0; c < e; c++) {
3651
- const N = n[c], h = t[c];
3652
- if (N === N && h === h && N !== 0) {
3690
+ const N = n[c], m = t[c];
3691
+ if (N === N && m === m && N !== 0) {
3653
3692
  f = c;
3654
3693
  break;
3655
3694
  }
@@ -3660,11 +3699,11 @@ function Lo(n, t, r = 1e3) {
3660
3699
  o[f] = i, l[f] = a;
3661
3700
  let s = n[f], u = t[f];
3662
3701
  for (let c = f + 1; c < e; c++) {
3663
- const N = n[c], h = t[c];
3664
- if (!(N === N && h === h && N !== 0))
3702
+ const N = n[c], m = t[c];
3703
+ if (!(N === N && m === m && N !== 0))
3665
3704
  continue;
3666
- const m = (N - s) / s;
3667
- h > u && (i = i + m * i), h < u && (a = a + m * a), o[c] = i, l[c] = a, s = N, u = h;
3705
+ const h = (N - s) / s;
3706
+ m > u && (i = i + h * i), m < u && (a = a + h * a), o[c] = i, l[c] = a, s = N, u = m;
3668
3707
  }
3669
3708
  return [o, l];
3670
3709
  }
@@ -3703,7 +3742,7 @@ function Po(n, t, r, e = !0) {
3703
3742
  if (n.length !== o || t.length !== o)
3704
3743
  throw new Error("high, low and close must have equal length");
3705
3744
  const l = new Float64Array(o);
3706
- return o === 0 ? l : e && !V() && !k(n, t, r) || !e ? vt(n, t, r, o, l) : (l.fill(NaN), jo(n, t, r, o, l));
3745
+ return o === 0 ? l : e && !S() && !k(n, t, r) || !e ? vt(n, t, r, o, l) : (l.fill(NaN), jo(n, t, r, o, l));
3707
3746
  }
3708
3747
  const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3709
3748
  __proto__: null,
@@ -3716,7 +3755,7 @@ const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3716
3755
  aroon: io,
3717
3756
  atr: ot,
3718
3757
  bb: Dt,
3719
- bbw: Mo,
3758
+ bbw: Fo,
3720
3759
  cci: ao,
3721
3760
  change: pe,
3722
3761
  cmo: $e,
@@ -3725,7 +3764,7 @@ const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3725
3764
  crossunder: hn,
3726
3765
  dema: Yn,
3727
3766
  di: so,
3728
- donchian: Fo,
3767
+ donchian: Mo,
3729
3768
  dpo: ho,
3730
3769
  dx: co,
3731
3770
  ema: xt,
@@ -3736,10 +3775,10 @@ const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3736
3775
  keltner: xo,
3737
3776
  kst: fo,
3738
3777
  macd: Je,
3739
- mfi: Vo,
3778
+ mfi: So,
3740
3779
  mom: Qe,
3741
3780
  natr: wo,
3742
- obv: So,
3781
+ obv: Vo,
3743
3782
  pnvi: Lo,
3744
3783
  ppo: Ze,
3745
3784
  psar: mo,
@@ -3747,7 +3786,7 @@ const Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3747
3786
  rma: at,
3748
3787
  roc: $,
3749
3788
  rsi: jt,
3750
- sma: P,
3789
+ sma: O,
3751
3790
  stoch: eo,
3752
3791
  stochrsi: oo,
3753
3792
  supertrend: vo,