@graphysdk/viz-engine 1.8.1-beta.1786354953172 → 1.8.1-beta.1786366143449

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.
@@ -1,63 +1,72 @@
1
- import { differenceInDays as Le, isBefore as Ce, isValid as f, isWithinInterval as Ie, parse as N } from "date-fns";
2
- import { isEqual as Ve, isInteger as xe } from "lodash-es";
3
- import { desc as Be, op as ae, table as O } from "arquero";
4
- var Tr = (e) => e.length > 0;
1
+ import { differenceInDays as Ie, isBefore as Ve, isValid as f, isWithinInterval as xe, parse as N } from "date-fns";
2
+ import { isEqual as Be, isInteger as je } from "lodash-es";
3
+ import { desc as Ue, op as ae, table as O } from "arquero";
4
+ var Ar = (e) => e.length > 0;
5
5
  function ne(e) {
6
6
  return e != null;
7
7
  }
8
- function Ar(e) {
8
+ function Fr(e) {
9
9
  if (e === null || typeof e != "object") return !1;
10
10
  const t = Object.getPrototypeOf(e);
11
11
  return t === Object.prototype || t === null;
12
12
  }
13
- var se = "\0graphy\0_", c = (e) => `${se}${e}`, je = { x: c("constantX") }, oe = {
14
- count: c("count"),
15
- mean: c("mean")
16
- }, Ue = { group: c("group") }, Pe = {
17
- x: c("x"),
18
- y: c("y"),
19
- xMin: c("xMin"),
20
- xMax: c("xMax"),
21
- yMin: c("yMin"),
22
- yMax: c("yMax"),
23
- yRaw: c("yRaw")
24
- }, $e = { role: c("stackRole") }, Ye = {
25
- color: c("color"),
26
- size: c("size"),
27
- alpha: c("alpha"),
28
- strokeWidth: c("strokeWidth"),
29
- lineType: c("lineType")
30
- }, ze = {
31
- y: c("ruleY"),
32
- x: c("ruleX")
33
- }, Fr = {
34
- ...je,
13
+ var se = "\0graphy\0_", u = (e) => `${se}${e}`, oe = { x: u("constantX") }, ie = {
14
+ count: u("count"),
15
+ mean: u("mean"),
16
+ sum: u("sum")
17
+ }, Pe = { group: u("group") }, $e = {
18
+ x: u("x"),
19
+ y: u("y"),
20
+ xMin: u("xMin"),
21
+ xMax: u("xMax"),
22
+ yMin: u("yMin"),
23
+ yMax: u("yMax"),
24
+ yRaw: u("yRaw")
25
+ }, Ye = { role: u("stackRole") }, ze = {
26
+ color: u("color"),
27
+ size: u("size"),
28
+ alpha: u("alpha"),
29
+ strokeWidth: u("strokeWidth"),
30
+ lineType: u("lineType")
31
+ }, We = {
32
+ y: u("ruleY"),
33
+ x: u("ruleX")
34
+ }, Dr = {
35
35
  ...oe,
36
- ...Ue,
36
+ ...ie,
37
37
  ...Pe,
38
38
  ...$e,
39
39
  ...Ye,
40
- ...ze
41
- }, We = new Set(Object.values(oe)), Dr = (e) => c(`scaled_${e}`), Nr = (e) => e.startsWith(se), wr = (e) => We.has(e);
42
- function Ge(e) {
40
+ ...ze,
41
+ ...We
42
+ }, Ge = new Set(Object.values(ie)), Nr = (e) => u(`scaled_${e}`), wr = (e) => e.startsWith(se), Sr = (e) => Ge.has(e);
43
+ function Or(e) {
44
+ const { numeric: t, categorical: r, temporal: a } = e.groupVariableNamesByType();
45
+ return a[0] ?? r[0] ?? t[0] ?? "";
46
+ }
47
+ function Rr(e) {
48
+ const t = le(e.x);
49
+ return t === null || t === oe.x ? "" : t;
50
+ }
51
+ function le(e) {
43
52
  return ne(e) ? typeof e == "string" ? e : "variable" in e ? e.variable : null : null;
44
53
  }
45
54
  function Ke(e) {
46
55
  if (!(!ne(e) || typeof e == "string") && "value" in e)
47
56
  return e.value;
48
57
  }
49
- function Sr(e, t) {
58
+ function kr(e, t) {
50
59
  return [.../* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)])].every((r) => X(e[r]) === X(t[r]));
51
60
  }
52
61
  function X(e) {
53
- const t = Ge(e);
62
+ const t = le(e);
54
63
  if (t !== null) return `variable:${t}`;
55
64
  const r = Ke(e);
56
65
  return r === void 0 ? "" : r === null ? "value:null" : r instanceof Date ? `value:date:${r.getTime()}` : `value:${typeof r}:${r}`;
57
66
  }
58
- var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (e) => typeof e == "string", He = (e) => typeof e == "number" && !Number.isNaN(e) && Number.isFinite(e), kr = (e) => He(e) || e === null, ie = (e) => (Array.isArray(e) ? e : [e]).map((t) => t instanceof Date ? t.toISOString() : String(t ?? "<null>")).join("\0"), Lr = (e, t) => e === t ? !0 : G(e) && G(t) ? e.getTime() === t.getTime() : !1, D = process.env.NODE_ENV !== "production", j = !0, Cr = (e) => {
67
+ var G = (e) => e instanceof Date && f(e), Lr = (e) => G(e) || e === null, Cr = (e) => typeof e == "string", He = (e) => typeof e == "number" && !Number.isNaN(e) && Number.isFinite(e), Ir = (e) => He(e) || e === null, ue = (e) => (Array.isArray(e) ? e : [e]).map((t) => t instanceof Date ? t.toISOString() : String(t ?? "<null>")).join("\0"), Vr = (e, t) => e === t ? !0 : G(e) && G(t) ? e.getTime() === t.getTime() : !1, D = process.env.NODE_ENV !== "production", j = !0, xr = (e) => {
59
68
  j = e;
60
- }, Ir = () => j, Vr = () => {
69
+ }, Br = () => j, jr = () => {
61
70
  let e = null;
62
71
  const t = {
63
72
  hits: 0,
@@ -66,7 +75,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
66
75
  return Object.assign((a, n) => {
67
76
  if (!j)
68
77
  return D && (t.misses += 1), n();
69
- if (e && le(e.args, a))
78
+ if (e && ce(e.args, a))
70
79
  return D && (t.hits += 1), e.out;
71
80
  D && (t.misses += 1);
72
81
  const s = n();
@@ -90,7 +99,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
90
99
  return D && (t.misses += 1), s();
91
100
  const o = e.get(a);
92
101
  if (o) {
93
- for (const l of o) if (le(l.args, n))
102
+ for (const l of o) if (ce(l.args, n))
94
103
  return D && (t.hits += 1), l.out;
95
104
  }
96
105
  D && (t.misses += 1);
@@ -103,13 +112,13 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
103
112
  out: i
104
113
  }]), i;
105
114
  }, { stats: t });
106
- }, xr = (...e) => e.reduce((t, r) => ({
115
+ }, Ur = (...e) => e.reduce((t, r) => ({
107
116
  hits: t.hits + r.hits,
108
117
  misses: t.misses + r.misses
109
118
  }), {
110
119
  hits: 0,
111
120
  misses: 0
112
- }), le = (e, t) => {
121
+ }), ce = (e, t) => {
113
122
  if (e.length !== t.length) return !1;
114
123
  for (let r = 0; r < e.length; r += 1) if (e[r] !== t[r]) return !1;
115
124
  return !0;
@@ -126,28 +135,28 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
126
135
  key(e) {
127
136
  return this.singletonKey;
128
137
  }
129
- }, ue = class extends Error {
138
+ }, de = class extends Error {
130
139
  constructor(e) {
131
140
  super(e.message, e.cause !== void 0 ? { cause: e.cause } : void 0), this.name = new.target.name, this.code = e.code, this.context = e.context, this.suggestion = e.suggestion;
132
141
  }
133
- }, B = class extends ue {
142
+ }, B = class extends de {
134
143
  constructor(e) {
135
144
  super(e), this.kind = "user-input";
136
145
  }
137
- }, v = class extends ue {
146
+ }, v = class extends de {
138
147
  constructor(e) {
139
148
  super({
140
149
  ...e,
141
150
  code: e.code ?? "INTERNAL_INVARIANT"
142
151
  }), this.kind = "internal";
143
152
  }
144
- }, ce = (e) => e.type === "lookup", Qe = (e) => e.type === "text", U = (e) => e.type === "date" || e.type === "datetime" || e.type === "year" || e.type === "month_year" || e.type === "month" || e.type === "day_month" || e.type === "weekly_date_range" || e.type === "weekly_date_range_with_year" || e.type === "quarter" || e.type === "time", Je = (e) => e.type === "decimal" || e.type === "integer" || e.type === "percentage" || e.type === "duration" || e.type === "currency", Br = (e) => e.type === "currency", jr = (e) => e.type === "month" || e.type === "day_month" || e.type === "weekly_date_range", de = (e) => {
145
- if (ce(e)) return de(e.fallback);
153
+ }, ye = (e) => e.type === "lookup", Qe = (e) => e.type === "text", U = (e) => e.type === "date" || e.type === "datetime" || e.type === "year" || e.type === "month_year" || e.type === "month" || e.type === "day_month" || e.type === "weekly_date_range" || e.type === "weekly_date_range_with_year" || e.type === "quarter" || e.type === "time", Je = (e) => e.type === "decimal" || e.type === "integer" || e.type === "percentage" || e.type === "duration" || e.type === "currency", Pr = (e) => e.type === "currency", $r = (e) => e.type === "month" || e.type === "day_month" || e.type === "weekly_date_range", fe = (e) => {
154
+ if (ye(e)) return fe(e.fallback);
146
155
  if (U(e)) return "temporal";
147
156
  if (Je(e)) return "numeric";
148
157
  if (Qe(e)) return "categorical";
149
158
  throw new v({ message: `No data type found for value format: ${e.type}` });
150
- }, Ur = (e) => ce(e) ? e.fallback : e, Ze = {
159
+ }, Yr = (e) => ye(e) ? e.fallback : e, Ze = {
151
160
  k: 1e3,
152
161
  m: 1e6,
153
162
  b: 1e9,
@@ -157,7 +166,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
157
166
  "m",
158
167
  "b",
159
168
  "t"
160
- ], et = new RegExp(`^-?(\\d{1,3}(,\\d{3})*|\\d+)\\.?\\d*(${q.join("|")})?$`, "i"), tt = /^-?\d{1,3}(?:,\d{3})*(?:\.\d+)?%?$/, T = (e) => e === null || e instanceof Date || Array.isArray(e) || typeof e == "boolean" ? !1 : typeof e == "string" ? et.test(e) && !Number.isNaN(Number(e.replace(new RegExp(`[,${q.join("")}]`, "gi"), ""))) : !Number.isNaN(Number(e)), ye = (e) => T(e) ? !0 : typeof e == "string" ? tt.test(e) : !1, fe = {
169
+ ], et = new RegExp(`^-?(\\d{1,3}(,\\d{3})*|\\d+)\\.?\\d*(${q.join("|")})?$`, "i"), tt = /^-?\d{1,3}(?:,\d{3})*(?:\.\d+)?%?$/, T = (e) => e === null || e instanceof Date || Array.isArray(e) || typeof e == "boolean" ? !1 : typeof e == "string" ? et.test(e) && !Number.isNaN(Number(e.replace(new RegExp(`[,${q.join("")}]`, "gi"), ""))) : !Number.isNaN(Number(e)), me = (e) => T(e) ? !0 : typeof e == "string" ? tt.test(e) : !1, pe = {
161
170
  $: "usd",
162
171
  "£": "gbp",
163
172
  "€": "eur",
@@ -189,33 +198,33 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
189
198
  C$: "cad",
190
199
  NZ$: "nzd",
191
200
  MX$: "mxn"
192
- }, me = (e) => {
201
+ }, ge = (e) => {
193
202
  if (typeof e == "string") {
194
- const t = pe(e);
203
+ const t = be(e);
195
204
  return t.length ? T(t) : !1;
196
205
  }
197
206
  return T(e);
198
207
  }, rt = (e) => {
199
- const t = ge(e), r = t ? fe[t] : void 0;
208
+ const t = he(e), r = t ? pe[t] : void 0;
200
209
  if (!r) throw new v({ message: "Could not get currency ISO" });
201
210
  return r;
202
- }, pe = (e) => {
203
- const t = ge(e);
211
+ }, be = (e) => {
212
+ const t = he(e);
204
213
  let r = e;
205
214
  if (t) {
206
215
  const a = e.indexOf(t);
207
216
  a === 0 ? r = e.slice(t.length) : a === e.length - t.length ? r = e.slice(0, e.length - t.length) : e[0] === "-" && a === 1 && (r = `-${e.slice(t.length + 1)}`);
208
217
  }
209
218
  return T(r) ? r.split(",").join("") : "";
210
- }, ge = (e) => Object.keys(fe).sort((t, r) => r.length - t.length).find((t) => e.includes(t)), be = (e) => {
219
+ }, he = (e) => Object.keys(pe).sort((t, r) => r.length - t.length).find((t) => e.includes(t)), ve = (e) => {
211
220
  const t = Object.entries(e);
212
221
  return !t.length || !t.some(([, r]) => !L(r));
213
- }, L = (e) => typeof e == "string" && e.trim() === "" || e === void 0 || e === null || e === "-", he = "en-GB", at = class {
222
+ }, L = (e) => typeof e == "string" && e.trim() === "" || e === void 0 || e === null || e === "-", Me = "en-GB", at = class {
214
223
  constructor() {
215
224
  this.currentYear = (/* @__PURE__ */ new Date()).getUTCFullYear(), this.previousDate = null, this.previousYear = null;
216
225
  }
217
226
  incrementYearIfNeeded(e) {
218
- this.previousYear === null ? this.previousYear = e.getUTCFullYear() : this.previousDate !== null && Ce(new Date(this.currentYear, e.getUTCMonth(), e.getUTCDate()), new Date(this.currentYear, this.previousDate.getUTCMonth(), this.previousDate.getUTCDate())) && this.previousYear++;
227
+ this.previousYear === null ? this.previousYear = e.getUTCFullYear() : this.previousDate !== null && Ve(new Date(this.currentYear, e.getUTCMonth(), e.getUTCDate()), new Date(this.currentYear, this.previousDate.getUTCMonth(), this.previousDate.getUTCDate())) && this.previousYear++;
219
228
  const t = new Date(e.getTime());
220
229
  return t.setUTCFullYear(this.previousYear), this.previousDate = t, t;
221
230
  }
@@ -236,7 +245,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
236
245
  "en-GB": "DMY",
237
246
  "pt-PT": "DMY",
238
247
  ar: "DMY"
239
- }, ve = [
248
+ }, Ee = [
240
249
  "/",
241
250
  "-",
242
251
  ".",
@@ -419,7 +428,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
419
428
  "MMMM",
420
429
  "do"
421
430
  ]
422
- ], Me = [
431
+ ], _e = [
423
432
  ["d", "MMMM"],
424
433
  ["dd", "MMMM"],
425
434
  ["do", "MMMM"],
@@ -443,23 +452,23 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
443
452
  dateFormat: "yyyy-MM",
444
453
  type: "month_year"
445
454
  }
446
- ], Ee = 1900, _e = 2199, ut = 3, ct = 6, dt = 5, yt = 1, ft = 28, mt = /\s*[–—]\s*|\s-\s/, pt = (e) => typeof e == "number" ? Number.isNaN(e) ? !1 : e >= Ee && e <= _e : typeof e == "string" ? st.test(e) : !1, Te = (e, t) => {
455
+ ], Te = 1900, Ae = 2199, ut = 3, ct = 6, dt = 5, yt = 1, ft = 28, mt = /\s*[–—]\s*|\s-\s/, pt = (e) => typeof e == "number" ? Number.isNaN(e) ? !1 : e >= Te && e <= Ae : typeof e == "string" ? st.test(e) : !1, Fe = (e, t) => {
447
456
  const r = k(e);
448
- return !t && T(r) ? ht(r) : typeof r == "string" ? t ? f(N(r, t, /* @__PURE__ */ new Date())) : !!Ae(r) || P(r) && f(new Date(r)) : f(r);
457
+ return !t && T(r) ? ht(r) : typeof r == "string" ? t ? f(N(r, t, /* @__PURE__ */ new Date())) : !!De(r) || P(r) && f(new Date(r)) : f(r);
449
458
  }, k = (e) => {
450
459
  if (typeof e != "string") return e;
451
460
  let t = e;
452
461
  for (const [r, a] of ot) t = t.replace(r, a);
453
462
  return t;
454
- }, Ae = (e, t = he) => {
463
+ }, De = (e, t = Me) => {
455
464
  const r = k(e);
456
- return P(r) ? { type: "datetime" } : Fe(t).find((a) => !U(a) || a.type === "month" && r.length < ut ? !1 : a.dateFormat && f(N(r, a.dateFormat, /* @__PURE__ */ new Date())));
457
- }, P = (e) => nt.test(e.trim()), Pr = (e) => {
465
+ return P(r) ? { type: "datetime" } : Ne(t).find((a) => !U(a) || a.type === "month" && r.length < ut ? !1 : a.dateFormat && f(N(r, a.dateFormat, /* @__PURE__ */ new Date())));
466
+ }, P = (e) => nt.test(e.trim()), zr = (e) => {
458
467
  if (e instanceof Date) return f(e) ? e : null;
459
468
  if (typeof e != "string" || !P(e)) return null;
460
469
  const t = new Date(e.trim());
461
470
  return f(t) ? t : null;
462
- }, gt = (e, t = he) => {
471
+ }, gt = (e, t = Me) => {
463
472
  const [r, a] = e.split(mt);
464
473
  if (!r || !a) return;
465
474
  const n = k(r).trim(), s = k(a).trim();
@@ -467,26 +476,26 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
467
476
  if (!U(o) || !o.dateFormat) return !1;
468
477
  const i = N(n, o.dateFormat, /* @__PURE__ */ new Date()), l = N(s, o.dateFormat, /* @__PURE__ */ new Date());
469
478
  if (!f(i) || !f(l)) return !1;
470
- const u = new at(), d = u.incrementYearIfNeeded(i), M = u.incrementYearIfNeeded(l), y = Le(M, d);
471
- return Ie(new Date(d.getFullYear(), yt, ft), {
479
+ const c = new at(), d = c.incrementYearIfNeeded(i), M = c.incrementYearIfNeeded(l), y = Ie(M, d);
480
+ return xe(new Date(d.getFullYear(), yt, ft), {
472
481
  start: d,
473
482
  end: M
474
483
  }) && y === dt ? !0 : y === ct;
475
484
  });
476
- }, Fe = (e) => {
485
+ }, Ne = (e) => {
477
486
  const t = {
478
- date: De(e),
487
+ date: we(e),
479
488
  year: [["yyyy"]],
480
- day_month: Me,
489
+ day_month: _e,
481
490
  month_year: [["MMMM", "yyyy"], ["yyyy", "MMMM"]],
482
491
  month: [["MMMM"]],
483
492
  quarter: [["QQQ", "yyyy"], ["yyyy", "QQQ"]]
484
493
  };
485
- return [...lt, ...Object.entries(t).flatMap(([r, a]) => a.flatMap((n) => ve.map((s) => ({
494
+ return [...lt, ...Object.entries(t).flatMap(([r, a]) => a.flatMap((n) => Ee.map((s) => ({
486
495
  dateFormat: n.join(s),
487
496
  type: r
488
497
  }))))];
489
- }, De = (e) => it[e] === "MDY" ? [
498
+ }, we = (e) => it[e] === "MDY" ? [
490
499
  ...J,
491
500
  ...Q,
492
501
  ...Z
@@ -496,17 +505,17 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
496
505
  ...Z
497
506
  ], bt = (e) => {
498
507
  const t = {
499
- weekly_date_range: Me,
500
- weekly_date_range_with_year: De(e)
508
+ weekly_date_range: _e,
509
+ weekly_date_range_with_year: we(e)
501
510
  };
502
- return Object.entries(t).flatMap(([r, a]) => a.flatMap((n) => ve.map((s) => ({
511
+ return Object.entries(t).flatMap(([r, a]) => a.flatMap((n) => Ee.map((s) => ({
503
512
  dateFormat: n.join(s),
504
513
  type: r
505
514
  }))));
506
515
  }, ht = (e) => {
507
516
  const t = Number(e);
508
- if (!xe(t)) return !1;
509
- const r = new Date(t), a = /* @__PURE__ */ new Date(t * 1e3), n = (s) => f(s) && s.getFullYear() >= Ee && s.getFullYear() <= _e;
517
+ if (!je(t)) return !1;
518
+ const r = new Date(t), a = /* @__PURE__ */ new Date(t * 1e3), n = (s) => f(s) && s.getFullYear() >= Te && s.getFullYear() <= Ae;
510
519
  return n(r) || n(a);
511
520
  }, vt = /\s*[–—]\s*|\s-\s/, Mt = (e, t, r) => {
512
521
  if (L(e)) return null;
@@ -514,7 +523,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
514
523
  case "decimal":
515
524
  case "integer":
516
525
  case "duration":
517
- return we(e);
526
+ return Oe(e);
518
527
  case "percentage":
519
528
  return Et(e);
520
529
  case "currency":
@@ -527,7 +536,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
527
536
  case "day_month":
528
537
  case "quarter":
529
538
  case "time":
530
- return Ne(e, t.dateFormat, r);
539
+ return Se(e, t.dateFormat, r);
531
540
  case "weekly_date_range":
532
541
  case "weekly_date_range_with_year":
533
542
  return Tt(e, t.dateFormat, r);
@@ -538,7 +547,7 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
538
547
  default:
539
548
  throw new v({ message: `Unhandled value format: ${t.type}` });
540
549
  }
541
- }, Ne = (e, t, r) => {
550
+ }, Se = (e, t, r) => {
542
551
  if (e instanceof Date) return f(e) ? e : null;
543
552
  const a = k(String(e).trim());
544
553
  if (a.length === 0) return null;
@@ -547,14 +556,14 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
547
556
  const o = N(a, t, n);
548
557
  return f(o) ? Y(o) : null;
549
558
  }
550
- for (const o of Fe(r)) {
559
+ for (const o of Ne(r)) {
551
560
  if (!U(o) || !o.dateFormat) continue;
552
561
  const i = N(a, o.dateFormat, n);
553
562
  if (f(i)) return Y(i);
554
563
  }
555
564
  const s = new Date(a);
556
- return Te(s) ? P(a) ? s : Y(s) : null;
557
- }, we = (e) => {
565
+ return Fe(s) ? P(a) ? s : Y(s) : null;
566
+ }, Oe = (e) => {
558
567
  if (typeof e == "number") return Number.isNaN(e) ? null : e;
559
568
  if (typeof e != "string") return null;
560
569
  let t = e.trim();
@@ -569,24 +578,24 @@ var G = (e) => e instanceof Date && f(e), Or = (e) => G(e) || e === null, Rr = (
569
578
  if (typeof e == "number") return Number.isNaN(e) ? null : e;
570
579
  if (typeof e != "string") return null;
571
580
  const t = e.trim();
572
- if (!ye(t)) return null;
581
+ if (!me(t)) return null;
573
582
  const r = Number(t.replace(/%/g, "").replace(/,/g, "")) / 100;
574
583
  return Number.isNaN(r) ? null : r;
575
584
  }, _t = (e) => {
576
585
  if (typeof e == "number") return Number.isNaN(e) ? null : e;
577
586
  if (typeof e != "string") return null;
578
587
  const t = e.trim();
579
- return me(t) ? we(pe(t)) : null;
588
+ return ge(t) ? Oe(be(t)) : null;
580
589
  }, Tt = (e, t, r) => {
581
590
  const a = String(e).trim().split(vt), [n, s] = [a[0]?.trim(), a[1]?.trim()];
582
- return !n || !s ? null : Ne(n, t, r);
591
+ return !n || !s ? null : Se(n, t, r);
583
592
  }, At = (e) => String(e).trim(), Y = (e) => new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())), Ft = /* @__PURE__ */ new Set([
584
593
  "count",
585
594
  "sum",
586
595
  "mean",
587
596
  "median"
588
597
  ]);
589
- function Se(e, t) {
598
+ function Re(e, t) {
590
599
  return Ft.has(e) ? "numeric" : t;
591
600
  }
592
601
  var Dt = "value", ee = "\0__rowMaskIndex", R = {
@@ -600,7 +609,7 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
600
609
  gte: (e, t) => e[t.__variableName] >= t.__value,
601
610
  lt: (e, t) => e[t.__variableName] < t.__value,
602
611
  lte: (e, t) => e[t.__variableName] <= t.__value
603
- }, Oe = (e, t) => e === "count" ? { type: "integer" } : t, K = class g {
612
+ }, ke = (e, t) => e === "count" ? { type: "integer" } : t, K = class g {
604
613
  constructor(t = {}) {
605
614
  const { table: r, variableMetadata: a } = this.parseVariableMap(t);
606
615
  this.table = r, this.variableMetadata = a;
@@ -701,7 +710,7 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
701
710
  return g.fromTrusted(a, this.variableMetadata);
702
711
  }
703
712
  orderBy(t, r = "asc") {
704
- const a = this.table.orderby(r === "asc" ? t : Be(t));
713
+ const a = this.table.orderby(r === "asc" ? t : Ue(t));
705
714
  return g.fromTrusted(a, this.variableMetadata);
706
715
  }
707
716
  getAt(t) {
@@ -727,21 +736,21 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
727
736
  rollup(t) {
728
737
  const r = this.table.rollup(Object.fromEntries(Object.entries(t).map(([n, s]) => [n, ae[s.aggregation](s.variableName)]))), a = {};
729
738
  for (const [n, { variableName: s, aggregation: o }] of Object.entries(t)) {
730
- const i = this.variableMetadata[s], l = i?.type ?? "numeric", u = i?.valueFormat ?? R[l];
739
+ const i = this.variableMetadata[s], l = i?.type ?? "numeric", c = i?.valueFormat ?? R[l];
731
740
  a[n] = {
732
- type: Se(o, l),
733
- valueFormat: Oe(o, u)
741
+ type: Re(o, l),
742
+ valueFormat: ke(o, c)
734
743
  };
735
744
  }
736
745
  return g.fromTrusted(r, a);
737
746
  }
738
747
  reshapeFromWideToLong({ keep: t, reshape: r, keyName: a = "key", valueName: n = Dt } = {}) {
739
- const { numeric: s, categorical: o, temporal: i } = this.groupVariableNamesByType(), l = t ?? [...o, ...i], u = r ?? s.filter((y) => !l.includes(y));
748
+ const { numeric: s, categorical: o, temporal: i } = this.groupVariableNamesByType(), l = t ?? [...o, ...i], c = r ?? s.filter((y) => !l.includes(y));
740
749
  if (l.includes(a) || l.includes(n)) throw new B({
741
750
  code: "INVALID_DATA_SHAPE",
742
751
  message: `The variables to keep includes the variables '${a}' or '${n}' to create the key and value variables`
743
752
  });
744
- if (u.length === 0) {
753
+ if (c.length === 0) {
745
754
  const y = {};
746
755
  for (const w of l) {
747
756
  const $ = this.variableMetadata[w];
@@ -761,11 +770,11 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
761
770
  valueFormat: { type: "decimal" }
762
771
  }, new g(y);
763
772
  }
764
- if (u.filter((y) => this.variableMetadata[y]?.type !== "numeric").length > 0) throw new B({
773
+ if (c.filter((y) => this.variableMetadata[y]?.type !== "numeric").length > 0) throw new B({
765
774
  code: "INVALID_DATA_SHAPE",
766
775
  message: "Only numeric variables can be reshaped"
767
776
  });
768
- const d = this.table.select([...l, ...u]).fold(u, { as: [a, n] }), M = {};
777
+ const d = this.table.select([...l, ...c]).fold(c, { as: [a, n] }), M = {};
769
778
  for (const y of l) {
770
779
  const w = this.variableMetadata[y];
771
780
  w && (M[y] = w);
@@ -775,7 +784,7 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
775
784
  valueFormat: { type: "text" }
776
785
  }, M[n] = {
777
786
  type: "numeric",
778
- valueFormat: St(this.variableMetadata, u, a)
787
+ valueFormat: St(this.variableMetadata, c, a)
779
788
  }, g.fromTrusted(d, M);
780
789
  }
781
790
  print() {
@@ -834,9 +843,9 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
834
843
  for (const s of t) {
835
844
  const o = s[0];
836
845
  if (o === void 0) continue;
837
- const i = this.getStableKey(a, o), l = O(Object.fromEntries(r.map((u) => {
838
- const d = this.grouped.column(u);
839
- return [u, s.map((M) => d?.get(M))];
846
+ const i = this.getStableKey(a, o), l = O(Object.fromEntries(r.map((c) => {
847
+ const d = this.grouped.column(c);
848
+ return [c, s.map((M) => d?.get(M))];
840
849
  })));
841
850
  e(K.fromTrusted(l, this.variableMetadata), i, n++);
842
851
  }
@@ -852,14 +861,14 @@ var Dt = "value", ee = "\0__rowMaskIndex", R = {
852
861
  for (const [a, { variableName: n, aggregation: s }] of Object.entries(e)) {
853
862
  const o = this.variableMetadata[n], i = o?.type ?? "numeric", l = o?.valueFormat ?? R[i];
854
863
  r[a] = {
855
- type: Se(s, i),
856
- valueFormat: Oe(s, l)
864
+ type: Re(s, i),
865
+ valueFormat: ke(s, l)
857
866
  };
858
867
  }
859
868
  return K.fromTrusted(t, r);
860
869
  }
861
870
  getStableKey(e, t) {
862
- return ie(e.map((r) => r.get(t)));
871
+ return ue(e.map((r) => r.get(t)));
863
872
  }
864
873
  };
865
874
  function St(e, t, r) {
@@ -869,11 +878,11 @@ function St(e, t, r) {
869
878
  code: "INVALID_DATA_SHAPE",
870
879
  message: "Cannot reshape: a source column has a lookup format and lookups cannot nest"
871
880
  });
872
- if (s.every((i) => Ve(i, n)) || n.type === "lookup") return n;
881
+ if (s.every((i) => Be(i, n)) || n.type === "lookup") return n;
873
882
  const o = {};
874
883
  for (const [i, l] of t.entries()) {
875
- const u = ie([l]), d = a[i];
876
- d && d.type !== "lookup" && (o[u] = d);
884
+ const c = ue([l]), d = a[i];
885
+ d && d.type !== "lookup" && (o[c] = d);
877
886
  }
878
887
  return {
879
888
  type: "lookup",
@@ -914,10 +923,10 @@ var Ot = class {
914
923
  }, Rt = (e, t) => {
915
924
  const r = typeof e == "string" ? e.trim() : e;
916
925
  if (T(r)) return { type: "decimal" };
917
- const a = typeof r == "string" && Ae(r, t);
926
+ const a = typeof r == "string" && De(r, t);
918
927
  if (a) return a;
919
928
  const n = typeof r == "string" && gt(r, t);
920
- return n || (Te(e) ? { type: "date" } : ye(e) ? { type: "percentage" } : me(e) && typeof e == "string" ? {
929
+ return n || (Fe(e) ? { type: "date" } : me(e) ? { type: "percentage" } : ge(e) && typeof e == "string" ? {
921
930
  type: "currency",
922
931
  iso: rt(e)
923
932
  } : { type: "text" });
@@ -930,11 +939,11 @@ var Ot = class {
930
939
  if (o._metadata?.isHidden) continue;
931
940
  const i = a.get(o.key);
932
941
  if (L(i)) continue;
933
- const l = s === n ? kt : Rt(i, t), u = de(l);
934
- r[o.key] = It(o.key, e.rows, l, u, t);
942
+ const l = s === n ? kt : Rt(i, t), c = fe(l);
943
+ r[o.key] = It(o.key, e.rows, l, c, t);
935
944
  }
936
945
  return new K(r);
937
- }, $r = class extends Xe {
946
+ }, Wr = class extends Xe {
938
947
  dependencies(e) {
939
948
  return [e];
940
949
  }
@@ -949,7 +958,7 @@ var Ot = class {
949
958
  });
950
959
  }, It = (e, t, r, a, n) => ({
951
960
  type: a,
952
- values: t.reduce((s, o) => (be(o) || s.push(Mt(o[e], r, n)), s), []),
961
+ values: t.reduce((s, o) => (ve(o) || s.push(Mt(o[e], r, n)), s), []),
953
962
  valueFormat: r
954
963
  }), Vt = (e) => {
955
964
  const t = /* @__PURE__ */ new Map(), r = new Set(e.columns.map((a) => a.key));
@@ -964,7 +973,7 @@ var Ot = class {
964
973
  }, xt = (e, t) => {
965
974
  const r = [];
966
975
  for (const a of e)
967
- if (be(a) || r.push(a), r.length === t) return r;
976
+ if (ve(a) || r.push(a), r.length === t) return r;
968
977
  return r;
969
978
  }, Bt = class {
970
979
  constructor() {
@@ -1029,12 +1038,12 @@ var Ot = class {
1029
1038
  new Ut(),
1030
1039
  new Pt(),
1031
1040
  new $t()
1032
- ], Yr = class extends Ot {
1041
+ ], Gr = class extends Ot {
1033
1042
  constructor() {
1034
1043
  super("transform");
1035
1044
  for (const e of Yt) this.register(e.transformType, e);
1036
1045
  }
1037
- }, zr = [
1046
+ }, Kr = [
1038
1047
  "grey",
1039
1048
  "red",
1040
1049
  "orange",
@@ -1044,7 +1053,7 @@ var Ot = class {
1044
1053
  "blue",
1045
1054
  "purple",
1046
1055
  "pink"
1047
- ], Wr = [
1056
+ ], Hr = [
1048
1057
  "cyan",
1049
1058
  "pink",
1050
1059
  "purple",
@@ -1053,7 +1062,7 @@ var Ot = class {
1053
1062
  "yellow",
1054
1063
  "green",
1055
1064
  "blue"
1056
- ], Re = [
1065
+ ], Le = [
1057
1066
  "#B399FE",
1058
1067
  "#FC7E91",
1059
1068
  "#33B6E0",
@@ -1077,7 +1086,7 @@ var Ot = class {
1077
1086
  dark_purple: "#6D48D2",
1078
1087
  plum: "#C82184",
1079
1088
  pink: "#FC8497"
1080
- }, Gr = [b.purple, b.dark_purple], zt = [
1089
+ }, qr = [b.purple, b.dark_purple], zt = [
1081
1090
  b.purple,
1082
1091
  b.pink,
1083
1092
  b.yellow,
@@ -1336,7 +1345,7 @@ var Ot = class {
1336
1345
  V.positive,
1337
1346
  V.negative,
1338
1347
  V.total
1339
- ], Kr = {
1348
+ ], Xr = {
1340
1349
  transform: "linear",
1341
1350
  reverse: !1,
1342
1351
  nice: !0,
@@ -1348,16 +1357,16 @@ var Ot = class {
1348
1357
  interpolate: "lab",
1349
1358
  domainMid: null,
1350
1359
  symmetric: !1
1351
- }, Hr = {
1360
+ }, Qr = {
1352
1361
  size: [4, 20],
1353
1362
  alpha: [0.1, 1],
1354
1363
  strokeWidth: [1, 4]
1355
- }, qr = {
1364
+ }, Jr = {
1356
1365
  domainMin: null,
1357
1366
  domainMax: null,
1358
1367
  nice: !1,
1359
1368
  reverse: !1
1360
- }, Xr = {
1369
+ }, Zr = {
1361
1370
  range: null,
1362
1371
  domain: null,
1363
1372
  padding: 0.1,
@@ -1370,10 +1379,10 @@ function Xt(e) {
1370
1379
  const t = I.indexOf(p[e]);
1371
1380
  return t <= 0 ? I : [...I.slice(t), ...I.slice(0, t)];
1372
1381
  }
1373
- function Qr(e, t) {
1382
+ function ea(e, t) {
1374
1383
  switch (e.type) {
1375
1384
  case "default":
1376
- return Re;
1385
+ return Le;
1377
1386
  case "graphy":
1378
1387
  return e.variant === "waterfall" ? Ht : zt;
1379
1388
  case "pastel":
@@ -1386,7 +1395,7 @@ function Qr(e, t) {
1386
1395
  return e.colors;
1387
1396
  }
1388
1397
  }
1389
- function Jr(e, t) {
1398
+ function ta(e, t) {
1390
1399
  if (!t) return e;
1391
1400
  const r = [...e];
1392
1401
  for (const [a, n] of Object.entries(t)) {
@@ -1397,7 +1406,7 @@ function Jr(e, t) {
1397
1406
  }
1398
1407
  return r;
1399
1408
  }
1400
- function Zr(e, t, r, a) {
1409
+ function ra(e, t, r, a) {
1401
1410
  if (!t) return;
1402
1411
  const n = r?.type === "custom" ? a[r.id] : void 0, s = {};
1403
1412
  for (const [o, i] of Object.entries(t)) {
@@ -1408,8 +1417,8 @@ function Zr(e, t, r, a) {
1408
1417
  continue;
1409
1418
  }
1410
1419
  if (i.id !== void 0) {
1411
- const u = n?.find((d) => d.id === i.id)?.hex;
1412
- u !== void 0 ? s[l] = u : e.diagnostics.addWarning({
1420
+ const c = n?.find((d) => d.id === i.id)?.hex;
1421
+ c !== void 0 ? s[l] = c : e.diagnostics.addWarning({
1413
1422
  code: "PALETTE_NOT_FOUND",
1414
1423
  message: `Palette override at slot ${l} with id '${i.id}' did not resolve against the active palette — falling back to palette color.`,
1415
1424
  context: {
@@ -1423,7 +1432,7 @@ function Zr(e, t, r, a) {
1423
1432
  }
1424
1433
  return Object.keys(s).length > 0 ? s : void 0;
1425
1434
  }
1426
- function ea(e, t, r) {
1435
+ function aa(e, t, r) {
1427
1436
  if (!t) return re.palette;
1428
1437
  if (t.type === "custom") {
1429
1438
  const a = r[t.id];
@@ -1521,13 +1530,13 @@ var Jt = [
1521
1530
  "lg",
1522
1531
  "xl",
1523
1532
  "full"
1524
- ], ta = {
1533
+ ], na = {
1525
1534
  point: Zt,
1526
1535
  line: er,
1527
1536
  area: tr,
1528
1537
  bar: rr,
1529
1538
  rule: ar
1530
- }, ra = (e) => typeof e == "string" && Jt.includes(e);
1539
+ }, sa = (e) => typeof e == "string" && Jt.includes(e);
1531
1540
  function C(e, t) {
1532
1541
  return {
1533
1542
  type: "layer",
@@ -1558,8 +1567,8 @@ function rr(e = {}) {
1558
1567
  function ar(e = {}) {
1559
1568
  return C("rule", e);
1560
1569
  }
1561
- var aa = ["dimmed", "hovered"], na = (e) => typeof e == "object" && e !== null && typeof e.light == "string" && typeof e.dark == "string", sa = (e) => typeof e == "object" && e !== null && typeof e.token == "string";
1562
- function oa(e) {
1570
+ var oa = ["dimmed", "hovered"], ia = (e) => typeof e == "object" && e !== null && typeof e.light == "string" && typeof e.dark == "string", la = (e) => typeof e == "object" && e !== null && typeof e.token == "string";
1571
+ function ua(e) {
1563
1572
  return {
1564
1573
  type: "styles",
1565
1574
  ...e
@@ -1630,15 +1639,15 @@ var A = (e) => {
1630
1639
  },
1631
1640
  declarations: e
1632
1641
  })
1633
- }) }, nr = Re[0], sr = Object.freeze({
1642
+ }) }, nr = Le[0], sr = Object.freeze({
1634
1643
  light: "#1D2129",
1635
1644
  dark: "#FFFFFF"
1636
- }), or = "#ffffff", ir = 0.4, ia = "sm", la = 1, ua = 2, lr = 0.3, ca = 8, ur = {
1645
+ }), or = "#ffffff", ir = 0.4, ca = "sm", da = 1, ya = 2, lr = 0.3, fa = 8, ur = {
1637
1646
  geomColor: nr,
1638
1647
  ruleColor: sr,
1639
1648
  pointBorderColor: "#ffffff",
1640
1649
  hoverAffordanceColor: or
1641
- }, ke = [
1650
+ }, Ce = [
1642
1651
  E.geom({
1643
1652
  color: S("geomColor"),
1644
1653
  alpha: 1
@@ -1671,16 +1680,16 @@ var A = (e) => {
1671
1680
  E.geom.point({ borderColor: S("hoverAffordanceColor") }, { state: "hovered" }),
1672
1681
  E.geom.bar({ borderColor: S("hoverAffordanceColor") }, { state: "hovered" })
1673
1682
  ];
1674
- for (const e of ke) {
1683
+ for (const e of Ce) {
1675
1684
  Object.freeze(e.select);
1676
1685
  for (const t of Object.values(e.declarations)) typeof t == "object" && Object.freeze(t);
1677
1686
  Object.freeze(e.declarations), e.when !== void 0 && Object.freeze(e.when), Object.freeze(e);
1678
1687
  }
1679
- var da = Object.freeze({
1688
+ var ma = Object.freeze({
1680
1689
  tokens: Object.freeze(ur),
1681
- defaults: Object.freeze(ke),
1690
+ defaults: Object.freeze(Ce),
1682
1691
  overrides: Object.freeze([])
1683
- }), ya = {
1692
+ }), pa = {
1684
1693
  cartesian: (e = {}) => ({
1685
1694
  type: "coord",
1686
1695
  coordType: "cartesian",
@@ -1696,7 +1705,7 @@ var da = Object.freeze({
1696
1705
  coordType: "polar",
1697
1706
  params: e
1698
1707
  })
1699
- }, fa = {
1708
+ }, ga = {
1700
1709
  x: Object.assign((e) => W("x", e), {
1701
1710
  continuous: (e) => m("x", e),
1702
1711
  discrete: (e) => _("x", e),
@@ -1760,11 +1769,12 @@ var da = Object.freeze({
1760
1769
  discrete: (e) => _("lineType", e),
1761
1770
  identity: (e) => x("lineType", e)
1762
1771
  }
1763
- }, ma = {
1772
+ }, ba = {
1764
1773
  identity: dr,
1765
1774
  count: yr,
1766
1775
  smooth: cr,
1767
- mean: fr
1776
+ mean: fr,
1777
+ sum: mr
1768
1778
  };
1769
1779
  function cr(e) {
1770
1780
  return {
@@ -1783,49 +1793,52 @@ function yr() {
1783
1793
  function fr() {
1784
1794
  return { type: "mean" };
1785
1795
  }
1786
- var pa = {
1787
- reshape: mr,
1788
- filter: pr,
1789
- sort: gr,
1790
- aggregate: br,
1791
- constant: hr
1796
+ function mr() {
1797
+ return { type: "sum" };
1798
+ }
1799
+ var ha = {
1800
+ reshape: pr,
1801
+ filter: gr,
1802
+ sort: br,
1803
+ aggregate: hr,
1804
+ constant: vr
1792
1805
  };
1793
- function mr(e = {}) {
1806
+ function pr(e = {}) {
1794
1807
  return {
1795
1808
  type: "transform",
1796
1809
  transformType: "reshape",
1797
1810
  options: e
1798
1811
  };
1799
1812
  }
1800
- function pr(e) {
1813
+ function gr(e) {
1801
1814
  return {
1802
1815
  type: "transform",
1803
1816
  transformType: "filter",
1804
1817
  options: e
1805
1818
  };
1806
1819
  }
1807
- function gr(e) {
1820
+ function br(e) {
1808
1821
  return {
1809
1822
  type: "transform",
1810
1823
  transformType: "sort",
1811
1824
  options: e
1812
1825
  };
1813
1826
  }
1814
- function br(e) {
1827
+ function hr(e) {
1815
1828
  return {
1816
1829
  type: "transform",
1817
1830
  transformType: "aggregate",
1818
1831
  options: e
1819
1832
  };
1820
1833
  }
1821
- function hr(e) {
1834
+ function vr(e) {
1822
1835
  return {
1823
1836
  type: "transform",
1824
1837
  transformType: "constant",
1825
1838
  options: e
1826
1839
  };
1827
1840
  }
1828
- function vr(e) {
1841
+ function Mr(e) {
1829
1842
  const t = e.layout?.gaps;
1830
1843
  if (t === void 0) return e;
1831
1844
  const r = {};
@@ -1841,7 +1854,7 @@ function vr(e) {
1841
1854
  }
1842
1855
  };
1843
1856
  }
1844
- var ga = [
1857
+ var va = [
1845
1858
  "lilac",
1846
1859
  "neon_pink",
1847
1860
  "blackberry",
@@ -1855,105 +1868,107 @@ var ga = [
1855
1868
  "cool",
1856
1869
  "fresh"
1857
1870
  ];
1858
- function ba(e) {
1871
+ function Ma(e) {
1859
1872
  return {
1860
1873
  type: "config",
1861
- config: vr(e)
1874
+ config: Mr(e)
1862
1875
  };
1863
1876
  }
1864
1877
  export {
1865
1878
  Ze as $,
1866
1879
  z as A,
1867
- ze as At,
1868
- Re as B,
1869
- Ar as Bt,
1880
+ Pe as At,
1881
+ Le as B,
1882
+ ne as Bt,
1870
1883
  C,
1871
- Or as Ct,
1884
+ Lr as Ct,
1872
1885
  W as D,
1873
- je as Dt,
1886
+ Or as Dt,
1874
1887
  Qt as E,
1875
- Ge as Et,
1876
- Qr as F,
1877
- wr as Ft,
1878
- $r as G,
1879
- zr as H,
1880
- Kr as I,
1881
- c as It,
1888
+ le as Et,
1889
+ ea as F,
1890
+ ze as Ft,
1891
+ Wr as G,
1892
+ Kr as H,
1893
+ Fr as Ht,
1894
+ Xr as I,
1895
+ wr as It,
1882
1896
  K as J,
1883
1897
  Lt as K,
1884
- qr as L,
1885
- Dr as Lt,
1886
- Jr as M,
1887
- oe as Mt,
1888
- ea as N,
1898
+ Jr as L,
1899
+ Sr as Lt,
1900
+ ta as M,
1901
+ We as Mt,
1902
+ aa as N,
1889
1903
  Ye as Nt,
1890
1904
  x as O,
1891
- Ue as Ot,
1892
- Zr as P,
1893
- Nr as Pt,
1894
- he as Q,
1895
- Xr as R,
1896
- ne as Rt,
1905
+ Rr as Ot,
1906
+ ra as P,
1907
+ ie as Pt,
1908
+ Me as Q,
1909
+ Zr as R,
1910
+ u as Rt,
1897
1911
  Jt as S,
1898
1912
  G as St,
1899
- ra as T,
1913
+ sa as T,
1900
1914
  Ke as Tt,
1901
- Wr as U,
1902
- Gr as V,
1903
- Yr as W,
1904
- Pr as X,
1915
+ Hr as U,
1916
+ qr as V,
1917
+ Ar as Vt,
1918
+ Gr as W,
1919
+ zr as X,
1905
1920
  Mt as Y,
1906
1921
  at as Z,
1907
- na as _,
1908
- Lr as _t,
1909
- fa as a,
1922
+ ia as _,
1923
+ Vr as _t,
1924
+ ga as a,
1910
1925
  U as at,
1911
- oa as b,
1912
- Rr as bt,
1926
+ ua as b,
1927
+ Cr as bt,
1913
1928
  lr as c,
1914
1929
  B as ct,
1915
1930
  ir as d,
1916
1931
  qe as dt,
1917
1932
  Qe as et,
1918
1933
  nr as f,
1919
- Vr as ft,
1920
- aa as g,
1934
+ jr as ft,
1935
+ oa as g,
1921
1936
  D as gt,
1922
- ua as h,
1923
- xr as ht,
1924
- ma as i,
1937
+ ya as h,
1938
+ Ur as ht,
1939
+ ba as i,
1925
1940
  Je as it,
1926
1941
  m as j,
1927
1942
  $e as jt,
1928
1943
  _ as k,
1929
- Pe as kt,
1930
- ia as l,
1931
- ue as lt,
1932
- ca as m,
1933
- Cr as mt,
1934
- ba as n,
1935
- jr as nt,
1936
- ya as o,
1937
- Ur as ot,
1944
+ oe as kt,
1945
+ ca as l,
1946
+ de as lt,
1947
+ fa as m,
1948
+ xr as mt,
1949
+ Ma as n,
1950
+ $r as nt,
1951
+ pa as o,
1952
+ Yr as ot,
1938
1953
  or as p,
1939
- Ir as pt,
1954
+ Br as pt,
1940
1955
  Ot as q,
1941
- pa as r,
1942
- ce as rt,
1943
- da as s,
1956
+ ha as r,
1957
+ ye as rt,
1958
+ ma as s,
1944
1959
  v as st,
1945
- ga as t,
1946
- Br as tt,
1947
- la as u,
1960
+ va as t,
1961
+ Pr as tt,
1962
+ da as u,
1948
1963
  Xe as ut,
1949
- sa as v,
1950
- ie as vt,
1951
- ta as w,
1952
- Sr as wt,
1964
+ la as v,
1965
+ ue as vt,
1966
+ na as w,
1967
+ kr as wt,
1953
1968
  S as x,
1954
1969
  He as xt,
1955
1970
  E as y,
1956
- kr as yt,
1957
- Hr as z,
1958
- Tr as zt
1971
+ Ir as yt,
1972
+ Qr as z,
1973
+ Nr as zt
1959
1974
  };