@pie-element/venn-classification 0.1.5-next.20261008072957 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/author/index.js +280 -277
  2. package/dist/author/index.js.map +1 -1
  3. package/dist/browser/{VennClassification-DKBN96xP.js → VennClassification-CaHr-K1i.js} +483 -480
  4. package/dist/browser/VennClassification-CaHr-K1i.js.map +1 -0
  5. package/dist/browser/author/index.js +1 -1
  6. package/dist/browser/author/index.js.map +1 -1
  7. package/dist/browser/controller--P8AQebj.js.map +1 -1
  8. package/dist/browser/delivery/index.js +1 -1
  9. package/dist/browser/delivery/index.js.map +1 -1
  10. package/dist/browser/editor-runtime/{VennClassification-DKBN96xP.js → VennClassification-CaHr-K1i.js} +483 -480
  11. package/dist/browser/editor-runtime/VennClassification-CaHr-K1i.js.map +1 -0
  12. package/dist/browser/editor-runtime/author/index.js +1 -1
  13. package/dist/browser/editor-runtime/author/index.js.map +1 -1
  14. package/dist/browser/editor-runtime/controller--P8AQebj.js.map +1 -1
  15. package/dist/browser/editor-runtime/delivery/index.js +1 -1
  16. package/dist/browser/editor-runtime/delivery/index.js.map +1 -1
  17. package/dist/browser/editor-runtime/{mathjax-BKrHE4xs-BMXH-FVH.js → mathjax-CptWnMbQ-DVFde9An.js} +15 -15
  18. package/dist/browser/editor-runtime/{mathjax-BKrHE4xs-BMXH-FVH.js.map → mathjax-CptWnMbQ-DVFde9An.js.map} +1 -1
  19. package/dist/browser/{mathjax-BKrHE4xs-BMXH-FVH.js → mathjax-CptWnMbQ-DVFde9An.js} +15 -15
  20. package/dist/browser/{mathjax-BKrHE4xs-BMXH-FVH.js.map → mathjax-CptWnMbQ-DVFde9An.js.map} +1 -1
  21. package/dist/controller/defaults.d.ts +6 -6
  22. package/dist/controller/index.d.ts +13 -13
  23. package/dist/controller/index.js.map +1 -1
  24. package/dist/controller/region.d.ts +2 -2
  25. package/dist/delivery/dnd.d.ts +8 -8
  26. package/dist/delivery/index.d.ts +2 -2
  27. package/dist/delivery/index.js +280 -277
  28. package/dist/delivery/index.js.map +1 -1
  29. package/dist/delivery/layout.d.ts +2 -2
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.iife.js +19 -19
  32. package/dist/schemas/configuration.schema.json +41 -0
  33. package/dist/schemas/model.schema.json +375 -0
  34. package/dist/schemas/session.schema.json +40 -0
  35. package/dist/types.d.ts +33 -4
  36. package/package.json +9 -5
  37. package/dist/browser/VennClassification-DKBN96xP.js.map +0 -1
  38. package/dist/browser/editor-runtime/VennClassification-DKBN96xP.js.map +0 -1
@@ -8256,7 +8256,10 @@ function s$1() {
8256
8256
  let e = globalThis[n]?.opts;
8257
8257
  return e && typeof e == "object" ? e : {};
8258
8258
  }
8259
- function c$1(e) {
8259
+ function c$1() {
8260
+ return s$1().inTabOrder === !0;
8261
+ }
8262
+ function l(e) {
8260
8263
  if (typeof e != "string" || !e) return;
8261
8264
  let t = typeof document > "u" ? void 0 : document.baseURI;
8262
8265
  try {
@@ -8265,84 +8268,84 @@ function c$1(e) {
8265
8268
  return;
8266
8269
  }
8267
8270
  }
8268
- function l(e) {
8271
+ function u(e) {
8269
8272
  if (!e || typeof e != "object") return;
8270
8273
  let t = /* @__PURE__ */ new Map();
8271
8274
  for (let [n, r] of Object.entries(e)) {
8272
- let e = c$1(r);
8275
+ let e = l(r);
8273
8276
  e && t.set(n, e);
8274
8277
  }
8275
8278
  return t.size ? t : void 0;
8276
8279
  }
8277
- function u(e) {
8280
+ function d(e) {
8278
8281
  if (Array.isArray(e)) return new Map(e.filter((e) => typeof e == "string").map((e) => [e, void 0]));
8279
8282
  if (e && typeof e == "object") return new Map(Object.entries(e).map(([e, t]) => [e, typeof t == "string" ? t : void 0]));
8280
8283
  }
8281
- function d(e, t) {
8282
- let n = s$1(), r = c$1(e.assetRoot ?? n.assetRoot) ?? o(t);
8284
+ function f(e, t) {
8285
+ let n = s$1(), r = l(e.assetRoot ?? n.assetRoot) ?? o(t);
8283
8286
  return {
8284
8287
  root: r,
8285
- speechPath: c$1(e.speechPath ?? n.speechPath) ?? (r ? `${r}/${i}` : void 0),
8286
- speechLocales: u(e.speechLocales ?? n.speechLocales),
8287
- urls: l(e.assetUrls ?? n.assetUrls)
8288
+ speechPath: l(e.speechPath ?? n.speechPath) ?? (r ? `${r}/${i}` : void 0),
8289
+ speechLocales: d(e.speechLocales ?? n.speechLocales),
8290
+ urls: u(e.assetUrls ?? n.assetUrls)
8288
8291
  };
8289
8292
  }
8290
- function f(e, t) {
8293
+ function p(e, t) {
8291
8294
  if (!(!e || !t)) {
8292
8295
  for (let n of [...e.keys()]) !t.has(n) && !r$2.includes(n) && e.delete(n);
8293
8296
  for (let [n, r] of t) (r || !e.has(n)) && e.set(n, r ?? n);
8294
8297
  }
8295
8298
  }
8296
- function p(e) {
8299
+ function m(e) {
8297
8300
  if (!(!e || e.has("en"))) return [...e.keys()].find((e) => !r$2.includes(e));
8298
8301
  }
8299
- var h = {
8302
+ var g = {
8300
8303
  untypeset: "no MathJax loads, so math stays untypeset",
8301
8304
  "no-web-fonts": "math renders without web fonts",
8302
8305
  "no-web-fonts-or-speech": "math renders without web fonts and speech"
8303
8306
  };
8304
- var g = Symbol.for("@pie-element/shared-math-rendering-mathjax/no-assets");
8305
- function _(e) {
8307
+ var _ = Symbol.for("@pie-element/shared-math-rendering-mathjax/no-assets");
8308
+ function v(e) {
8306
8309
  let r = globalThis;
8307
- r[g] ?? (r[g] = []);
8308
- let i = r[g];
8310
+ r[_] ?? (r[_] = []);
8311
+ let i = r[_];
8309
8312
  if (i.includes(e)) return;
8310
8313
  i.push(e);
8311
- let a = `[math-rendering] No asset root for MathJax: ${h[e]}. Set window['${n}'].opts.assetRoot to an npm root. See ${t$3}`;
8314
+ let a = `[math-rendering] No asset root for MathJax: ${g[e]}. Set window['${n}'].opts.assetRoot to an npm root. See ${t$3}`;
8312
8315
  e === "untypeset" ? console.error(a) : console.warn(a), !(typeof window > "u") && window.dispatchEvent(new CustomEvent("pie-mathjax-no-asset-root", { detail: {
8313
8316
  effect: e,
8314
8317
  message: a,
8315
8318
  docsUrl: t$3
8316
8319
  } }));
8317
8320
  }
8318
- var v = "https://github.com/pie-framework/pie-players/blob/develop/docs/item-player/loading-strategies.md#one-mathjax-version-per-page";
8321
+ var y = "https://github.com/pie-framework/pie-players/blob/develop/docs/item-player/loading-strategies.md#one-mathjax-version-per-page";
8319
8322
  var ee = "pie-mathjax-version-conflict";
8320
- var te = Symbol.for("@pie-element/shared-math-rendering-mathjax/unsupported-page");
8321
- function ne(e, t) {
8323
+ var b = Symbol.for("@pie-element/shared-math-rendering-mathjax/unsupported-page");
8324
+ function te(e, t) {
8322
8325
  if (typeof window > "u") return;
8323
8326
  let n = globalThis;
8324
- n[te] ?? (n[te] = {
8327
+ n[b] ?? (n[b] = {
8325
8328
  logged: !1,
8326
8329
  conditions: []
8327
8330
  });
8328
- let r = n[te];
8331
+ let r = n[b];
8329
8332
  if (r.conditions.includes(e)) return;
8330
8333
  r.conditions.push(e);
8331
- let i = `[math-rendering] Unsupported page (${e}): ${t}. PIE supports one MathJax major version per page; with MathJax 3 and 4 on one page, math rendering is best effort and may break. See ${v}`;
8334
+ let i = `[math-rendering] Unsupported page (${e}): ${t}. PIE supports one MathJax major version per page; with MathJax 3 and 4 on one page, math rendering is best effort and may break. See ${y}`;
8332
8335
  r.logged || (r.logged = !0, console.error(i)), window.dispatchEvent(new CustomEvent(ee, { detail: {
8333
8336
  condition: e,
8334
8337
  message: i,
8335
- docsUrl: v
8338
+ docsUrl: y
8336
8339
  } }));
8337
8340
  }
8338
- function re() {
8341
+ function ne() {
8339
8342
  let e = window.MathJax?.version;
8340
8343
  return typeof e == "string" && e.startsWith("3.") ? e : void 0;
8341
8344
  }
8342
- function y() {
8345
+ function x() {
8343
8346
  return window.MathJax;
8344
8347
  }
8345
- function ie(t, { root: n, speechPath: r }) {
8348
+ function re(t, { root: n, speechPath: r }) {
8346
8349
  n && (t.loader = {
8347
8350
  ...t.loader,
8348
8351
  paths: {
@@ -8358,18 +8361,18 @@ function ie(t, { root: n, speechPath: r }) {
8358
8361
  }
8359
8362
  });
8360
8363
  }
8361
- function ae(e, t) {
8364
+ function ie(e, t) {
8362
8365
  let n = t.srcUrl || (t.root ? `${t.root}/mathjax@4.1.3/tex-mml-chtml.js` : void 0);
8363
- return n ? (ie(e, t), new Promise((t, r) => {
8366
+ return n ? (re(e, t), new Promise((t, r) => {
8364
8367
  window.MathJax = e;
8365
8368
  let i = document.createElement("script");
8366
8369
  i.src = n, i.async = !0, i.onload = () => t(!0), i.onerror = () => r(/* @__PURE__ */ Error("Failed to load MathJax")), document.head.appendChild(i);
8367
- })) : (_("untypeset"), Promise.resolve(!1));
8370
+ })) : (v("untypeset"), Promise.resolve(!1));
8368
8371
  }
8369
- var oe = globalThis;
8370
- var b = "PIE-MJX-CHTML-styles";
8372
+ var ae = globalThis;
8373
+ var oe = "PIE-MJX-CHTML-styles";
8371
8374
  var se = ["MJX-CHTML-styles", "MJX-SVG-styles"];
8372
- var ce = re;
8375
+ var ce = ne;
8373
8376
  var le = "http://www.w3.org/1998/Math/MathML";
8374
8377
  var ue = /^([a-z_][\w.-]*):math$/;
8375
8378
  var de = /^[a-z][a-z0-9-]*$/;
@@ -8401,51 +8404,51 @@ var he = {
8401
8404
  medium: "0.07em",
8402
8405
  thick: "0.14em"
8403
8406
  };
8404
- var ge = {
8407
+ var S = {
8405
8408
  tight: "0em",
8406
8409
  medium: "0.1em",
8407
8410
  loose: "0.2em"
8408
8411
  };
8409
- var _e$1 = /^(\d+(\.\d*)?|\.\d+)(em|ex|px|pt|pc|in|cm|mm)$/;
8410
- var ve = /^(#[0-9a-f]{3,8}|[a-z]+)$/i;
8411
- var ye = /^(\d+(\.\d*)?|\.\d+)$/;
8412
- var be = /* @__PURE__ */ new Set([
8412
+ var C = /^(\d+(\.\d*)?|\.\d+)(em|ex|px|pt|pc|in|cm|mm)$/;
8413
+ var ge = /^(#[0-9a-f]{3,8}|[a-z]+)$/i;
8414
+ var _e$1 = /^(\d+(\.\d*)?|\.\d+)$/;
8415
+ var ve = /* @__PURE__ */ new Set([
8413
8416
  "mn",
8414
8417
  "mo",
8415
8418
  "mi",
8416
8419
  "mtext"
8417
8420
  ]);
8418
- var xe = /* @__PURE__ */ new Set([
8421
+ var ye = /* @__PURE__ */ new Set([
8419
8422
  "stackalign",
8420
8423
  "charalign",
8421
8424
  "charspacing",
8422
8425
  "longdivstyle"
8423
8426
  ]);
8424
- function x(e, t, n = [], r = {}) {
8427
+ function w(e, t, n = [], r = {}) {
8425
8428
  let i = e.createElementNS(le, t);
8426
8429
  for (let [e, t] of Object.entries(r)) i.setAttribute(e, t);
8427
8430
  for (let e of n) e && i.appendChild(e);
8428
8431
  return i;
8429
8432
  }
8430
- function S(e, t) {
8431
- let n = x(e.document, "mo");
8433
+ function T(e, t) {
8434
+ let n = w(e.document, "mo");
8432
8435
  return n.textContent = t, n;
8433
8436
  }
8434
- function Se(e) {
8435
- let t = x(e.document, "mn");
8436
- return t.textContent = "0", x(e.document, "mphantom", [t]);
8437
+ function be(e) {
8438
+ let t = w(e.document, "mn");
8439
+ return t.textContent = "0", w(e.document, "mphantom", [t]);
8437
8440
  }
8438
- function C(e, t) {
8441
+ function E(e, t) {
8439
8442
  return e.getAttribute(t)?.trim().toLowerCase() || void 0;
8440
8443
  }
8441
- function w(e, t) {
8444
+ function D(e, t) {
8442
8445
  let n = Number.parseInt(e.getAttribute(t) ?? "", 10);
8443
8446
  return Number.isFinite(n) ? n : 0;
8444
8447
  }
8445
- function T(e) {
8448
+ function O(e) {
8446
8449
  return e.localName === "none" || e.localName === "mrow" && e.children.length === 0 && !e.textContent?.trim();
8447
8450
  }
8448
- function E(e, t, n = e) {
8451
+ function k(e, t, n = e) {
8449
8452
  switch (t) {
8450
8453
  case "left": return 0;
8451
8454
  case "center": return Math.floor(e / 2);
@@ -8453,14 +8456,14 @@ function E(e, t, n = e) {
8453
8456
  default: return n;
8454
8457
  }
8455
8458
  }
8456
- function D(e, t, n) {
8459
+ function A(e, t, n) {
8457
8460
  let r = [], i, a, o = (e, t) => {
8458
8461
  let s = (e) => t.reduceRight((e, t) => {
8459
8462
  let n = t.cloneNode(!1);
8460
8463
  return n.appendChild(e), n;
8461
8464
  }, e);
8462
8465
  if (e.localName === "mstyle") for (let n of [...e.children]) o(n, [...t, e]);
8463
- else if (T(e)) r.push(null);
8466
+ else if (O(e)) r.push(null);
8464
8467
  else if (e.localName === "mn" && e.children.length === 0) {
8465
8468
  let t = [...(e.textContent ?? "").trim()];
8466
8469
  for (let a of t) {
@@ -8469,28 +8472,28 @@ function D(e, t, n) {
8469
8472
  t.textContent = a, r.push(s(t));
8470
8473
  }
8471
8474
  t.length && (a ?? (a = r.length));
8472
- } else be.has(e.localName) && e.textContent?.trim() === n.decimalPoint && (i ?? (i = r.length)), r.push(s(e));
8475
+ } else ve.has(e.localName) && e.textContent?.trim() === n.decimalPoint && (i ?? (i = r.length)), r.push(s(e));
8473
8476
  };
8474
8477
  for (let t of e) o(t, []);
8475
8478
  return {
8476
8479
  kind: "digits",
8477
8480
  cells: r,
8478
- anchor: E(r.length, n.stackAlign, i ?? a),
8481
+ anchor: k(r.length, n.stackAlign, i ?? a),
8479
8482
  position: t
8480
8483
  };
8481
8484
  }
8482
- function O(e) {
8485
+ function xe(e) {
8483
8486
  return (e ?? "").toLowerCase().split(/\s+/).filter((e) => me.has(e));
8484
8487
  }
8485
- function Ce(e, t) {
8486
- let n = [...e.children].filter((e) => !T(e));
8487
- return n.length <= 1 ? n[0] ?? null : x(t.document, "mrow", n);
8488
+ function Se(e, t) {
8489
+ let n = [...e.children].filter((e) => !O(e));
8490
+ return n.length <= 1 ? n[0] ?? null : w(t.document, "mrow", n);
8488
8491
  }
8489
- function we(e, t, n) {
8490
- let r = C(e, "location") ?? "n", i = O(e.getAttribute("crossout")), a = [...e.children].map((e) => T(e) ? null : e.localName === "mscarry" ? {
8491
- content: Ce(e, n),
8492
- location: C(e, "location") ?? r,
8493
- crossout: e.hasAttribute("crossout") ? O(e.getAttribute("crossout")) : i
8492
+ function Ce(e, t, n) {
8493
+ let r = E(e, "location") ?? "n", i = xe(e.getAttribute("crossout")), a = [...e.children].map((e) => O(e) ? null : e.localName === "mscarry" ? {
8494
+ content: Se(e, n),
8495
+ location: E(e, "location") ?? r,
8496
+ crossout: e.hasAttribute("crossout") ? xe(e.getAttribute("crossout")) : i
8494
8497
  } : {
8495
8498
  content: e,
8496
8499
  location: r,
@@ -8499,60 +8502,60 @@ function we(e, t, n) {
8499
8502
  return {
8500
8503
  kind: "carries",
8501
8504
  carries: a,
8502
- anchor: E(a.length, n.stackAlign),
8505
+ anchor: k(a.length, n.stackAlign),
8503
8506
  position: t,
8504
- scale: ye.test(o) ? o : "0.6"
8507
+ scale: _e$1.test(o) ? o : "0.6"
8505
8508
  };
8506
8509
  }
8507
- function k(e) {
8508
- let t = C(e, "mslinethickness") ?? "medium", n = he[t] ?? (_e$1.test(t) ? t : "0.07em"), r = e.getAttribute("mathcolor")?.trim() ?? "";
8509
- return `${n} solid ${ve.test(r) ? r : "currentColor"}`;
8510
+ function we(e) {
8511
+ let t = E(e, "mslinethickness") ?? "medium", n = he[t] ?? (C.test(t) ? t : "0.07em"), r = e.getAttribute("mathcolor")?.trim() ?? "";
8512
+ return `${n} solid ${ge.test(r) ? r : "currentColor"}`;
8510
8513
  }
8511
8514
  function Te(e, t, n) {
8512
- let r = Math.max(0, w(e, "length"));
8515
+ let r = Math.max(0, D(e, "length"));
8513
8516
  return {
8514
8517
  kind: "line",
8515
8518
  length: r,
8516
- anchor: E(r, n.stackAlign),
8519
+ anchor: k(r, n.stackAlign),
8517
8520
  position: t,
8518
- border: k(e)
8521
+ border: we(e)
8519
8522
  };
8520
8523
  }
8521
- function A(e, t, n, r, i) {
8524
+ function j(e, t, n, r, i) {
8522
8525
  e.forEach((e, a) => {
8523
- let o = t + a * n + w(e, "position");
8526
+ let o = t + a * n + D(e, "position");
8524
8527
  switch (e.localName) {
8525
8528
  case "msgroup":
8526
- A([...e.children], o, w(e, "shift"), r, i);
8529
+ j([...e.children], o, D(e, "shift"), r, i);
8527
8530
  break;
8528
8531
  case "msline":
8529
8532
  i.push(Te(e, o, r));
8530
8533
  break;
8531
8534
  case "mscarries":
8532
- i.push(we(e, o, r));
8535
+ i.push(Ce(e, o, r));
8533
8536
  break;
8534
8537
  case "msrow":
8535
8538
  case "mrow":
8536
- i.push(D([...e.children], o, r));
8539
+ i.push(A([...e.children], o, r));
8537
8540
  break;
8538
- default: i.push(D([e], o, r));
8541
+ default: i.push(A([e], o, r));
8539
8542
  }
8540
8543
  });
8541
8544
  }
8542
- function j(e) {
8545
+ function M(e) {
8543
8546
  return -e.anchor - e.position;
8544
8547
  }
8545
- function M(e) {
8548
+ function N(e) {
8546
8549
  return e.kind === "digits" ? e.cells.length : e.kind === "carries" ? e.carries.length : e.length;
8547
8550
  }
8548
- function N(e) {
8549
- return j(e) + M(e) - 1;
8551
+ function P(e) {
8552
+ return M(e) + N(e) - 1;
8550
8553
  }
8551
8554
  function Ee(e, t, n, r) {
8552
- let i = (e) => x(r.document, "mpadded", [t], {
8555
+ let i = (e) => w(r.document, "mpadded", [t], {
8553
8556
  width: "0",
8554
8557
  ...e ? { lspace: e } : {}
8555
- }), a = (e, t) => x(r.document, e, t);
8558
+ }), a = (e, t) => w(r.document, e, t);
8556
8559
  switch (n) {
8557
8560
  case "s": return a("munder", [e, i("-0.5width")]);
8558
8561
  case "ne": return a("msup", [e, i()]);
@@ -8575,12 +8578,12 @@ function Ee(e, t, n, r) {
8575
8578
  }
8576
8579
  }
8577
8580
  function De(e, t, n) {
8578
- let r = x(n.document, "menclose", [e], {
8581
+ let r = w(n.document, "menclose", [e], {
8579
8582
  notation: t.join(" "),
8580
8583
  "data-padding": "0.1em",
8581
8584
  "data-thickness": "0.067em"
8582
8585
  }), i = t.some((e) => e.endsWith("diagonalstrike")) ? .167 : t.includes("horizontalstrike") ? .1 : 0;
8583
- return i ? x(n.document, "mpadded", [r], {
8586
+ return i ? w(n.document, "mpadded", [r], {
8584
8587
  lspace: `-${i}em`,
8585
8588
  width: `-${2 * i}em`
8586
8589
  }) : r;
@@ -8588,35 +8591,35 @@ function De(e, t, n) {
8588
8591
  function Oe(e, t, n, r, i) {
8589
8592
  let a = e && t.crossout.length ? De(e, t.crossout, i) : e;
8590
8593
  if (!t.content) return a;
8591
- let o = x(i.document, "mstyle", [t.content], { scriptsizemultiplier: r });
8592
- return Ee(a ?? Se(i), o, n, i);
8594
+ let o = w(i.document, "mstyle", [t.content], { scriptsizemultiplier: r });
8595
+ return Ee(a ?? be(i), o, n, i);
8593
8596
  }
8594
- function P(e, t) {
8595
- return e.carries[t - j(e)] ?? null;
8597
+ function ke(e, t) {
8598
+ return e.carries[t - M(e)] ?? null;
8596
8599
  }
8597
- function ke(e, t, n, r) {
8600
+ function Ae(e, t, n, r) {
8598
8601
  let i = e.content;
8599
8602
  n.forEach((e, a) => {
8600
- let o = n.length - 1 - a, s = n[o], c = P(s, t), l = n.slice(0, o).some((e) => P(e, t));
8603
+ let o = n.length - 1 - a, s = n[o], c = ke(s, t), l = n.slice(0, o).some((e) => ke(e, t));
8601
8604
  if (!c && !l) return;
8602
8605
  let u = c ?? {
8603
- content: Se(r),
8606
+ content: be(r),
8604
8607
  location: "n",
8605
8608
  crossout: []
8606
8609
  }, d = a === 0 ? u.location : "n";
8607
8610
  i = Oe(i, u, d, s.scale, r);
8608
8611
  }), e.content = i;
8609
8612
  }
8610
- function F(e, t) {
8611
- let n = e.filter((e) => M(e) > 0), r = Math.min(0, ...n.map(j)), i = Math.max(r, ...n.map(N)) - r + 1, a = -r, o = [], s = /* @__PURE__ */ new Map(), c = () => Array.from({ length: i }, () => ({
8613
+ function je(e, t) {
8614
+ let n = e.filter((e) => N(e) > 0), r = Math.min(0, ...n.map(M)), i = Math.max(r, ...n.map(P)) - r + 1, a = -r, o = [], s = /* @__PURE__ */ new Map(), c = () => Array.from({ length: i }, () => ({
8612
8615
  content: null,
8613
8616
  borders: {}
8614
- })), l = (e) => e.length === 0 ? Array.from({ length: i }, (e, t) => t) : Array.from({ length: e.length }, (t, n) => a + j(e) + n), u = [], d = [], f = (e) => {
8617
+ })), l = (e) => e.length === 0 ? Array.from({ length: i }, (e, t) => t) : Array.from({ length: e.length }, (t, n) => a + M(e) + n), u = [], d = [], f = (e) => {
8615
8618
  let n = c();
8616
8619
  e.cells.forEach((t, r) => {
8617
- n[a + j(e) + r].content = t;
8620
+ n[a + M(e) + r].content = t;
8618
8621
  }), u.length && n.forEach((e, n) => {
8619
- ke(e, n - a, u, t);
8622
+ Ae(e, n - a, u, t);
8620
8623
  });
8621
8624
  for (let e of d) for (let t of l(e)) n[t].borders.top = e.border;
8622
8625
  u = [], d = [], s.set(e, o.length), o.push(n);
@@ -8636,44 +8639,44 @@ function F(e, t) {
8636
8639
  origin: a
8637
8640
  };
8638
8641
  }
8639
- function Ae(e, { rows: t }, n) {
8640
- let r = x(n.document, "mtable", t.map((e) => x(n.document, "mtr", e.map((e) => {
8642
+ function Me(e, { rows: t }, n) {
8643
+ let r = w(n.document, "mtable", t.map((e) => w(n.document, "mtr", e.map((e) => {
8641
8644
  let t = Object.entries(e.borders).map(([e, t]) => `border-${e}:${t}`).join(";");
8642
- return x(n.document, "mtd", [e.content], {
8645
+ return w(n.document, "mtd", [e.content], {
8643
8646
  ...t ? { style: t } : {},
8644
8647
  ...e.align ? { columnalign: e.align } : {}
8645
8648
  });
8646
8649
  }))));
8647
- for (let { name: t, value: n } of [...e.attributes]) xe.has(t) || r.setAttribute(t, n);
8648
- let i = C(e, "charspacing") ?? "medium", a = C(e, "charalign");
8649
- return r.setAttribute("columnspacing", ge[i] ?? (_e$1.test(i) ? i : ge.medium)), r.setAttribute("columnalign", a === "left" || a === "center" ? a : "right"), r.setAttribute("rowspacing", "0"), r.setAttribute("align", e.getAttribute("align") ?? "baseline"), r;
8650
+ for (let { name: t, value: n } of [...e.attributes]) ye.has(t) || r.setAttribute(t, n);
8651
+ let i = E(e, "charspacing") ?? "medium", a = E(e, "charalign");
8652
+ return r.setAttribute("columnspacing", S[i] ?? (C.test(i) ? i : S.medium)), r.setAttribute("columnalign", a === "left" || a === "center" ? a : "right"), r.setAttribute("rowspacing", "0"), r.setAttribute("align", e.getAttribute("align") ?? "baseline"), r;
8650
8653
  }
8651
- function je(e) {
8654
+ function Ne(e) {
8652
8655
  return {
8653
8656
  document: e.ownerDocument,
8654
- stackAlign: C(e, "stackalign") ?? "decimalpoint",
8657
+ stackAlign: E(e, "stackalign") ?? "decimalpoint",
8655
8658
  decimalPoint: e.closest("[decimalpoint]")?.getAttribute("decimalpoint")?.trim().charAt(0) || "."
8656
8659
  };
8657
8660
  }
8658
- function Me(e) {
8659
- let t = je(e), n = [];
8660
- return A([...e.children], 0, 0, t, n), Ae(e, F(n, t), t);
8661
+ function Pe(e) {
8662
+ let t = Ne(e), n = [];
8663
+ return j([...e.children], 0, 0, t, n), Me(e, je(n, t), t);
8661
8664
  }
8662
- function I(e, t, n, r, i, a) {
8665
+ function F(e, t, n, r, i, a) {
8663
8666
  for (let o = n; o <= r; o++) e[t][o].borders[i] = a;
8664
8667
  }
8665
- function Ne(e, t) {
8666
- let n = S(t, ")");
8667
- return n.setAttribute("minsize", "1.2em"), [x(t.document, "mrow", [e, x(t.document, "mspace", [], { width: "0.2em" })]), x(t.document, "mpadded", [n], {
8668
+ function Fe(e, t) {
8669
+ let n = T(t, ")");
8670
+ return n.setAttribute("minsize", "1.2em"), [w(t.document, "mrow", [e, w(t.document, "mspace", [], { width: "0.2em" })]), w(t.document, "mpadded", [n], {
8668
8671
  voffset: "0.1em",
8669
8672
  lspace: "-0.15em",
8670
8673
  depth: "-0.2em",
8671
8674
  height: "-0.2em"
8672
8675
  })];
8673
8676
  }
8674
- function Pe(e) {
8675
- let t = je(e), [n, r, ...i] = [...e.children], a = n && !T(n) ? n : null, o = r && !T(r) ? r : null, s = C(e, "longdivstyle") ?? "lefttop", c = k(e), l = [];
8676
- A(i, 0, 0, t, l);
8677
+ function Ie(e) {
8678
+ let t = Ne(e), [n, r, ...i] = [...e.children], a = n && !O(n) ? n : null, o = r && !O(r) ? r : null, s = E(e, "longdivstyle") ?? "lefttop", c = we(e), l = [];
8679
+ j(i, 0, 0, t, l);
8677
8680
  let u = l.find((e) => e.kind === "digits");
8678
8681
  u || (u = {
8679
8682
  kind: "digits",
@@ -8685,51 +8688,51 @@ function Pe(e) {
8685
8688
  u.cells.unshift(...e), u.anchor += e.length;
8686
8689
  }, p = (...e) => {
8687
8690
  let n = e.flatMap((e) => e ? e.localName === "mrow" ? [...e.children] : [e] : []);
8688
- u.cells.push(...D(n, 0, t).cells);
8691
+ u.cells.push(...A(n, 0, t).cells);
8689
8692
  };
8690
8693
  switch (s) {
8691
8694
  case "left/\\right":
8692
- f(a, S(t, "/")), p(S(t, "\\"), o);
8695
+ f(a, T(t, "/")), p(T(t, "\\"), o);
8693
8696
  break;
8694
8697
  case "left)(right":
8695
- f(a, S(t, ")")), p(S(t, "("), o);
8698
+ f(a, T(t, ")")), p(T(t, "("), o);
8696
8699
  break;
8697
8700
  case ":right=right":
8698
- p(S(t, ":"), a, S(t, "="), o);
8701
+ p(T(t, ":"), a, T(t, "="), o);
8699
8702
  break;
8700
8703
  case "righttop":
8701
8704
  case "stackedleftlinetop":
8702
8705
  case "lefttop":
8703
- o && A([o], 0, 0, t, d), l.splice(l.indexOf(u), 0, ...d), s === "righttop" ? p(a) : s === "stackedleftlinetop" ? f(a) : f(...Ne(a, t));
8706
+ o && j([o], 0, 0, t, d), l.splice(l.indexOf(u), 0, ...d), s === "righttop" ? p(a) : s === "stackedleftlinetop" ? f(a) : f(...Fe(a, t));
8704
8707
  break;
8705
8708
  }
8706
- let m = F(l, t), h = m.rows, g = m.rowOf.get(u) ?? 0, _ = (e) => m.origin + j(u) + e, v = Math.max(_(u.cells.length - 1), ...d.map((e) => m.origin + N(e)));
8709
+ let m = je(l, t), h = m.rows, g = m.rowOf.get(u) ?? 0, _ = (e) => m.origin + M(u) + e, v = Math.max(_(u.cells.length - 1), ...d.map((e) => m.origin + P(e)));
8707
8710
  switch (s) {
8708
8711
  case "left/\\right":
8709
8712
  case "left)(right":
8710
8713
  case ":right=right": break;
8711
8714
  case "righttop": {
8712
8715
  let e = h[g][_(u.cells.length - 1)];
8713
- e.borders.left = c, e.borders.bottom = c, I(h, g, _(0), _(u.cells.length - 1), "top", c);
8716
+ e.borders.left = c, e.borders.bottom = c, F(h, g, _(0), _(u.cells.length - 1), "top", c);
8714
8717
  break;
8715
8718
  }
8716
8719
  case "stackedleftlinetop": {
8717
8720
  let e = h[g][_(0)];
8718
- e.borders.right = c, e.borders.bottom = c, I(h, g, _(1), v, "top", c);
8721
+ e.borders.right = c, e.borders.bottom = c, F(h, g, _(1), v, "top", c);
8719
8722
  break;
8720
8723
  }
8721
8724
  case "stackedrightright":
8722
8725
  case "mediumstackedrightright":
8723
8726
  case "shortstackedrightright":
8724
8727
  case "stackedleftleft":
8725
- Fe(h, g, s, a, o, c, t);
8728
+ Le(h, g, s, a, o, c, t);
8726
8729
  break;
8727
- default: I(h, g, _(1), v, "top", c);
8730
+ default: F(h, g, _(1), v, "top", c);
8728
8731
  }
8729
- return Ae(e, m, t);
8732
+ return Me(e, m, t);
8730
8733
  }
8731
- function Fe(e, t, n, r, i, a, o) {
8732
- let s = n === "stackedleftleft", c = s ? "right" : "left", l = (e) => e && x(o.document, "mpadded", [e], {
8734
+ function Le(e, t, n, r, i, a, o) {
8735
+ let s = n === "stackedleftleft", c = s ? "right" : "left", l = (e) => e && w(o.document, "mpadded", [e], {
8733
8736
  lspace: "0.2em",
8734
8737
  width: "+0.4em"
8735
8738
  });
@@ -8748,65 +8751,65 @@ function Fe(e, t, n, r, i, a, o) {
8748
8751
  }) : o === t + 1 ? (u.content = l(i), n !== "shortstackedrightright" && (u.borders[c] = a)) : o > t + 1 && (n === "stackedrightright" || s) && (u.borders[c] = a), s ? e.unshift(u) : e.push(u);
8749
8752
  });
8750
8753
  }
8751
- function Ie(e) {
8752
- for (let t of [...e.querySelectorAll("mstack, mlongdiv")]) !t.closest("math") || t.closest("mjx-container") || t.replaceWith(t.localName === "mstack" ? Me(t) : Pe(t));
8753
- }
8754
- var Le = "PIE-MJX-explorer-styles";
8755
- var L = "var(--pie-text, black)";
8756
- var Re = "var(--pie-background, #ffffff)";
8757
- var ze = "var(--pie-border-dark, #66686A)";
8758
- var R = "var(--pie-focus-outline, var(--pie-button-focus-outline, var(--pie-focus-checked-border, #1565C0)))";
8759
- var z = `color-mix(in srgb, ${R} 15%, transparent)`;
8760
- var Be = `
8754
+ function Re(e) {
8755
+ for (let t of [...e.querySelectorAll("mstack, mlongdiv")]) !t.closest("math") || t.closest("mjx-container") || t.replaceWith(t.localName === "mstack" ? Pe(t) : Ie(t));
8756
+ }
8757
+ var ze = "PIE-MJX-explorer-styles";
8758
+ var I = "var(--pie-text, black)";
8759
+ var Be = "var(--pie-background, #ffffff)";
8760
+ var Ve = "var(--pie-border-dark, #66686A)";
8761
+ var L = "var(--pie-focus-outline, var(--pie-button-focus-outline, var(--pie-focus-checked-border, #1565C0)))";
8762
+ var R = `color-mix(in srgb, ${L} 15%, transparent)`;
8763
+ var He = `
8761
8764
  :root mjx-container [data-sre-highlight-1]:not([data-mjx-collapsed], rect) {
8762
- color: ${L} !important;
8763
- fill: ${L} !important;
8765
+ color: ${I} !important;
8766
+ fill: ${I} !important;
8764
8767
  }
8765
8768
  :root mjx-container:not([data-mjx-clone-container]) [data-sre-highlight-1]:not([data-sre-enclosed], rect) {
8766
- background-color: ${z} !important;
8769
+ background-color: ${R} !important;
8767
8770
  }
8768
8771
  :root mjx-container rect[data-sre-highlight-1]:not([data-sre-enclosed]) {
8769
- fill: ${z} !important;
8772
+ fill: ${R} !important;
8770
8773
  }
8771
8774
  :root mjx-container .mjx-selected {
8772
- outline: 2px solid ${R} !important;
8775
+ outline: 2px solid ${L} !important;
8773
8776
  }
8774
8777
  :root mjx-container [data-sre-highlight-2] {
8775
- color: ${L} !important;
8778
+ color: ${I} !important;
8776
8779
  background-color: transparent !important;
8777
- fill: ${L} !important;
8778
- outline: 2px dashed ${R} !important;
8780
+ fill: ${I} !important;
8781
+ outline: 2px dashed ${L} !important;
8779
8782
  }
8780
8783
  :root mjx-container rect[data-sre-highlight-2] {
8781
8784
  fill: transparent !important;
8782
- stroke: ${R} !important;
8785
+ stroke: ${L} !important;
8783
8786
  stroke-width: 2px !important;
8784
8787
  vector-effect: non-scaling-stroke;
8785
8788
  }
8786
8789
  :root .MJX_LiveRegion, :root .MJX_HoverRegion, :root .MJX_ToolTip {
8787
- color: ${L} !important;
8788
- background-color: ${Re} !important;
8789
- border-color: ${ze} !important;
8790
+ color: ${I} !important;
8791
+ background-color: ${Be} !important;
8792
+ border-color: ${Ve} !important;
8790
8793
  }
8791
8794
  :root .MJX_LiveRegion > div, :root .MJX_HoverRegion > div {
8792
- color: ${L} !important;
8793
- background-color: ${z} !important;
8795
+ color: ${I} !important;
8796
+ background-color: ${R} !important;
8794
8797
  }
8795
8798
  `;
8796
- function Ve(e = document) {
8799
+ function Ue(e = document) {
8797
8800
  if (e.getElementById("PIE-MJX-explorer-styles")) return;
8798
8801
  let t = e.createElement("style");
8799
- t.id = Le, t.textContent = Be, e.head.appendChild(t);
8802
+ t.id = ze, t.textContent = He, e.head.appendChild(t);
8800
8803
  }
8801
- var He = /[⁡-⁤]/g;
8802
- var Ue = {
8804
+ var We = /[⁡-⁤]/g;
8805
+ var z = {
8803
8806
  "+": "positive",
8804
8807
  "-": "negative",
8805
8808
  "−": "negative",
8806
8809
  "±": "plus or minus",
8807
8810
  "∓": "minus or plus"
8808
8811
  };
8809
- var We = {
8812
+ var Ge = {
8810
8813
  "(": "open parenthesis",
8811
8814
  "[": "open bracket",
8812
8815
  "{": "open brace",
@@ -8814,7 +8817,7 @@ var We = {
8814
8817
  "⌊": "open floor",
8815
8818
  "⌈": "open ceiling"
8816
8819
  };
8817
- var Ge = {
8820
+ var B = {
8818
8821
  ")": "close parenthesis",
8819
8822
  "]": "close bracket",
8820
8823
  "}": "close brace",
@@ -8822,7 +8825,7 @@ var Ge = {
8822
8825
  "⌋": "close floor",
8823
8826
  "⌉": "close ceiling"
8824
8827
  };
8825
- var B = {
8828
+ var V = {
8826
8829
  "!": "factorial",
8827
8830
  "%": "percent",
8828
8831
  "°": "degrees",
@@ -8873,9 +8876,9 @@ var Ke = {
8873
8876
  ":": "colon",
8874
8877
  "|": "vertical bar",
8875
8878
  "‖": "double vertical bar",
8876
- ...We,
8877
8879
  ...Ge,
8878
- ...B
8880
+ ...B,
8881
+ ...V
8879
8882
  };
8880
8883
  var qe = /* @__PURE__ */ new Set(["|", "‖"]);
8881
8884
  var Je = /* @__PURE__ */ new Set([
@@ -8925,19 +8928,19 @@ var Xe = {
8925
8928
  "⃗": "vector",
8926
8929
  "˙": "dot"
8927
8930
  };
8928
- var V = (e) => (e.textContent ?? "").replace(He, "").replace(/\s+/g, " ").trim();
8929
- var H = (e) => e.replace(/\s+/g, " ").trim();
8930
- var U = (e) => [...e.children];
8931
- function W(e) {
8931
+ var H = (e) => (e.textContent ?? "").replace(We, "").replace(/\s+/g, " ").trim();
8932
+ var U = (e) => e.replace(/\s+/g, " ").trim();
8933
+ var W = (e) => [...e.children];
8934
+ function G(e) {
8932
8935
  return !e || [
8933
8936
  "mn",
8934
8937
  "mi",
8935
8938
  "mtext",
8936
8939
  "mo"
8937
- ].includes(e.localName) ? !0 : ["mrow", "mstyle"].includes(e.localName) && e.children.length === 1 ? W(e.children[0]) : !1;
8940
+ ].includes(e.localName) ? !0 : ["mrow", "mstyle"].includes(e.localName) && e.children.length === 1 ? G(e.children[0]) : !1;
8938
8941
  }
8939
8942
  function Ze(e) {
8940
- let t = e ? V(e) : "";
8943
+ let t = e ? H(e) : "";
8941
8944
  return /^\d{1,3}$/.test(t) ? Number(t) : void 0;
8942
8945
  }
8943
8946
  function Qe(e) {
@@ -8950,112 +8953,112 @@ function Qe(e) {
8950
8953
  function $e(e) {
8951
8954
  return Ye[e] ?? e;
8952
8955
  }
8953
- function G(e) {
8956
+ function K(e) {
8954
8957
  return Ke[e] ?? e;
8955
8958
  }
8956
- function K(e) {
8959
+ function q(e) {
8957
8960
  let t = [], n = !1;
8958
8961
  for (let r of e) {
8959
8962
  if (r.localName !== "mo") {
8960
- t.push(q(r)), n = !0;
8963
+ t.push(J(r)), n = !0;
8961
8964
  continue;
8962
8965
  }
8963
- let e = V(r);
8964
- e && (!n && Ue[e] ? t.push(Ue[e]) : e in B ? t.push(B[e]) : (t.push(G(e)), n = e in Ge || qe.has(e) && n));
8966
+ let e = H(r);
8967
+ e && (!n && z[e] ? t.push(z[e]) : e in V ? t.push(V[e]) : (t.push(K(e)), n = e in B || qe.has(e) && n));
8965
8968
  }
8966
8969
  return t.filter(Boolean).join(" ");
8967
8970
  }
8968
8971
  function et(e) {
8969
- let [t, ...n] = e, r = n[n.length - 1], i = (e) => e?.localName === "mo" && ["|", "‖"].includes(V(e)), a = n.slice(0, -1);
8970
- if (a.length && i(t) && i(r) && V(t) === V(r) && !a.some(i)) {
8971
- let e = H(K(a));
8972
- return V(t) === "|" ? `absolute value of ${e} end absolute value` : `norm of ${e} end norm`;
8972
+ let [t, ...n] = e, r = n[n.length - 1], i = (e) => e?.localName === "mo" && ["|", "‖"].includes(H(e)), a = n.slice(0, -1);
8973
+ if (a.length && i(t) && i(r) && H(t) === H(r) && !a.some(i)) {
8974
+ let e = U(q(a));
8975
+ return H(t) === "|" ? `absolute value of ${e} end absolute value` : `norm of ${e} end norm`;
8973
8976
  }
8974
- return K(e);
8977
+ return q(e);
8975
8978
  }
8976
8979
  function tt(e, t) {
8977
- let n = e ? q(e) : "", r = t ? q(t) : "";
8978
- return W(e) && W(t) ? `${n} over ${r}` : `the fraction with numerator ${n} and denominator ${r}`;
8980
+ let n = e ? J(e) : "", r = t ? J(t) : "";
8981
+ return G(e) && G(t) ? `${n} over ${r}` : `the fraction with numerator ${n} and denominator ${r}`;
8979
8982
  }
8980
8983
  function nt(e, t, n) {
8981
8984
  return n ? `${t} of ${e}` : `${t} of ${e} end root`;
8982
8985
  }
8983
8986
  function rt(e, t) {
8984
- let n = t ? V(t) : "";
8985
- if (t && W(t)) {
8987
+ let n = t ? H(t) : "";
8988
+ if (t && G(t)) {
8986
8989
  if (n === "2") return `${e} squared`;
8987
8990
  if (n === "3") return `${e} cubed`;
8988
- if (n in B) return `${e} ${B[n]}`;
8991
+ if (n in V) return `${e} ${V[n]}`;
8989
8992
  }
8990
- let r = t ? q(t) : "";
8991
- return W(t) ? `${e} to the power of ${r}` : `${e} to the power of ${r} end power`;
8993
+ let r = t ? J(t) : "";
8994
+ return G(t) ? `${e} to the power of ${r}` : `${e} to the power of ${r} end power`;
8992
8995
  }
8993
8996
  function it(e, t) {
8994
- let n = t ? q(t) : "";
8995
- return W(t) ? `${e} sub ${n}` : `${e} sub ${n} end sub`;
8997
+ let n = t ? J(t) : "";
8998
+ return G(t) ? `${e} sub ${n}` : `${e} sub ${n} end sub`;
8996
8999
  }
8997
9000
  function at(e, t, n) {
8998
- let r = V(e);
8999
- if (r === "lim") return `limit as ${t ? q(t) : ""} of`;
9001
+ let r = H(e);
9002
+ if (r === "lim") return `limit as ${t ? J(t) : ""} of`;
9000
9003
  if (!Je.has(r)) return;
9001
- let i = t ? `from ${q(t)}` : "", a = n ? `to ${q(n)}` : "";
9002
- return `${G(r)} ${i} ${a} of`;
9004
+ let i = t ? `from ${J(t)}` : "", a = n ? `to ${J(n)}` : "";
9005
+ return `${K(r)} ${i} ${a} of`;
9003
9006
  }
9004
9007
  function ot(e) {
9005
- let t = U(e).filter((e) => ["mtr", "mlabeledtr"].includes(e.localName)), n = t.map((e) => U(e).filter((e) => e.localName === "mtd")), r = Math.max(0, ...n.map((e) => e.length)), i = n.map((e, t) => `row ${t + 1}: ${e.map((e) => H(K(U(e)))).join(", ")}`);
9008
+ let t = W(e).filter((e) => ["mtr", "mlabeledtr"].includes(e.localName)), n = t.map((e) => W(e).filter((e) => e.localName === "mtd")), r = Math.max(0, ...n.map((e) => e.length)), i = n.map((e, t) => `row ${t + 1}: ${e.map((e) => U(q(W(e)))).join(", ")}`);
9006
9009
  return `table with ${t.length} ${t.length === 1 ? "row" : "rows"} and ${r} ${r === 1 ? "column" : "columns"}. ${i.join(". ")}`;
9007
9010
  }
9008
9011
  function st(e) {
9009
- let t = e.getAttribute("open") ?? "(", n = e.getAttribute("close") ?? ")", r = (e.getAttribute("separators") ?? ",").replace(/\s+/g, "").split(""), i = U(e).map((e, t, n) => t < n.length - 1 ? `${q(e)} ${G(r[Math.min(t, r.length - 1)] ?? ",")}` : q(e));
9012
+ let t = e.getAttribute("open") ?? "(", n = e.getAttribute("close") ?? ")", r = (e.getAttribute("separators") ?? ",").replace(/\s+/g, "").split(""), i = W(e).map((e, t, n) => t < n.length - 1 ? `${J(e)} ${K(r[Math.min(t, r.length - 1)] ?? ",")}` : J(e));
9010
9013
  return [
9011
- G(t),
9014
+ K(t),
9012
9015
  ...i,
9013
- G(n)
9016
+ K(n)
9014
9017
  ].filter(Boolean).join(" ");
9015
9018
  }
9016
- function q(e) {
9017
- let t = U(e);
9019
+ function J(e) {
9020
+ let t = W(e);
9018
9021
  switch (e.localName) {
9019
- case "mi": return $e(V(e));
9022
+ case "mi": return $e(H(e));
9020
9023
  case "mn":
9021
9024
  case "mtext":
9022
- case "ms": return V(e);
9023
- case "mo": return G(V(e));
9025
+ case "ms": return H(e);
9026
+ case "mo": return K(H(e));
9024
9027
  case "mspace":
9025
9028
  case "mphantom":
9026
9029
  case "annotation":
9027
9030
  case "annotation-xml": return "";
9028
- case "semantics": return t[0] ? q(t[0]) : "";
9031
+ case "semantics": return t[0] ? J(t[0]) : "";
9029
9032
  case "mfrac": return tt(t[0], t[1]);
9030
- case "msqrt": return nt(H(K(t)), "square root", t.length === 1 && W(t[0]));
9033
+ case "msqrt": return nt(U(q(t)), "square root", t.length === 1 && G(t[0]));
9031
9034
  case "mroot": {
9032
- let e = Ze(t[1]), n = e === 2 ? "square root" : e === 3 ? "cube root" : e ? `${Qe(e)} root` : `root with index ${t[1] ? q(t[1]) : ""}`;
9033
- return nt(t[0] ? q(t[0]) : "", n, W(t[0]));
9035
+ let e = Ze(t[1]), n = e === 2 ? "square root" : e === 3 ? "cube root" : e ? `${Qe(e)} root` : `root with index ${t[1] ? J(t[1]) : ""}`;
9036
+ return nt(t[0] ? J(t[0]) : "", n, G(t[0]));
9034
9037
  }
9035
- case "msup": return rt(t[0] ? q(t[0]) : "", t[1]);
9036
- case "msub": return it(t[0] ? q(t[0]) : "", t[1]);
9037
- case "msubsup": return (t[0] ? at(t[0], t[1], t[2]) : void 0) || rt(it(t[0] ? q(t[0]) : "", t[1]), t[2]);
9038
+ case "msup": return rt(t[0] ? J(t[0]) : "", t[1]);
9039
+ case "msub": return it(t[0] ? J(t[0]) : "", t[1]);
9040
+ case "msubsup": return (t[0] ? at(t[0], t[1], t[2]) : void 0) || rt(it(t[0] ? J(t[0]) : "", t[1]), t[2]);
9038
9041
  case "munder":
9039
9042
  case "mover":
9040
9043
  case "munderover": {
9041
9044
  let [n, r, i] = t, a = e.localName === "mover" ? void 0 : r, o = e.localName === "munder" ? void 0 : e.localName === "mover" ? r : i, s = n ? at(n, a, o) : void 0;
9042
9045
  if (s) return s;
9043
- let c = n ? q(n) : "", l = e.localName === "mover" && r ? Xe[V(r)] : void 0;
9046
+ let c = n ? J(n) : "", l = e.localName === "mover" && r ? Xe[H(r)] : void 0;
9044
9047
  return l ? l === "vector" ? `vector ${c}` : `${c} ${l}` : [
9045
9048
  c,
9046
- a ? `with ${q(a)} below` : "",
9047
- o ? `with ${q(o)} above` : ""
9049
+ a ? `with ${J(a)} below` : "",
9050
+ o ? `with ${J(o)} above` : ""
9048
9051
  ].filter(Boolean).join(" ");
9049
9052
  }
9050
9053
  case "mfenced": return st(e);
9051
9054
  case "mtable": return ot(e);
9052
9055
  case "mrow":
9053
9056
  case "math": return et(t);
9054
- default: return t.length ? K(t) : V(e);
9057
+ default: return t.length ? q(t) : H(e);
9055
9058
  }
9056
9059
  }
9057
9060
  function ct(e) {
9058
- return H(q(e));
9061
+ return U(J(e));
9059
9062
  }
9060
9063
  var lt = [
9061
9064
  "a[href]",
@@ -9082,7 +9085,7 @@ function ut(e) {
9082
9085
  let t = e.querySelector("math"), n = t ? ct(t) : "";
9083
9086
  n && e.setAttribute("aria-label", n);
9084
9087
  }
9085
- function J(e) {
9088
+ function Y(e) {
9086
9089
  for (let t of e.querySelectorAll("mjx-container")) ut(t);
9087
9090
  }
9088
9091
  var dt = Symbol.for("@pie-element/shared-math-rendering-mathjax/speech-worker-failed");
@@ -9125,7 +9128,7 @@ var bt = [
9125
9128
  var xt = Symbol.for("@pie-element/shared-math-rendering-mathjax/loading");
9126
9129
  var St = "MJX-CHTML-styles";
9127
9130
  var Ct = "PIE-MJX-SVG-styles";
9128
- var Y = "PIE-MathJax-Menu-Settings";
9131
+ var X = "PIE-MathJax-Menu-Settings";
9129
9132
  var wt = { "mjx-container[overflow=\"linebreak\"][display]": {
9130
9133
  overflow: "auto clip",
9131
9134
  "min-width": "initial !important"
@@ -9133,7 +9136,7 @@ var wt = { "mjx-container[overflow=\"linebreak\"][display]": {
9133
9136
  var Tt = 200;
9134
9137
  var Et = 201;
9135
9138
  var Dt = 202;
9136
- function X(e) {
9139
+ function Z(e) {
9137
9140
  let t = [...e.matches("mjx-container") ? [e] : [], ...e.querySelectorAll("mjx-container")];
9138
9141
  for (let e of t) for (let t of [e, ...e.querySelectorAll("[data-latex],[data-latex-item]")]) t.removeAttribute("data-latex"), t.removeAttribute("data-latex-item");
9139
9142
  }
@@ -9166,20 +9169,20 @@ function Ft(e, t) {
9166
9169
  }
9167
9170
  function It(e) {
9168
9171
  return new Promise((t, n) => {
9169
- let { useSingleDollar: r = !1, accessibility: i = !0, loadFonts: a = !0, srcUrl: o } = e, s = d(e, import.meta.url), c = {
9172
+ let { useSingleDollar: r = !1, accessibility: i = !0, loadFonts: a = !0, srcUrl: o } = e, s = f(e, import.meta.url), l = c$1(), u = {
9170
9173
  loader: {
9171
9174
  load: i ? ["a11y/assistive-mml"] : [],
9172
9175
  failed: (e) => n(e),
9173
9176
  "output/svg": { ready: (e) => {
9174
- let t = y();
9177
+ let t = x();
9175
9178
  return Lt(t) && Rt(t), e;
9176
9179
  } }
9177
9180
  },
9178
9181
  startup: {
9179
9182
  typeset: !1,
9180
9183
  ready: () => {
9181
- let e = y(), r = e?.startup, i = Lt(e);
9182
- i && (Rt(e), zt(e, s.speechLocales), f(e?._?.a11y?.sre_ts?.locales, s.speechLocales)), r?.defaultReady?.(), i && (Bt(r?.document), Vt(r?.document), r?.document?.addStyles?.(wt), mt(r?.document)), Promise.resolve(r?.promise).then(() => t(), n);
9184
+ let e = x(), r = e?.startup, i = Lt(e);
9185
+ i && (Rt(e), zt(e, s.speechLocales), p(e?._?.a11y?.sre_ts?.locales, s.speechLocales)), r?.defaultReady?.(), i && (Bt(r?.document), Vt(r?.document), r?.document?.addStyles?.(wt), mt(r?.document)), Promise.resolve(r?.promise).then(() => t(), n);
9183
9186
  }
9184
9187
  },
9185
9188
  tex: { macros: { ...ht } },
@@ -9189,14 +9192,14 @@ function It(e) {
9189
9192
  menuOptions: { settings: {
9190
9193
  assistiveMml: i,
9191
9194
  enrich: !1,
9192
- inTabOrder: !1
9195
+ inTabOrder: l
9193
9196
  } },
9194
- a11y: { inTabOrder: !1 }
9197
+ a11y: { inTabOrder: l }
9195
9198
  }
9196
9199
  };
9197
- r && c.tex && (console.warn(gt), c.tex.inlineMath = [["$", "$"], ["\\(", "\\)"]], c.tex.processEscapes = !0), a || (c.chtml = { fontURL: "" });
9198
- let l = p(s.speechLocales);
9199
- l && c.options && (c.options.sre = { locale: l }), ae(c, {
9200
+ r && u.tex && (console.warn(gt), u.tex.inlineMath = [["$", "$"], ["\\(", "\\)"]], u.tex.processEscapes = !0), a || (u.chtml = { fontURL: "" });
9201
+ let d = m(s.speechLocales);
9202
+ d && u.options && (u.options.sre = { locale: d }), ie(u, {
9200
9203
  ...s,
9201
9204
  srcUrl: o
9202
9205
  }).then((e) => {
@@ -9209,20 +9212,20 @@ function Lt(e) {
9209
9212
  }
9210
9213
  function Rt(e) {
9211
9214
  let t = e?._?.output, n = t?.chtml_ts?.CHTML;
9212
- n && (n.STYLESHEETID = b);
9215
+ n && (n.STYLESHEETID = oe);
9213
9216
  let r = t?.svg_ts?.SVG;
9214
9217
  r && (r.STYLESHEETID = Ct);
9215
9218
  }
9216
9219
  function zt(e, t) {
9217
9220
  let n = e?._?.ui?.menu?.Menu?.Menu;
9218
9221
  if (n) {
9219
- n.MENU_STORAGE = Y;
9222
+ n.MENU_STORAGE = X;
9220
9223
  try {
9221
- let e = localStorage.getItem(Y);
9224
+ let e = localStorage.getItem(X);
9222
9225
  if (!e) return;
9223
9226
  let { assistiveMml: n, locale: r, ...i } = JSON.parse(e), a = r === void 0 || !t || t.has(r);
9224
9227
  if (n === void 0 && a) return;
9225
- a && r !== void 0 && (i.locale = r), Object.keys(i).length ? localStorage.setItem(Y, JSON.stringify(i)) : localStorage.removeItem(Y);
9228
+ a && r !== void 0 && (i.locale = r), Object.keys(i).length ? localStorage.setItem(X, JSON.stringify(i)) : localStorage.removeItem(X);
9226
9229
  } catch {}
9227
9230
  }
9228
9231
  }
@@ -9230,17 +9233,17 @@ function Bt(e) {
9230
9233
  if (!e) return;
9231
9234
  let t = /* @__PURE__ */ new WeakSet(), n = (e) => {
9232
9235
  let n = e.typesetRoot;
9233
- !n || t.has(n) || (X(n), t.add(n));
9236
+ !n || t.has(n) || (Z(n), t.add(n));
9234
9237
  };
9235
9238
  e.addRenderAction?.("pie-strip-latex", Et, (e) => {
9236
9239
  for (let t of e.math ?? []) n(t);
9237
9240
  return !1;
9238
9241
  }, (e) => {
9239
9242
  let t = e.typesetRoot;
9240
- return t && X(t), !1;
9243
+ return t && Z(t), !1;
9241
9244
  });
9242
9245
  let r = e.outputJax?.chtmlStyles;
9243
- r?.id === St && (r.id = b), Ut();
9246
+ r?.id === St && (r.id = oe), Wt();
9244
9247
  }
9245
9248
  function Vt(e) {
9246
9249
  let t = (e) => {
@@ -9251,30 +9254,30 @@ function Vt(e) {
9251
9254
  return !1;
9252
9255
  }, (e) => (t(e), !1));
9253
9256
  }
9254
- function Z(e) {
9257
+ function Ht(e) {
9255
9258
  return e instanceof HTMLStyleElement && se.includes(e.id);
9256
9259
  }
9257
- function Ht(e) {
9258
- ne("foreign-output-stylesheet", `another MathJax added <style id="${e.id}"> to <head>`);
9260
+ function Ut(e) {
9261
+ te("foreign-output-stylesheet", `another MathJax added <style id="${e.id}"> to <head>`);
9259
9262
  }
9260
- function Ut() {
9261
- let e = document.head, t = [...e.children].find(Z);
9263
+ function Wt() {
9264
+ let e = document.head, t = [...e.children].find(Ht);
9262
9265
  if (t) {
9263
- Ht(t);
9266
+ Ut(t);
9264
9267
  return;
9265
9268
  }
9266
9269
  let n = new MutationObserver((e) => {
9267
9270
  for (let t of e) {
9268
- let e = [...t.addedNodes].find(Z);
9271
+ let e = [...t.addedNodes].find(Ht);
9269
9272
  if (e) {
9270
- Ht(e), n.disconnect();
9273
+ Ut(e), n.disconnect();
9271
9274
  return;
9272
9275
  }
9273
9276
  }
9274
9277
  });
9275
9278
  n.observe(e, { childList: !0 });
9276
9279
  }
9277
- function Wt(e) {
9280
+ function Gt(e) {
9278
9281
  let t = e?.math;
9279
9282
  if (!t?.remove) return;
9280
9283
  let n = [...t].filter((e) => (e.state?.() ?? 0) >= Tt && e.typesetRoot?.isConnected === !1);
@@ -9283,93 +9286,93 @@ function Wt(e) {
9283
9286
  t.remove(...n);
9284
9287
  }
9285
9288
  }
9286
- function Gt(e) {
9289
+ function Kt(e) {
9287
9290
  return new Promise((t, n) => {
9288
9291
  let r = e.startup ?? {};
9289
9292
  e.startup = r;
9290
9293
  let i = r.ready;
9291
9294
  r.ready = () => {
9292
- let e = y()?.startup;
9295
+ let e = x()?.startup;
9293
9296
  i ? i.call(r) : e?.defaultReady?.(), Promise.resolve(e?.promise).then(() => t(), n);
9294
9297
  };
9295
9298
  });
9296
9299
  }
9297
- function Kt(e) {
9298
- let t = y();
9299
- return t ? t.version ? t.startup?.promise ? Promise.resolve(t.startup.promise).then(() => void 0) : Promise.resolve() : Gt(t) : It(e);
9300
- }
9301
9300
  function qt(e) {
9302
- return Kt(e).then(() => {
9303
- let e = y();
9301
+ let t = x();
9302
+ return t ? t.version ? t.startup?.promise ? Promise.resolve(t.startup.promise).then(() => void 0) : Promise.resolve() : Kt(t) : It(e);
9303
+ }
9304
+ function Jt(e) {
9305
+ return qt(e).then(() => {
9306
+ let e = x();
9304
9307
  e && typeof e.typesetPromise != "function" && console.warn("[mathjax-renderer] MathJax on this page has no typesetPromise; math stays untypeset.");
9305
9308
  });
9306
9309
  }
9307
- function Jt(e) {
9308
- let t = oe, n = t[xt];
9309
- return n || (n = qt(e), t[xt] = n), n;
9310
+ function Yt(e) {
9311
+ let t = ae, n = t[xt];
9312
+ return n || (n = Jt(e), t[xt] = n), n;
9310
9313
  }
9311
- function Yt(e = {}) {
9314
+ function Xt(e = {}) {
9312
9315
  let t = e.useSingleDollar ?? !1;
9313
9316
  return async (n) => {
9314
9317
  if (typeof window > "u") return;
9315
9318
  let r = ce();
9316
- r && ne("mathjax-3-global", `window.MathJax is MathJax ${r}`), Nt(n), fe(n), Pt(n), Ie(n);
9317
- let i = Jt(e);
9319
+ r && te("mathjax-3-global", `window.MathJax is MathJax ${r}`), Nt(n), fe(n), Pt(n), Re(n);
9320
+ let i = Yt(e);
9318
9321
  if (!Ft(n, t)) {
9319
9322
  i.catch(() => {});
9320
9323
  return;
9321
9324
  }
9322
9325
  await i;
9323
- let a = y();
9326
+ let a = x();
9324
9327
  if (await a?.startup?.promise, typeof a?.typesetPromise == "function") {
9325
- Ve(), Wt(a.startup?.document);
9328
+ Ue(), Gt(a.startup?.document);
9326
9329
  try {
9327
9330
  await a.typesetPromise([n]);
9328
9331
  } catch (e) {
9329
9332
  throw a.typesetClear?.([n]), e;
9330
9333
  }
9331
- X(n), J(n);
9334
+ Z(n), Y(n);
9332
9335
  }
9333
9336
  };
9334
9337
  }
9335
- var Zt = "@pie-lib/math-rendering";
9336
- var Qt = "@pie-lib/math-rendering@2";
9337
- var $t = "pie-print";
9338
- var en = 50;
9339
- var tn = 1e4;
9340
- var nn = null;
9341
- function rn() {
9342
- return !!window[Qt]?.opts?.useSingleDollar;
9343
- }
9338
+ var Qt = "@pie-lib/math-rendering";
9339
+ var $t = "@pie-lib/math-rendering@2";
9340
+ var en = "pie-print";
9341
+ var tn = 50;
9342
+ var nn = 1e4;
9343
+ var rn = null;
9344
9344
  function an() {
9345
- return nn || (nn = Yt({ useSingleDollar: rn() })), nn;
9345
+ return !!window[$t]?.opts?.useSingleDollar;
9346
+ }
9347
+ function on() {
9348
+ return rn || (rn = Xt({ useSingleDollar: an() })), rn;
9346
9349
  }
9347
9350
  function Q() {
9348
9351
  if (typeof window > "u") return null;
9349
- let e = window[Zt];
9352
+ let e = window[Qt];
9350
9353
  return typeof e?.renderMath == "function" && e.renderMath !== $ ? e : null;
9351
9354
  }
9352
- function on(e) {
9355
+ function sn(e) {
9353
9356
  let t = e;
9354
9357
  for (; t;) {
9355
- if (t instanceof Element && t.localName === $t) return t;
9358
+ if (t instanceof Element && t.localName === en) return t;
9356
9359
  t = t instanceof ShadowRoot ? t.host : t.parentNode;
9357
9360
  }
9358
9361
  return null;
9359
9362
  }
9360
- function sn() {
9363
+ function cn() {
9361
9364
  let e = window.renderMath;
9362
9365
  return typeof e == "function" ? e : null;
9363
9366
  }
9364
- async function cn(e) {
9365
- let t = on(e);
9367
+ async function ln(e) {
9368
+ let t = sn(e);
9366
9369
  if (!t) return null;
9367
- let n = sn();
9370
+ let n = cn();
9368
9371
  if (n || t.mathRenderingModuleUrlImported !== !0) return n;
9369
- let r = Date.now() + tn;
9372
+ let r = Date.now() + nn;
9370
9373
  for (; Date.now() < r;) {
9371
- await new Promise((e) => setTimeout(e, en));
9372
- let e = sn();
9374
+ await new Promise((e) => setTimeout(e, tn));
9375
+ let e = cn();
9373
9376
  if (e) return e;
9374
9377
  }
9375
9378
  return null;
@@ -9378,8 +9381,8 @@ var $ = async (e) => {
9378
9381
  if (typeof window > "u") return;
9379
9382
  let t = typeof e == "string", n;
9380
9383
  t ? (n = document.createElement("div"), n.innerHTML = e) : n = e || document.body;
9381
- let r = Q(), i = r || t ? null : await cn(n);
9382
- return r ? (await r.renderMath?.(n), J(n)) : i && i !== $ ? (await i(n), J(n)) : await an()(n), t ? n.innerHTML : void 0;
9384
+ let r = Q(), i = r || t ? null : await ln(n);
9385
+ return r ? (await r.renderMath?.(n), Y(n)) : i && i !== $ ? (await i(n), Y(n)) : await on()(n), t ? n.innerHTML : void 0;
9383
9386
  };
9384
9387
  //#endregion
9385
9388
  //#region ../../shared/translator/dist/en.js