@opencxh/domain 1.291.0 → 1.293.0

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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const Xc = 10, Zc = 10, Jc = 10, Qc = 5, vr = /* @__PURE__ */ new Set([
1
+ const Xc = 10, Zc = 10, Jc = 10, Qc = 5, Ir = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -8,7 +8,7 @@ const Xc = 10, Zc = 10, Jc = 10, Qc = 5, vr = /* @__PURE__ */ new Set([
8
8
  "actions",
9
9
  "attachments"
10
10
  ]);
11
- function ve(e) {
11
+ function Ie(e) {
12
12
  if (typeof e == "string") return e.length > 0;
13
13
  if (!e || typeof e != "object") return !1;
14
14
  const t = e;
@@ -25,19 +25,19 @@ function eu(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const o = r;
28
- if (!vr.has(o.type)) {
28
+ if (!Ir.has(o.type)) {
29
29
  t(`unknown block type ${String(o.type)}`);
30
30
  continue;
31
31
  }
32
32
  switch (o.type) {
33
33
  case "header":
34
- if (!ve(o.text)) {
34
+ if (!Ie(o.text)) {
35
35
  t("a header without text");
36
36
  continue;
37
37
  }
38
38
  break;
39
39
  case "context":
40
- if (!ve(o.text)) {
40
+ if (!Ie(o.text)) {
41
41
  t("a context block without text");
42
42
  continue;
43
43
  }
@@ -59,7 +59,7 @@ function eu(e, t = () => {
59
59
  o.items.length > 10 && (t("more than 10 list items"), o.items = o.items.slice(0, 10));
60
60
  break;
61
61
  case "actions": {
62
- const s = Array.isArray(o.elements) ? o.elements : [], i = s.filter((a) => a?.action_id && a.invoke && ve(a.text));
62
+ const s = Array.isArray(o.elements) ? o.elements : [], i = s.filter((a) => a?.action_id && a.invoke && Ie(a.text));
63
63
  if (i.length !== s.length && t("an action without action_id, invoke or text"), i.length === 0) continue;
64
64
  i.length > 5 && t("more than 5 actions"), o.elements = i.slice(0, 5);
65
65
  break;
@@ -69,7 +69,7 @@ function eu(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- const Ir = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Er = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
72
+ const vr = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Er = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
73
  function Sr(e) {
74
74
  if (typeof e != "string" || !e) return "";
75
75
  let t = e;
@@ -77,7 +77,7 @@ function Sr(e) {
77
77
  `).map(
78
78
  (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
79
79
  ).join(`
80
- `), t = t.replace(Ir, "$2"), t = t.replace(Er, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
80
+ `), t = t.replace(vr, "$2"), t = t.replace(Er, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
81
81
  }
82
82
  function Cr(e) {
83
83
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
@@ -90,7 +90,7 @@ function se(e) {
90
90
  function gt(e) {
91
91
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
92
92
  }
93
- function Ie(e) {
93
+ function ve(e) {
94
94
  return e?.split("@")?.[0] || e || "";
95
95
  }
96
96
  function ie(e) {
@@ -106,7 +106,7 @@ const F = {
106
106
  channelKind: "voice",
107
107
  icon: "phone",
108
108
  snippet: () => "Gesprek gestart",
109
- timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${Ie(e.payload.from)}` : `Outbound call started — ${Ie(e.payload.to)}`
109
+ timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${ve(e.payload.from)}` : `Outbound call started — ${ve(e.payload.to)}`
110
110
  },
111
111
  VOICE_CALL_ANSWERED: {
112
112
  shape: "event",
@@ -141,7 +141,7 @@ const F = {
141
141
  channelKind: "voice",
142
142
  icon: "phone",
143
143
  snippet: () => "Gemiste oproep",
144
- timeline: (e) => `Missed call — ${Ie(e.payload.from)}`
144
+ timeline: (e) => `Missed call — ${ve(e.payload.from)}`
145
145
  },
146
146
  VOICE_CALL_FAILED: {
147
147
  shape: "event",
@@ -740,23 +740,23 @@ const Ke = { month: 1, quarter: 3, year: 12 }, Nr = 864e5;
740
740
  function yu(e, t) {
741
741
  return Ke[e] < Ke[t];
742
742
  }
743
- function vt(e, t) {
743
+ function It(e, t) {
744
744
  const n = new Date(e), r = Ke[t], o = Math.floor(n.getUTCMonth() / r) * r;
745
745
  return {
746
746
  from: Date.UTC(n.getUTCFullYear(), o, 1),
747
747
  to: Date.UTC(n.getUTCFullYear(), o + r, 1)
748
748
  };
749
749
  }
750
- function vn(e, t) {
750
+ function In(e, t) {
751
751
  const n = Math.max(e.startsAt, t.startsAt ?? e.startsAt), r = [e.endsAt, t.endsAt].filter((o) => o != null);
752
752
  return r.length ? { from: n, to: Math.min(...r) } : { from: n };
753
753
  }
754
- function In(e, t) {
754
+ function vn(e, t) {
755
755
  const n = Math.max(e.from, t.from), r = Math.min(e.to ?? t.to, t.to);
756
756
  return r > n ? { from: n, to: r } : null;
757
757
  }
758
758
  function Rr(e, t, n) {
759
- const r = In(e, t);
759
+ const r = vn(e, t);
760
760
  if (!r) return 0;
761
761
  if (r.from === t.from && r.to === t.to) return 1;
762
762
  if (!n) return 0;
@@ -764,7 +764,7 @@ function Rr(e, t, n) {
764
764
  return o(r.from, r.to) / o(t.from, t.to);
765
765
  }
766
766
  function $r(e, t, n) {
767
- const r = vn(e, t);
767
+ const r = In(e, t);
768
768
  return r.to != null && r.to <= n ? "ended" : r.from > n ? "planned" : "active";
769
769
  }
770
770
  function bu(e, t, n) {
@@ -800,8 +800,8 @@ function _u(e) {
800
800
  if (!Pr(d)) return;
801
801
  const l = d.replace(/[.,]/g, ""), f = c ? u.padEnd(2, "0") : "00";
802
802
  if (l === "") return;
803
- const m = Number(l) * 100 + Number(f);
804
- return r ? -m : m;
803
+ const g = Number(l) * 100 + Number(f);
804
+ return r ? -g : g;
805
805
  }
806
806
  function Pr(e) {
807
807
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
@@ -817,32 +817,32 @@ function Ur(e) {
817
817
  return e.quantity.from === "fixed" ? e.billing ?? "advance" : "arrears";
818
818
  }
819
819
  const ae = (e) => Math.round((e.to - e.from) / Ue);
820
- function vu(e, t, n, r) {
820
+ function Iu(e, t, n, r) {
821
821
  const o = [], s = [], i = e.graceDays * Ue, a = e.proration === !0;
822
822
  for (const u of t) {
823
- const c = vn(e, u), d = Kr(e, u), l = Ur(u), f = n.filter((g) => g.agreementLineId === u.id);
823
+ const c = In(e, u), d = Kr(e, u), l = Ur(u), f = n.filter((p) => p.agreementLineId === u.id);
824
824
  if (d === "once") {
825
- const g = { from: c.from, to: c.from + Ue };
826
- c.from + i <= r && !f.some((h) => !h.correction) && o.push({ lineId: u.id, window: g, part: g, share: 1, timing: "advance" });
825
+ const p = { from: c.from, to: c.from + Ue };
826
+ c.from + i <= r && !f.some((A) => !A.correction) && o.push({ lineId: u.id, window: p, part: p, share: 1, timing: "advance" });
827
827
  continue;
828
828
  }
829
- const m = [];
830
- for (let g = vt(c.from, d); g.from < (c.to ?? Number.POSITIVE_INFINITY) && g.from + i <= r; g = vt(g.to, d))
831
- m.push(g);
829
+ const g = [];
830
+ for (let p = It(c.from, d); p.from < (c.to ?? Number.POSITIVE_INFINITY) && p.from + i <= r; p = It(p.to, d))
831
+ g.push(p);
832
832
  const b = u.quantity.from === "fixed";
833
- for (const g of m.slice(-24)) {
834
- const h = In(c, g), p = g.to + i <= r, y = f.filter(
835
- (k) => k.servicePeriod.from >= g.from && k.servicePeriod.from < g.to
836
- ), v = y.find((k) => !k.correction);
837
- if (!v) {
838
- if (!h) continue;
839
- const k = h.from === g.from && h.to === g.to;
840
- if (!(l === "advance" && k) && !p) continue;
841
- const T = b ? Rr(c, g, a) : 1;
842
- T > 0 && o.push({ lineId: u.id, window: g, part: h, share: T, timing: l });
833
+ for (const p of g.slice(-24)) {
834
+ const A = vn(c, p), m = p.to + i <= r, h = f.filter(
835
+ (v) => v.servicePeriod.from >= p.from && v.servicePeriod.from < p.to
836
+ ), y = h.find((v) => !v.correction);
837
+ if (!y) {
838
+ if (!A) continue;
839
+ const v = A.from === p.from && A.to === p.to;
840
+ if (!(l === "advance" && v) && !m) continue;
841
+ const k = b ? Rr(c, p, a) : 1;
842
+ k > 0 && o.push({ lineId: u.id, window: p, part: A, share: k, timing: l });
843
843
  continue;
844
844
  }
845
- b && a && p && s.push(...Br(u.id, g, h, v, y));
845
+ b && a && m && s.push(...Br(u.id, p, A, y, h));
846
846
  }
847
847
  }
848
848
  return { charges: o, corrections: s };
@@ -870,7 +870,7 @@ function Br(e, t, n, r, o) {
870
870
  unitPriceCents: L(a * ae(u) / ae(t))
871
871
  })).filter((u) => u.unitPriceCents !== 0 && u.quantity !== 0);
872
872
  }
873
- function Iu(e) {
873
+ function vu(e) {
874
874
  const t = /* @__PURE__ */ new Map();
875
875
  let n = 0;
876
876
  for (const o of e) {
@@ -958,14 +958,14 @@ function Mu(e, t) {
958
958
  const n = jr[t];
959
959
  return n ? e.in.includes(n) : !1;
960
960
  }
961
- const X = ["fast", "standard", "deep"], It = (e, t) => {
961
+ const X = ["fast", "standard", "deep"], vt = (e, t) => {
962
962
  const n = X.indexOf(e), r = Math.min(X.length - 1, Math.max(0, n + t));
963
963
  return X[r];
964
964
  }, Be = (e) => X.indexOf(e);
965
965
  function Gr(e) {
966
966
  const t = [];
967
967
  let n;
968
- return e.expectsSchema ? (n = "fast", t.push("schema-antwoord")) : (e.mode ?? "agent") === "ask" && !e.toolCount ? (n = "fast", t.push("vraag zonder tools")) : e.toolCount || e.hasAttachments ? (n = "standard", t.push(e.hasAttachments ? "bijlagen" : "tools beschikbaar")) : (n = "standard", t.push("standaard")), e.repair && (n = It(n, 1), t.push("herstelbeurt: een tier omhoog")), e.budgetPressure === "soft" && n !== "fast" && (n = It(n, -1), t.push("budget bijna op: een tier omlaag in plaats van weigeren")), e.maxTier && Be(n) > Be(e.maxTier) && (n = e.maxTier, t.push(`plafond van de rol: ${e.maxTier}`)), { tier: n, reasons: t };
968
+ return e.expectsSchema ? (n = "fast", t.push("schema-antwoord")) : (e.mode ?? "agent") === "ask" && !e.toolCount ? (n = "fast", t.push("vraag zonder tools")) : e.toolCount || e.hasAttachments ? (n = "standard", t.push(e.hasAttachments ? "bijlagen" : "tools beschikbaar")) : (n = "standard", t.push("standaard")), e.repair && (n = vt(n, 1), t.push("herstelbeurt: een tier omhoog")), e.budgetPressure === "soft" && n !== "fast" && (n = vt(n, -1), t.push("budget bijna op: een tier omlaag in plaats van weigeren")), e.maxTier && Be(n) > Be(e.maxTier) && (n = e.maxTier, t.push(`plafond van de rol: ${e.maxTier}`)), { tier: n, reasons: t };
969
969
  }
970
970
  function Ou(e, t, n) {
971
971
  const r = Gr(t);
@@ -1426,8 +1426,8 @@ function tl(e, t = () => {
1426
1426
  t(`more than ${wt} table columns`);
1427
1427
  break;
1428
1428
  }
1429
- const f = x(l?.label, ce), m = l?.align === "right" ? "right" : void 0;
1430
- a.push(m ? { label: f, align: m } : { label: f });
1429
+ const f = x(l?.label, ce), g = l?.align === "right" ? "right" : void 0;
1430
+ a.push(g ? { label: f, align: g } : { label: f });
1431
1431
  }
1432
1432
  if (a.length === 0) {
1433
1433
  t("a table without columns");
@@ -1440,7 +1440,7 @@ function tl(e, t = () => {
1440
1440
  break;
1441
1441
  }
1442
1442
  const f = Array.isArray(l) ? l : [];
1443
- c.push(a.map((m, b) => x(f[b], ce)));
1443
+ c.push(a.map((g, b) => x(f[b], ce)));
1444
1444
  }
1445
1445
  const d = x(o.caption, ce);
1446
1446
  n.push({
@@ -1496,10 +1496,10 @@ function tl(e, t = () => {
1496
1496
  t(`more than ${Dt} letterhead fields`);
1497
1497
  break;
1498
1498
  }
1499
- const l = d, f = typeof l?.key == "string" ? l.key.slice(0, 48) : "", m = q(l?.value);
1500
- if (!f || !m) continue;
1499
+ const l = d, f = typeof l?.key == "string" ? l.key.slice(0, 48) : "", g = q(l?.value);
1500
+ if (!f || !g) continue;
1501
1501
  const b = q(l?.label, 80);
1502
- a.push(b ? { key: f, label: b, value: m } : { key: f, value: m });
1502
+ a.push(b ? { key: f, label: b, value: g } : { key: f, value: g });
1503
1503
  }
1504
1504
  const c = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, Zr).map((d) => q(d)).filter(Boolean);
1505
1505
  if (a.length === 0 && c.length === 0) {
@@ -1522,9 +1522,9 @@ function tl(e, t = () => {
1522
1522
  t(`more than ${Nt} totals rows`);
1523
1523
  break;
1524
1524
  }
1525
- const m = f, b = q(m?.label), g = q(m?.amount, 40);
1526
- !b || !g || l.push(
1527
- m?.emphasis === !0 ? { label: b, amount: g, emphasis: !0 } : { label: b, amount: g }
1525
+ const g = f, b = q(g?.label), p = q(g?.amount, 40);
1526
+ !b || !p || l.push(
1527
+ g?.emphasis === !0 ? { label: b, amount: p, emphasis: !0 } : { label: b, amount: p }
1528
1528
  );
1529
1529
  }
1530
1530
  return l;
@@ -1716,7 +1716,7 @@ function ml(e, t, n, r) {
1716
1716
  }
1717
1717
  const Lt = (e) => e.replace(/[\s.\-/]+/g, "").toUpperCase(), Pt = (e, t) => Math.abs(Date.parse(`${e}T00:00:00Z`) - Date.parse(`${t}T00:00:00Z`)) / 864e5;
1718
1718
  function gl(e, t) {
1719
- const n = e.amountCents > 0, r = Math.abs(e.amountCents), o = n ? "sales_invoice" : "receipt", s = t.documents.filter((p) => p.kind === o && p.openCents > 0), i = Lt(`${e.description} ${e.endToEndId ?? ""}`), a = (p) => p.kind === "sales_invoice" ? { kind: "sales_invoice", transactionId: p.id, sourceApp: p.sourceApp ?? "sales" } : { kind: "receipt", receiptId: p.id }, u = s.filter((p) => p.number && i.includes(Lt(p.number))), c = u.find((p) => p.openCents === r);
1719
+ const n = e.amountCents > 0, r = Math.abs(e.amountCents), o = n ? "sales_invoice" : "receipt", s = t.documents.filter((m) => m.kind === o && m.openCents > 0), i = Lt(`${e.description} ${e.endToEndId ?? ""}`), a = (m) => m.kind === "sales_invoice" ? { kind: "sales_invoice", transactionId: m.id, sourceApp: m.sourceApp ?? "sales" } : { kind: "receipt", receiptId: m.id }, u = s.filter((m) => m.number && i.includes(Lt(m.number))), c = u.find((m) => m.openCents === r);
1720
1720
  if (c)
1721
1721
  return {
1722
1722
  target: a(c),
@@ -1726,32 +1726,32 @@ function gl(e, t) {
1726
1726
  label: c.label
1727
1727
  };
1728
1728
  if (u.length === 1 && u[0]) {
1729
- const p = u[0];
1729
+ const m = u[0];
1730
1730
  return {
1731
- target: a(p),
1731
+ target: a(m),
1732
1732
  via: "exact",
1733
1733
  confidence: "medium",
1734
1734
  reasons: ["invoice_number"],
1735
- label: p.label
1735
+ label: m.label
1736
1736
  };
1737
1737
  }
1738
1738
  const d = e.counterpartyIban;
1739
1739
  if (d) {
1740
- const p = s.filter((y) => y.ibans.includes(d) && y.openCents === r);
1741
- if (p.length === 1 && p[0]) {
1742
- const y = p[0];
1740
+ const m = s.filter((h) => h.ibans.includes(d) && h.openCents === r);
1741
+ if (m.length === 1 && m[0]) {
1742
+ const h = m[0];
1743
1743
  return {
1744
- target: a(y),
1744
+ target: a(h),
1745
1745
  via: "exact",
1746
1746
  confidence: "high",
1747
1747
  reasons: ["iban", "amount"],
1748
- label: y.label
1748
+ label: h.label
1749
1749
  };
1750
1750
  }
1751
1751
  }
1752
1752
  const l = (t.scheduled ?? []).filter(
1753
- (p) => p.expectedBankCents === e.amountCents
1754
- ), f = d ? l.filter((p) => p.ibans.includes(d)) : [], m = l.filter((p) => Pt(p.dueOn, e.date) <= 7), b = f.length === 1 ? f[0] : m.length === 1 ? m[0] : void 0;
1753
+ (m) => m.expectedBankCents === e.amountCents
1754
+ ), f = d ? l.filter((m) => m.ibans.includes(d)) : [], g = l.filter((m) => Pt(m.dueOn, e.date) <= 7), b = f.length === 1 ? f[0] : g.length === 1 ? g[0] : void 0;
1755
1755
  if (b)
1756
1756
  return {
1757
1757
  target: { kind: "scheduled_posting", scheduledPostingId: b.id },
@@ -1760,35 +1760,35 @@ function gl(e, t) {
1760
1760
  reasons: f.length === 1 ? ["iban", "amount"] : ["amount", "date_window"],
1761
1761
  label: b.label
1762
1762
  };
1763
- if (d && t.ownIbans.some((p) => p.iban === d && p.bankAccountId !== e.bankAccountId)) {
1764
- const p = t.otherLines.find(
1765
- (y) => y.state === "unmatched" && y.bankAccountId !== e.bankAccountId && y.amountCents === -e.amountCents && Pt(y.date, e.date) <= 3
1763
+ if (d && t.ownIbans.some((m) => m.iban === d && m.bankAccountId !== e.bankAccountId)) {
1764
+ const m = t.otherLines.find(
1765
+ (h) => h.state === "unmatched" && h.bankAccountId !== e.bankAccountId && h.amountCents === -e.amountCents && Pt(h.date, e.date) <= 3
1766
1766
  );
1767
- if (p)
1767
+ if (m)
1768
1768
  return {
1769
- target: { kind: "transfer", bankLineId: p.id },
1769
+ target: { kind: "transfer", bankLineId: m.id },
1770
1770
  via: "exact",
1771
1771
  confidence: "high",
1772
1772
  reasons: ["own_account", "amount"]
1773
1773
  };
1774
1774
  }
1775
- const g = e.description.toLowerCase(), h = [...t.rules].sort((p, y) => p.order - y.order).find((p) => {
1776
- const y = p.when;
1777
- return y.bankAccountId && y.bankAccountId !== e.bankAccountId || y.counterpartyIban && y.counterpartyIban !== d || y.direction && y.direction !== (n ? "in" : "out") || y.descriptionContains && !g.includes(y.descriptionContains.toLowerCase()) ? !1 : !!(y.counterpartyIban || y.descriptionContains);
1775
+ const p = e.description.toLowerCase(), A = [...t.rules].sort((m, h) => m.order - h.order).find((m) => {
1776
+ const h = m.when;
1777
+ return h.bankAccountId && h.bankAccountId !== e.bankAccountId || h.counterpartyIban && h.counterpartyIban !== d || h.direction && h.direction !== (n ? "in" : "out") || h.descriptionContains && !p.includes(h.descriptionContains.toLowerCase()) ? !1 : !!(h.counterpartyIban || h.descriptionContains);
1778
1778
  });
1779
- if (h)
1779
+ if (A)
1780
1780
  return {
1781
- target: {
1781
+ target: A.action.financingItemId ? { kind: "financing", financingItemId: A.action.financingItemId } : {
1782
1782
  kind: "account",
1783
- accountId: h.action.accountId,
1784
- ...h.action.taxCode ? { taxCode: h.action.taxCode } : {},
1785
- ...h.action.description ? { description: h.action.description } : {}
1783
+ accountId: A.action.accountId,
1784
+ ...A.action.taxCode ? { taxCode: A.action.taxCode } : {},
1785
+ ...A.action.description ? { description: A.action.description } : {}
1786
1786
  },
1787
1787
  via: "rule",
1788
- confidence: h.confidence,
1789
- ruleId: h.id,
1788
+ confidence: A.confidence,
1789
+ ruleId: A.id,
1790
1790
  reasons: ["rule"],
1791
- label: h.name
1791
+ label: A.name
1792
1792
  };
1793
1793
  }
1794
1794
  function hl(e, t, n) {
@@ -1812,7 +1812,7 @@ function P(e, t) {
1812
1812
  for (let o = r.exec(e); o; o = r.exec(e)) n.push(o[1] ?? "");
1813
1813
  return n;
1814
1814
  }
1815
- function I(e, ...t) {
1815
+ function E(e, ...t) {
1816
1816
  let n = e;
1817
1817
  for (const r of t)
1818
1818
  n = n === void 0 ? void 0 : P(n, r)[0];
@@ -1824,40 +1824,40 @@ const de = (e) => {
1824
1824
  return Number.isFinite(t) ? Math.round(t * 100) : void 0;
1825
1825
  }, Kt = (e) => e?.slice(0, 10), po = (e) => e ? /(\d{4}-\d{2}-\d{2})/.exec(e)?.[1] : void 0;
1826
1826
  function mo(e) {
1827
- const t = e.replace(/<(\/?)[\w-]+:/g, "<$1"), n = P(t, "Stmt")[0] ?? t, r = I(n, "Id") ?? "stmt", o = (d) => {
1828
- const l = P(n, "Bal").find((m) => I(m, "Cd") === d);
1827
+ const t = e.replace(/<(\/?)[\w-]+:/g, "<$1"), n = P(t, "Stmt")[0] ?? t, r = E(n, "Id") ?? "stmt", o = (d) => {
1828
+ const l = P(n, "Bal").find((g) => E(g, "Cd") === d);
1829
1829
  if (!l) return;
1830
- const f = de(I(l, "Amt"));
1830
+ const f = de(E(l, "Amt"));
1831
1831
  if (f !== void 0)
1832
1832
  return {
1833
- cents: I(l, "CdtDbtInd") === "DBIT" ? -f : f,
1833
+ cents: E(l, "CdtDbtInd") === "DBIT" ? -f : f,
1834
1834
  date: po(l)
1835
1835
  };
1836
1836
  }, s = o("OPBD") ?? o("PRCD"), i = o("CLBD"), a = P(n, "Ntry").flatMap((d, l) => {
1837
- if ((I(d, "Sts", "Cd") ?? I(d, "Sts")) === "PDNG") return [];
1838
- const f = de(I(d, "Amt"));
1837
+ if ((E(d, "Sts", "Cd") ?? E(d, "Sts")) === "PDNG") return [];
1838
+ const f = de(E(d, "Amt"));
1839
1839
  if (f === void 0) return [];
1840
- const m = I(d, "CdtDbtInd") === "DBIT", b = P(d, "TxDtls")[0] ?? d, g = m ? "Cdtr" : "Dbtr", h = I(b, "RltdPties", g, "Nm") ?? I(b, "RltdPties", g, "Pty", "Nm"), p = I(b, "RltdPties", `${g}Acct`, "Id", "IBAN"), y = [...P(b, "Ustrd").map(Mn), I(d, "AddtlNtryInf")].filter(Boolean), v = I(b, "Refs", "EndToEndId"), k = Kt(I(d, "BookgDt", "Dt") ?? I(d, "BookgDt", "DtTm")) ?? "", O = Kt(I(d, "ValDt", "Dt") ?? I(d, "ValDt", "DtTm")), T = I(d, "AcctSvcrRef") ?? I(d, "NtryRef");
1840
+ const g = E(d, "CdtDbtInd") === "DBIT", b = P(d, "TxDtls")[0] ?? d, p = g ? "Cdtr" : "Dbtr", A = E(b, "RltdPties", p, "Nm") ?? E(b, "RltdPties", p, "Pty", "Nm"), m = E(b, "RltdPties", `${p}Acct`, "Id", "IBAN"), h = [...P(b, "Ustrd").map(Mn), E(d, "AddtlNtryInf")].filter(Boolean), y = E(b, "Refs", "EndToEndId"), v = Kt(E(d, "BookgDt", "Dt") ?? E(d, "BookgDt", "DtTm")) ?? "", M = Kt(E(d, "ValDt", "Dt") ?? E(d, "ValDt", "DtTm")), k = E(d, "AcctSvcrRef") ?? E(d, "NtryRef");
1841
1841
  return [
1842
1842
  {
1843
- date: k,
1844
- ...O ? { valueDate: O } : {},
1845
- amountCents: m ? -f : f,
1843
+ date: v,
1844
+ ...M ? { valueDate: M } : {},
1845
+ amountCents: g ? -f : f,
1846
1846
  currency: /Ccy="([A-Z]{3})"/.exec(d)?.[1] ?? "EUR",
1847
- ...h ? { counterpartyName: h } : {},
1848
- ...p ? { counterpartyIban: p.replace(/\s+/g, "").toUpperCase() } : {},
1849
- description: y.join(" ").replace(/\s+/g, " ").trim(),
1850
- ...v && v !== "NOTPROVIDED" ? { endToEndId: v } : {},
1851
- dedupeKey: T ? `ref:${T}` : `seq:${r}:${l + 1}`
1847
+ ...A ? { counterpartyName: A } : {},
1848
+ ...m ? { counterpartyIban: m.replace(/\s+/g, "").toUpperCase() } : {},
1849
+ description: h.join(" ").replace(/\s+/g, " ").trim(),
1850
+ ...y && y !== "NOTPROVIDED" ? { endToEndId: y } : {},
1851
+ dedupeKey: k ? `ref:${k}` : `seq:${r}:${l + 1}`
1852
1852
  }
1853
1853
  ];
1854
- }), u = a.map((d) => d.date).filter(Boolean).sort(), c = I(n, "Acct", "Id", "IBAN");
1854
+ }), u = a.map((d) => d.date).filter(Boolean).sort(), c = E(n, "Acct", "Id", "IBAN");
1855
1855
  return {
1856
1856
  format: "camt053",
1857
1857
  ...c ? { iban: c.replace(/\s+/g, "").toUpperCase() } : {},
1858
- ...I(n, "Acct", "Ccy") ? { currency: I(n, "Acct", "Ccy") } : {},
1859
- from: I(n, "FrToDt", "FrDtTm")?.slice(0, 10) ?? s?.date ?? u[0] ?? "",
1860
- to: I(n, "FrToDt", "ToDtTm")?.slice(0, 10) ?? i?.date ?? u.at(-1) ?? "",
1858
+ ...E(n, "Acct", "Ccy") ? { currency: E(n, "Acct", "Ccy") } : {},
1859
+ from: E(n, "FrToDt", "FrDtTm")?.slice(0, 10) ?? s?.date ?? u[0] ?? "",
1860
+ to: E(n, "FrToDt", "ToDtTm")?.slice(0, 10) ?? i?.date ?? u.at(-1) ?? "",
1861
1861
  ...s ? { openingCents: s.cents } : {},
1862
1862
  ...i ? { closingCents: i.cents } : {},
1863
1863
  lines: a
@@ -1922,17 +1922,17 @@ function yo(e) {
1922
1922
  else if (d === "62F" || d === "62M") i = Ut(l);
1923
1923
  else if (d === "61") {
1924
1924
  const f = l.split(`
1925
- `)[0] ?? "", m = /^(\d{6})(\d{4})?(R?[CD])[A-Z]?([\d,]+)(?:N[A-Z0-9]{3})?([^/]*)(?:\/\/(\S+))?/.exec(f);
1926
- if (!m) continue;
1925
+ `)[0] ?? "", g = /^(\d{6})(\d{4})?(R?[CD])[A-Z]?([\d,]+)(?:N[A-Z0-9]{3})?([^/]*)(?:\/\/(\S+))?/.exec(f);
1926
+ if (!g) continue;
1927
1927
  u++;
1928
- const b = de(m[4]) ?? 0, g = m[3] === "C" || m[3] === "RD", h = On(m[1] ?? ""), p = m[2] ? `${h.slice(0, 4)}-${m[2].slice(0, 2)}-${m[2].slice(2, 4)}` : h, y = m[6] ?? m[5]?.trim();
1928
+ const b = de(g[4]) ?? 0, p = g[3] === "C" || g[3] === "RD", A = On(g[1] ?? ""), m = g[2] ? `${A.slice(0, 4)}-${g[2].slice(0, 2)}-${g[2].slice(2, 4)}` : A, h = g[6] ?? g[5]?.trim();
1929
1929
  a.push({
1930
- date: p,
1931
- valueDate: h,
1932
- amountCents: g ? b : -b,
1930
+ date: m,
1931
+ valueDate: A,
1932
+ amountCents: p ? b : -b,
1933
1933
  currency: s?.currency ?? "EUR",
1934
1934
  description: "",
1935
- dedupeKey: y && y !== "NONREF" ? `ref:${y}` : `seq:${o}:${u}`
1935
+ dedupeKey: h && h !== "NONREF" ? `ref:${h}` : `seq:${o}:${u}`
1936
1936
  });
1937
1937
  } else if (d === "86") {
1938
1938
  const f = a.at(-1);
@@ -1958,7 +1958,7 @@ function bo(e) {
1958
1958
  const t = e.reduce((r, o) => r + o.netCents, 0), n = e.reduce((r, o) => r + o.taxCents, 0);
1959
1959
  return { netCents: t, taxCents: n, grossCents: t + n };
1960
1960
  }
1961
- const vl = "receipt", Il = "book";
1961
+ const Il = "receipt", vl = "book";
1962
1962
  function _o(e) {
1963
1963
  const t = [];
1964
1964
  return e.fields.supplierName?.value.trim() || t.push("no_supplier"), e.fields.issueDate?.value || t.push("no_date"), e.lines.length ? e.lines.some((n) => !n.accountKey) && t.push("no_account") : t.push("no_lines"), t;
@@ -2039,9 +2039,9 @@ function Ao(e) {
2039
2039
  const t = e.trim().replace(/[\s-]/g, "");
2040
2040
  if (!/^\d+$/.test(t) || ![8, 12, 13, 14].includes(t.length)) return;
2041
2041
  const n = t.padStart(14, "0");
2042
- return vo(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
2042
+ return Io(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
2043
2043
  }
2044
- function vo(e) {
2044
+ function Io(e) {
2045
2045
  let t = 0;
2046
2046
  for (let n = 0; n < e.length; n++)
2047
2047
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
@@ -2051,7 +2051,7 @@ function Rl(e, t) {
2051
2051
  const n = t.trim(), r = Ao(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
2052
2052
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
2053
2053
  }
2054
- const Io = [
2054
+ const vo = [
2055
2055
  {
2056
2056
  key: "contract",
2057
2057
  matches: (e, t) => !!e.contractId && e.contractId === t.contractId && !!e.productId
@@ -2086,7 +2086,7 @@ function wn(e, t, n, r) {
2086
2086
  const o = n.filter(
2087
2087
  (s) => r(s) && s.currency === e.currency && (s.validFrom == null || s.validFrom <= t.at) && (s.validTo == null || s.validTo >= t.at) && (s.minQuantity == null || t.quantity >= s.minQuantity) && (s.productId == null || s.productId === e.id) && (s.categoryKey == null || s.categoryKey === e.categoryKey) && (s.productId != null || s.categoryKey != null)
2088
2088
  );
2089
- for (const s of Io) {
2089
+ for (const s of vo) {
2090
2090
  const i = o.filter((u) => s.matches(u, t));
2091
2091
  if (i.length === 0) continue;
2092
2092
  const a = i.reduce((u, c) => {
@@ -2143,29 +2143,29 @@ function Kl(e, t) {
2143
2143
  return o.forEach((c, d) => {
2144
2144
  const l = d + 1;
2145
2145
  if (!c.trim()) return;
2146
- const f = c.split(s).map((w) => w.trim());
2146
+ const f = c.split(s).map((O) => O.trim());
2147
2147
  if (d === 0 && !Bt(f[u] ?? "")) return;
2148
- const m = f[0] ?? "", b = {};
2149
- i.forEach((w, D) => {
2148
+ const g = f[0] ?? "", b = {};
2149
+ i.forEach((O, D) => {
2150
2150
  const U = f[1 + D] ?? "";
2151
2151
  if (!U) return;
2152
2152
  const Ar = /^[+\d\s-]+$/.test(U) ? U.replace(/\D/g, "").replace(/^00/, "") : U;
2153
- b[w.key] = w.match === "prefix" ? { prefix: Ar } : { equals: U };
2153
+ b[O.key] = O.match === "prefix" ? { prefix: Ar } : { equals: U };
2154
2154
  });
2155
- const g = f[1 + i.length] ?? "", h = g === "" ? 0 : xn(g), p = Bt(f[u] ?? ""), [y, v] = a ? (f[u + 1] || `${t.display.per}/1`).split("/").map(Number) : [1, 1], k = a ? f[u + 2] ?? "" : "", O = k === "" ? 0 : Number(k), T = m ? h === void 0 || !p ? "price" : !(y > 0) || !((v ?? y) > 0) || !Number.isFinite(O) ? "increment" : null : "label";
2156
- if (T) {
2157
- r.push({ line: l, message: T });
2155
+ const p = f[1 + i.length] ?? "", A = p === "" ? 0 : xn(p), m = Bt(f[u] ?? ""), [h, y] = a ? (f[u + 1] || `${t.display.per}/1`).split("/").map(Number) : [1, 1], v = a ? f[u + 2] ?? "" : "", M = v === "" ? 0 : Number(v), k = g ? A === void 0 || !m ? "price" : !(h > 0) || !((y ?? h) > 0) || !Number.isFinite(M) ? "increment" : null : "label";
2156
+ if (k) {
2157
+ r.push({ line: l, message: k });
2158
2158
  return;
2159
2159
  }
2160
2160
  n.push({
2161
- label: m,
2161
+ label: g,
2162
2162
  match: b,
2163
- setupMicros: h,
2164
- price: p,
2163
+ setupMicros: A,
2164
+ price: m,
2165
2165
  unitSize: t.display.per,
2166
- firstIncrement: y,
2167
- nextIncrement: v ?? y,
2168
- minimum: O
2166
+ firstIncrement: h,
2167
+ nextIncrement: y ?? h,
2168
+ minimum: M
2169
2169
  });
2170
2170
  }), { rates: n, errors: r };
2171
2171
  }
@@ -2239,10 +2239,10 @@ function Ul(e, t, n = "sum") {
2239
2239
  }), u.costMicros += i.costMicros ?? 0, o.set(a.id, u);
2240
2240
  }
2241
2241
  return { groups: [...o.values()].map(({ rate: i, billed: a, ids: u, costMicros: c }) => {
2242
- const d = To(a, n), l = Math.min(i.included ?? 0, d), f = d - l, m = i.setupMicros * a.length;
2243
- let b, g;
2244
- i.price.kind === "flat" ? b = L(f * i.price.micros / i.unitSize) : i.price.kind === "tiered" ? { micros: b, bands: g } = Do(f, i.price, i.unitSize) : b = L(c * (1 + i.price.percent / 100));
2245
- const h = b + m;
2242
+ const d = To(a, n), l = Math.min(i.included ?? 0, d), f = d - l, g = i.setupMicros * a.length;
2243
+ let b, p;
2244
+ i.price.kind === "flat" ? b = L(f * i.price.micros / i.unitSize) : i.price.kind === "tiered" ? { micros: b, bands: p } = Do(f, i.price, i.unitSize) : b = L(c * (1 + i.price.percent / 100));
2245
+ const A = b + g;
2246
2246
  return {
2247
2247
  rateId: i.id,
2248
2248
  label: i.label,
@@ -2251,9 +2251,9 @@ function Ul(e, t, n = "sum") {
2251
2251
  measured: d,
2252
2252
  included: l,
2253
2253
  billed: f,
2254
- micros: h,
2255
- cents: L(h / ko),
2256
- ...g ? { bands: g } : {}
2254
+ micros: A,
2255
+ cents: L(A / ko),
2256
+ ...p ? { bands: p } : {}
2257
2257
  };
2258
2258
  }), unrated: r };
2259
2259
  }
@@ -2293,10 +2293,10 @@ function Hl(e, t, n, r = "html") {
2293
2293
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
2294
2294
  }
2295
2295
  function $o(e) {
2296
- return e.replace(/\s+/g, "").toUpperCase();
2296
+ return e.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
2297
2297
  }
2298
2298
  function Vl(e) {
2299
- return e.replace(/[\s.-]+/g, "").toUpperCase();
2299
+ return e.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
2300
2300
  }
2301
2301
  function zl(e) {
2302
2302
  const t = [];
@@ -2666,10 +2666,10 @@ function Ad(e, t) {
2666
2666
  (o) => `${o}/${n.months}`
2667
2667
  );
2668
2668
  }
2669
- function vd(e) {
2669
+ function Id(e) {
2670
2670
  return e.kind === "fixed_asset" ? e.costCents : e.upfront ? e.direction === "expense" ? e.totalCents : -e.totalCents : 0;
2671
2671
  }
2672
- function Id(e, t) {
2672
+ function vd(e, t) {
2673
2673
  const n = re(t, 12);
2674
2674
  return Nn(e).filter((r) => r.dueOn > t && r.dueOn <= n).reduce((r, o) => r + o.principalCents, 0);
2675
2675
  }
@@ -2900,16 +2900,16 @@ function jn(e, t, n, r) {
2900
2900
  label: r(l),
2901
2901
  level: 1,
2902
2902
  side: u,
2903
- amountCents: f.reduce((m, b) => m + c(b), 0)
2903
+ amountCents: f.reduce((g, b) => g + c(b), 0)
2904
2904
  });
2905
- for (const m of f)
2905
+ for (const g of f)
2906
2906
  s.push({
2907
- key: m.code,
2908
- label: `${m.code} ${m.name}`,
2907
+ key: g.code,
2908
+ label: `${g.code} ${g.name}`,
2909
2909
  level: 2,
2910
2910
  side: u,
2911
- amountCents: c(m),
2912
- accountId: m.id
2911
+ amountCents: c(g),
2912
+ accountId: g.id
2913
2913
  });
2914
2914
  }
2915
2915
  }
@@ -3072,23 +3072,23 @@ function tf(e) {
3072
3072
  ...t.taxCents !== void 0 ? { taxCents: -t.taxCents } : {}
3073
3073
  }));
3074
3074
  }
3075
- function vs(e, t, n) {
3075
+ function Is(e, t, n) {
3076
3076
  const r = t.filter((s) => s.appliesTo.direction === n.direction).filter((s) => !s.appliesTo.kind || s.appliesTo.kind === n.kind).sort((s, i) => s.order - i.order), o = (s) => r.find((i) => s(i.match));
3077
3077
  return e.productId && o((s) => s.productId === e.productId) || e.ledgerCategoryKey && o((s) => s.ledgerCategoryKey === e.ledgerCategoryKey) || o((s) => !s.productId && !s.ledgerCategoryKey && s.taxRateKey === e.taxRateKey) || o((s) => !s.productId && !s.ledgerCategoryKey && !s.taxRateKey);
3078
3078
  }
3079
3079
  function nf(e, t) {
3080
- const n = (b) => t.accounts.find((g) => g.role === b && !g.archived), r = e.direction === "sale", o = n(r ? "debtors" : "creditors");
3080
+ const n = (b) => t.accounts.find((p) => p.role === b && !p.archived), r = e.direction === "sale", o = n(r ? "debtors" : "creditors");
3081
3081
  if (!o) return { ok: !1, problem: r ? "no_debtors_account" : "no_creditors_account" };
3082
3082
  const s = n(r ? "revenue_default" : "expense_default"), i = n(r ? "vat_payable" : "vat_receivable"), a = r ? -1 : 1, u = {
3083
3083
  currency: e.currency,
3084
3084
  ...e.counterparty.companyId ? { counterpartyCompanyId: e.counterparty.companyId } : {}
3085
3085
  }, c = e.taxPointDate ?? e.issueDate, d = [], l = /* @__PURE__ */ new Map();
3086
3086
  for (const b of e.lines) {
3087
- const g = b.accountKey ?? vs(b, t.rules, e)?.accountId ?? s?.id;
3088
- if (!g) return { ok: !1, problem: "no_account_for_line" };
3087
+ const p = b.accountKey ?? Is(b, t.rules, e)?.accountId ?? s?.id;
3088
+ if (!p) return { ok: !1, problem: "no_account_for_line" };
3089
3089
  d.push({
3090
3090
  ...u,
3091
- accountId: g,
3091
+ accountId: p,
3092
3092
  amountCents: a * b.netCents,
3093
3093
  functionalCents: a * b.netCents,
3094
3094
  taxCode: b.taxRateKey,
@@ -3098,34 +3098,34 @@ function nf(e, t) {
3098
3098
  ...b.dimensions?.projectId ? { projectId: b.dimensions.projectId } : {}
3099
3099
  }), b.taxCents && l.set(b.taxRateKey, (l.get(b.taxRateKey) ?? 0) + b.taxCents);
3100
3100
  }
3101
- for (const [b, g] of l) {
3102
- const h = t.taxAccounts.find((y) => y.taxKey === b), p = (r ? h?.payableAccountId : h?.receivableAccountId) ?? i?.id;
3103
- if (!p) return { ok: !1, problem: "no_vat_account" };
3101
+ for (const [b, p] of l) {
3102
+ const A = t.taxAccounts.find((h) => h.taxKey === b), m = (r ? A?.payableAccountId : A?.receivableAccountId) ?? i?.id;
3103
+ if (!m) return { ok: !1, problem: "no_vat_account" };
3104
3104
  d.push({
3105
3105
  ...u,
3106
- accountId: p,
3107
- amountCents: a * g,
3108
- functionalCents: a * g,
3106
+ accountId: m,
3107
+ amountCents: a * p,
3108
+ functionalCents: a * p,
3109
3109
  taxCode: b,
3110
3110
  taxPointDate: c
3111
3111
  });
3112
3112
  }
3113
- const f = e.lines.reduce((b, g) => b + g.netCents + g.taxCents, 0);
3113
+ const f = e.lines.reduce((b, p) => b + p.netCents + p.taxCents, 0);
3114
3114
  d.unshift({
3115
3115
  ...u,
3116
3116
  accountId: o.id,
3117
3117
  amountCents: -a * f,
3118
3118
  functionalCents: -a * f
3119
3119
  });
3120
- const m = [e.number, e.counterparty.name].filter(Boolean).join(" · ");
3120
+ const g = [e.number, e.counterparty.name].filter(Boolean).join(" · ");
3121
3121
  return {
3122
3122
  ok: !0,
3123
3123
  journalKind: r ? "sales" : "purchase",
3124
3124
  lines: d,
3125
- description: m || e.documentId
3125
+ description: g || e.documentId
3126
3126
  };
3127
3127
  }
3128
- const Ce = (e) => String(e).padStart(2, "0"), Is = (e, t) => new Date(Date.UTC(e, t, 0)).getUTCDate();
3128
+ const Ce = (e) => String(e).padStart(2, "0"), vs = (e, t) => new Date(Date.UTC(e, t, 0)).getUTCDate();
3129
3129
  function rf(e, t = 1) {
3130
3130
  const n = t === 1 ? String(e) : `${e}/${e + 1}`;
3131
3131
  return Array.from({ length: 12 }, (r, o) => {
@@ -3134,7 +3134,7 @@ function rf(e, t = 1) {
3134
3134
  fiscalYear: n,
3135
3135
  index: o + 1,
3136
3136
  from: `${i}-${Ce(a)}-01`,
3137
- to: `${i}-${Ce(a)}-${Ce(Is(i, a))}`,
3137
+ to: `${i}-${Ce(a)}-${Ce(vs(i, a))}`,
3138
3138
  status: "open"
3139
3139
  };
3140
3140
  });
@@ -3142,77 +3142,77 @@ function rf(e, t = 1) {
3142
3142
  function of(e, t) {
3143
3143
  return e.find((n) => n.from <= t && t <= n.to);
3144
3144
  }
3145
- const A = (e, t, n, r, o, s) => ({ code: e, name: t, type: n, reportGroup: r, rgs: o, ...s ? { role: s } : {} }), Es = {
3145
+ const I = (e, t, n, r, o, s) => ({ code: e, name: t, type: n, reportGroup: r, rgs: o, ...s ? { role: s } : {} }), Es = {
3146
3146
  key: "nl-bv",
3147
3147
  label: "BV (Nederland)",
3148
3148
  rgsVersion: "3.5",
3149
3149
  accounts: [
3150
- A("0100", "Inventaris", "asset", "assets.fixed.tangible", "BMvaBeiVvp"),
3151
- A("0110", "Afschrijving inventaris", "asset", "assets.fixed.tangible", "BMvaBeiCae"),
3152
- A("0200", "Vervoermiddelen", "asset", "assets.fixed.tangible", "BMvaTevVvp"),
3153
- A("0210", "Afschrijving vervoermiddelen", "asset", "assets.fixed.tangible", "BMvaTevCae"),
3154
- A(
3150
+ I("0100", "Inventaris", "asset", "assets.fixed.tangible", "BMvaBeiVvp"),
3151
+ I("0110", "Afschrijving inventaris", "asset", "assets.fixed.tangible", "BMvaBeiCae"),
3152
+ I("0200", "Vervoermiddelen", "asset", "assets.fixed.tangible", "BMvaTevVvp"),
3153
+ I("0210", "Afschrijving vervoermiddelen", "asset", "assets.fixed.tangible", "BMvaTevCae"),
3154
+ I(
3155
3155
  "0500",
3156
3156
  "Deelnemingen in groepsmaatschappijen",
3157
3157
  "asset",
3158
3158
  "assets.fixed.financial",
3159
3159
  "BFvaDigNev"
3160
3160
  ),
3161
- A("0600", "Leningen bank", "liability", "liabilities.long", "BLasSakLvl"),
3162
- A("0550", "Leningen u/g", "asset", "assets.fixed.financial", "BFvaLenLen"),
3163
- A("0560", "Waarborgsommen", "asset", "assets.fixed.financial", "BFvaOvrWaa"),
3164
- A("0800", "Geplaatst kapitaal", "equity", "equity.capital", "BEivGokGea"),
3165
- A("0810", "Agio", "equity", "equity.share_premium", "BEivAgiAgi"),
3166
- A("0900", "Overige reserves", "equity", "equity.reserves", "BEivOvrOrs"),
3167
- A("0990", "Resultaat boekjaar", "equity", "equity.result", "BEivOreRvh", "result"),
3168
- A("1000", "Kas", "asset", "assets.current.cash", "BLimKasKas"),
3169
- A("1100", "Bank", "asset", "assets.current.cash", "BLimBanRba"),
3170
- A("1300", "Debiteuren", "asset", "assets.current.receivables", "BVorDebHad", "debtors"),
3171
- A("1400", "Vooruitbetaalde kosten", "asset", "assets.current.other", "BVorOvaVof"),
3172
- A("1410", "Nog te factureren omzet", "asset", "assets.current.other", "BVorOvaNtf"),
3173
- A("1500", "Te betalen btw", "liability", "liabilities.short.tax", "BSchBepBtw", "vat_payable"),
3174
- A("1510", "Te vorderen btw", "asset", "assets.current.tax", "BVorVbkTvo", "vat_receivable"),
3175
- A("1520", "Btw-afdracht", "liability", "liabilities.short.tax", "BSchBepBaf"),
3176
- A(
3161
+ I("0600", "Leningen bank", "liability", "liabilities.long", "BLasSakLvl"),
3162
+ I("0550", "Leningen u/g", "asset", "assets.fixed.financial", "BFvaLenLen"),
3163
+ I("0560", "Waarborgsommen", "asset", "assets.fixed.financial", "BFvaOvrWaa"),
3164
+ I("0800", "Geplaatst kapitaal", "equity", "equity.capital", "BEivGokGea"),
3165
+ I("0810", "Agio", "equity", "equity.share_premium", "BEivAgiAgi"),
3166
+ I("0900", "Overige reserves", "equity", "equity.reserves", "BEivOvrOrs"),
3167
+ I("0990", "Resultaat boekjaar", "equity", "equity.result", "BEivOreRvh", "result"),
3168
+ I("1000", "Kas", "asset", "assets.current.cash", "BLimKasKas"),
3169
+ I("1100", "Bank", "asset", "assets.current.cash", "BLimBanRba"),
3170
+ I("1300", "Debiteuren", "asset", "assets.current.receivables", "BVorDebHad", "debtors"),
3171
+ I("1400", "Vooruitbetaalde kosten", "asset", "assets.current.other", "BVorOvaVof"),
3172
+ I("1410", "Nog te factureren omzet", "asset", "assets.current.other", "BVorOvaNtf"),
3173
+ I("1500", "Te betalen btw", "liability", "liabilities.short.tax", "BSchBepBtw", "vat_payable"),
3174
+ I("1510", "Te vorderen btw", "asset", "assets.current.tax", "BVorVbkTvo", "vat_receivable"),
3175
+ I("1520", "Btw-afdracht", "liability", "liabilities.short.tax", "BSchBepBaf"),
3176
+ I(
3177
3177
  "1610",
3178
3178
  "Aflossingsverplichtingen leningen",
3179
3179
  "liability",
3180
3180
  "liabilities.short.other",
3181
3181
  "BSchAosLvk"
3182
3182
  ),
3183
- A("1600", "Crediteuren", "liability", "liabilities.short.payables", "BSchCreHac", "creditors"),
3184
- A(
3183
+ I("1600", "Crediteuren", "liability", "liabilities.short.payables", "BSchCreHac", "creditors"),
3184
+ I(
3185
3185
  "1700",
3186
3186
  "Rekening-courant bestuurder",
3187
3187
  "liability",
3188
3188
  "liabilities.short.related",
3189
3189
  "BSchOvsRcb"
3190
3190
  ),
3191
- A(
3191
+ I(
3192
3192
  "1710",
3193
3193
  "Rekening-courant groepsmaatschappijen",
3194
3194
  "liability",
3195
3195
  "liabilities.short.related",
3196
3196
  "BSchSagSg1"
3197
3197
  ),
3198
- A(
3198
+ I(
3199
3199
  "1720",
3200
3200
  "Rekening-courant deelnemingen",
3201
3201
  "liability",
3202
3202
  "liabilities.short.related",
3203
3203
  "BSchSapSp1"
3204
3204
  ),
3205
- A(
3205
+ I(
3206
3206
  "1730",
3207
3207
  "Rekening-courant verbonden maatschappijen",
3208
3208
  "liability",
3209
3209
  "liabilities.short.related",
3210
3210
  "BSchSaoSo1"
3211
3211
  ),
3212
- A("1800", "Nog te betalen kosten", "liability", "liabilities.short.other", "BSchOpaNtb"),
3213
- A("1810", "Vooruitgefactureerde omzet", "liability", "liabilities.short.other", "BSchOpaVgo"),
3214
- A("1900", "Te betalen loonheffing", "liability", "liabilities.short.tax", "BSchBepLhe"),
3215
- A(
3212
+ I("1800", "Nog te betalen kosten", "liability", "liabilities.short.other", "BSchOpaNtb"),
3213
+ I("1810", "Vooruitgefactureerde omzet", "liability", "liabilities.short.other", "BSchOpaVgo"),
3214
+ I("1900", "Te betalen loonheffing", "liability", "liabilities.short.tax", "BSchBepLhe"),
3215
+ I(
3216
3216
  "2000",
3217
3217
  "Tussenrekening betalingen",
3218
3218
  "asset",
@@ -3220,28 +3220,28 @@ const A = (e, t, n, r, o, s) => ({ code: e, name: t, type: n, reportGroup: r, rg
3220
3220
  "BVorTusTbt",
3221
3221
  "suspense"
3222
3222
  ),
3223
- A("4000", "Lonen", "expense", "costs.personnel", "WPerLesLon"),
3224
- A("4100", "Huur", "expense", "costs.housing", "WBedHuiBeh"),
3225
- A("4110", "Gas, water en elektra", "expense", "costs.housing", "WBedHuiGwe"),
3226
- A("4200", "Autokosten", "expense", "costs.car", "WBedAutOak"),
3227
- A("4300", "Kantoorbenodigdheden", "expense", "costs.office", "WBedKanKan"),
3228
- A("4310", "Automatisering en software", "expense", "costs.office", "WBedKanKoa"),
3229
- A("4400", "Reclame- en advertentiekosten", "expense", "costs.sales", "WBedVkkRea"),
3230
- A("4500", "Accountants- en advieskosten", "expense", "costs.general", "WBedAeaAea"),
3231
- A("4590", "Algemene kosten", "expense", "costs.general", "WBedAlkOal", "expense_default"),
3232
- A("4600", "Afschrijving inventaris", "expense", "costs.depreciation", "WAfsAmvBei"),
3233
- A("4610", "Afschrijving vervoermiddelen", "expense", "costs.depreciation", "WAfsAmvTev"),
3234
- A("4900", "Rente en kosten bank", "expense", "financial.expense", "WFbeOrlRkb"),
3235
- A(
3223
+ I("4000", "Lonen", "expense", "costs.personnel", "WPerLesLon"),
3224
+ I("4100", "Huur", "expense", "costs.housing", "WBedHuiBeh"),
3225
+ I("4110", "Gas, water en elektra", "expense", "costs.housing", "WBedHuiGwe"),
3226
+ I("4200", "Autokosten", "expense", "costs.car", "WBedAutOak"),
3227
+ I("4300", "Kantoorbenodigdheden", "expense", "costs.office", "WBedKanKan"),
3228
+ I("4310", "Automatisering en software", "expense", "costs.office", "WBedKanKoa"),
3229
+ I("4400", "Reclame- en advertentiekosten", "expense", "costs.sales", "WBedVkkRea"),
3230
+ I("4500", "Accountants- en advieskosten", "expense", "costs.general", "WBedAeaAea"),
3231
+ I("4590", "Algemene kosten", "expense", "costs.general", "WBedAlkOal", "expense_default"),
3232
+ I("4600", "Afschrijving inventaris", "expense", "costs.depreciation", "WAfsAmvBei"),
3233
+ I("4610", "Afschrijving vervoermiddelen", "expense", "costs.depreciation", "WAfsAmvTev"),
3234
+ I("4900", "Rente en kosten bank", "expense", "financial.expense", "WFbeOrlRkb"),
3235
+ I(
3236
3236
  "4910",
3237
3237
  "Rentelasten leningen kredietinstellingen",
3238
3238
  "expense",
3239
3239
  "financial.expense",
3240
3240
  "WFbeRlsRlk"
3241
3241
  ),
3242
- A("4920", "Rentelasten schulden aan bestuurders", "expense", "financial.expense", "WFbeRlsRsd"),
3243
- A("7000", "Inkoopwaarde handelsgoederen", "expense", "costs.cost_of_sales", "WKprInhInh"),
3244
- A(
3242
+ I("4920", "Rentelasten schulden aan bestuurders", "expense", "financial.expense", "WFbeRlsRsd"),
3243
+ I("7000", "Inkoopwaarde handelsgoederen", "expense", "costs.cost_of_sales", "WKprInhInh"),
3244
+ I(
3245
3245
  "8000",
3246
3246
  "Omzet diensten hoog tarief",
3247
3247
  "revenue",
@@ -3249,13 +3249,13 @@ const A = (e, t, n, r, o, s) => ({ code: e, name: t, type: n, reportGroup: r, rg
3249
3249
  "WOmzNodOdh",
3250
3250
  "revenue_default"
3251
3251
  ),
3252
- A("8010", "Omzet diensten laag tarief", "revenue", "revenue.net", "WOmzNodOdl"),
3253
- A("8020", "Omzet diensten verlegd", "revenue", "revenue.net", "WOmzNodOdv"),
3254
- A("8030", "Omzet vrijgestelde diensten", "revenue", "revenue.net", "WOmzNodNod"),
3255
- A("8100", "Omzet diensten binnen de EU", "revenue", "revenue.net", "WOmzNodOdi"),
3256
- A("8110", "Omzet diensten buiten de EU", "revenue", "revenue.net", "WOmzNodOdb"),
3257
- A("9000", "Rentebaten bank", "revenue", "financial.income", "WFbeRlmObr"),
3258
- A(
3252
+ I("8010", "Omzet diensten laag tarief", "revenue", "revenue.net", "WOmzNodOdl"),
3253
+ I("8020", "Omzet diensten verlegd", "revenue", "revenue.net", "WOmzNodOdv"),
3254
+ I("8030", "Omzet vrijgestelde diensten", "revenue", "revenue.net", "WOmzNodNod"),
3255
+ I("8100", "Omzet diensten binnen de EU", "revenue", "revenue.net", "WOmzNodOdi"),
3256
+ I("8110", "Omzet diensten buiten de EU", "revenue", "revenue.net", "WOmzNodOdb"),
3257
+ I("9000", "Rentebaten bank", "revenue", "financial.income", "WFbeRlmObr"),
3258
+ I(
3259
3259
  "9010",
3260
3260
  "Rentebaten rekening-courant bestuurders",
3261
3261
  "revenue",
@@ -3413,7 +3413,7 @@ function af(e) {
3413
3413
  _("desc", c.name),
3414
3414
  _("jrnTp", Cs[c.kind])
3415
3415
  );
3416
- for (const l of [...d].sort((f, m) => f.journalSeq - m.journalSeq))
3416
+ for (const l of [...d].sort((f, g) => f.journalSeq - g.journalSeq))
3417
3417
  o(
3418
3418
  "<transaction>",
3419
3419
  _("nr", l.number, 35),
@@ -3422,11 +3422,11 @@ function af(e) {
3422
3422
  _("trDt", l.date),
3423
3423
  _("Source", l.source.app + (l.source.kind ? " " + l.source.kind : ""), 999),
3424
3424
  _("User", l.postedBy, 999)
3425
- ), l.lines.forEach((f, m) => {
3426
- const b = f.taxCode && e.vatPercent?.(f.taxCode, l.date), g = f.currency && f.currency !== e.currency;
3425
+ ), l.lines.forEach((f, g) => {
3426
+ const b = f.taxCode && e.vatPercent?.(f.taxCode, l.date), p = f.currency && f.currency !== e.currency;
3427
3427
  o(
3428
3428
  "<trLine>",
3429
- _("nr", m + 1),
3429
+ _("nr", g + 1),
3430
3430
  _("accID", t.get(f.accountId) ?? f.accountId, 35),
3431
3431
  _("docRef", l.source.number ?? l.number, 255),
3432
3432
  _("effDate", f.taxPointDate ?? l.date),
@@ -3438,7 +3438,7 @@ function af(e) {
3438
3438
  _("cost", f.costCenter, 999),
3439
3439
  _("project", f.projectId, 999),
3440
3440
  b && f.taxCents !== void 0 ? "<vat>" + _("vatID", f.taxCode, 35) + _("vatPerc", b) + _("vatAmnt", B(f.taxCents)) + _("vatAmntTp", ke(f.taxCents)) + "</vat>" : "",
3441
- g ? "<currency>" + _("curCode", f.currency) + _("curAmnt", B(f.amountCents)) + "</currency>" : "",
3441
+ p ? "<currency>" + _("curCode", f.currency) + _("curAmnt", B(f.amountCents)) + "</currency>" : "",
3442
3442
  "</trLine>"
3443
3443
  );
3444
3444
  }), o("</transaction>");
@@ -3454,20 +3454,20 @@ const ks = (e, t) => {
3454
3454
  };
3455
3455
  function cf(e) {
3456
3456
  const t = P(e, "ledgerAccount").map((a) => {
3457
- const u = I(a, "RGScode") ?? I(a, "leadCode");
3457
+ const u = E(a, "RGScode") ?? E(a, "leadCode");
3458
3458
  return {
3459
- code: I(a, "accID") ?? "",
3460
- name: I(a, "accDesc") ?? "",
3461
- kind: I(a, "accTp") === "P" ? "P" : "B",
3459
+ code: E(a, "accID") ?? "",
3460
+ name: E(a, "accDesc") ?? "",
3461
+ kind: E(a, "accTp") === "P" ? "P" : "B",
3462
3462
  ...u ? { rgs: u } : {}
3463
3463
  };
3464
3464
  }), n = {}, r = (a) => {
3465
- const u = I(a, "accID");
3466
- u && (n[u] = (n[u] ?? 0) + ks(I(a, "amnt"), I(a, "amntTp")));
3465
+ const u = E(a, "accID");
3466
+ u && (n[u] = (n[u] ?? 0) + ks(E(a, "amnt"), E(a, "amntTp")));
3467
3467
  };
3468
3468
  for (const a of P(e, "obLine")) r(a);
3469
3469
  for (const a of P(e, "trLine")) r(a);
3470
- const o = P(e, "header")[0] ?? "", s = I(o, "fiscalYear"), i = I(o, "endDate");
3470
+ const o = P(e, "header")[0] ?? "", s = E(o, "fiscalYear"), i = E(o, "endDate");
3471
3471
  return {
3472
3472
  accounts: t.filter((a) => a.code),
3473
3473
  closing: n,
@@ -3610,7 +3610,7 @@ function Wn(e, t) {
3610
3610
  (r) => r.validFrom <= t && (!r.validTo || t <= r.validTo)
3611
3611
  )?.percent ?? 0;
3612
3612
  }
3613
- function vf(e, t, n = "sales") {
3613
+ function If(e, t, n = "sales") {
3614
3614
  return e.filter((r) => !r.archived && (r.direction === "both" || r.direction === n)).map((r) => ({
3615
3615
  key: r.key,
3616
3616
  label: r.label,
@@ -3623,7 +3623,7 @@ function Z(e) {
3623
3623
  return new Date(e).toISOString().slice(0, 10);
3624
3624
  }
3625
3625
  const Vt = /^\d{4}-\d{2}-\d{2}$/;
3626
- function If(e) {
3626
+ function vf(e) {
3627
3627
  if (!e.key?.trim()) return "tax_code_key";
3628
3628
  if (!e.label?.trim()) return "tax_code_label";
3629
3629
  const t = e.rates ?? [];
@@ -3654,18 +3654,18 @@ function Ef(e, t, n) {
3654
3654
  const s = [];
3655
3655
  let i = 0, a = 0;
3656
3656
  for (const [c, d] of o) {
3657
- const l = Os(c, t), f = d.reduce((g, h) => g + r[h].netCents, 0), m = L(f * l.percent / 100), b = Lr(
3658
- m,
3659
- d.map((g) => r[g].netCents)
3657
+ const l = Os(c, t), f = d.reduce((p, A) => p + r[A].netCents, 0), g = L(f * l.percent / 100), b = Lr(
3658
+ g,
3659
+ d.map((p) => r[p].netCents)
3660
3660
  );
3661
- for (let g = 0; g < d.length; g++) r[d[g]].taxCents = b[g];
3661
+ for (let p = 0; p < d.length; p++) r[d[p]].taxCents = b[p];
3662
3662
  s.push({
3663
3663
  taxRateKey: c,
3664
3664
  percent: l.percent,
3665
3665
  kind: l.kind,
3666
3666
  netCents: f,
3667
- taxCents: m
3668
- }), i += f, a += m;
3667
+ taxCents: g
3668
+ }), i += f, a += g;
3669
3669
  }
3670
3670
  const u = r.reduce(
3671
3671
  (c, d) => d.costPriceCents == null || d.optional ? c : c + L(d.costPriceCents * d.quantity),
@@ -3834,31 +3834,31 @@ function Mf(e, t) {
3834
3834
  };
3835
3835
  for (const l of a) {
3836
3836
  const f = t.teamIdsOf?.(l) ?? [];
3837
- let m = 0, b = 0, g = 0;
3838
- for (const y of $s(e)) {
3839
- const v = Math.max(y, e.from), k = Math.min(y + Fe, e.to);
3840
- g++;
3841
- const O = s.filter((D) => D.userId === l).reduce((D, U) => D + je(U.start, U.end, v, k), 0);
3842
- if (O > 0) {
3843
- m += O;
3837
+ let g = 0, b = 0, p = 0;
3838
+ for (const h of $s(e)) {
3839
+ const y = Math.max(h, e.from), v = Math.min(h + Fe, e.to);
3840
+ p++;
3841
+ const M = s.filter((D) => D.userId === l).reduce((D, U) => D + je(U.start, U.end, y, v), 0);
3842
+ if (M > 0) {
3843
+ g += M;
3844
3844
  continue;
3845
3845
  }
3846
- const T = Yn(r, l, f, y), w = T ? zn(T, y) : 0;
3847
- if (T && w > 0) {
3848
- m += w * 60, d(qn(T, y) ? "interval" : "day");
3846
+ const k = Yn(r, l, f, h), O = k ? zn(k, h) : 0;
3847
+ if (k && O > 0) {
3848
+ g += O * 60, d(qn(k, h) ? "interval" : "day");
3849
3849
  continue;
3850
3850
  }
3851
- T || b++;
3851
+ k || b++;
3852
3852
  }
3853
3853
  if (b > 0) {
3854
- const y = Rs(o, l, e.from);
3855
- y && (m += y.weeklyMinutes * 60 * (b / 7), d("week"));
3854
+ const h = Rs(o, l, e.from);
3855
+ h && (g += h.weeklyMinutes * 60 * (b / 7), d("week"));
3856
3856
  }
3857
- const h = i.filter((y) => y.userId === l).reduce(
3858
- (y, v) => y + je(v.start, v.end, e.from, e.to),
3857
+ const A = i.filter((h) => h.userId === l).reduce(
3858
+ (h, y) => h + je(y.start, y.end, e.from, e.to),
3859
3859
  0
3860
- ), p = Math.max(0, m - h);
3861
- (p > 0 || g > 0) && (u[l] = p);
3860
+ ), m = Math.max(0, g - A);
3861
+ (m > 0 || p > 0) && (u[l] = m);
3862
3862
  }
3863
3863
  return {
3864
3864
  seconds: Object.values(u).reduce((l, f) => l + f, 0),
@@ -3963,26 +3963,26 @@ function Ws(e, t, n) {
3963
3963
  return { seconds: o, headcount: o / n * i };
3964
3964
  }
3965
3965
  function Nf(e) {
3966
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: s } = e, i = e.grain ?? "hour", a = Gs(i), u = a / 1e3, c = e.kinds, d = t.filter((g) => te(g.status)), l = d.filter((g) => Hn(g, n, c)), f = d.filter((g) => K(g.kindKey, c).capacity), m = d.filter((g) => K(g.kindKey, c).absent), b = [];
3967
- for (let g = ee(s.from, i); g < s.to; g += a) {
3968
- const h = g + a, p = Q(g, i);
3966
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: s } = e, i = e.grain ?? "hour", a = Gs(i), u = a / 1e3, c = e.kinds, d = t.filter((p) => te(p.status)), l = d.filter((p) => Hn(p, n, c)), f = d.filter((p) => K(p.kindKey, c).capacity), g = d.filter((p) => K(p.kindKey, c).absent), b = [];
3967
+ for (let p = ee(s.from, i); p < s.to; p += a) {
3968
+ const A = p + a, m = Q(p, i);
3969
+ let h = 0;
3970
+ for (const D of l) h += Me(D, p, A);
3969
3971
  let y = 0;
3970
- for (const D of l) y += Me(D, g, h);
3972
+ for (const D of f) y += Me(D, p, A);
3971
3973
  let v = 0;
3972
- for (const D of f) v += Me(D, g, h);
3973
- let k = 0;
3974
- for (const D of m) k += Me(D, g, h);
3975
- const O = o?.[p] ?? {}, T = Ws(O, r, u), w = y / u;
3974
+ for (const D of g) v += Me(D, p, A);
3975
+ const M = o?.[m] ?? {}, k = Ws(M, r, u), O = h / u;
3976
3976
  b.push({
3977
- period: p,
3978
- forecastVolume: O.volume,
3979
- requiredSeconds: T.seconds,
3980
- requiredHeadcount: T.headcount,
3981
- scheduledSeconds: y,
3982
- scheduledHeadcount: w,
3983
- netHeadcount: w - T.headcount,
3984
- capacitySeconds: v,
3985
- absentSeconds: k
3977
+ period: m,
3978
+ forecastVolume: M.volume,
3979
+ requiredSeconds: k.seconds,
3980
+ requiredHeadcount: k.headcount,
3981
+ scheduledSeconds: h,
3982
+ scheduledHeadcount: O,
3983
+ netHeadcount: O - k.headcount,
3984
+ capacitySeconds: y,
3985
+ absentSeconds: v
3986
3986
  });
3987
3987
  }
3988
3988
  return b;
@@ -4031,11 +4031,11 @@ function Lf(e, t, n) {
4031
4031
  const i = Zs(o, ee(t.from, "hour"), r), a = [];
4032
4032
  for (let u = ee(t.from, "hour"); u < t.to; u += Vs) {
4033
4033
  let c = 0, d = 0;
4034
- for (let m = 1; m <= r; m++) {
4035
- const b = u - m * Ge, h = o.get(b) ?? (s.has(Q(b, "day")) ? 0 : void 0);
4036
- if (h === void 0) continue;
4037
- const p = r - m + 1;
4038
- c += h * p, d += p;
4034
+ for (let g = 1; g <= r; g++) {
4035
+ const b = u - g * Ge, A = o.get(b) ?? (s.has(Q(b, "day")) ? 0 : void 0);
4036
+ if (A === void 0) continue;
4037
+ const m = r - g + 1;
4038
+ c += A * m, d += m;
4039
4039
  }
4040
4040
  let l = d > 0 ? c / d * i : 0;
4041
4041
  const f = Js(n?.adjustments, u);
@@ -4069,8 +4069,8 @@ function Uf(e, t, n = {}) {
4069
4069
  for (const l of a)
4070
4070
  if (!(u && l.userId && !u.has(l.userId))) {
4071
4071
  for (const f of o) {
4072
- const m = Oe(l.start, l.end, f, f + s);
4073
- m > 0 && i.set(f, (i.get(f) ?? 0) + m);
4072
+ const g = Oe(l.start, l.end, f, f + s);
4073
+ g > 0 && i.set(f, (i.get(f) ?? 0) + g);
4074
4074
  }
4075
4075
  for (const f of Yt(t))
4076
4076
  Oe(l.start, l.end, f, f + z) > 0 && c.add(`${l.userId}:${f}`);
@@ -4084,25 +4084,25 @@ function Uf(e, t, n = {}) {
4084
4084
  if (n.patterns?.length)
4085
4085
  for (const l of d) {
4086
4086
  const f = n.teamIdsOf?.(l) ?? [];
4087
- for (const m of Yt(t)) {
4088
- if (c.has(`${l}:${m}`)) continue;
4089
- const b = Yn(n.patterns, l, f, m);
4087
+ for (const g of Yt(t)) {
4088
+ if (c.has(`${l}:${g}`)) continue;
4089
+ const b = Yn(n.patterns, l, f, g);
4090
4090
  if (!b) continue;
4091
- const g = zn(b, m);
4092
- if (g <= 0) continue;
4093
- const h = qn(b, m);
4094
- if (h) {
4095
- const [v, k] = h.split(":").map(Number), O = m + v * We + (k ?? 0) * 6e4, T = O + g * 6e4;
4096
- for (const w of o) {
4097
- const D = Oe(O, T, w, w + s);
4098
- D > 0 && i.set(w, (i.get(w) ?? 0) + D);
4091
+ const p = zn(b, g);
4092
+ if (p <= 0) continue;
4093
+ const A = qn(b, g);
4094
+ if (A) {
4095
+ const [y, v] = A.split(":").map(Number), M = g + y * We + (v ?? 0) * 6e4, k = M + p * 6e4;
4096
+ for (const O of o) {
4097
+ const D = Oe(M, k, O, O + s);
4098
+ D > 0 && i.set(O, (i.get(O) ?? 0) + D);
4099
4099
  }
4100
4100
  continue;
4101
4101
  }
4102
- const p = o.filter((v) => v >= m && v < m + z);
4103
- if (!p.length) continue;
4104
- const y = g * 60 / p.length;
4105
- for (const v of p) i.set(v, (i.get(v) ?? 0) + y);
4102
+ const m = o.filter((y) => y >= g && y < g + z);
4103
+ if (!m.length) continue;
4104
+ const h = p * 60 / m.length;
4105
+ for (const y of m) i.set(y, (i.get(y) ?? 0) + h);
4106
4106
  }
4107
4107
  }
4108
4108
  return o.map((l) => ({ period: Q(l, r), weight: i.get(l) ?? 0 }));
@@ -4364,7 +4364,7 @@ const Ai = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
4364
4364
  function hp(e, t) {
4365
4365
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
4366
4366
  }
4367
- const vi = [
4367
+ const Ii = [
4368
4368
  "1a",
4369
4369
  "1b",
4370
4370
  "1c",
@@ -4382,47 +4382,56 @@ const vi = [
4382
4382
  "5g"
4383
4383
  ];
4384
4384
  function yp(e) {
4385
- const t = e.taxonomy ?? "nl-ob", n = new Map(e.codes.map((h) => [h.key, h])), r = n.get(e.standardKey ?? "high"), o = {}, s = (h, p, y) => {
4386
- if (!h || !y) return;
4387
- const v = o[h] ?? {};
4388
- v[p] = (v[p] ?? 0) + y, o[h] = v;
4389
- }, i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set();
4390
- let u = 0;
4391
- for (const h of e.lines) {
4392
- if (h.taxPointDate < e.from || h.taxPointDate > e.to) continue;
4393
- const p = n.get(h.taxCode);
4394
- if (!p) {
4395
- a.add(h.taxCode);
4385
+ const t = e.taxonomy ?? "nl-ob", n = new Map(e.codes.map((y) => [y.key, y])), r = n.get(e.standardKey ?? "high"), o = {}, s = {}, i = (y, v) => {
4386
+ if (!e.trace || !y || !v.ref) return;
4387
+ const M = s[y] ?? [];
4388
+ M.includes(v.ref) || (s[y] = [...M, v.ref]);
4389
+ };
4390
+ let a;
4391
+ const u = (y, v, M) => {
4392
+ if (!y || !M) return;
4393
+ const k = o[y] ?? {};
4394
+ k[v] = (k[v] ?? 0) + M, o[y] = k, a && i(y, a);
4395
+ }, c = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set();
4396
+ let l = 0;
4397
+ for (const y of e.lines) {
4398
+ if (y.taxPointDate < e.from || y.taxPointDate > e.to) continue;
4399
+ const v = n.get(y.taxCode);
4400
+ if (!v) {
4401
+ d.add(y.taxCode);
4396
4402
  continue;
4397
4403
  }
4398
- const y = p.boxes[t]?.[h.side];
4399
- if (h.side === "sales")
4400
- s(y?.base, "baseCents", h.baseCents), s(y?.tax, "taxCents", h.taxCents), p.icp && i.set(
4401
- h.counterpartyCompanyId ?? "",
4402
- (i.get(h.counterpartyCompanyId ?? "") ?? 0) + h.baseCents
4404
+ const M = v.boxes[t]?.[y.side];
4405
+ if (a = y, y.side === "sales")
4406
+ u(M?.base, "baseCents", y.baseCents), u(M?.tax, "taxCents", y.taxCents), v.icp && c.set(
4407
+ y.counterpartyCompanyId ?? "",
4408
+ (c.get(y.counterpartyCompanyId ?? "") ?? 0) + y.baseCents
4403
4409
  );
4404
- else if (p.selfAssessed) {
4405
- const v = r ? Wn(r, h.taxPointDate) ?? 0 : 0, k = Math.round(h.baseCents * v / 100);
4406
- s(y?.base, "baseCents", h.baseCents), s(y?.tax, "taxCents", k), u += k;
4407
- } else
4408
- u += Math.round(h.taxCents * (p.deductiblePercent ?? 100) / 100);
4409
- }
4410
- const c = vi.filter((h) => h < "5"), d = c.reduce((h, p) => h + (o[p]?.taxCents ?? 0), 0);
4411
- o["5a"] = { taxCents: d }, o["5b"] = { taxCents: u }, o["5c"] = { taxCents: d - u }, o["5g"] = { taxCents: d - u };
4412
- const l = (h) => Math.trunc(h / 100), f = (h) => h >= 0 ? Math.ceil(h / 100) : Math.floor(h / 100), m = {};
4413
- for (const h of c) {
4414
- const p = o[h];
4415
- p && (m[h] = {
4416
- ...p.baseCents !== void 0 ? { base: l(p.baseCents) } : {},
4417
- ...p.taxCents !== void 0 ? { tax: l(p.taxCents) } : {}
4410
+ else if (v.selfAssessed) {
4411
+ const k = r ? Wn(r, y.taxPointDate) ?? 0 : 0, O = Math.round(y.baseCents * k / 100);
4412
+ u(M?.base, "baseCents", y.baseCents), u(M?.tax, "taxCents", O), l += O, O && i("5b", y);
4413
+ } else {
4414
+ const k = Math.round(y.taxCents * (v.deductiblePercent ?? 100) / 100);
4415
+ l += k, k && i("5b", y);
4416
+ }
4417
+ }
4418
+ const f = Ii.filter((y) => y < "5"), g = f.reduce((y, v) => y + (o[v]?.taxCents ?? 0), 0);
4419
+ o["5a"] = { taxCents: g }, o["5b"] = { taxCents: l }, o["5c"] = { taxCents: g - l }, o["5g"] = { taxCents: g - l };
4420
+ const b = (y) => Math.trunc(y / 100), p = (y) => y >= 0 ? Math.ceil(y / 100) : Math.floor(y / 100), A = {};
4421
+ for (const y of f) {
4422
+ const v = o[y];
4423
+ v && (A[y] = {
4424
+ ...v.baseCents !== void 0 ? { base: b(v.baseCents) } : {},
4425
+ ...v.taxCents !== void 0 ? { tax: b(v.taxCents) } : {}
4418
4426
  });
4419
4427
  }
4420
- const b = c.reduce((h, p) => h + (m[p]?.tax ?? 0), 0), g = f(u);
4421
- return m["5a"] = { tax: b }, m["5b"] = { tax: g }, m["5c"] = { tax: b - g }, m["5g"] = { tax: b - g }, {
4428
+ const m = f.reduce((y, v) => y + (A[v]?.tax ?? 0), 0), h = p(l);
4429
+ return A["5a"] = { tax: m }, A["5b"] = { tax: h }, A["5c"] = { tax: m - h }, A["5g"] = { tax: m - h }, {
4422
4430
  boxes: o,
4423
- euros: m,
4424
- icp: [...i.entries()].filter(([, h]) => h !== 0).map(([h, p]) => ({ ...h ? { counterpartyCompanyId: h } : {}, baseCents: p })),
4425
- unknownCodes: [...a]
4431
+ euros: A,
4432
+ icp: [...c.entries()].filter(([, y]) => y !== 0).map(([y, v]) => ({ ...y ? { counterpartyCompanyId: y } : {}, baseCents: v })),
4433
+ unknownCodes: [...d],
4434
+ ...e.trace ? { refs: s } : {}
4426
4435
  };
4427
4436
  }
4428
4437
  function bp(e, t = "quarter") {
@@ -4443,7 +4452,7 @@ class Zn extends Error {
4443
4452
  super(t), this.name = "UnresolvedRefError";
4444
4453
  }
4445
4454
  }
4446
- const Ii = /^\{\{\s*([\w.]+)\s*\}\}$/, Ei = /\{\{\s*([\w.]+)\s*\}\}/g, Si = /\$[A-Za-z_][\w]*\.[\w.]+/;
4455
+ const vi = /^\{\{\s*([\w.]+)\s*\}\}$/, Ei = /\{\{\s*([\w.]+)\s*\}\}/g, Si = /\$[A-Za-z_][\w]*\.[\w.]+/;
4447
4456
  function _p(e, t, n = {}) {
4448
4457
  return Ve(e, t, n);
4449
4458
  }
@@ -4467,7 +4476,7 @@ function Ci(e, t, n) {
4467
4476
  `"${s[0]}" in ${n.where ?? "een waarde"} is de oude schrijfwijze; gebruik {{ ${s[0].slice(1)} }}.`
4468
4477
  );
4469
4478
  }
4470
- const o = e.match(Ii);
4479
+ const o = e.match(vi);
4471
4480
  if (o) {
4472
4481
  const s = Xt(t, o[1], e, n);
4473
4482
  return s === void 0 && !r ? "" : s;
@@ -4496,7 +4505,7 @@ function ki(e, t) {
4496
4505
  return n;
4497
4506
  }
4498
4507
  const Ap = /* @__PURE__ */ new Set(["filled", "empty"]);
4499
- function vp() {
4508
+ function Ip() {
4500
4509
  return { kind: "rule", op: "==", varPath: "", value: "" };
4501
4510
  }
4502
4511
  const Ti = /* @__PURE__ */ new Set(["==", "!=", ">", "<", ">=", "<="]);
@@ -4551,7 +4560,7 @@ function ze(e) {
4551
4560
  function xe(e) {
4552
4561
  return e.kind === "group" ? e.children.length === 0 ? !0 : e.children.length === 1 ? xe(e.children[0]) : { [e.op]: e.children.map(xe) } : e.kind === "not" ? { "!": xe(e.child) } : e.op === "filled" ? { "!!": [{ var: e.varPath }] } : e.op === "empty" ? { "!": [{ var: e.varPath }] } : e.op === "in" ? { in: [e.value, { var: e.varPath }] } : { [e.op]: [{ var: e.varPath }, e.value] };
4553
4562
  }
4554
- function Ip(e) {
4563
+ function vp(e) {
4555
4564
  const t = Mi(e);
4556
4565
  return t && qe(t) || null;
4557
4566
  }
@@ -4806,40 +4815,40 @@ function ji(e, t, n, r) {
4806
4815
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: ut(n, e.remainingMs, r) };
4807
4816
  }
4808
4817
  function $p({ event: e, at: t, now: n, clocks: r, profile: o }) {
4809
- const s = lt(o), i = Math.min(t, n), a = r.map((p) => ({ ...p })), u = [], c = (p, y) => {
4810
- y && (u.push({ op: "patch", clockId: p.id, patch: y }), Object.assign(p, y));
4811
- }, d = (p) => {
4812
- for (const y of a)
4813
- y.metric === p && c(y, Bi(y, i));
4814
- }, l = (p) => {
4815
- for (const y of a)
4816
- p.includes(y.metric) && c(y, en(y));
4817
- }, f = (p) => {
4818
- for (const y of a) c(y, Fi(y, p, i, s));
4819
- }, m = (p) => {
4820
- for (const y of a) c(y, ji(y, p, i, s));
4821
- }, b = (p) => a.reduce((y, v) => v.metric === p ? Math.max(y, v.attempt) : y, 0) + 1, g = (p) => a.some((y) => y.metric === p && oe(y)), h = (p, y) => {
4822
- const v = o.targets.find((O) => O.metric === p);
4823
- if (!v) return;
4824
- const k = v.minutes * Ki;
4818
+ const s = lt(o), i = Math.min(t, n), a = r.map((m) => ({ ...m })), u = [], c = (m, h) => {
4819
+ h && (u.push({ op: "patch", clockId: m.id, patch: h }), Object.assign(m, h));
4820
+ }, d = (m) => {
4821
+ for (const h of a)
4822
+ h.metric === m && c(h, Bi(h, i));
4823
+ }, l = (m) => {
4824
+ for (const h of a)
4825
+ m.includes(h.metric) && c(h, en(h));
4826
+ }, f = (m) => {
4827
+ for (const h of a) c(h, Fi(h, m, i, s));
4828
+ }, g = (m) => {
4829
+ for (const h of a) c(h, ji(h, m, i, s));
4830
+ }, b = (m) => a.reduce((h, y) => y.metric === m ? Math.max(h, y.attempt) : h, 0) + 1, p = (m) => a.some((h) => h.metric === m && oe(h)), A = (m, h) => {
4831
+ const y = o.targets.find((M) => M.metric === m);
4832
+ if (!y) return;
4833
+ const v = y.minutes * Ki;
4825
4834
  u.push({
4826
4835
  op: "start",
4827
- metric: p,
4828
- attempt: b(p),
4829
- startedAt: y,
4830
- targetMs: k,
4831
- dueAt: ut(y, k, s)
4836
+ metric: m,
4837
+ attempt: b(m),
4838
+ startedAt: h,
4839
+ targetMs: v,
4840
+ dueAt: ut(h, v, s)
4832
4841
  });
4833
4842
  };
4834
4843
  switch (e) {
4835
4844
  case "apply": {
4836
- for (const p of a)
4837
- p.profileId !== o.id && c(p, en(p));
4838
- for (const p of o.targets) {
4839
- if (p.metric === "next_response") continue;
4845
+ for (const m of a)
4846
+ m.profileId !== o.id && c(m, en(m));
4847
+ for (const m of o.targets) {
4848
+ if (m.metric === "next_response") continue;
4840
4849
  a.some(
4841
- (v) => v.metric === p.metric && v.profileId === o.id
4842
- ) || h(p.metric, i);
4850
+ (y) => y.metric === m.metric && y.profileId === o.id
4851
+ ) || A(m.metric, i);
4843
4852
  }
4844
4853
  break;
4845
4854
  }
@@ -4851,7 +4860,7 @@ function $p({ event: e, at: t, now: n, clocks: r, profile: o }) {
4851
4860
  break;
4852
4861
  }
4853
4862
  case "inbound": {
4854
- m(Je), !g("first_response") && !g("next_response") && h("next_response", i);
4863
+ g(Je), !p("first_response") && !p("next_response") && A("next_response", i);
4855
4864
  break;
4856
4865
  }
4857
4866
  case "resolved":
@@ -4861,13 +4870,13 @@ function $p({ event: e, at: t, now: n, clocks: r, profile: o }) {
4861
4870
  d("close"), d("resolution"), l(rr);
4862
4871
  break;
4863
4872
  case "reopened":
4864
- g("resolution") || h("resolution", i), g("close") || h("close", i);
4873
+ p("resolution") || A("resolution", i), p("close") || A("close", i);
4865
4874
  break;
4866
4875
  case "snoozed":
4867
4876
  o.pauseOn.includes("snoozed") && f(Ze);
4868
4877
  break;
4869
4878
  case "unsnoozed":
4870
- m(Ze);
4879
+ g(Ze);
4871
4880
  break;
4872
4881
  // Not gated on `profile.pauseOn`, unlike the two above: this is a person deciding about
4873
4882
  // one conversation, not a profile setting. `resumeAll` only lifts the bit it is given, so
@@ -4876,7 +4885,7 @@ function $p({ event: e, at: t, now: n, clocks: r, profile: o }) {
4876
4885
  f(Qe);
4877
4886
  break;
4878
4887
  case "unhold":
4879
- m(Qe);
4888
+ g(Qe);
4880
4889
  break;
4881
4890
  case "discarded":
4882
4891
  l(Ui);
@@ -5324,7 +5333,7 @@ const _m = [
5324
5333
  "periodFrom",
5325
5334
  "periodTo"
5326
5335
  ];
5327
- function vm(e, t) {
5336
+ function Im(e, t) {
5328
5337
  if (!sr.includes(t) || !R(e.kindKey).convertsTo.includes(t)) return !1;
5329
5338
  const n = R(t);
5330
5339
  return !n.credits || n.credits === e.kindKey && ir(e);
@@ -5370,7 +5379,7 @@ function ia(e, t) {
5370
5379
  source: e.source
5371
5380
  };
5372
5381
  }
5373
- function Im(e) {
5382
+ function vm(e) {
5374
5383
  return {
5375
5384
  ...ia(e, e.kindKey),
5376
5385
  sourceTransactionId: e.sourceTransactionId,
@@ -5688,10 +5697,10 @@ function Hm(e, t, n) {
5688
5697
  asOf: n
5689
5698
  };
5690
5699
  }
5691
- const va = ["current", "d1_30", "d31_60", "d61_90", "d90_plus"], Ia = 864e5;
5700
+ const Ia = ["current", "d1_30", "d31_60", "d61_90", "d90_plus"], va = 864e5;
5692
5701
  function Ea(e, t) {
5693
5702
  return Math.round(
5694
- (Date.parse(`${t}T00:00:00Z`) - Date.parse(`${e}T00:00:00Z`)) / Ia
5703
+ (Date.parse(`${t}T00:00:00Z`) - Date.parse(`${e}T00:00:00Z`)) / va
5695
5704
  );
5696
5705
  }
5697
5706
  function Vm(e, t) {
@@ -5721,7 +5730,7 @@ function Sa(e) {
5721
5730
  }
5722
5731
  function zm(e) {
5723
5732
  const t = Object.fromEntries(
5724
- va.map((n) => [n, { openCents: 0, count: 0 }])
5733
+ Ia.map((n) => [n, { openCents: 0, count: 0 }])
5725
5734
  );
5726
5735
  for (const n of e) {
5727
5736
  const r = t[Sa(n.overdueDays)];
@@ -5892,10 +5901,10 @@ function Ag(e, t) {
5892
5901
  const n = t?.resolutions?.find((r) => r.key === e)?.positive;
5893
5902
  return n === void 0 ? void 0 : n ? "won" : "lost";
5894
5903
  }
5895
- function vg(e) {
5904
+ function Ig(e) {
5896
5905
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
5897
5906
  }
5898
- function Ig(e) {
5907
+ function vg(e) {
5899
5908
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
5900
5909
  }
5901
5910
  const Eg = [
@@ -6134,8 +6143,8 @@ const th = "message_window", nh = "message_templates", rh = {
6134
6143
  ok: !1,
6135
6144
  code: "UNSUPPORTED",
6136
6145
  message: "Provider does not support this op"
6137
- }, ch = "connector", uh = "context.collect", C = (e) => ({ type: "string", description: e }), S = (e) => ({ type: "number", description: e }), ue = (e) => ({ type: "boolean", description: e }), $ = C("Sheet name. Omit for the sheet the user is looking at."), sn = C("Slide id, as `inspect` reports it.");
6138
- function E(e, t, n, r, o, s) {
6146
+ }, ch = "connector", uh = "context.collect", T = (e) => ({ type: "string", description: e }), C = (e) => ({ type: "number", description: e }), ue = (e) => ({ type: "boolean", description: e }), $ = T("Sheet name. Omit for the sheet the user is looking at."), sn = T("Slide id, as `inspect` reports it.");
6147
+ function S(e, t, n, r, o, s) {
6139
6148
  return {
6140
6149
  op: e,
6141
6150
  kinds: t,
@@ -6145,24 +6154,24 @@ function E(e, t, n, r, o, s) {
6145
6154
  visible: s.visible
6146
6155
  };
6147
6156
  }
6148
- const J = { undoable: !1, visible: !0 }, M = { undoable: !0, visible: !0 }, an = { undoable: !1, visible: !0 }, me = { undoable: !1, visible: !1 }, Ya = [
6149
- E(
6157
+ const J = { undoable: !1, visible: !0 }, w = { undoable: !0, visible: !0 }, an = { undoable: !1, visible: !0 }, me = { undoable: !1, visible: !1 }, Ya = [
6158
+ S(
6150
6159
  "pdf.goToPage",
6151
6160
  ["pdf"],
6152
6161
  "Scroll the viewer to a page.",
6153
- { page: S("1-based page number.") },
6162
+ { page: C("1-based page number.") },
6154
6163
  ["page"],
6155
6164
  J
6156
6165
  ),
6157
- E(
6166
+ S(
6158
6167
  "pdf.search",
6159
6168
  ["pdf"],
6160
6169
  "Search the document and highlight the matches, as the find bar does.",
6161
- { query: C("Text to find."), next: ue("Jump to the next match instead of the first.") },
6170
+ { query: T("Text to find."), next: ue("Jump to the next match instead of the first.") },
6162
6171
  ["query"],
6163
6172
  J
6164
6173
  ),
6165
- E(
6174
+ S(
6166
6175
  "pdf.setTool",
6167
6176
  ["pdf"],
6168
6177
  "Select a markup tool for the user, so their next click draws it.",
@@ -6176,21 +6185,21 @@ const J = { undoable: !1, visible: !0 }, M = { undoable: !0, visible: !0 }, an =
6176
6185
  ["tool"],
6177
6186
  J
6178
6187
  ),
6179
- E(
6188
+ S(
6180
6189
  "pdf.fillField",
6181
6190
  ["pdf"],
6182
6191
  "Fill one form field of a fillable PDF.",
6183
6192
  {
6184
- field: C("Field name, exactly as `inspect` reports it under `fields`."),
6193
+ field: T("Field name, exactly as `inspect` reports it under `fields`."),
6185
6194
  value: {
6186
6195
  type: ["string", "boolean"],
6187
6196
  description: "Text for a text field, true/false for a checkbox or radio."
6188
6197
  }
6189
6198
  },
6190
6199
  ["field", "value"],
6191
- M
6200
+ w
6192
6201
  ),
6193
- E(
6202
+ S(
6194
6203
  "pdf.reorderPages",
6195
6204
  ["pdf"],
6196
6205
  "Put the pages in a different order. Pages left out are deleted.",
@@ -6204,7 +6213,7 @@ const J = { undoable: !1, visible: !0 }, M = { undoable: !0, visible: !0 }, an =
6204
6213
  ["order"],
6205
6214
  an
6206
6215
  ),
6207
- E(
6216
+ S(
6208
6217
  "pdf.deletePages",
6209
6218
  ["pdf"],
6210
6219
  "Remove pages, keeping the rest in order.",
@@ -6212,42 +6221,42 @@ const J = { undoable: !1, visible: !0 }, M = { undoable: !0, visible: !0 }, an =
6212
6221
  ["pages"],
6213
6222
  an
6214
6223
  ),
6215
- E(
6224
+ S(
6216
6225
  "pdf.addNote",
6217
6226
  ["pdf"],
6218
6227
  "Place a text note on a page. Written on save; not visible before that.",
6219
6228
  {
6220
- page: S("1-based page number."),
6221
- text: C("The note's text."),
6222
- left: S("Distance from the left edge, in PDF points (72 per inch)."),
6223
- top: S("Distance from the top edge, in PDF points."),
6224
- width: S("Box width in points. Omit for a sensible default."),
6225
- height: S("Box height in points. Omit for a sensible default."),
6226
- fontSize: S("Font size in points. Omit for 12.")
6229
+ page: C("1-based page number."),
6230
+ text: T("The note's text."),
6231
+ left: C("Distance from the left edge, in PDF points (72 per inch)."),
6232
+ top: C("Distance from the top edge, in PDF points."),
6233
+ width: C("Box width in points. Omit for a sensible default."),
6234
+ height: C("Box height in points. Omit for a sensible default."),
6235
+ fontSize: C("Font size in points. Omit for 12.")
6227
6236
  },
6228
6237
  ["page", "text", "left", "top"],
6229
6238
  me
6230
6239
  ),
6231
- E(
6240
+ S(
6232
6241
  "pdf.highlightText",
6233
6242
  ["pdf"],
6234
6243
  "Highlight a phrase on a page. Written on save; not visible before that.",
6235
6244
  {
6236
- page: S("1-based page number."),
6237
- text: C("The exact phrase to highlight, as it appears in the page's text."),
6238
- occurrence: S("Which occurrence on that page, 1-based. Omit for the first.")
6245
+ page: C("1-based page number."),
6246
+ text: T("The exact phrase to highlight, as it appears in the page's text."),
6247
+ occurrence: C("Which occurrence on that page, 1-based. Omit for the first.")
6239
6248
  },
6240
6249
  ["page", "text"],
6241
6250
  me
6242
6251
  )
6243
6252
  ], Xa = [
6244
- E(
6253
+ S(
6245
6254
  "sheet.setValues",
6246
6255
  ["sheet"],
6247
6256
  "Write a block of values. The block's shape must match the range.",
6248
6257
  {
6249
6258
  sheet: $,
6250
- range: C("A1 notation, e.g. `B2:D5` or a single `A1`."),
6259
+ range: T("A1 notation, e.g. `B2:D5` or a single `A1`."),
6251
6260
  values: {
6252
6261
  type: "array",
6253
6262
  items: { type: "array", items: { type: ["string", "number", "boolean", "null"] } },
@@ -6255,229 +6264,229 @@ const J = { undoable: !1, visible: !0 }, M = { undoable: !0, visible: !0 }, an =
6255
6264
  }
6256
6265
  },
6257
6266
  ["range", "values"],
6258
- M
6267
+ w
6259
6268
  ),
6260
- E(
6269
+ S(
6261
6270
  "sheet.setFormula",
6262
6271
  ["sheet"],
6263
6272
  "Put a formula in every cell of a range.",
6264
- { sheet: $, range: C("A1 notation."), formula: C("Including the leading `=`.") },
6273
+ { sheet: $, range: T("A1 notation."), formula: T("Including the leading `=`.") },
6265
6274
  ["range", "formula"],
6266
- M
6275
+ w
6267
6276
  ),
6268
- E(
6277
+ S(
6269
6278
  "sheet.setStyle",
6270
6279
  ["sheet"],
6271
6280
  "Change the look of a range. Only the properties you pass are touched.",
6272
6281
  {
6273
6282
  sheet: $,
6274
- range: C("A1 notation."),
6283
+ range: T("A1 notation."),
6275
6284
  bold: ue("Bold on or off."),
6276
6285
  italic: ue("Italic on or off."),
6277
- fontSize: S("Point size."),
6278
- fontColor: C("CSS colour, e.g. `#b91c1c`."),
6279
- background: C("CSS colour for the cell fill."),
6286
+ fontSize: C("Point size."),
6287
+ fontColor: T("CSS colour, e.g. `#b91c1c`."),
6288
+ background: T("CSS colour for the cell fill."),
6280
6289
  horizontalAlignment: {
6281
6290
  type: "string",
6282
6291
  enum: ["left", "center", "right"],
6283
6292
  description: "Horizontal alignment."
6284
6293
  },
6285
- numberFormat: C("Number format pattern, e.g. `#,##0.00` or `0%`.")
6294
+ numberFormat: T("Number format pattern, e.g. `#,##0.00` or `0%`.")
6286
6295
  },
6287
6296
  ["range"],
6288
- M
6297
+ w
6289
6298
  ),
6290
- E(
6299
+ S(
6291
6300
  "sheet.insertRows",
6292
6301
  ["sheet"],
6293
6302
  "Insert empty rows, pushing the rest down.",
6294
6303
  {
6295
6304
  sheet: $,
6296
- at: S("1-based row number to insert before."),
6297
- count: S("How many. Omit for 1.")
6305
+ at: C("1-based row number to insert before."),
6306
+ count: C("How many. Omit for 1.")
6298
6307
  },
6299
6308
  ["at"],
6300
- M
6309
+ w
6301
6310
  ),
6302
- E(
6311
+ S(
6303
6312
  "sheet.deleteRows",
6304
6313
  ["sheet"],
6305
6314
  "Delete rows, pulling the rest up.",
6306
- { sheet: $, at: S("1-based first row to delete."), count: S("How many. Omit for 1.") },
6315
+ { sheet: $, at: C("1-based first row to delete."), count: C("How many. Omit for 1.") },
6307
6316
  ["at"],
6308
- M
6317
+ w
6309
6318
  ),
6310
- E(
6319
+ S(
6311
6320
  "sheet.insertColumns",
6312
6321
  ["sheet"],
6313
6322
  "Insert empty columns, pushing the rest right.",
6314
6323
  {
6315
6324
  sheet: $,
6316
- at: S("1-based column number to insert before."),
6317
- count: S("How many. Omit for 1.")
6325
+ at: C("1-based column number to insert before."),
6326
+ count: C("How many. Omit for 1.")
6318
6327
  },
6319
6328
  ["at"],
6320
- M
6329
+ w
6321
6330
  ),
6322
- E(
6331
+ S(
6323
6332
  "sheet.deleteColumns",
6324
6333
  ["sheet"],
6325
6334
  "Delete columns, pulling the rest left.",
6326
6335
  {
6327
6336
  sheet: $,
6328
- at: S("1-based first column to delete."),
6329
- count: S("How many. Omit for 1.")
6337
+ at: C("1-based first column to delete."),
6338
+ count: C("How many. Omit for 1.")
6330
6339
  },
6331
6340
  ["at"],
6332
- M
6341
+ w
6333
6342
  ),
6334
- E(
6343
+ S(
6335
6344
  "sheet.merge",
6336
6345
  ["sheet"],
6337
6346
  "Merge a range into one cell.",
6338
- { sheet: $, range: C("A1 notation.") },
6347
+ { sheet: $, range: T("A1 notation.") },
6339
6348
  ["range"],
6340
- M
6349
+ w
6341
6350
  ),
6342
- E(
6351
+ S(
6343
6352
  "sheet.unmerge",
6344
6353
  ["sheet"],
6345
6354
  "Break merged cells in a range apart.",
6346
- { sheet: $, range: C("A1 notation.") },
6355
+ { sheet: $, range: T("A1 notation.") },
6347
6356
  ["range"],
6348
- M
6357
+ w
6349
6358
  ),
6350
- E(
6359
+ S(
6351
6360
  "sheet.sort",
6352
6361
  ["sheet"],
6353
6362
  "Sort a range on one of its columns.",
6354
6363
  {
6355
6364
  sheet: $,
6356
- range: C("A1 notation covering the rows to sort, header excluded."),
6357
- column: S("1-based column *within the range*, not within the sheet."),
6365
+ range: T("A1 notation covering the rows to sort, header excluded."),
6366
+ column: C("1-based column *within the range*, not within the sheet."),
6358
6367
  ascending: ue("Ascending. Omit for ascending.")
6359
6368
  },
6360
6369
  ["range", "column"],
6361
- M
6370
+ w
6362
6371
  ),
6363
- E(
6372
+ S(
6364
6373
  "sheet.insertSheet",
6365
6374
  ["sheet"],
6366
6375
  "Add a new sheet.",
6367
- { name: C("Name for the new sheet.") },
6376
+ { name: T("Name for the new sheet.") },
6368
6377
  ["name"],
6369
- M
6378
+ w
6370
6379
  ),
6371
- E(
6380
+ S(
6372
6381
  "sheet.renameSheet",
6373
6382
  ["sheet"],
6374
6383
  "Rename a sheet.",
6375
- { sheet: C("Current name."), name: C("New name.") },
6384
+ { sheet: T("Current name."), name: T("New name.") },
6376
6385
  ["sheet", "name"],
6377
- M
6386
+ w
6378
6387
  ),
6379
- E(
6388
+ S(
6380
6389
  "sheet.deleteSheet",
6381
6390
  ["sheet"],
6382
6391
  "Remove a sheet and everything on it.",
6383
- { sheet: C("Name of the sheet to delete.") },
6392
+ { sheet: T("Name of the sheet to delete.") },
6384
6393
  ["sheet"],
6385
- M
6394
+ w
6386
6395
  ),
6387
- E(
6396
+ S(
6388
6397
  "sheet.activate",
6389
6398
  ["sheet"],
6390
6399
  "Show the user a sheet and select a range on it.",
6391
- { sheet: $, range: C("A1 notation to select. Omit to only switch sheets.") },
6400
+ { sheet: $, range: T("A1 notation to select. Omit to only switch sheets.") },
6392
6401
  [],
6393
6402
  J
6394
6403
  )
6395
6404
  ], Za = [
6396
- E(
6405
+ S(
6397
6406
  "word.replaceParagraph",
6398
6407
  ["word"],
6399
6408
  "Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",
6400
6409
  {
6401
- at: S("The offset the paragraph starts at, exactly as `inspect` prints it."),
6402
- text: C("The new text for that paragraph. A newline starts a further paragraph.")
6410
+ at: C("The offset the paragraph starts at, exactly as `inspect` prints it."),
6411
+ text: T("The new text for that paragraph. A newline starts a further paragraph.")
6403
6412
  },
6404
6413
  ["at", "text"],
6405
- M
6414
+ w
6406
6415
  ),
6407
- E(
6416
+ S(
6408
6417
  "word.replaceRange",
6409
6418
  ["word"],
6410
6419
  "Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",
6411
6420
  {
6412
- start: S("Character offset where the replaced text starts, as `inspect` reports offsets."),
6413
- end: S("Character offset just past the last character to replace."),
6414
- text: C("The replacement text. A newline starts a new paragraph.")
6421
+ start: C("Character offset where the replaced text starts, as `inspect` reports offsets."),
6422
+ end: C("Character offset just past the last character to replace."),
6423
+ text: T("The replacement text. A newline starts a new paragraph.")
6415
6424
  },
6416
6425
  ["start", "end", "text"],
6417
- M
6426
+ w
6418
6427
  ),
6419
- E(
6428
+ S(
6420
6429
  "word.insertText",
6421
6430
  ["word"],
6422
6431
  "Insert text at a character offset, without removing anything.",
6423
6432
  {
6424
- index: S("Character offset, as `inspect` reports offsets."),
6425
- text: C("The text to insert.")
6433
+ index: C("Character offset, as `inspect` reports offsets."),
6434
+ text: T("The text to insert.")
6426
6435
  },
6427
6436
  ["index", "text"],
6428
- M
6437
+ w
6429
6438
  ),
6430
- E(
6439
+ S(
6431
6440
  "word.appendText",
6432
6441
  ["word"],
6433
6442
  "Add text at the end of the document.",
6434
- { text: C("The text to append.") },
6443
+ { text: T("The text to append.") },
6435
6444
  ["text"],
6436
- M
6445
+ w
6437
6446
  ),
6438
- E(
6447
+ S(
6439
6448
  "word.insertParagraph",
6440
6449
  ["word"],
6441
6450
  "Start a new paragraph, optionally with text in it.",
6442
6451
  {
6443
- text: C("Paragraph text. Newlines start further paragraphs."),
6444
- index: S("Character offset to insert at. Omit for the end of the document.")
6452
+ text: T("Paragraph text. Newlines start further paragraphs."),
6453
+ index: C("Character offset to insert at. Omit for the end of the document.")
6445
6454
  },
6446
6455
  [],
6447
- M
6456
+ w
6448
6457
  ),
6449
- E(
6458
+ S(
6450
6459
  "word.setSelection",
6451
6460
  ["word"],
6452
6461
  "Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",
6453
- { start: S("Start character offset."), end: S("End character offset. Omit for a caret.") },
6462
+ { start: C("Start character offset."), end: C("End character offset. Omit for a caret.") },
6454
6463
  ["start"],
6455
6464
  J
6456
6465
  )
6457
6466
  ], Ja = [
6458
- E(
6467
+ S(
6459
6468
  "slides.setText",
6460
6469
  ["slides"],
6461
6470
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
6462
6471
  {
6463
6472
  slide: sn,
6464
- element: C("Element id, as `inspect` reports it."),
6465
- text: C("The new text.")
6473
+ element: T("Element id, as `inspect` reports it."),
6474
+ text: T("The new text.")
6466
6475
  },
6467
6476
  ["slide", "element", "text"],
6468
6477
  me
6469
6478
  ),
6470
- E(
6479
+ S(
6471
6480
  "slides.setTransform",
6472
6481
  ["slides"],
6473
6482
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
6474
6483
  {
6475
6484
  slide: sn,
6476
- element: C("Element id."),
6477
- left: S("Distance from the left edge, in pixels."),
6478
- top: S("Distance from the top edge, in pixels."),
6479
- width: S("Width in pixels."),
6480
- height: S("Height in pixels.")
6485
+ element: T("Element id."),
6486
+ left: C("Distance from the left edge, in pixels."),
6487
+ top: C("Distance from the top edge, in pixels."),
6488
+ width: C("Width in pixels."),
6489
+ height: C("Height in pixels.")
6481
6490
  },
6482
6491
  ["slide", "element"],
6483
6492
  me
@@ -6506,8 +6515,8 @@ function fh(e) {
6506
6515
  let r = null;
6507
6516
  const o = () => {
6508
6517
  r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
6509
- }, s = (f, m) => {
6510
- r && r.style !== f && o(), r ? r.items.push(un(m)) : r = { style: f, items: [un(m)] };
6518
+ }, s = (f, g) => {
6519
+ r && r.style !== f && o(), r ? r.items.push(un(g)) : r = { style: f, items: [un(g)] };
6511
6520
  };
6512
6521
  let i = [], a = [];
6513
6522
  const u = () => {
@@ -6523,13 +6532,13 @@ function fh(e) {
6523
6532
  };
6524
6533
  let l = 0;
6525
6534
  for (; l < t.length; ) {
6526
- const f = t[l] ?? "", m = f.match(/^```(\w*)\s*$/);
6527
- if (m) {
6535
+ const f = t[l] ?? "", g = f.match(/^```(\w*)\s*$/);
6536
+ if (g) {
6528
6537
  d();
6529
- const p = [];
6538
+ const m = [];
6530
6539
  for (l++; l < t.length && !/^```\s*$/.test(t[l] ?? ""); )
6531
- p.push(t[l] ?? ""), l++;
6532
- l++, n.push({ type: "code", ...m[1] ? { lang: m[1] } : {}, text: p.join(`
6540
+ m.push(t[l] ?? ""), l++;
6541
+ l++, n.push({ type: "code", ...g[1] ? { lang: g[1] } : {}, text: m.join(`
6533
6542
  `) });
6534
6543
  continue;
6535
6544
  }
@@ -6542,12 +6551,12 @@ function fh(e) {
6542
6551
  }), l++;
6543
6552
  continue;
6544
6553
  }
6545
- const g = f.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
6546
- if (g) {
6554
+ const p = f.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
6555
+ if (p) {
6547
6556
  d(), n.push({
6548
6557
  type: "image",
6549
- url: g[2],
6550
- ...g[1] ? { alt: g[1] } : {}
6558
+ url: p[2],
6559
+ ...p[1] ? { alt: p[1] } : {}
6551
6560
  }), l++;
6552
6561
  continue;
6553
6562
  }
@@ -6572,8 +6581,8 @@ function fh(e) {
6572
6581
  continue;
6573
6582
  }
6574
6583
  c(), o();
6575
- const h = cn.test(f);
6576
- i.push(f.replace(cn, "").trim() + (h ? `
6584
+ const A = cn.test(f);
6585
+ i.push(f.replace(cn, "").trim() + (A ? `
6577
6586
  ` : " ")), l++;
6578
6587
  }
6579
6588
  return d(), n;
@@ -6598,7 +6607,7 @@ function _h(e) {
6598
6607
  t.push({ lang: n, key: r, value: e[n][r] });
6599
6608
  return t;
6600
6609
  }
6601
- const Ah = "notification-source", vh = (e, t) => `${e}.pref.${t}`, Ih = {
6610
+ const Ah = "notification-source", Ih = (e, t) => `${e}.pref.${t}`, vh = {
6602
6611
  ai: [
6603
6612
  "account.read",
6604
6613
  "account.write",
@@ -7141,8 +7150,8 @@ function Ac(e, t = fc) {
7141
7150
  const o = n.reduce((i, a) => Math.max(i, a.endedAt ?? 0), 0) - t;
7142
7151
  return { text: n.filter((i) => (i.endedAt ?? 0) >= o).map((i) => dc(i.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
7143
7152
  }
7144
- const vc = 60;
7145
- function Hh(e, t, n = vc) {
7153
+ const Ic = 60;
7154
+ function Hh(e, t, n = Ic) {
7146
7155
  const r = new Set(e), o = [...e];
7147
7156
  for (const s of t)
7148
7157
  !s || r.has(s) || (r.add(s), o.push(s));
@@ -7191,7 +7200,7 @@ const zh = [
7191
7200
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
7192
7201
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
7193
7202
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
7194
- }, Ic = "NL", Ec = 15, Sc = 8, Cc = Array.from(
7203
+ }, vc = "NL", Ec = 15, Sc = 8, Cc = Array.from(
7195
7204
  new Set(Object.values(mt).map((e) => e.callingCode))
7196
7205
  ).sort((e, t) => t.length - e.length);
7197
7206
  function ln(e) {
@@ -7237,7 +7246,7 @@ function fn(e, t) {
7237
7246
  if (!o) return null;
7238
7247
  if (r) return dn(o);
7239
7248
  if (o.startsWith("00")) return dn(o.slice(2));
7240
- const s = ln(t) ?? ln(Ic);
7249
+ const s = ln(t) ?? ln(vc);
7241
7250
  if (!s) return null;
7242
7251
  const i = s.trunkPrefix;
7243
7252
  if (i && o.startsWith(i)) {
@@ -7526,7 +7535,7 @@ function _r(e, t) {
7526
7535
  export {
7527
7536
  al as ACTIVE_ASSIGNMENT_STATUSES,
7528
7537
  F as ACTIVITY_CATALOG,
7529
- va as AGING_BUCKETS,
7538
+ Ia as AGING_BUCKETS,
7530
7539
  ya as AGREEMENT_SCOPE_KIND,
7531
7540
  Ba as AI_ATTACHMENT_LIMITS,
7532
7541
  wg as AI_ATTACHMENT_MAX_PER_TURN,
@@ -7535,7 +7544,7 @@ export {
7535
7544
  Dg as AI_TOOL_PROVIDER_GROUP,
7536
7545
  En as AI_VENDORS,
7537
7546
  Qr as ALLOWED_LINK_SCHEMES,
7538
- Ih as APP_PERMISSIONS,
7547
+ vh as APP_PERMISSIONS,
7539
7548
  Bd as ARTICLE_SCOPE_KIND,
7540
7549
  Tt as ARTIFACT_MAX_BLOCKS,
7541
7550
  el as ARTIFACT_MAX_BODY_BYTES,
@@ -7586,7 +7595,7 @@ export {
7586
7595
  zs as DEFAULT_FORECAST_WEEKS,
7587
7596
  yf as DEFAULT_MEMORY_BUDGET,
7588
7597
  Lm as DEFAULT_NUMBER_PADDING,
7589
- Ic as DEFAULT_PHONE_REGION,
7598
+ vc as DEFAULT_PHONE_REGION,
7590
7599
  km as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
7591
7600
  Cm as DEFAULT_TEMPLATE_CONDITIONS,
7592
7601
  xf as DEMAND_SOURCE_PROVIDER_GROUP,
@@ -7648,7 +7657,7 @@ export {
7648
7657
  mf as MAX_MEMORY_CHARS,
7649
7658
  Jt as MAX_RULE_DEPTH,
7650
7659
  Ct as MAX_SCORE_LEVELS,
7651
- vc as MAX_SHOWN_KEYS,
7660
+ Ic as MAX_SHOWN_KEYS,
7652
7661
  ea as MAX_TOPIC_CANDIDATES,
7653
7662
  Qi as MAX_TOPIC_EXAMPLES,
7654
7663
  Ne as MAX_TOPIC_EXAMPLE_CHARS,
@@ -7662,7 +7671,7 @@ export {
7662
7671
  jm as NL_PAYMENT_TERMS,
7663
7672
  Af as NL_TAX_CODES,
7664
7673
  _f as NL_TAX_RATES,
7665
- vi as NL_VAT_BOXES,
7674
+ Ii as NL_VAT_BOXES,
7666
7675
  Ah as NOTIFICATION_SOURCE_PROVIDER_GROUP,
7667
7676
  Xi as OFF_TRACK_GAP,
7668
7677
  Sf as ONBOARDING_SOURCE_PROVIDER_GROUP,
@@ -7681,8 +7690,8 @@ export {
7681
7690
  th as PROVIDER_FEATURE_MESSAGE_WINDOW,
7682
7691
  Oc as PUBLIC_EMAIL_DOMAINS,
7683
7692
  Ht as READ_STEP_TYPES,
7684
- Il as RECEIPT_BOOK_ACT,
7685
- vl as RECEIPT_SCOPE_KIND,
7693
+ vl as RECEIPT_BOOK_ACT,
7694
+ Il as RECEIPT_SCOPE_KIND,
7686
7695
  Ms as RELATED_SUBJECT_KINDS,
7687
7696
  ju as REPORT_VIEW_LAYOUTS,
7688
7697
  lr as RESERVED_STATUS_KEYS,
@@ -7814,7 +7823,7 @@ export {
7814
7823
  Wo as businessEntitySender,
7815
7824
  Ns as calendarDaysBetween,
7816
7825
  lt as calendarOf,
7817
- vm as canConvert,
7826
+ Im as canConvert,
7818
7827
  Gd as canNestUnder,
7819
7828
  Gp as canParent,
7820
7829
  hm as canTransition,
@@ -7854,8 +7863,8 @@ export {
7854
7863
  bu as currentLines,
7855
7864
  Km as currentPeriod,
7856
7865
  Vn as cycleDayIndex,
7857
- vg as cycleOrder,
7858
- Ig as cycleState,
7866
+ Ig as cycleOrder,
7867
+ vg as cycleState,
7859
7868
  pl as decideAssignmentState,
7860
7869
  Vh as decideCadence,
7861
7870
  Yu as decideEach,
@@ -7870,7 +7879,7 @@ export {
7870
7879
  ms as depthOf,
7871
7880
  Eh as derivePresence,
7872
7881
  Vu as describeClause,
7873
- Ip as describeExpression,
7882
+ vp as describeExpression,
7874
7883
  Mo as digitsOf,
7875
7884
  zg as disabledIntentsFromCapabilities,
7876
7885
  nl as documentBodyBytes,
@@ -7880,13 +7889,13 @@ export {
7880
7889
  ph as documentToText,
7881
7890
  Ri as driftedFields,
7882
7891
  Pp as dueAtOf,
7883
- vu as dueCharges,
7892
+ Iu as dueCharges,
7884
7893
  Bm as dueDateFrom,
7885
7894
  Mm as dunningRunOf,
7886
7895
  ma as dunningStateOf,
7887
7896
  nm as elapsedSeconds,
7888
7897
  Zh as emailDomain,
7889
- vp as emptyConditionLeaf,
7898
+ Ip as emptyConditionLeaf,
7890
7899
  ey as endpointKey,
7891
7900
  Dl as entityOwnerIds,
7892
7901
  nf as entryLinesOf,
@@ -7998,7 +8007,7 @@ export {
7998
8007
  tt as levelOrder,
7999
8008
  ws as lineNet,
8000
8009
  $r as lineStatus,
8001
- vn as lineTerm,
8010
+ In as lineTerm,
8002
8011
  Kd as linkLabel,
8003
8012
  mm as listedTransactionKinds,
8004
8013
  Fu as listeningAllowed,
@@ -8037,7 +8046,7 @@ export {
8037
8046
  Mg as nextOccurrenceDates,
8038
8047
  Kp as nextSlaClock,
8039
8048
  sa as nextStatuses,
8040
- Im as nextVersion,
8049
+ vm as nextVersion,
8041
8050
  tl as normalizeArtifactBlocks,
8042
8051
  eu as normalizeBlocks,
8043
8052
  tl as normalizeDocumentBlocks,
@@ -8049,7 +8058,7 @@ export {
8049
8058
  No as normalizeMeter,
8050
8059
  Gl as normalizeUsageSource,
8051
8060
  Vl as normalizeVatNumber,
8052
- vh as notificationPrefKey,
8061
+ Ih as notificationPrefKey,
8053
8062
  _c as novelty,
8054
8063
  hl as openCentsOf,
8055
8064
  dh as operationDescriptor,
@@ -8057,7 +8066,7 @@ export {
8057
8066
  Tp as opsForFieldType,
8058
8067
  dd as organizationSender,
8059
8068
  Ag as outcomeOf,
8060
- In as overlap,
8069
+ vn as overlap,
8061
8070
  Me as overlapSeconds,
8062
8071
  Df as overlaps,
8063
8072
  Yp as paceRatio,
@@ -8084,7 +8093,7 @@ export {
8084
8093
  bl as paymentOfItem,
8085
8094
  ar as paymentStateOf,
8086
8095
  Ju as pendingApprovers,
8087
- vt as periodAt,
8096
+ It as periodAt,
8088
8097
  of as periodOf,
8089
8098
  Rr as periodShare,
8090
8099
  Wu as periodsInRange,
@@ -8150,7 +8159,7 @@ export {
8150
8159
  mp as runInteractionId,
8151
8160
  up as runKind,
8152
8161
  kp as runOutcome,
8153
- Iu as runSpans,
8162
+ vu as runSpans,
8154
8163
  ro as sanitizeInline,
8155
8164
  dc as sanitizeTranscript,
8156
8165
  Pf as scheduleEntryScopeKey,
@@ -8168,7 +8177,7 @@ export {
8168
8177
  Tn as shareKeyForTeam,
8169
8178
  kn as shareKeyForUser,
8170
8179
  sl as shareKeysForViewer,
8171
- Id as shortTermPrincipal,
8180
+ vd as shortTermPrincipal,
8172
8181
  $f as shortfalls,
8173
8182
  kh as shouldRunAudioPipeline,
8174
8183
  Up as slaBadgeTone,
@@ -8178,7 +8187,7 @@ export {
8178
8187
  Fa as sourceKey,
8179
8188
  Rn as spread,
8180
8189
  ni as spreadOverWeights,
8181
- vd as startingCents,
8190
+ Id as startingCents,
8182
8191
  mg as statusIn,
8183
8192
  _g as statusRequiresApproval,
8184
8193
  La as stepDate,
@@ -8197,11 +8206,11 @@ export {
8197
8206
  qf as targetById,
8198
8207
  zf as targetForActivityType,
8199
8208
  em as targetOrder,
8200
- If as taxCodeProblem,
8209
+ vf as taxCodeProblem,
8201
8210
  Z as taxDateOf,
8202
8211
  Wn as taxPercentOn,
8203
8212
  Os as taxRateFor,
8204
- vf as taxRatesOn,
8213
+ If as taxRatesOn,
8205
8214
  Rs as termsFor,
8206
8215
  Do as tieredMicros,
8207
8216
  Ur as timingOf,
@@ -8251,6 +8260,6 @@ export {
8251
8260
  Kf as workstreamScopeKey,
8252
8261
  af as xafAuditfile,
8253
8262
  P as xmlBlocks,
8254
- I as xmlText,
8263
+ E as xmlText,
8255
8264
  Zd as yearEndClosingLines
8256
8265
  };