ooxml-core 1.14.0 → 1.15.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.
Files changed (104) hide show
  1. package/dist/{PptxHandler-5YP75BPO.cjs → PptxHandler-OGLITB3F.cjs} +2 -2
  2. package/dist/{PptxHandler-KNBFECUE.mjs → PptxHandler-R5BVKEBW.mjs} +2 -2
  3. package/dist/{PptxHandler-GT5Q66TG.mjs → PptxHandler-UKAA5T5U.mjs} +1 -1
  4. package/dist/{PresentationBuilder-II7C4A3R.cjs → PresentationBuilder-4AF3PZHG.cjs} +4 -4
  5. package/dist/{PresentationBuilder-CVM6LJ7L.mjs → PresentationBuilder-54QGEZ2F.mjs} +1 -1
  6. package/dist/{PresentationBuilder-5DCCFHWJ.mjs → PresentationBuilder-W67DIJBV.mjs} +2 -2
  7. package/dist/automation/index.cjs +372 -669
  8. package/dist/automation/index.mjs +372 -669
  9. package/dist/{chunk-ORH32TO3.mjs → chunk-7ZIZFJXT.mjs} +1509 -754
  10. package/dist/{chunk-XGXIS4PN.mjs → chunk-EMZIHAOH.mjs} +1508 -739
  11. package/dist/{chunk-4WZLFUUA.mjs → chunk-HU36GIYM.mjs} +642 -200
  12. package/dist/{chunk-54ASP65T.mjs → chunk-JFMIPOPV.mjs} +1 -1
  13. package/dist/{chunk-2D4IFQ5M.mjs → chunk-NWAQEXBK.mjs} +1 -1
  14. package/dist/{chunk-TNNXOW2O.mjs → chunk-OPBZBSJF.mjs} +1 -1
  15. package/dist/{chunk-TQE7FFNT.cjs → chunk-ZWI7MTLF.cjs} +1509 -754
  16. package/dist/geometry/index.cjs +259 -0
  17. package/dist/geometry/index.d.ts +1 -0
  18. package/dist/geometry/index.d.ts.map +1 -1
  19. package/dist/geometry/index.mjs +255 -1
  20. package/dist/geometry/shape-gallery-catalog.d.ts +32 -0
  21. package/dist/geometry/shape-gallery-catalog.d.ts.map +1 -0
  22. package/dist/index.cjs +371 -112
  23. package/dist/index.mjs +371 -112
  24. package/dist/pptx/automation/index.cjs +2203 -1415
  25. package/dist/pptx/automation/index.d.ts +4 -4
  26. package/dist/pptx/automation/index.mjs +5 -5
  27. package/dist/pptx/chunks/{elements-tK7xnWeS.d.ts → elements-Cadkqht8.d.ts} +143 -2
  28. package/dist/pptx/chunks/elements-Cadkqht8.d.ts.map +1 -0
  29. package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts → index-CJI2EugA.d.ts} +5 -3
  30. package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts.map → index-CJI2EugA.d.ts.map} +1 -1
  31. package/dist/pptx/chunks/{index-BSpNQuvz.d.ts → index-CozqpSPL.d.ts} +112 -5
  32. package/dist/pptx/chunks/index-CozqpSPL.d.ts.map +1 -0
  33. package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts → text-operations-C3L9xrqx.d.ts} +2 -2
  34. package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts.map → text-operations-C3L9xrqx.d.ts.map} +1 -1
  35. package/dist/pptx/cli/index.cjs +2151 -1363
  36. package/dist/pptx/cli/index.d.ts +1 -1
  37. package/dist/pptx/cli/index.mjs +4 -4
  38. package/dist/pptx/converter/index.cjs +7 -0
  39. package/dist/pptx/converter/index.d.ts +1 -1
  40. package/dist/pptx/converter/index.mjs +2 -2
  41. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  42. package/dist/pptx/editor/render/slide-operations.cjs +1 -1
  43. package/dist/pptx/editor/render/slide-operations.mjs +1 -1
  44. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
  45. package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
  46. package/dist/pptx/index.cjs +2990 -1726
  47. package/dist/pptx/index.d.ts +5 -5
  48. package/dist/pptx/index.mjs +5 -5
  49. package/dist/teams/ics.d.ts.map +1 -1
  50. package/dist/teams/index.cjs +527 -622
  51. package/dist/teams/index.d.ts +1 -0
  52. package/dist/teams/index.d.ts.map +1 -1
  53. package/dist/teams/index.mjs +512 -623
  54. package/dist/teams/meetings.d.ts +11 -1
  55. package/dist/teams/meetings.d.ts.map +1 -1
  56. package/dist/teams/recurrence-calendar.d.ts +41 -0
  57. package/dist/teams/recurrence-calendar.d.ts.map +1 -0
  58. package/dist/teams/recurrence.d.ts +1 -1
  59. package/dist/teams/recurrence.d.ts.map +1 -1
  60. package/dist/teams/server-session.d.ts +19 -0
  61. package/dist/teams/server-session.d.ts.map +1 -1
  62. package/dist/xlsx/edit/pivots.d.ts.map +1 -1
  63. package/dist/xlsx/index.cjs +386 -676
  64. package/dist/xlsx/index.mjs +385 -677
  65. package/dist/xlsx/load/index.cjs +328 -633
  66. package/dist/xlsx/load/index.mjs +328 -633
  67. package/dist/xlsx/model-pivots.d.ts +17 -4
  68. package/dist/xlsx/model-pivots.d.ts.map +1 -1
  69. package/dist/xlsx/pivot/aggregate.d.ts +6 -3
  70. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
  71. package/dist/xlsx/pivot/axes.d.ts +5 -0
  72. package/dist/xlsx/pivot/axes.d.ts.map +1 -1
  73. package/dist/xlsx/pivot/columns.d.ts +9 -3
  74. package/dist/xlsx/pivot/columns.d.ts.map +1 -1
  75. package/dist/xlsx/pivot/data.d.ts.map +1 -1
  76. package/dist/xlsx/pivot/date-axes.d.ts +1 -1
  77. package/dist/xlsx/pivot/date-axes.d.ts.map +1 -1
  78. package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -1
  79. package/dist/xlsx/pivot/date-groups.d.ts +8 -3
  80. package/dist/xlsx/pivot/date-groups.d.ts.map +1 -1
  81. package/dist/xlsx/pivot/index.d.ts +2 -1
  82. package/dist/xlsx/pivot/index.d.ts.map +1 -1
  83. package/dist/xlsx/pivot/measures.d.ts +0 -7
  84. package/dist/xlsx/pivot/measures.d.ts.map +1 -1
  85. package/dist/xlsx/pivot/nested.d.ts +4 -2
  86. package/dist/xlsx/pivot/nested.d.ts.map +1 -1
  87. package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
  88. package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
  89. package/dist/xlsx/pivot/read.d.ts.map +1 -1
  90. package/dist/xlsx/pivot/subtotals.d.ts +6 -1
  91. package/dist/xlsx/pivot/subtotals.d.ts.map +1 -1
  92. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
  93. package/dist/xlsx/pivot/values-axis.d.ts +7 -4
  94. package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
  95. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
  96. package/dist/xlsx/ui/index.cjs +271 -584
  97. package/dist/xlsx/ui/index.mjs +271 -584
  98. package/package.json +1 -1
  99. package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +0 -1
  100. package/dist/pptx/chunks/index-BSpNQuvz.d.ts.map +0 -1
  101. package/dist/xlsx/pivot/hierarchy-first.d.ts +0 -21
  102. package/dist/xlsx/pivot/hierarchy-first.d.ts.map +0 -1
  103. package/dist/xlsx/pivot/hierarchy.d.ts +0 -8
  104. package/dist/xlsx/pivot/hierarchy.d.ts.map +0 -1
@@ -1039,9 +1039,9 @@ function scan(xml) {
1039
1039
  };
1040
1040
  return { root, children: [] };
1041
1041
  }
1042
- const children5 = [];
1042
+ const children6 = [];
1043
1043
  let depth = 0;
1044
- let child14;
1044
+ let child16;
1045
1045
  i = openEnd;
1046
1046
  for (; ; ) {
1047
1047
  const lt = xml.indexOf("<", i);
@@ -1056,16 +1056,16 @@ function scan(xml) {
1056
1056
  if (xml[lt + 1] === "/") {
1057
1057
  if (depth === 0) {
1058
1058
  const root = { start: rootStart, openEnd, closeStart: lt, end, selfClosing: false };
1059
- return { root, children: children5 };
1059
+ return { root, children: children6 };
1060
1060
  }
1061
1061
  depth--;
1062
- if (depth === 0 && child14)
1063
- children5.push({ ...child14, closeStart: lt, end, selfClosing: false });
1062
+ if (depth === 0 && child16)
1063
+ children6.push({ ...child16, closeStart: lt, end, selfClosing: false });
1064
1064
  } else if (xml[end - 2] === "/") {
1065
1065
  if (depth === 0)
1066
- children5.push({ start: lt, openEnd: end, closeStart: end, end, selfClosing: true });
1066
+ children6.push({ start: lt, openEnd: end, closeStart: end, end, selfClosing: true });
1067
1067
  } else {
1068
- if (depth === 0) child14 = { start: lt, openEnd: end };
1068
+ if (depth === 0) child16 = { start: lt, openEnd: end };
1069
1069
  depth++;
1070
1070
  }
1071
1071
  }
@@ -1075,10 +1075,10 @@ var qualifiedName = (xml, span) => /^<([^\s/>]+)/.exec(xml.slice(span.start, spa
1075
1075
  var PartPatch = class {
1076
1076
  constructor(xml, rootElement) {
1077
1077
  this.xml = xml;
1078
- const { root, children: children5 } = scan(xml);
1078
+ const { root, children: children6 } = scan(xml);
1079
1079
  const kids = chunkX7MGZQ6C_cjs.elements(rootElement);
1080
- if (kids.length !== children5.length) throw new Error("Property part markup is not supported");
1081
- kids.forEach((kid, index) => this.spans.set(kid, children5[index]));
1080
+ if (kids.length !== children6.length) throw new Error("Property part markup is not supported");
1081
+ kids.forEach((kid, index) => this.spans.set(kid, children6[index]));
1082
1082
  this.root = root;
1083
1083
  for (const attribute3 of Array.from(rootElement.attributes)) {
1084
1084
  if (attribute3.name === "xmlns") this.defaultNs = attribute3.value;
@@ -1520,9 +1520,9 @@ function booleanAttribute(element, name) {
1520
1520
 
1521
1521
  // diagram/data-model.ts
1522
1522
  var TRANSITION_TYPES = /* @__PURE__ */ new Set(["parTrans", "sibTrans"]);
1523
- function collectTransitionText(points4, describe, text) {
1523
+ function collectTransitionText(points5, describe, text) {
1524
1524
  const byId = /* @__PURE__ */ new Map();
1525
- for (const point of points4) {
1525
+ for (const point of points5) {
1526
1526
  const { type, modelId } = describe(point);
1527
1527
  if (!TRANSITION_TYPES.has((type ?? "").trim())) continue;
1528
1528
  const id = (modelId ?? "").trim();
@@ -1568,9 +1568,9 @@ function parseDrawingColor(element) {
1568
1568
  const color2 = {
1569
1569
  kind,
1570
1570
  value: colorValue(kind, element),
1571
- transforms: chunkX7MGZQ6C_cjs.elements(element).map((child14) => ({
1572
- name: child14.localName,
1573
- value: child14.getAttribute("val") ?? ""
1571
+ transforms: chunkX7MGZQ6C_cjs.elements(element).map((child16) => ({
1572
+ name: child16.localName,
1573
+ value: child16.getAttribute("val") ?? ""
1574
1574
  }))
1575
1575
  };
1576
1576
  const fallback = kind === "system" ? element.getAttribute("lastClr") : null;
@@ -1707,9 +1707,9 @@ function parseRun(run) {
1707
1707
  }
1708
1708
  function parseParagraph(paragraph) {
1709
1709
  const runs = [];
1710
- for (const child14 of chunkX7MGZQ6C_cjs.elements(paragraph))
1711
- if (child14.namespaceURI === chunkX7MGZQ6C_cjs.NS.a && ["r", "fld", "br"].includes(child14.localName))
1712
- runs.push(parseRun(child14));
1710
+ for (const child16 of chunkX7MGZQ6C_cjs.elements(paragraph))
1711
+ if (child16.namespaceURI === chunkX7MGZQ6C_cjs.NS.a && ["r", "fld", "br"].includes(child16.localName))
1712
+ runs.push(parseRun(child16));
1713
1713
  const properties = chunkX7MGZQ6C_cjs.first(paragraph, "pPr", chunkX7MGZQ6C_cjs.NS.a);
1714
1714
  const align = properties?.getAttribute("algn");
1715
1715
  const defaults = parseProperties(chunkX7MGZQ6C_cjs.first(properties, "defRPr", chunkX7MGZQ6C_cjs.NS.a));
@@ -1847,10 +1847,10 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
1847
1847
  }
1848
1848
  const record2 = item;
1849
1849
  if (key2 === "a:moveTo") {
1850
- const pt = record2["a:pt"];
1851
- if (pt) {
1852
- const x = resolveX(pt["@_x"]);
1853
- const y = resolveY(pt["@_y"]);
1850
+ const pt2 = record2["a:pt"];
1851
+ if (pt2) {
1852
+ const x = resolveX(pt2["@_x"]);
1853
+ const y = resolveY(pt2["@_y"]);
1854
1854
  commands.push(`M ${x} ${y}`);
1855
1855
  penX = x;
1856
1856
  penY = y;
@@ -1858,10 +1858,10 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
1858
1858
  moveY = y;
1859
1859
  }
1860
1860
  } else if (key2 === "a:lnTo") {
1861
- const pt = record2["a:pt"];
1862
- if (pt) {
1863
- const x = resolveX(pt["@_x"]);
1864
- const y = resolveY(pt["@_y"]);
1861
+ const pt2 = record2["a:pt"];
1862
+ if (pt2) {
1863
+ const x = resolveX(pt2["@_x"]);
1864
+ const y = resolveY(pt2["@_y"]);
1865
1865
  commands.push(`L ${x} ${y}`);
1866
1866
  penX = x;
1867
1867
  penY = y;
@@ -1869,9 +1869,9 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
1869
1869
  } else if (key2 === "a:cubicBezTo") {
1870
1870
  const pts = ensureArray12(record2["a:pt"]);
1871
1871
  if (pts.length === 3) {
1872
- const coords = pts.map((pt) => ({
1873
- x: resolveX(pt["@_x"]),
1874
- y: resolveY(pt["@_y"])
1872
+ const coords = pts.map((pt2) => ({
1873
+ x: resolveX(pt2["@_x"]),
1874
+ y: resolveY(pt2["@_y"])
1875
1875
  }));
1876
1876
  commands.push(
1877
1877
  `C ${coords[0].x} ${coords[0].y} ${coords[1].x} ${coords[1].y} ${coords[2].x} ${coords[2].y}`
@@ -1882,9 +1882,9 @@ function evaluateGeometryPaths(pathNodes, variables, ensureArray12) {
1882
1882
  } else if (key2 === "a:quadBezTo") {
1883
1883
  const pts = ensureArray12(record2["a:pt"]);
1884
1884
  if (pts.length === 2) {
1885
- const coords = pts.map((pt) => ({
1886
- x: resolveX(pt["@_x"]),
1887
- y: resolveY(pt["@_y"])
1885
+ const coords = pts.map((pt2) => ({
1886
+ x: resolveX(pt2["@_x"]),
1887
+ y: resolveY(pt2["@_y"])
1888
1888
  }));
1889
1889
  commands.push(`Q ${coords[0].x} ${coords[0].y} ${coords[1].x} ${coords[1].y}`);
1890
1890
  penX = coords[1].x;
@@ -1957,11 +1957,11 @@ function parseSegments(path2, variables, ensureArray12) {
1957
1957
  segments.push({ type: key2 === "a:moveTo" ? "moveTo" : "lineTo", pt: point });
1958
1958
  }
1959
1959
  } else if (key2 === "a:cubicBezTo" || key2 === "a:quadBezTo") {
1960
- const points4 = ensureArray12(command?.["a:pt"]).map((point) => parsePoint(point, variables)).filter((point) => point !== void 0);
1960
+ const points5 = ensureArray12(command?.["a:pt"]).map((point) => parsePoint(point, variables)).filter((point) => point !== void 0);
1961
1961
  const expected = key2 === "a:cubicBezTo" ? 3 : 2;
1962
- if (points4.length === expected) {
1962
+ if (points5.length === expected) {
1963
1963
  segments.push(
1964
- key2 === "a:cubicBezTo" ? { type: "cubicBezTo", pts: [points4[0], points4[1], points4[2]] } : { type: "quadBezTo", pts: [points4[0], points4[1]] }
1964
+ key2 === "a:cubicBezTo" ? { type: "cubicBezTo", pts: [points5[0], points5[1], points5[2]] } : { type: "quadBezTo", pts: [points5[0], points5[1]] }
1965
1965
  );
1966
1966
  }
1967
1967
  } else if (key2 === "a:arcTo" && command) {
@@ -3437,13 +3437,13 @@ var SHARED_RELATIONSHIPS = /* @__PURE__ */ new Set([
3437
3437
  var RAW_XML_KEYS = /* @__PURE__ */ new Set(["rawXml", "rawTiming", "inkPartRawXml", "rawMediaReferenceXml"]);
3438
3438
  function remapPartPaths(value, copies) {
3439
3439
  if (!value || typeof value !== "object") return;
3440
- for (const [key2, child14] of Object.entries(value)) {
3440
+ for (const [key2, child16] of Object.entries(value)) {
3441
3441
  if (RAW_XML_KEYS.has(key2)) continue;
3442
- if (typeof child14 === "string" && /path$/iu.test(key2)) {
3443
- const destination = copies.get(child14);
3442
+ if (typeof child16 === "string" && /path$/iu.test(key2)) {
3443
+ const destination = copies.get(child16);
3444
3444
  if (destination) value[key2] = destination;
3445
3445
  } else {
3446
- remapPartPaths(child14, copies);
3446
+ remapPartPaths(child16, copies);
3447
3447
  }
3448
3448
  }
3449
3449
  }
@@ -4138,8 +4138,8 @@ function invertOffsetAxisEmu(relativeEmu, chOffEmu, chExtEmu, extEmu) {
4138
4138
  }
4139
4139
  return chOffEmu + Math.round(relativeEmu * chExtEmu / extEmu);
4140
4140
  }
4141
- function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
4142
- if (!child14.rotation || child14.xEmu === void 0 || child14.yEmu === void 0 || child14.widthEmu === void 0 || child14.heightEmu === void 0) {
4141
+ function resolveRotatedChildResizeOffset(child16, owner, emuPerPx) {
4142
+ if (!child16.rotation || child16.xEmu === void 0 || child16.yEmu === void 0 || child16.widthEmu === void 0 || child16.heightEmu === void 0) {
4143
4143
  return void 0;
4144
4144
  }
4145
4145
  const extCx = owner.widthEmu ?? 0;
@@ -4148,16 +4148,16 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
4148
4148
  const chOffYEmu = owner.chOffYEmu;
4149
4149
  const chExtWidthEmu = owner.chExtWidthEmu;
4150
4150
  const chExtHeightEmu = owner.chExtHeightEmu;
4151
- const oldRenderXEmu = forwardOffsetAxis(child14.xEmu, chOffXEmu, chExtWidthEmu, extCx);
4152
- const oldRenderYEmu = forwardOffsetAxis(child14.yEmu, chOffYEmu, chExtHeightEmu, extCy);
4153
- const oldRenderWidthEmu = forwardExtentAxis(child14.widthEmu, chExtWidthEmu, extCx);
4154
- const oldRenderHeightEmu = forwardExtentAxis(child14.heightEmu, chExtHeightEmu, extCy);
4155
- const naiveRenderXEmu = Math.round(child14.x * emuPerPx);
4156
- const naiveRenderYEmu = Math.round(child14.y * emuPerPx);
4157
- const newRenderWidthEmu = Math.round(child14.width * emuPerPx);
4158
- const newRenderHeightEmu = Math.round(child14.height * emuPerPx);
4151
+ const oldRenderXEmu = forwardOffsetAxis(child16.xEmu, chOffXEmu, chExtWidthEmu, extCx);
4152
+ const oldRenderYEmu = forwardOffsetAxis(child16.yEmu, chOffYEmu, chExtHeightEmu, extCy);
4153
+ const oldRenderWidthEmu = forwardExtentAxis(child16.widthEmu, chExtWidthEmu, extCx);
4154
+ const oldRenderHeightEmu = forwardExtentAxis(child16.heightEmu, chExtHeightEmu, extCy);
4155
+ const naiveRenderXEmu = Math.round(child16.x * emuPerPx);
4156
+ const naiveRenderYEmu = Math.round(child16.y * emuPerPx);
4157
+ const newRenderWidthEmu = Math.round(child16.width * emuPerPx);
4158
+ const newRenderHeightEmu = Math.round(child16.height * emuPerPx);
4159
4159
  const rotatedResize = resolveRotatedResizeOffset({
4160
- rotationDeg: child14.rotation,
4160
+ rotationDeg: child16.rotation,
4161
4161
  oldOffXEmu: oldRenderXEmu,
4162
4162
  oldOffYEmu: oldRenderYEmu,
4163
4163
  oldExtWidthEmu: oldRenderWidthEmu,
@@ -4180,7 +4180,7 @@ function resolveRotatedChildResizeOffset(child14, owner, emuPerPx) {
4180
4180
  function hasCapturedChildSpace(group) {
4181
4181
  return group.chOffXEmu !== void 0 && group.chOffYEmu !== void 0 && group.chExtWidthEmu !== void 0 && group.chExtHeightEmu !== void 0 && group.chExtWidthEmu > 0 && group.chExtHeightEmu > 0;
4182
4182
  }
4183
- function isGroupChildUnchanged(child14, owner, emuPerPx) {
4183
+ function isGroupChildUnchanged(child16, owner, emuPerPx) {
4184
4184
  if (!hasCapturedChildSpace(owner)) {
4185
4185
  return false;
4186
4186
  }
@@ -4195,11 +4195,11 @@ function isGroupChildUnchanged(child14, owner, emuPerPx) {
4195
4195
  if (!Number.isFinite(scaleX) || !Number.isFinite(scaleY) || scaleX <= 0 || scaleY <= 0) {
4196
4196
  return false;
4197
4197
  }
4198
- const childSpaceX = chX + child14.x / scaleX;
4199
- const childSpaceY = chY + child14.y / scaleY;
4200
- const childSpaceWidth = child14.width / scaleX;
4201
- const childSpaceHeight = child14.height / scaleY;
4202
- return isXfrmEmuUnchanged(childSpaceX, child14.xEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceY, child14.yEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceWidth, child14.widthEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceHeight, child14.heightEmu, emuPerPx);
4198
+ const childSpaceX = chX + child16.x / scaleX;
4199
+ const childSpaceY = chY + child16.y / scaleY;
4200
+ const childSpaceWidth = child16.width / scaleX;
4201
+ const childSpaceHeight = child16.height / scaleY;
4202
+ return isXfrmEmuUnchanged(childSpaceX, child16.xEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceY, child16.yEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceWidth, child16.widthEmu, emuPerPx) && isXfrmEmuUnchanged(childSpaceHeight, child16.heightEmu, emuPerPx);
4203
4203
  }
4204
4204
  function invertOffsetAxis(relativePx, chOffEmu, chExtEmu, extEmu, emuPerPx) {
4205
4205
  const relativeEmu = Math.round(relativePx * emuPerPx);
@@ -4215,42 +4215,42 @@ function invertExtentAxis(px, chExtEmu, extEmu, emuPerPx) {
4215
4215
  }
4216
4216
  return Math.round(emu2 * chExtEmu / extEmu);
4217
4217
  }
4218
- function invertChildIntoGroupSpace(child14, owner, emuPerPx) {
4218
+ function invertChildIntoGroupSpace(child16, owner, emuPerPx) {
4219
4219
  if (!hasCapturedChildSpace(owner)) {
4220
4220
  return void 0;
4221
4221
  }
4222
- if (child14.xEmu !== void 0 && child14.yEmu !== void 0 && child14.widthEmu !== void 0 && child14.heightEmu !== void 0 && isGroupChildUnchanged(child14, owner, emuPerPx)) {
4222
+ if (child16.xEmu !== void 0 && child16.yEmu !== void 0 && child16.widthEmu !== void 0 && child16.heightEmu !== void 0 && isGroupChildUnchanged(child16, owner, emuPerPx)) {
4223
4223
  return {
4224
- xEmu: child14.xEmu,
4225
- yEmu: child14.yEmu,
4226
- widthEmu: child14.widthEmu,
4227
- heightEmu: child14.heightEmu
4224
+ xEmu: child16.xEmu,
4225
+ yEmu: child16.yEmu,
4226
+ widthEmu: child16.widthEmu,
4227
+ heightEmu: child16.heightEmu
4228
4228
  };
4229
4229
  }
4230
4230
  const extCx = owner.widthEmu ?? 0;
4231
4231
  const extCy = owner.heightEmu ?? 0;
4232
- const widthEmu = invertExtentAxis(child14.width, owner.chExtWidthEmu, extCx, emuPerPx);
4233
- const heightEmu = invertExtentAxis(child14.height, owner.chExtHeightEmu, extCy, emuPerPx);
4234
- const rotatedResize = resolveRotatedChildResizeOffset(child14, owner, emuPerPx);
4232
+ const widthEmu = invertExtentAxis(child16.width, owner.chExtWidthEmu, extCx, emuPerPx);
4233
+ const heightEmu = invertExtentAxis(child16.height, owner.chExtHeightEmu, extCy, emuPerPx);
4234
+ const rotatedResize = resolveRotatedChildResizeOffset(child16, owner, emuPerPx);
4235
4235
  return {
4236
- xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(child14.x, owner.chOffXEmu, owner.chExtWidthEmu, extCx, emuPerPx),
4237
- yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(child14.y, owner.chOffYEmu, owner.chExtHeightEmu, extCy, emuPerPx),
4236
+ xEmu: rotatedResize ? rotatedResize.xEmu : invertOffsetAxis(child16.x, owner.chOffXEmu, owner.chExtWidthEmu, extCx, emuPerPx),
4237
+ yEmu: rotatedResize ? rotatedResize.yEmu : invertOffsetAxis(child16.y, owner.chOffYEmu, owner.chExtHeightEmu, extCy, emuPerPx),
4238
4238
  widthEmu,
4239
4239
  heightEmu
4240
4240
  };
4241
4241
  }
4242
4242
 
4243
4243
  // pptx/core/core/runtime/group-tight-rewrap.ts
4244
- function computeTightChildBox(children5) {
4244
+ function computeTightChildBox(children6) {
4245
4245
  let minX = Infinity;
4246
4246
  let minY = Infinity;
4247
4247
  let maxX = -Infinity;
4248
4248
  let maxY = -Infinity;
4249
- for (const child14 of children5) {
4250
- minX = Math.min(minX, child14.xEmu);
4251
- minY = Math.min(minY, child14.yEmu);
4252
- maxX = Math.max(maxX, child14.xEmu + child14.widthEmu);
4253
- maxY = Math.max(maxY, child14.yEmu + child14.heightEmu);
4249
+ for (const child16 of children6) {
4250
+ minX = Math.min(minX, child16.xEmu);
4251
+ minY = Math.min(minY, child16.yEmu);
4252
+ maxX = Math.max(maxX, child16.xEmu + child16.widthEmu);
4253
+ maxY = Math.max(maxY, child16.yEmu + child16.heightEmu);
4254
4254
  }
4255
4255
  return {
4256
4256
  chOffXEmu: minX,
@@ -4259,9 +4259,9 @@ function computeTightChildBox(children5) {
4259
4259
  chExtHeightEmu: maxY - minY
4260
4260
  };
4261
4261
  }
4262
- function resolveGroupChildBoxEmu(child14, owner, emuPerPx) {
4263
- if (child14.type === "group") {
4264
- const nestedRewrap = resolveGroupTightRewrap(child14, emuPerPx);
4262
+ function resolveGroupChildBoxEmu(child16, owner, emuPerPx) {
4263
+ if (child16.type === "group") {
4264
+ const nestedRewrap = resolveGroupTightRewrap(child16, emuPerPx);
4265
4265
  if (nestedRewrap) {
4266
4266
  return {
4267
4267
  xEmu: nestedRewrap.offXEmu,
@@ -4271,7 +4271,7 @@ function resolveGroupChildBoxEmu(child14, owner, emuPerPx) {
4271
4271
  };
4272
4272
  }
4273
4273
  }
4274
- return invertChildIntoGroupSpace(child14, owner, emuPerPx);
4274
+ return invertChildIntoGroupSpace(child16, owner, emuPerPx);
4275
4275
  }
4276
4276
  function resolveGroupTightRewrap(group, emuPerPx) {
4277
4277
  if (!hasCapturedChildSpace(group)) {
@@ -4279,9 +4279,9 @@ function resolveGroupTightRewrap(group, emuPerPx) {
4279
4279
  }
4280
4280
  const childResults = [];
4281
4281
  let anyChanged = false;
4282
- for (const child14 of group.children) {
4283
- const nestedRewrap = child14.type === "group" ? resolveGroupTightRewrap(child14, emuPerPx) : void 0;
4284
- if (nestedRewrap !== void 0 || !isGroupChildUnchanged(child14, group, emuPerPx)) {
4282
+ for (const child16 of group.children) {
4283
+ const nestedRewrap = child16.type === "group" ? resolveGroupTightRewrap(child16, emuPerPx) : void 0;
4284
+ if (nestedRewrap !== void 0 || !isGroupChildUnchanged(child16, group, emuPerPx)) {
4285
4285
  anyChanged = true;
4286
4286
  }
4287
4287
  const emu2 = nestedRewrap ? {
@@ -4289,7 +4289,7 @@ function resolveGroupTightRewrap(group, emuPerPx) {
4289
4289
  yEmu: nestedRewrap.offYEmu,
4290
4290
  widthEmu: nestedRewrap.extWidthEmu,
4291
4291
  heightEmu: nestedRewrap.extHeightEmu
4292
- } : invertChildIntoGroupSpace(child14, group, emuPerPx);
4292
+ } : invertChildIntoGroupSpace(child16, group, emuPerPx);
4293
4293
  if (emu2) {
4294
4294
  childResults.push(emu2);
4295
4295
  }
@@ -4919,9 +4919,9 @@ function drawingChild(node, requestedName) {
4919
4919
  if (key2.split(":").at(-1) !== requestedName) {
4920
4920
  continue;
4921
4921
  }
4922
- const child14 = Array.isArray(value) ? value[0] : value;
4923
- if (child14 && typeof child14 === "object" && !Array.isArray(child14)) {
4924
- return child14;
4922
+ const child16 = Array.isArray(value) ? value[0] : value;
4923
+ if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
4924
+ return child16;
4925
4925
  }
4926
4926
  }
4927
4927
  return void 0;
@@ -4951,11 +4951,11 @@ function hasEmptyDrawingChild(node, requestedName) {
4951
4951
  if (key2.split(":").at(-1) !== requestedName) {
4952
4952
  continue;
4953
4953
  }
4954
- const child14 = Array.isArray(value) ? value[0] : value;
4955
- if (child14 === "" || child14 === void 0) {
4954
+ const child16 = Array.isArray(value) ? value[0] : value;
4955
+ if (child16 === "" || child16 === void 0) {
4956
4956
  return true;
4957
4957
  }
4958
- return typeof child14 === "object" && !Array.isArray(child14) && Object.keys(child14).every((childKey2) => childKey2.startsWith(ATTRIBUTE_PREFIX));
4958
+ return typeof child16 === "object" && !Array.isArray(child16) && Object.keys(child16).every((childKey2) => childKey2.startsWith(ATTRIBUTE_PREFIX));
4959
4959
  }
4960
4960
  return false;
4961
4961
  }
@@ -4969,7 +4969,7 @@ function drawingChildren(node, requestedName) {
4969
4969
  }
4970
4970
  const values = Array.isArray(value) ? value : [value];
4971
4971
  return values.filter(
4972
- (child14) => Boolean(child14) && typeof child14 === "object" && !Array.isArray(child14)
4972
+ (child16) => Boolean(child16) && typeof child16 === "object" && !Array.isArray(child16)
4973
4973
  );
4974
4974
  }
4975
4975
  return [];
@@ -4979,12 +4979,12 @@ function qualifiedLocalName(key2) {
4979
4979
  }
4980
4980
  function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2) {
4981
4981
  const attributes = [];
4982
- const children5 = /* @__PURE__ */ new Map();
4982
+ const children6 = /* @__PURE__ */ new Map();
4983
4983
  for (const [key2, value] of Object.entries(original ?? {})) {
4984
4984
  if (key2.startsWith(ATTRIBUTE_PREFIX)) {
4985
4985
  attributes.push([key2, value]);
4986
4986
  } else if (!modeledChildren.includes(qualifiedLocalName(key2))) {
4987
- children5.set(key2, value);
4987
+ children6.set(key2, value);
4988
4988
  }
4989
4989
  }
4990
4990
  for (const [key2, value] of Object.entries(generated)) {
@@ -4995,7 +4995,7 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
4995
4995
  }
4996
4996
  attributes.push([key2, value]);
4997
4997
  } else {
4998
- children5.set(key2, value);
4998
+ children6.set(key2, value);
4999
4999
  }
5000
5000
  }
5001
5001
  const result = {};
@@ -5003,14 +5003,14 @@ function mergeDrawingFillXml(original, generated, modeledChildren, childOrder2)
5003
5003
  result[key2] = value;
5004
5004
  }
5005
5005
  for (const name of childOrder2) {
5006
- for (const [key2, value] of children5) {
5006
+ for (const [key2, value] of children6) {
5007
5007
  if (qualifiedLocalName(key2) === name) {
5008
5008
  result[key2] = value;
5009
- children5.delete(key2);
5009
+ children6.delete(key2);
5010
5010
  }
5011
5011
  }
5012
5012
  }
5013
- for (const [key2, value] of children5) {
5013
+ for (const [key2, value] of children6) {
5014
5014
  result[key2] = value;
5015
5015
  }
5016
5016
  return result;
@@ -7072,9 +7072,9 @@ var PptxShapeStyleExtractor = class {
7072
7072
  "a:prstClr"
7073
7073
  ];
7074
7074
  for (const key2 of keys) {
7075
- const child14 = refNode[key2];
7076
- if (child14 !== void 0) {
7077
- return { [key2]: child14 };
7075
+ const child16 = refNode[key2];
7076
+ if (child16 !== void 0) {
7077
+ return { [key2]: child16 };
7078
7078
  }
7079
7079
  }
7080
7080
  return void 0;
@@ -7217,36 +7217,36 @@ function parseBorderSide(side) {
7217
7217
  }
7218
7218
  const ln = typeof side["a:ln"] === "object" ? side["a:ln"] : {};
7219
7219
  const border = {};
7220
- let has = false;
7220
+ let has2 = false;
7221
7221
  if (ln["a:noFill"] !== void 0) {
7222
7222
  border.noFill = true;
7223
- has = true;
7223
+ has2 = true;
7224
7224
  }
7225
7225
  const widthEmu = parseInt(String(ln["@_w"] || "0"), 10);
7226
7226
  if (widthEmu > 0) {
7227
7227
  border.width = Math.max(1, Math.round(widthEmu / EMU_PER_PIXEL2));
7228
- has = true;
7228
+ has2 = true;
7229
7229
  }
7230
7230
  const prstDash = ln["a:prstDash"];
7231
7231
  const dashVal = prstDash ? String(prstDash["@_val"] || "").trim() : "";
7232
7232
  if (dashVal) {
7233
7233
  border.dash = dashVal;
7234
- has = true;
7234
+ has2 = true;
7235
7235
  }
7236
7236
  const solidFill2 = ln["a:solidFill"];
7237
7237
  const fill = parseSolidFillStyle(solidFill2);
7238
7238
  if (fill) {
7239
7239
  border.fill = fill;
7240
- has = true;
7240
+ has2 = true;
7241
7241
  } else {
7242
7242
  const srgb = solidFill2?.["a:srgbClr"];
7243
7243
  const hex3 = srgb ? String(srgb["@_val"] || "").trim() : "";
7244
7244
  if (hex3) {
7245
7245
  border.color = hex3.startsWith("#") ? hex3 : `#${hex3}`;
7246
- has = true;
7246
+ has2 = true;
7247
7247
  }
7248
7248
  }
7249
- return has ? border : void 0;
7249
+ return has2 ? border : void 0;
7250
7250
  }
7251
7251
  function parseTableStyleBorders(tcStyle) {
7252
7252
  const tcBdr = tcStyle?.["a:tcBdr"];
@@ -7254,16 +7254,16 @@ function parseTableStyleBorders(tcStyle) {
7254
7254
  return void 0;
7255
7255
  }
7256
7256
  const result = {};
7257
- let has = false;
7257
+ let has2 = false;
7258
7258
  for (const name of BORDER_SIDES) {
7259
7259
  const node = tcBdr[`a:${name}`] ?? (name === "tr2bl" ? tcBdr["a:bl2tr"] : void 0);
7260
7260
  const border = parseBorderSide(node);
7261
7261
  if (border) {
7262
7262
  result[name] = border;
7263
- has = true;
7263
+ has2 = true;
7264
7264
  }
7265
7265
  }
7266
- return has ? result : void 0;
7266
+ return has2 ? result : void 0;
7267
7267
  }
7268
7268
  function parseTableStyleSectionCell3D(tcStyle) {
7269
7269
  const cell3DNode = tcStyle?.["a:cell3D"];
@@ -7890,7 +7890,7 @@ function nextTag(xml, from) {
7890
7890
  return null;
7891
7891
  }
7892
7892
  function scanDirectChildren(inner) {
7893
- const children5 = [];
7893
+ const children6 = [];
7894
7894
  let depth = 0;
7895
7895
  let open = null;
7896
7896
  let cursor = 0;
@@ -7899,12 +7899,12 @@ function scanDirectChildren(inner) {
7899
7899
  if (tag.closing) {
7900
7900
  depth = Math.max(0, depth - 1);
7901
7901
  if (depth === 0 && open) {
7902
- children5.push({ tag: open.tag, inner: inner.slice(open.innerStart, tag.start) });
7902
+ children6.push({ tag: open.tag, inner: inner.slice(open.innerStart, tag.start) });
7903
7903
  open = null;
7904
7904
  }
7905
7905
  } else if (tag.selfClosing) {
7906
7906
  if (depth === 0) {
7907
- children5.push({ tag: tag.name, inner: "" });
7907
+ children6.push({ tag: tag.name, inner: "" });
7908
7908
  }
7909
7909
  } else {
7910
7910
  if (depth === 0) {
@@ -7915,7 +7915,7 @@ function scanDirectChildren(inner) {
7915
7915
  cursor = tag.end;
7916
7916
  tag = nextTag(inner, cursor);
7917
7917
  }
7918
- return children5;
7918
+ return children6;
7919
7919
  }
7920
7920
  function extractElementInnerXml(xml, wanted) {
7921
7921
  const fragments = [];
@@ -8027,7 +8027,7 @@ function annotateParagraphSiblingOrder(xml, parsed) {
8027
8027
  if (!MIXED_CONTENT_MARKERS.some((marker) => xml.includes(marker))) {
8028
8028
  return;
8029
8029
  }
8030
- const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((child14) => child14.tag)).filter((order) => order.length > 0);
8030
+ const orders = extractElementInnerXml(xml, "p").map((inner) => scanDirectChildren(inner).map((child16) => child16.tag)).filter((order) => order.length > 0);
8031
8031
  if (orders.length === 0) {
8032
8032
  return;
8033
8033
  }
@@ -8447,9 +8447,9 @@ var PptxTableDataParser = class {
8447
8447
  return parsed;
8448
8448
  }
8449
8449
  }
8450
- const child14 = tableProperties[`a:${key2}`];
8451
- if (child14) {
8452
- const childVal = parseInt(String(child14["@_val"] ?? ""), 10);
8450
+ const child16 = tableProperties[`a:${key2}`];
8451
+ if (child16) {
8452
+ const childVal = parseInt(String(child16["@_val"] ?? ""), 10);
8453
8453
  if (Number.isFinite(childVal) && childVal > 0) {
8454
8454
  return childVal;
8455
8455
  }
@@ -8659,8 +8659,8 @@ function scanForVmlImageDataRelationshipId(node, depth) {
8659
8659
  if (typeof value !== "object") {
8660
8660
  continue;
8661
8661
  }
8662
- for (const child14 of ensureArrayLike2(value)) {
8663
- const relId = scanForVmlImageDataRelationshipId(child14, depth + 1);
8662
+ for (const child16 of ensureArrayLike2(value)) {
8663
+ const relId = scanForVmlImageDataRelationshipId(child16, depth + 1);
8664
8664
  if (relId) {
8665
8665
  return relId;
8666
8666
  }
@@ -10313,9 +10313,9 @@ function collectCnvPrNodes(node, results, ensureArray12) {
10313
10313
  }
10314
10314
  const shapeLists = ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp", "p:contentPart"];
10315
10315
  for (const listKey of shapeLists) {
10316
- const children5 = ensureArray12(node[listKey]);
10317
- for (const child14 of children5) {
10318
- collectCnvPrNodes(child14, results, ensureArray12);
10316
+ const children6 = ensureArray12(node[listKey]);
10317
+ for (const child16 of children6) {
10318
+ collectCnvPrNodes(child16, results, ensureArray12);
10319
10319
  }
10320
10320
  }
10321
10321
  for (const alternate of ensureArray12(node["mc:AlternateContent"])) {
@@ -13790,10 +13790,10 @@ function assertAfterAnimationClearSupported(effectCTn) {
13790
13790
  if (!isXmlObject3(sub)) return;
13791
13791
  const countAfterFlags = (value) => {
13792
13792
  if (Array.isArray(value))
13793
- return value.reduce((count, child14) => count + countAfterFlags(child14), 0);
13793
+ return value.reduce((count, child16) => count + countAfterFlags(child16), 0);
13794
13794
  if (!isXmlObject3(value)) return 0;
13795
13795
  return Object.entries(value).reduce(
13796
- (count, [key2, child14]) => count + (key2 === "@_afterEffect" && ["1", "true"].includes(String(child14)) ? 1 : countAfterFlags(child14)),
13796
+ (count, [key2, child16]) => count + (key2 === "@_afterEffect" && ["1", "true"].includes(String(child16)) ? 1 : countAfterFlags(child16)),
13797
13797
  0
13798
13798
  );
13799
13799
  };
@@ -14205,8 +14205,8 @@ function preservedP14ChildKey(node, transitionType, getXmlLocalName) {
14205
14205
  if (localName15 !== "prism") {
14206
14206
  continue;
14207
14207
  }
14208
- const child14 = value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
14209
- if (chunkX7MGZQ6C_cjs.prismFamilyTypeOfNode(child14) === chunkX7MGZQ6C_cjs.prismFamilyTypeForFlags(prismFlags)) {
14208
+ const child16 = value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
14209
+ if (chunkX7MGZQ6C_cjs.prismFamilyTypeOfNode(child16) === chunkX7MGZQ6C_cjs.prismFamilyTypeForFlags(prismFlags)) {
14210
14210
  return key2;
14211
14211
  }
14212
14212
  continue;
@@ -15276,17 +15276,17 @@ function collectMediaNodes(node, animations) {
15276
15276
  const childTnList = cTn?.["p:childTnLst"];
15277
15277
  if (childTnList) {
15278
15278
  for (const container of ["p:par", "p:seq", "p:excl"]) {
15279
- const children5 = ensureArray4(childTnList[container]);
15280
- for (const child14 of children5) {
15281
- collectMediaNodes(child14, animations);
15279
+ const children6 = ensureArray4(childTnList[container]);
15280
+ for (const child16 of children6) {
15281
+ collectMediaNodes(child16, animations);
15282
15282
  }
15283
15283
  }
15284
15284
  collectMediaNodes(childTnList, animations);
15285
15285
  }
15286
15286
  for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
15287
- const children5 = ensureArray4(node[container]);
15288
- for (const child14 of children5) {
15289
- collectMediaNodes(child14, animations);
15287
+ const children6 = ensureArray4(node[container]);
15288
+ for (const child16 of children6) {
15289
+ collectMediaNodes(child16, animations);
15290
15290
  }
15291
15291
  }
15292
15292
  }
@@ -15572,9 +15572,9 @@ var neutralTiming = (node) => [
15572
15572
  ].every((key2) => node[key2] === void 0) && (node["@_repeatCount"] === void 0 || String(node["@_repeatCount"]) === "1000") && (node["@_autoRev"] === void 0 || ["0", "false"].includes(String(node["@_autoRev"]))) && (node["@_spd"] === void 0 || String(node["@_spd"]) === "100000") && (node["@_accel"] === void 0 || String(node["@_accel"]) === "0") && (node["@_decel"] === void 0 || String(node["@_decel"]) === "0");
15573
15573
  function hasNativeVisibilitySet(node) {
15574
15574
  if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0") return false;
15575
- const children5 = node["p:childTnLst"];
15576
- if (!isXmlObject3(children5)) return false;
15577
- return ensureArray4(children5["p:set"]).some((set) => {
15575
+ const children6 = node["p:childTnLst"];
15576
+ if (!isXmlObject3(children6)) return false;
15577
+ return ensureArray4(children6["p:set"]).some((set) => {
15578
15578
  const common = set["p:cBhvr"];
15579
15579
  const list = isXmlObject3(common) ? common["p:attrNameLst"] : void 0;
15580
15580
  const names = isXmlObject3(list) ? list["p:attrName"] : void 0;
@@ -15602,10 +15602,10 @@ function unsupportedVisibilityContainerTiming(node) {
15602
15602
  function extractVisibilitySetTiming(node) {
15603
15603
  if (node["@_presetClass"] !== "entr" || String(node["@_presetID"]) !== "0" || String(node["@_presetSubtype"] ?? "0") !== "0" || node["@_dur"] !== void 0 || node["@_fill"] !== "hold" || !neutralTiming(node) || !simpleStarts(node))
15604
15604
  return void 0;
15605
- const children5 = node["p:childTnLst"];
15606
- if (!isXmlObject3(children5) || Object.keys(children5).length !== 1 || !children5["p:set"])
15605
+ const children6 = node["p:childTnLst"];
15606
+ if (!isXmlObject3(children6) || Object.keys(children6).length !== 1 || !children6["p:set"])
15607
15607
  return void 0;
15608
- const sets = ensureArray4(children5["p:set"]);
15608
+ const sets = ensureArray4(children6["p:set"]);
15609
15609
  if (sets.length !== 1) return void 0;
15610
15610
  if (Object.keys(sets[0]).some((key2) => !["p:cBhvr", "p:to"].includes(key2))) return void 0;
15611
15611
  const to = sets[0]["p:to"];
@@ -15619,10 +15619,10 @@ function extractVisibilitySetTiming(node) {
15619
15619
  const target = common["p:tgtEl"];
15620
15620
  if (!isXmlObject3(target) || Object.keys(target).length !== 1 || !isXmlObject3(target["p:spTgt"]) || Object.keys(target["p:spTgt"]).some((key2) => key2 !== "@_spid") || !/^\d+$/u.test(String(target["p:spTgt"]["@_spid"])))
15621
15621
  return void 0;
15622
- const child14 = common["p:cTn"];
15623
- if (!isXmlObject3(child14) || !neutralTiming(child14) || !simpleStarts(child14) || String(child14["@_dur"]) !== "1" || child14["@_fill"] !== "hold")
15622
+ const child16 = common["p:cTn"];
15623
+ if (!isXmlObject3(child16) || !neutralTiming(child16) || !simpleStarts(child16) || String(child16["@_dur"]) !== "1" || child16["@_fill"] !== "hold")
15624
15624
  return void 0;
15625
- const behavior = extractBehaviors(children5)?.[0];
15625
+ const behavior = extractBehaviors(children6)?.[0];
15626
15626
  if (!behavior || behavior.kind !== "set" || behavior.value !== "visible" || behavior.attrNames.length !== 1 || behavior.attrNames[0] !== "style.visibility" || behavior.timing.unsupportedSetTiming)
15627
15627
  return void 0;
15628
15628
  try {
@@ -16304,27 +16304,27 @@ function rawTransitionHasExplicitCutChild(raw, localName15) {
16304
16304
  return Object.keys(raw).some((key2) => !key2.startsWith("@_") && localName15(key2) === "cut");
16305
16305
  }
16306
16306
  function buildStandardTransitionChild(transition) {
16307
- const child14 = {};
16307
+ const child16 = {};
16308
16308
  if (DIR_IS_ORIENTATION_TYPE.has(transition.type) && transition.orient) {
16309
- child14["@_dir"] = transition.orient;
16309
+ child16["@_dir"] = transition.orient;
16310
16310
  } else {
16311
16311
  if (transition.direction) {
16312
- child14["@_dir"] = transition.direction;
16312
+ child16["@_dir"] = transition.direction;
16313
16313
  }
16314
16314
  if (transition.orient) {
16315
- child14["@_orient"] = transition.orient;
16315
+ child16["@_orient"] = transition.orient;
16316
16316
  }
16317
16317
  }
16318
16318
  if (validUnsignedInteger(transition.spokes, 1)) {
16319
- child14["@_spokes"] = String(transition.spokes);
16319
+ child16["@_spokes"] = String(transition.spokes);
16320
16320
  }
16321
16321
  if (transition.pattern) {
16322
- child14["@_pattern"] = transition.pattern;
16322
+ child16["@_pattern"] = transition.pattern;
16323
16323
  }
16324
16324
  if (typeof transition.thruBlk === "boolean") {
16325
- child14["@_thruBlk"] = transition.thruBlk ? "1" : "0";
16325
+ child16["@_thruBlk"] = transition.thruBlk ? "1" : "0";
16326
16326
  }
16327
- return child14;
16327
+ return child16;
16328
16328
  }
16329
16329
  function applyTransitionAttributes(node, transition) {
16330
16330
  if (transition.speed && SPEEDS.has(transition.speed)) {
@@ -16673,7 +16673,7 @@ var PptxSlideTransitionService = class {
16673
16673
  const isExtensionType = isP14Type || isP15Type || isMorphType;
16674
16674
  if (isP14Type) {
16675
16675
  if (!p14ChildKey) {
16676
- const child14 = buildP14DirectChild(
16676
+ const child16 = buildP14DirectChild(
16677
16677
  transitionType,
16678
16678
  {
16679
16679
  direction: transition.direction,
@@ -16683,17 +16683,17 @@ var PptxSlideTransitionService = class {
16683
16683
  },
16684
16684
  extensionContext
16685
16685
  );
16686
- node[child14.key] = child14.node;
16686
+ node[child16.key] = child16.node;
16687
16687
  }
16688
16688
  } else if (isP15Type) {
16689
16689
  if (!p15ChildKey) {
16690
- const child14 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
16691
- node[child14.key] = child14.node;
16690
+ const child16 = buildP15DirectChild(transitionType, extensionContext, transition.direction);
16691
+ node[child16.key] = child16.node;
16692
16692
  }
16693
16693
  } else if (isMorphType) {
16694
16694
  if (!hasDirectMorphChild(node, this.getXmlLocalName)) {
16695
- const child14 = buildMorphDirectChild(transition.morphOption, extensionContext);
16696
- node[child14.key] = child14.node;
16695
+ const child16 = buildMorphDirectChild(transition.morphOption, extensionContext);
16696
+ node[child16.key] = child16.node;
16697
16697
  }
16698
16698
  } else if (transitionType === "cut" && transition.rawTransition && !rawTransitionHasExplicitCutChild(transition.rawTransition, this.getXmlLocalName)) ; else {
16699
16699
  node[`p:${transitionType}`] = buildStandardTransitionChild(transition);
@@ -33501,14 +33501,14 @@ var KIND_ORDER = [
33501
33501
  function isBehaviorKind(value) {
33502
33502
  return KIND_ORDER.includes(value ?? "");
33503
33503
  }
33504
- function groupBehaviorChildren(children5) {
33504
+ function groupBehaviorChildren(children6) {
33505
33505
  const groups = /* @__PURE__ */ new Map();
33506
- for (const child14 of children5) {
33507
- const tag = child14["_type"];
33508
- delete child14["_type"];
33506
+ for (const child16 of children6) {
33507
+ const tag = child16["_type"];
33508
+ delete child16["_type"];
33509
33509
  const kind = isBehaviorKind(tag) ? tag : "animEffect";
33510
33510
  const list = groups.get(kind) ?? [];
33511
- list.push(child14);
33511
+ list.push(child16);
33512
33512
  groups.set(kind, list);
33513
33513
  }
33514
33514
  const childTnLst = {};
@@ -33845,9 +33845,9 @@ function resolveOoxmlPresetMapping(token2, defaultSubtypeFor) {
33845
33845
  const defaultSubtype = presetClass === "emph" ? 0 : defaultSubtypeFor?.(presetClass, presetId) ?? 0;
33846
33846
  return { presetClass, presetId, defaultSubtype };
33847
33847
  }
33848
- function buildReverseLookup(presetClass, canonical) {
33848
+ function buildReverseLookup(presetClass, canonical2) {
33849
33849
  const out = {};
33850
- for (const [id, name] of canonical) {
33850
+ for (const [id, name] of canonical2) {
33851
33851
  out[id] = name;
33852
33852
  }
33853
33853
  for (const [name, mapping] of Object.entries(PRESET_TO_OOXML)) {
@@ -33885,17 +33885,17 @@ function buildEntranceExitChildren(anim, presetClass, presetId, presetSubtype, d
33885
33885
  allocateId
33886
33886
  );
33887
33887
  if (!real) {
33888
- const children5 = [];
33888
+ const children6 = [];
33889
33889
  if (presetClass === "entr") {
33890
- children5.push(buildVisibilitySet(shapeId, durationMs, true, allocateId));
33890
+ children6.push(buildVisibilitySet(shapeId, durationMs, true, allocateId));
33891
33891
  }
33892
- children5.push(
33892
+ children6.push(
33893
33893
  buildAnimEffectNode(shapeId, durationMs, presetClass === "entr" ? "in" : "out", allocateId)
33894
33894
  );
33895
33895
  if (presetClass === "exit") {
33896
- children5.push(buildVisibilitySet(shapeId, durationMs, false, allocateId));
33896
+ children6.push(buildVisibilitySet(shapeId, durationMs, false, allocateId));
33897
33897
  }
33898
- return { children: children5, presetSubtype, ...curve };
33898
+ return { children: children6, presetSubtype, ...curve };
33899
33899
  }
33900
33900
  const useDefaultCurve = anim.timingCurve === void 0;
33901
33901
  return {
@@ -34257,7 +34257,7 @@ function wrapInInteractiveSequence(effectNodes, triggerShapeId, allocateId) {
34257
34257
  }
34258
34258
  };
34259
34259
  }
34260
- function buildMainSequenceNode(mainSeqId, children5) {
34260
+ function buildMainSequenceNode(mainSeqId, children6) {
34261
34261
  const node = {
34262
34262
  "@_concurrent": "1",
34263
34263
  "@_nextAc": "seek",
@@ -34265,9 +34265,9 @@ function buildMainSequenceNode(mainSeqId, children5) {
34265
34265
  "@_id": String(mainSeqId),
34266
34266
  "@_dur": "indefinite",
34267
34267
  "@_nodeType": "mainSeq",
34268
- ...children5.length > 0 ? {
34268
+ ...children6.length > 0 ? {
34269
34269
  "p:childTnLst": {
34270
- "p:par": children5.length === 1 ? children5[0] : children5
34270
+ "p:par": children6.length === 1 ? children6[0] : children6
34271
34271
  }
34272
34272
  } : {}
34273
34273
  },
@@ -34628,7 +34628,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
34628
34628
  return;
34629
34629
  }
34630
34630
  if (mapping.presetClass === "emph" && presetChanged) {
34631
- const children5 = buildEmphasisBehaviorNodes(
34631
+ const children6 = buildEmphasisBehaviorNodes(
34632
34632
  shapeId,
34633
34633
  duration,
34634
34634
  preset,
@@ -34636,7 +34636,7 @@ function refreshEffectBehaviors(cTn, anim, preset, mapping, shapeId, allocateId)
34636
34636
  mapping.presetId,
34637
34637
  subtype
34638
34638
  );
34639
- cTn["p:childTnLst"] = groupBehaviorChildren(children5);
34639
+ cTn["p:childTnLst"] = groupBehaviorChildren(children6);
34640
34640
  cTn["@_presetSubtype"] = String(subtype);
34641
34641
  } else {
34642
34642
  cTn["@_presetSubtype"] = String(subtype);
@@ -35157,22 +35157,22 @@ function collectParsedOmathNodes(root) {
35157
35157
  return result;
35158
35158
  }
35159
35159
  function reorderContainer(node, rawInner) {
35160
- const children5 = scanDirectChildren(rawInner);
35161
- if (children5.length === 0) {
35160
+ const children6 = scanDirectChildren(rawInner);
35161
+ if (children6.length === 0) {
35162
35162
  return;
35163
35163
  }
35164
35164
  const occurrence = /* @__PURE__ */ new Map();
35165
35165
  const resolved = [];
35166
- for (const child14 of children5) {
35167
- const index = occurrence.get(child14.tag) ?? 0;
35168
- occurrence.set(child14.tag, index + 1);
35169
- const value = ensureItems(node[child14.tag])[index];
35170
- resolved.push({ tag: child14.tag, value });
35171
- if (isXmlObject(value) && child14.inner) {
35172
- reorderContainer(value, child14.inner);
35166
+ for (const child16 of children6) {
35167
+ const index = occurrence.get(child16.tag) ?? 0;
35168
+ occurrence.set(child16.tag, index + 1);
35169
+ const value = ensureItems(node[child16.tag])[index];
35170
+ resolved.push({ tag: child16.tag, value });
35171
+ if (isXmlObject(value) && child16.inner) {
35172
+ reorderContainer(value, child16.inner);
35173
35173
  }
35174
35174
  }
35175
- if (isGroupedByTag(children5.map((child14) => child14.tag))) {
35175
+ if (isGroupedByTag(children6.map((child16) => child16.tag))) {
35176
35176
  return;
35177
35177
  }
35178
35178
  for (const [tag, count] of occurrence) {
@@ -36298,6 +36298,694 @@ function applyHeaderFooterToMaster(masterRoot, headerFooter) {
36298
36298
  }
36299
36299
  }
36300
36300
 
36301
+ // pptx/core/utils/chart-element-format-keys.ts
36302
+ function parseChartFormatTargetKey(key2) {
36303
+ const [kind, raw] = key2.split(":");
36304
+ const index = raw === void 0 ? void 0 : Number(raw);
36305
+ if (index !== void 0 && (!Number.isInteger(index) || index < 0)) {
36306
+ return void 0;
36307
+ }
36308
+ switch (kind) {
36309
+ case "chartArea":
36310
+ case "plotArea":
36311
+ case "title":
36312
+ case "legend":
36313
+ return index === void 0 ? { kind } : void 0;
36314
+ case "axis":
36315
+ case "majorGridlines":
36316
+ case "minorGridlines":
36317
+ return index === void 0 ? void 0 : { kind, axisIndex: index };
36318
+ case "series":
36319
+ return index === void 0 ? void 0 : { kind, seriesIndex: index };
36320
+ case "dataLabels":
36321
+ return index === void 0 ? { kind } : { kind, seriesIndex: index };
36322
+ default:
36323
+ return void 0;
36324
+ }
36325
+ }
36326
+
36327
+ // pptx/core/utils/chart-element-format-xml.ts
36328
+ var SP_PR_ORDER2 = [
36329
+ "xfrm",
36330
+ "custGeom",
36331
+ "prstGeom",
36332
+ "noFill",
36333
+ "solidFill",
36334
+ "gradFill",
36335
+ "blipFill",
36336
+ "pattFill",
36337
+ "grpFill",
36338
+ "ln",
36339
+ "effectLst",
36340
+ "effectDag",
36341
+ "scene3d",
36342
+ "sp3d",
36343
+ "extLst"
36344
+ ];
36345
+ var FILL_CHOICE = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
36346
+ var LN_ORDER = [
36347
+ "noFill",
36348
+ "solidFill",
36349
+ "gradFill",
36350
+ "pattFill",
36351
+ "prstDash",
36352
+ "custDash",
36353
+ "round",
36354
+ "bevel",
36355
+ "miter",
36356
+ "headEnd",
36357
+ "tailEnd",
36358
+ "extLst"
36359
+ ];
36360
+ var LN_FILL_CHOICE = ["noFill", "solidFill", "gradFill", "pattFill"];
36361
+ var EFFECT_ORDER = [
36362
+ "blur",
36363
+ "fillOverlay",
36364
+ "glow",
36365
+ "innerShdw",
36366
+ "outerShdw",
36367
+ "prstShdw",
36368
+ "reflection",
36369
+ "softEdge"
36370
+ ];
36371
+ var EMU_PER_POINT2 = 12700;
36372
+ function keyOf(node, name, localName15) {
36373
+ return Object.keys(node).find((key2) => !key2.startsWith("@_") && localName15(key2) === name);
36374
+ }
36375
+ function asObject(value) {
36376
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
36377
+ }
36378
+ function removeChildren(node, names, localName15) {
36379
+ for (const key2 of Object.keys(node)) {
36380
+ if (!key2.startsWith("@_") && names.includes(localName15(key2))) {
36381
+ delete node[key2];
36382
+ }
36383
+ }
36384
+ }
36385
+ function setOrdered(node, name, value, order, localName15) {
36386
+ const existing = keyOf(node, name, localName15);
36387
+ if (existing) {
36388
+ node[existing] = value;
36389
+ return;
36390
+ }
36391
+ const rankOf = (key2) => {
36392
+ if (key2.startsWith("@_")) {
36393
+ return -1;
36394
+ }
36395
+ const r = order.indexOf(localName15(key2));
36396
+ return r < 0 ? order.length : r;
36397
+ };
36398
+ const entries = [...Object.entries(node), [`a:${name}`, value]].map((entry2, index) => ({ entry: entry2, index })).sort((a, b) => rankOf(a.entry[0]) - rankOf(b.entry[0]) || a.index - b.index).map(({ entry: entry2 }) => entry2);
36399
+ for (const key2 of Object.keys(node)) {
36400
+ delete node[key2];
36401
+ }
36402
+ for (const [key2, child16] of entries) {
36403
+ node[key2] = child16;
36404
+ }
36405
+ }
36406
+ function alphaOf(transparency) {
36407
+ if (transparency === void 0 || transparency <= 0) {
36408
+ return void 0;
36409
+ }
36410
+ const clamped = Math.min(100, Math.max(0, transparency));
36411
+ return { "@_val": String(Math.round((100 - clamped) * 1e3)) };
36412
+ }
36413
+ function chartElementColorXml(color2, transparency) {
36414
+ const clr = { "@_val": chunkX7MGZQ6C_cjs.chartColorHex(color2) };
36415
+ const alpha = alphaOf(transparency);
36416
+ if (alpha) {
36417
+ clr["a:alpha"] = alpha;
36418
+ }
36419
+ return { "a:srgbClr": clr };
36420
+ }
36421
+ function setPaintAlpha(paint2, transparency, localName15) {
36422
+ const choiceKey = Object.keys(paint2).find((key2) => !key2.startsWith("@_"));
36423
+ const choice = choiceKey ? asObject(paint2[choiceKey]) : void 0;
36424
+ if (!choiceKey || !choice) {
36425
+ return;
36426
+ }
36427
+ const next = { ...choice };
36428
+ removeChildren(next, ["alpha"], localName15);
36429
+ const alpha = alphaOf(transparency);
36430
+ if (alpha) {
36431
+ next["a:alpha"] = alpha;
36432
+ }
36433
+ paint2[choiceKey] = next;
36434
+ }
36435
+ function applyPaint(node, paint2, choices, order, localName15) {
36436
+ if (paint2.kind === "automatic") {
36437
+ removeChildren(node, choices, localName15);
36438
+ return;
36439
+ }
36440
+ if (paint2.kind === "none") {
36441
+ removeChildren(node, choices, localName15);
36442
+ setOrdered(node, "noFill", {}, order, localName15);
36443
+ return;
36444
+ }
36445
+ if (paint2.color) {
36446
+ removeChildren(node, choices, localName15);
36447
+ setOrdered(
36448
+ node,
36449
+ "solidFill",
36450
+ chartElementColorXml(paint2.color, paint2.transparency),
36451
+ order,
36452
+ localName15
36453
+ );
36454
+ return;
36455
+ }
36456
+ const solidKey = keyOf(node, "solidFill", localName15);
36457
+ const solid = solidKey ? asObject(node[solidKey]) : void 0;
36458
+ if (solid && solidKey && paint2.transparency !== void 0) {
36459
+ const next = { ...solid };
36460
+ setPaintAlpha(next, paint2.transparency, localName15);
36461
+ node[solidKey] = next;
36462
+ }
36463
+ }
36464
+ function applyLine(spPr, line, localName15) {
36465
+ const lnKey = keyOf(spPr, "ln", localName15);
36466
+ const ln = { ...asObject(lnKey ? spPr[lnKey] : void 0) ?? {} };
36467
+ applyPaint(ln, line, LN_FILL_CHOICE, LN_ORDER, localName15);
36468
+ if (line.width !== void 0) {
36469
+ ln["@_w"] = String(Math.round(Math.max(0, line.width) * EMU_PER_POINT2));
36470
+ }
36471
+ if (line.compound !== void 0) {
36472
+ ln["@_cmpd"] = line.compound;
36473
+ }
36474
+ if (line.cap !== void 0) {
36475
+ ln["@_cap"] = line.cap;
36476
+ }
36477
+ if (line.dash !== void 0) {
36478
+ removeChildren(ln, ["custDash"], localName15);
36479
+ setOrdered(ln, "prstDash", { "@_val": line.dash }, LN_ORDER, localName15);
36480
+ }
36481
+ if (line.join !== void 0) {
36482
+ removeChildren(ln, ["round", "bevel", "miter"], localName15);
36483
+ setOrdered(
36484
+ ln,
36485
+ line.join,
36486
+ line.join === "miter" ? { "@_lim": "800000" } : {},
36487
+ LN_ORDER,
36488
+ localName15
36489
+ );
36490
+ }
36491
+ if (line.beginArrow !== void 0) {
36492
+ setOrdered(ln, "headEnd", { "@_type": line.beginArrow }, LN_ORDER, localName15);
36493
+ }
36494
+ if (line.endArrow !== void 0) {
36495
+ setOrdered(ln, "tailEnd", { "@_type": line.endArrow }, LN_ORDER, localName15);
36496
+ }
36497
+ if (Object.keys(ln).length === 0) {
36498
+ if (lnKey) {
36499
+ delete spPr[lnKey];
36500
+ }
36501
+ return;
36502
+ }
36503
+ setOrdered(spPr, "ln", ln, SP_PR_ORDER2, localName15);
36504
+ }
36505
+ var pt = (value) => String(Math.round(Math.max(0, value) * EMU_PER_POINT2));
36506
+ function applyEffects(spPr, effects, localName15) {
36507
+ const key2 = keyOf(spPr, "effectLst", localName15);
36508
+ const list = { ...asObject(key2 ? spPr[key2] : void 0) ?? {} };
36509
+ if (effects.shadow !== void 0) {
36510
+ removeChildren(list, ["outerShdw"], localName15);
36511
+ if (effects.shadow) {
36512
+ const s = effects.shadow;
36513
+ setOrdered(
36514
+ list,
36515
+ "outerShdw",
36516
+ {
36517
+ "@_blurRad": pt(s.blur),
36518
+ "@_dist": pt(s.distance),
36519
+ "@_dir": String(Math.round((s.angle % 360 + 360) % 360 * 6e4)),
36520
+ "@_algn": "tl",
36521
+ "@_rotWithShape": "0",
36522
+ ...chartElementColorXml(s.color, s.transparency)
36523
+ },
36524
+ EFFECT_ORDER,
36525
+ localName15
36526
+ );
36527
+ }
36528
+ }
36529
+ if (effects.glow !== void 0) {
36530
+ removeChildren(list, ["glow"], localName15);
36531
+ if (effects.glow) {
36532
+ setOrdered(
36533
+ list,
36534
+ "glow",
36535
+ {
36536
+ "@_rad": pt(effects.glow.radius),
36537
+ ...chartElementColorXml(effects.glow.color, effects.glow.transparency)
36538
+ },
36539
+ EFFECT_ORDER,
36540
+ localName15
36541
+ );
36542
+ }
36543
+ }
36544
+ if (effects.softEdge !== void 0) {
36545
+ removeChildren(list, ["softEdge"], localName15);
36546
+ if (effects.softEdge !== null && effects.softEdge > 0) {
36547
+ setOrdered(list, "softEdge", { "@_rad": pt(effects.softEdge) }, EFFECT_ORDER, localName15);
36548
+ }
36549
+ }
36550
+ if (Object.keys(list).length === 0) {
36551
+ if (key2) {
36552
+ delete spPr[key2];
36553
+ }
36554
+ return;
36555
+ }
36556
+ setOrdered(spPr, "effectLst", list, SP_PR_ORDER2, localName15);
36557
+ }
36558
+ function applyChartElementFormatToSpPr(existing, format, localName15) {
36559
+ const spPr = format.reset ? {} : { ...existing ?? {} };
36560
+ if (format.fill) {
36561
+ applyPaint(spPr, format.fill, FILL_CHOICE, SP_PR_ORDER2, localName15);
36562
+ }
36563
+ if (format.line) {
36564
+ applyLine(spPr, format.line, localName15);
36565
+ }
36566
+ if (format.effects) {
36567
+ applyEffects(spPr, format.effects, localName15);
36568
+ }
36569
+ return Object.keys(spPr).length > 0 ? spPr : void 0;
36570
+ }
36571
+
36572
+ // pptx/core/utils/chart-element-format-targets.ts
36573
+ var CHART_SPACE_AFTER_SP_PR = ["txPr", "externalData", "printSettings", "userShapes", "extLst"];
36574
+ var TEXT_OWNER_AFTER_SP_PR = ["txPr", "extLst"];
36575
+ var AXIS_AFTER_SP_PR = [
36576
+ "txPr",
36577
+ "crossAx",
36578
+ "crosses",
36579
+ "crossesAt",
36580
+ "crossBetween",
36581
+ "auto",
36582
+ "lblAlgn",
36583
+ "lblOffset",
36584
+ "majorUnit",
36585
+ "minorUnit",
36586
+ "dispUnits",
36587
+ "tickLblSkip",
36588
+ "tickMarkSkip",
36589
+ "noMultiLvlLbl",
36590
+ "baseTimeUnit",
36591
+ "majorTimeUnit",
36592
+ "minorTimeUnit",
36593
+ "extLst"
36594
+ ];
36595
+ var SERIES_AFTER_SP_PR = [
36596
+ "invertIfNegative",
36597
+ "pictureOptions",
36598
+ "marker",
36599
+ "dPt",
36600
+ "dLbls",
36601
+ "trendline",
36602
+ "errBars",
36603
+ "cat",
36604
+ "val",
36605
+ "xVal",
36606
+ "yVal",
36607
+ "smooth",
36608
+ "shape",
36609
+ "explosion",
36610
+ "bubbleSize",
36611
+ "bubble3D",
36612
+ "extLst"
36613
+ ];
36614
+ var DLBLS_AFTER_SP_PR = [
36615
+ "txPr",
36616
+ "dLblPos",
36617
+ "showLegendKey",
36618
+ "showVal",
36619
+ "showCatName",
36620
+ "showSerName",
36621
+ "showPercent",
36622
+ "showBubbleSize",
36623
+ "separator",
36624
+ "showLeaderLines",
36625
+ "leaderLines",
36626
+ "extLst"
36627
+ ];
36628
+ var AXIS_TAGS = ["catAx", "valAx", "dateAx", "serAx"];
36629
+ function keyOf2(node, name, getLocalName2) {
36630
+ return Object.keys(node).find((key2) => !key2.startsWith("@_") && getLocalName2(key2) === name);
36631
+ }
36632
+ function child3(node, name, getLocalName2) {
36633
+ if (!node) {
36634
+ return void 0;
36635
+ }
36636
+ const key2 = keyOf2(node, name, getLocalName2);
36637
+ const value = key2 ? node[key2] : void 0;
36638
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
36639
+ }
36640
+ function children3(node, name, getLocalName2) {
36641
+ const key2 = keyOf2(node, name, getLocalName2);
36642
+ const value = key2 ? node[key2] : void 0;
36643
+ if (Array.isArray(value)) {
36644
+ return value.filter((v) => Boolean(v) && typeof v === "object");
36645
+ }
36646
+ return value && typeof value === "object" ? [value] : [];
36647
+ }
36648
+ function applyFormatToOwner(owner, format, after, getLocalName2) {
36649
+ const spPrKey = keyOf2(owner, "spPr", getLocalName2);
36650
+ const existing = spPrKey ? owner[spPrKey] : void 0;
36651
+ const next = applyChartElementFormatToSpPr(
36652
+ existing && typeof existing === "object" ? existing : void 0,
36653
+ format,
36654
+ getLocalName2
36655
+ );
36656
+ if (spPrKey) {
36657
+ if (next) {
36658
+ owner[spPrKey] = next;
36659
+ } else {
36660
+ delete owner[spPrKey];
36661
+ }
36662
+ return;
36663
+ }
36664
+ if (!next) {
36665
+ return;
36666
+ }
36667
+ const entries = Object.entries(owner);
36668
+ const at = entries.findIndex(
36669
+ ([key2]) => !key2.startsWith("@_") && after.includes(getLocalName2(key2))
36670
+ );
36671
+ entries.splice(at < 0 ? entries.length : at, 0, ["c:spPr", next]);
36672
+ for (const key2 of Object.keys(owner)) {
36673
+ delete owner[key2];
36674
+ }
36675
+ for (const [key2, value] of entries) {
36676
+ owner[key2] = value;
36677
+ }
36678
+ }
36679
+ function findChartAxisNode(plotArea, chartData, axisIndex, getLocalName2) {
36680
+ const axis = chartData.axes?.[axisIndex];
36681
+ if (!axis) {
36682
+ return void 0;
36683
+ }
36684
+ const nodes = AXIS_TAGS.flatMap(
36685
+ (tag) => children3(plotArea, tag, getLocalName2).map((node) => ({ tag, node }))
36686
+ );
36687
+ if (axis.axisId !== void 0) {
36688
+ const byId = nodes.find(
36689
+ ({ node }) => child3(node, "axId", getLocalName2)?.["@_val"] === String(axis.axisId)
36690
+ );
36691
+ if (byId) {
36692
+ return byId.node;
36693
+ }
36694
+ }
36695
+ const sameType = (chartData.axes ?? []).slice(0, axisIndex).filter((a) => a.axisType === axis.axisType).length;
36696
+ return nodes.filter(({ tag }) => tag === axis.axisType)[sameType]?.node;
36697
+ }
36698
+ function canonical(value) {
36699
+ if (Array.isArray(value)) {
36700
+ return `[${value.map(canonical).join(",")}]`;
36701
+ }
36702
+ if (value && typeof value === "object") {
36703
+ const entries = Object.entries(value).filter(([, v]) => v !== void 0).sort(([a], [b]) => a < b ? -1 : 1);
36704
+ return `{${entries.map(([k, v]) => `${JSON.stringify(k)}:${canonical(v)}`).join(",")}}`;
36705
+ }
36706
+ return JSON.stringify(value);
36707
+ }
36708
+ function changedSections(record2, authored) {
36709
+ if (record2.reset) {
36710
+ return record2;
36711
+ }
36712
+ const out = {};
36713
+ for (const section of ["fill", "line", "effects"]) {
36714
+ if (record2[section] !== void 0 && canonical(record2[section]) !== canonical(authored?.[section])) {
36715
+ Object.assign(out, { [section]: record2[section] });
36716
+ }
36717
+ }
36718
+ return Object.keys(out).length > 0 ? out : void 0;
36719
+ }
36720
+ function formatEntries(chartData, authored) {
36721
+ return Object.entries(chartData.elementFormats ?? {}).flatMap(([key2, record2]) => {
36722
+ const target = parseChartFormatTargetKey(key2);
36723
+ const format = target ? changedSections(record2, authored?.[key2]) : void 0;
36724
+ return target && format ? [{ target, format }] : [];
36725
+ });
36726
+ }
36727
+ function applySeriesElementFormatsToXml(seriesNodes, chartData, getLocalName2, authored) {
36728
+ for (const { target, format } of formatEntries(chartData, authored)) {
36729
+ if (target.kind !== "series" && !(target.kind === "dataLabels" && target.seriesIndex !== void 0)) {
36730
+ continue;
36731
+ }
36732
+ const node = seriesNodes[target.seriesIndex ?? -1];
36733
+ if (!node) {
36734
+ continue;
36735
+ }
36736
+ if (target.kind === "series") {
36737
+ applyFormatToOwner(node, format, SERIES_AFTER_SP_PR, getLocalName2);
36738
+ } else {
36739
+ const dLbls = child3(node, "dLbls", getLocalName2);
36740
+ if (dLbls) {
36741
+ applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
36742
+ }
36743
+ }
36744
+ }
36745
+ }
36746
+ function allDataLabelNodes(plotArea, getLocalName2) {
36747
+ const out = [];
36748
+ for (const key2 of Object.keys(plotArea)) {
36749
+ if (!getLocalName2(key2).endsWith("Chart")) {
36750
+ continue;
36751
+ }
36752
+ const container = plotArea[key2];
36753
+ if (!container || typeof container !== "object" || Array.isArray(container)) {
36754
+ continue;
36755
+ }
36756
+ const owners = [
36757
+ container,
36758
+ ...children3(container, "ser", getLocalName2)
36759
+ ];
36760
+ for (const owner of owners) {
36761
+ const dLbls = child3(owner, "dLbls", getLocalName2);
36762
+ if (dLbls) {
36763
+ out.push(dLbls);
36764
+ }
36765
+ }
36766
+ }
36767
+ return out;
36768
+ }
36769
+ function applyChromeElementFormatsToXml(chartSpace, chartData, getLocalName2, authored) {
36770
+ const chartRoot = child3(chartSpace, "chart", getLocalName2);
36771
+ const plotArea = child3(chartRoot, "plotArea", getLocalName2);
36772
+ for (const { target, format } of formatEntries(chartData, authored)) {
36773
+ switch (target.kind) {
36774
+ case "chartArea":
36775
+ applyFormatToOwner(chartSpace, format, CHART_SPACE_AFTER_SP_PR, getLocalName2);
36776
+ break;
36777
+ case "plotArea":
36778
+ if (plotArea) {
36779
+ applyFormatToOwner(plotArea, format, ["extLst"], getLocalName2);
36780
+ }
36781
+ break;
36782
+ case "title":
36783
+ case "legend": {
36784
+ const owner = child3(chartRoot, target.kind, getLocalName2);
36785
+ if (owner) {
36786
+ applyFormatToOwner(owner, format, TEXT_OWNER_AFTER_SP_PR, getLocalName2);
36787
+ }
36788
+ break;
36789
+ }
36790
+ case "axis":
36791
+ case "majorGridlines":
36792
+ case "minorGridlines": {
36793
+ const axis = plotArea ? findChartAxisNode(plotArea, chartData, target.axisIndex, getLocalName2) : void 0;
36794
+ if (!axis) {
36795
+ break;
36796
+ }
36797
+ if (target.kind === "axis") {
36798
+ applyFormatToOwner(axis, format, AXIS_AFTER_SP_PR, getLocalName2);
36799
+ } else {
36800
+ const lines = child3(axis, target.kind, getLocalName2);
36801
+ if (lines) {
36802
+ applyFormatToOwner(lines, format, ["extLst"], getLocalName2);
36803
+ }
36804
+ }
36805
+ break;
36806
+ }
36807
+ case "dataLabels":
36808
+ if (plotArea && target.seriesIndex === void 0) {
36809
+ for (const dLbls of allDataLabelNodes(plotArea, getLocalName2)) {
36810
+ applyFormatToOwner(dLbls, format, DLBLS_AFTER_SP_PR, getLocalName2);
36811
+ }
36812
+ }
36813
+ break;
36814
+ }
36815
+ }
36816
+ }
36817
+
36818
+ // pptx/core/utils/chart-element-format-read-xml.ts
36819
+ var EMU_PER_POINT3 = 12700;
36820
+ function child4(node, name, localName15) {
36821
+ if (!node) {
36822
+ return void 0;
36823
+ }
36824
+ const key2 = Object.keys(node).find((k) => !k.startsWith("@_") && localName15(k) === name);
36825
+ if (!key2) {
36826
+ return void 0;
36827
+ }
36828
+ const value = node[key2];
36829
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
36830
+ }
36831
+ function has(node, name, localName15) {
36832
+ return Boolean(
36833
+ node && Object.keys(node).some((k) => !k.startsWith("@_") && localName15(k) === name)
36834
+ );
36835
+ }
36836
+ var round = (value) => Math.round(value * 100) / 100;
36837
+ var points = (emu2) => {
36838
+ const n = Number(emu2);
36839
+ return Number.isFinite(n) ? round(n / EMU_PER_POINT3) : void 0;
36840
+ };
36841
+ function transparencyOf(fill, localName15) {
36842
+ for (const [key2, value] of Object.entries(fill)) {
36843
+ if (key2.startsWith("@_") || !value || typeof value !== "object") {
36844
+ continue;
36845
+ }
36846
+ const alpha = child4(value, "alpha", localName15)?.["@_val"];
36847
+ const n = Number(alpha);
36848
+ if (alpha !== void 0 && Number.isFinite(n)) {
36849
+ const transparency = round(100 - n / 1e3);
36850
+ return transparency > 0 ? transparency : void 0;
36851
+ }
36852
+ }
36853
+ return void 0;
36854
+ }
36855
+ function paint(node, localName15, resolve) {
36856
+ if (has(node, "noFill", localName15)) {
36857
+ return { kind: "none" };
36858
+ }
36859
+ const solid = child4(node, "solidFill", localName15);
36860
+ if (!solid) {
36861
+ return void 0;
36862
+ }
36863
+ const color2 = resolve(solid);
36864
+ const transparency = transparencyOf(solid, localName15);
36865
+ return {
36866
+ kind: "solid",
36867
+ ...color2 ? { color: color2 } : {},
36868
+ ...transparency !== void 0 ? { transparency } : {}
36869
+ };
36870
+ }
36871
+ var LINE_ENDS = /* @__PURE__ */ new Set(["triangle", "stealth", "diamond", "oval", "arrow", "none"]);
36872
+ function readLine(ln, localName15, resolve) {
36873
+ const line = paint(ln, localName15, resolve) ?? { kind: "automatic" };
36874
+ const width = points(ln["@_w"]);
36875
+ if (ln["@_w"] !== void 0 && width !== void 0) line.width = width;
36876
+ const cmpd = ln["@_cmpd"];
36877
+ if (cmpd === "sng" || cmpd === "dbl" || cmpd === "thickThin" || cmpd === "thinThick" || cmpd === "tri") {
36878
+ line.compound = cmpd;
36879
+ }
36880
+ const cap = ln["@_cap"];
36881
+ if (cap === "rnd" || cap === "sq" || cap === "flat") line.cap = cap;
36882
+ const dash = child4(ln, "prstDash", localName15)?.["@_val"];
36883
+ if (typeof dash === "string") line.dash = dash;
36884
+ for (const join of ["round", "bevel", "miter"]) {
36885
+ if (has(ln, join, localName15)) line.join = join;
36886
+ }
36887
+ const head = child4(ln, "headEnd", localName15)?.["@_type"];
36888
+ if (typeof head === "string" && LINE_ENDS.has(head) && head !== "none") {
36889
+ line.beginArrow = head;
36890
+ }
36891
+ const tail = child4(ln, "tailEnd", localName15)?.["@_type"];
36892
+ if (typeof tail === "string" && LINE_ENDS.has(tail) && tail !== "none") {
36893
+ line.endArrow = tail;
36894
+ }
36895
+ return line;
36896
+ }
36897
+ function readEffects(list, localName15, resolve) {
36898
+ const effects = {};
36899
+ const shadow = child4(list, "outerShdw", localName15);
36900
+ if (shadow) {
36901
+ const color2 = resolve(shadow) ?? "#000000";
36902
+ const transparency = transparencyOf(shadow, localName15);
36903
+ effects.shadow = {
36904
+ color: color2,
36905
+ ...transparency !== void 0 ? { transparency } : {},
36906
+ blur: points(shadow["@_blurRad"] ?? 0) ?? 0,
36907
+ distance: points(shadow["@_dist"] ?? 0) ?? 0,
36908
+ angle: round((Number(shadow["@_dir"] ?? 0) || 0) / 6e4)
36909
+ };
36910
+ }
36911
+ const glow = child4(list, "glow", localName15);
36912
+ if (glow) {
36913
+ const transparency = transparencyOf(glow, localName15);
36914
+ effects.glow = {
36915
+ color: resolve(glow) ?? "#FFFFFF",
36916
+ ...transparency !== void 0 ? { transparency } : {},
36917
+ radius: points(glow["@_rad"] ?? 0) ?? 0
36918
+ };
36919
+ }
36920
+ const soft = child4(list, "softEdge", localName15);
36921
+ if (soft) {
36922
+ effects.softEdge = points(soft["@_rad"] ?? 0) ?? 0;
36923
+ }
36924
+ return Object.keys(effects).length > 0 ? effects : void 0;
36925
+ }
36926
+ function readChartElementFormatFromSpPr(spPr, localName15, resolve) {
36927
+ if (!spPr) {
36928
+ return void 0;
36929
+ }
36930
+ const format = {};
36931
+ const fill = paint(spPr, localName15, resolve);
36932
+ if (fill) format.fill = fill;
36933
+ const ln = child4(spPr, "ln", localName15);
36934
+ if (ln) format.line = readLine(ln, localName15, resolve);
36935
+ const effectLst = child4(spPr, "effectLst", localName15);
36936
+ const effects = effectLst ? readEffects(effectLst, localName15, resolve) : void 0;
36937
+ if (effects) format.effects = effects;
36938
+ return Object.keys(format).length > 0 ? format : void 0;
36939
+ }
36940
+ function collectChartSeriesNodes(plotArea, localName15) {
36941
+ const out = [];
36942
+ for (const [key2, value] of Object.entries(plotArea ?? {})) {
36943
+ if (!localName15(key2).endsWith("Chart") || !value || typeof value !== "object") {
36944
+ continue;
36945
+ }
36946
+ for (const [childKey2, ser] of Object.entries(value)) {
36947
+ if (localName15(childKey2) !== "ser") continue;
36948
+ for (const node of Array.isArray(ser) ? ser : [ser]) {
36949
+ if (node && typeof node === "object") out.push(node);
36950
+ }
36951
+ }
36952
+ }
36953
+ return out;
36954
+ }
36955
+ function readChartElementFormatsFromXml(nodes, data, localName15, resolve) {
36956
+ const out = {};
36957
+ const spPrOf = (owner) => readChartElementFormatFromSpPr(child4(owner, "spPr", localName15), localName15, resolve);
36958
+ const put = (key2, format) => {
36959
+ if (format) out[key2] = format;
36960
+ };
36961
+ const chartRoot = child4(nodes.chartSpace, "chart", localName15);
36962
+ const plotArea = child4(chartRoot, "plotArea", localName15);
36963
+ put("chartArea", spPrOf(nodes.chartSpace));
36964
+ put("plotArea", spPrOf(plotArea));
36965
+ put("title", spPrOf(child4(chartRoot, "title", localName15)));
36966
+ put("legend", spPrOf(child4(chartRoot, "legend", localName15)));
36967
+ (data.axes ?? []).forEach((_, axisIndex) => {
36968
+ const axis = plotArea ? findChartAxisNode(plotArea, data, axisIndex, localName15) : void 0;
36969
+ put(`axis:${axisIndex}`, spPrOf(axis));
36970
+ put(`majorGridlines:${axisIndex}`, spPrOf(child4(axis, "majorGridlines", localName15)));
36971
+ put(`minorGridlines:${axisIndex}`, spPrOf(child4(axis, "minorGridlines", localName15)));
36972
+ });
36973
+ nodes.seriesNodes.forEach((ser, index) => put(`series:${index}`, spPrOf(ser)));
36974
+ for (const [key2, value] of Object.entries(plotArea ?? {})) {
36975
+ if (localName15(key2).endsWith("Chart") && value && typeof value === "object") {
36976
+ const own = spPrOf(child4(value, "dLbls", localName15));
36977
+ if (own) {
36978
+ put("dataLabels", own);
36979
+ break;
36980
+ }
36981
+ }
36982
+ }
36983
+ if (!out.dataLabels && nodes.seriesNodes[0]) {
36984
+ put("dataLabels", spPrOf(child4(nodes.seriesNodes[0], "dLbls", localName15)));
36985
+ }
36986
+ return Object.keys(out).length > 0 ? out : void 0;
36987
+ }
36988
+
36301
36989
  // pptx/core/utils/chart-xlsx-write-validation.ts
36302
36990
  function unsupported(reason) {
36303
36991
  throw new Error(`Chart label replacement requires direct literal workbook cells: ${reason}.`);
@@ -36549,7 +37237,7 @@ function formulaCount(value) {
36549
37237
  if (!value || typeof value !== "object") return 0;
36550
37238
  if (Array.isArray(value)) return value.reduce((total, item) => total + formulaCount(item), 0);
36551
37239
  return Object.entries(value).reduce(
36552
- (total, [key2, child14]) => total + (key2 === "f" || key2.endsWith(":f") ? 1 : formulaCount(child14)),
37240
+ (total, [key2, child16]) => total + (key2 === "f" || key2.endsWith(":f") ? 1 : formulaCount(child16)),
36553
37241
  0
36554
37242
  );
36555
37243
  }
@@ -36641,7 +37329,7 @@ function parseChartBandFmts(seriesContainer, xmlLookup, colorParser) {
36641
37329
  return result.length > 0 ? result : void 0;
36642
37330
  }
36643
37331
  var findKey3 = (node, name, localName15) => Object.keys(node).find((key2) => localName15(key2) === name);
36644
- function setOrdered(node, name, value, order, localName15) {
37332
+ function setOrdered2(node, name, value, order, localName15) {
36645
37333
  const key2 = findKey3(node, name, localName15);
36646
37334
  if (key2) {
36647
37335
  node[key2] = value;
@@ -36657,8 +37345,8 @@ function setOrdered(node, name, value, order, localName15) {
36657
37345
  for (const candidate of Object.keys(node)) {
36658
37346
  delete node[candidate];
36659
37347
  }
36660
- for (const [candidate, child14] of entries) {
36661
- node[candidate] = child14;
37348
+ for (const [candidate, child16] of entries) {
37349
+ node[candidate] = child16;
36662
37350
  }
36663
37351
  }
36664
37352
  function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor2) {
@@ -36696,10 +37384,10 @@ function applyChartBandFmts(seriesContainer, bandFmts, localName15, resolveColor
36696
37384
  localName15,
36697
37385
  resolveColor2
36698
37386
  );
36699
- setOrdered(node, "spPr", spPr, ["idx", "spPr", "extLst"], localName15);
37387
+ setOrdered2(node, "spPr", spPr, ["idx", "spPr", "extLst"], localName15);
36700
37388
  }
36701
37389
  }
36702
- setOrdered(
37390
+ setOrdered2(
36703
37391
  seriesContainer,
36704
37392
  "bandFmts",
36705
37393
  { "c:bandFmt": updated },
@@ -36860,10 +37548,10 @@ function readCachedValues(refContainer, xmlLookup) {
36860
37548
  if (!cacheNode) {
36861
37549
  return [];
36862
37550
  }
36863
- const points4 = xmlLookup.getChildrenArrayByLocalName(cacheNode, "pt");
37551
+ const points5 = xmlLookup.getChildrenArrayByLocalName(cacheNode, "pt");
36864
37552
  const byIndex = /* @__PURE__ */ new Map();
36865
37553
  let maxIndex = -1;
36866
- for (const point of points4) {
37554
+ for (const point of points5) {
36867
37555
  const idx = Number.parseInt(String(point["@_idx"] ?? ""), 10);
36868
37556
  if (!Number.isInteger(idx) || idx < 0) {
36869
37557
  continue;
@@ -37088,7 +37776,7 @@ function readChartAppearance(text, properties) {
37088
37776
  }
37089
37777
 
37090
37778
  // chart/read-style.ts
37091
- var child3 = (parent, name) => chunkX7MGZQ6C_cjs.first(parent, name, CHART_COLOR_STYLE_NS);
37779
+ var child5 = (parent, name) => chunkX7MGZQ6C_cjs.first(parent, name, CHART_COLOR_STYLE_NS);
37092
37780
  function reference(node) {
37093
37781
  if (!node) return void 0;
37094
37782
  const out = { index: node.getAttribute("idx") ?? "" };
@@ -37099,10 +37787,10 @@ function reference(node) {
37099
37787
  function entry(node) {
37100
37788
  const out = {
37101
37789
  sourceXml: chunkX7MGZQ6C_cjs.buildXml(node),
37102
- ...readChartAppearance(child3(node, "defRPr"), child3(node, "spPr"))
37790
+ ...readChartAppearance(child5(node, "defRPr"), child5(node, "spPr"))
37103
37791
  };
37104
37792
  for (const key2 of ["fontRef", "lineRef", "fillRef", "effectRef"]) {
37105
- const ref = reference(child3(node, key2 === "lineRef" ? "lnRef" : key2));
37793
+ const ref = reference(child5(node, key2 === "lineRef" ? "lnRef" : key2));
37106
37794
  if (ref) out[key2] = ref;
37107
37795
  }
37108
37796
  return out;
@@ -37193,11 +37881,11 @@ function cEnum(context, parent, local, allowed) {
37193
37881
  return void 0;
37194
37882
  }
37195
37883
  function reportUnmodelled(context, element, handled) {
37196
- for (const child14 of chunkX7MGZQ6C_cjs.elements(element)) {
37197
- if (handled.has(child14.localName)) continue;
37884
+ for (const child16 of chunkX7MGZQ6C_cjs.elements(element)) {
37885
+ if (handled.has(child16.localName)) continue;
37198
37886
  context.issues.push({
37199
37887
  code: "CHART_ELEMENT_NOT_MODELLED",
37200
- message: `${path(child14)} is not modelled; it is kept only in the source part.`
37888
+ message: `${path(child16)} is not modelled; it is kept only in the source part.`
37201
37889
  });
37202
37890
  }
37203
37891
  }
@@ -37270,11 +37958,11 @@ function assignDefined(target, values) {
37270
37958
  function parseCache(node) {
37271
37959
  const cache = {
37272
37960
  type: node.localName === "numCache" || node.localName === "numLit" ? "number" : "string",
37273
- points: chunkX7MGZQ6C_cjs.children(node, "pt", chunkX7MGZQ6C_cjs.NS.c).map((pt) => {
37274
- const point = { value: cChild(pt, "v")?.textContent ?? "" };
37275
- const index = Number(attribute(pt, "idx") ?? Number.NaN);
37961
+ points: chunkX7MGZQ6C_cjs.children(node, "pt", chunkX7MGZQ6C_cjs.NS.c).map((pt2) => {
37962
+ const point = { value: cChild(pt2, "v")?.textContent ?? "" };
37963
+ const index = Number(attribute(pt2, "idx") ?? Number.NaN);
37276
37964
  if (Number.isInteger(index) && index >= 0) point.index = index;
37277
- const formatCode3 = attribute(pt, "formatCode");
37965
+ const formatCode3 = attribute(pt2, "formatCode");
37278
37966
  if (formatCode3 !== void 0) point.formatCode = formatCode3;
37279
37967
  return point;
37280
37968
  })
@@ -37887,15 +38575,15 @@ function parsePlotArea(context, element) {
37887
38575
  return plotArea;
37888
38576
  }
37889
38577
  const handled = new Set(PLOT_AREA);
37890
- for (const child14 of chunkX7MGZQ6C_cjs.elements(element)) {
37891
- if (CHART_GROUP_ELEMENTS[child14.localName]) {
37892
- plotArea.groups.push(parseGroup(context, child14));
37893
- handled.add(child14.localName);
38578
+ for (const child16 of chunkX7MGZQ6C_cjs.elements(element)) {
38579
+ if (CHART_GROUP_ELEMENTS[child16.localName]) {
38580
+ plotArea.groups.push(parseGroup(context, child16));
38581
+ handled.add(child16.localName);
37894
38582
  }
37895
- const axis = AXIS_ELEMENTS[child14.localName];
38583
+ const axis = AXIS_ELEMENTS[child16.localName];
37896
38584
  if (axis) {
37897
- plotArea.axes.push(parseAxis(context, child14, axis));
37898
- handled.add(child14.localName);
38585
+ plotArea.axes.push(parseAxis(context, child16, axis));
38586
+ handled.add(child16.localName);
37899
38587
  }
37900
38588
  }
37901
38589
  reportUnmodelled(context, element, handled);
@@ -38186,9 +38874,9 @@ function take(pool, index) {
38186
38874
  const at = pool.findIndex((entry2) => entry2.index === index);
38187
38875
  return at < 0 ? void 0 : pool.splice(at, 1)[0];
38188
38876
  }
38189
- function dataPointsFromNeutral(points4, styled) {
38877
+ function dataPointsFromNeutral(points5, styled) {
38190
38878
  if (!styled) return void 0;
38191
- const pool = [...points4];
38879
+ const pool = [...points5];
38192
38880
  for (const point of styled) {
38193
38881
  const neutral = take(pool, point.idx);
38194
38882
  if (!neutral) continue;
@@ -38974,11 +39662,11 @@ var MARKER_SYMBOLS2 = /* @__PURE__ */ new Set([
38974
39662
  "x",
38975
39663
  "auto"
38976
39664
  ]);
38977
- function keyOf(node, name, localName15) {
39665
+ function keyOf3(node, name, localName15) {
38978
39666
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
38979
39667
  }
38980
39668
  function nodesOf(node, name, localName15) {
38981
- const key2 = keyOf(node, name, localName15);
39669
+ const key2 = keyOf3(node, name, localName15);
38982
39670
  const value = key2 ? node[key2] : void 0;
38983
39671
  const values = Array.isArray(value) ? value : value ? [value] : [];
38984
39672
  return values.filter(
@@ -39002,7 +39690,7 @@ function literalColor(fillNode, localName15, colorParser) {
39002
39690
  return resolved;
39003
39691
  }
39004
39692
  }
39005
- const srgbKey = keyOf(fillNode, "srgbClr", localName15);
39693
+ const srgbKey = keyOf3(fillNode, "srgbClr", localName15);
39006
39694
  const srgb = srgbKey ? fillNode[srgbKey] : void 0;
39007
39695
  const val = srgb?.["@_val"];
39008
39696
  return typeof val === "string" && /^[0-9A-Fa-f]{6}$/u.test(val) ? `#${val.toUpperCase()}` : void 0;
@@ -39012,7 +39700,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
39012
39700
  return void 0;
39013
39701
  }
39014
39702
  const result = {};
39015
- const solidFillKey = keyOf(spPrNode, "solidFill", localName15);
39703
+ const solidFillKey = keyOf3(spPrNode, "solidFill", localName15);
39016
39704
  const fillColor = literalColor(
39017
39705
  solidFillKey ? spPrNode[solidFillKey] : void 0,
39018
39706
  localName15,
@@ -39021,10 +39709,10 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
39021
39709
  if (fillColor) {
39022
39710
  result.fillColor = fillColor;
39023
39711
  }
39024
- const lnKey = keyOf(spPrNode, "ln", localName15);
39712
+ const lnKey = keyOf3(spPrNode, "ln", localName15);
39025
39713
  const ln = lnKey ? spPrNode[lnKey] : void 0;
39026
39714
  if (ln) {
39027
- const lnFillKey = keyOf(ln, "solidFill", localName15);
39715
+ const lnFillKey = keyOf3(ln, "solidFill", localName15);
39028
39716
  const strokeColor = literalColor(
39029
39717
  lnFillKey ? ln[lnFillKey] : void 0,
39030
39718
  localName15,
@@ -39037,7 +39725,7 @@ function parseTypedShapeProps(spPrNode, localName15, colorParser) {
39037
39725
  if (w !== void 0) {
39038
39726
  result.strokeWidth = w / 12700;
39039
39727
  }
39040
- const dashKey = keyOf(ln, "prstDash", localName15);
39728
+ const dashKey = keyOf3(ln, "prstDash", localName15);
39041
39729
  const dash = dashKey ? ln[dashKey]?.["@_val"] : void 0;
39042
39730
  if (dash !== void 0 && dash !== null && String(dash).length > 0) {
39043
39731
  result.strokeDashStyle = String(dash);
@@ -39049,20 +39737,20 @@ function parseTypedMarker(markerNode, localName15, colorParser) {
39049
39737
  if (!markerNode) {
39050
39738
  return void 0;
39051
39739
  }
39052
- const symbolKey = keyOf(markerNode, "symbol", localName15);
39740
+ const symbolKey = keyOf3(markerNode, "symbol", localName15);
39053
39741
  const symbolNode = symbolKey ? markerNode[symbolKey] : void 0;
39054
39742
  const rawSymbol = String(symbolNode?.["@_val"] ?? "").trim();
39055
39743
  if (!MARKER_SYMBOLS2.has(rawSymbol)) {
39056
39744
  return void 0;
39057
39745
  }
39058
39746
  const marker = { symbol: rawSymbol };
39059
- const sizeKey = keyOf(markerNode, "size", localName15);
39747
+ const sizeKey = keyOf3(markerNode, "size", localName15);
39060
39748
  const sizeNode = sizeKey ? markerNode[sizeKey] : void 0;
39061
39749
  const size = Number(sizeNode?.["@_val"]);
39062
39750
  if (Number.isInteger(size) && size >= 2 && size <= 72) {
39063
39751
  marker.size = size;
39064
39752
  }
39065
- const spPrKey = keyOf(markerNode, "spPr", localName15);
39753
+ const spPrKey = keyOf3(markerNode, "spPr", localName15);
39066
39754
  const spPr = parseTypedShapeProps(
39067
39755
  spPrKey ? markerNode[spPrKey] : void 0,
39068
39756
  localName15,
@@ -39107,7 +39795,7 @@ function parseTypedTextStyle(txPrNode, localName15, colorParser) {
39107
39795
  return Object.keys(style).length > 0 ? style : void 0;
39108
39796
  }
39109
39797
  function resolveSpPrOverride(node, value, localName15, colorParser) {
39110
- const existingKey = keyOf(node, "spPr", localName15);
39798
+ const existingKey = keyOf3(node, "spPr", localName15);
39111
39799
  const existing = existingKey ? node[existingKey] : void 0;
39112
39800
  if (value.shapeProperties && JSON.stringify(parseTypedShapeProps(existing, localName15, colorParser)) !== JSON.stringify(value.shapeProperties)) {
39113
39801
  return chunkX7MGZQ6C_cjs.writeChartShapeProps(
@@ -39120,7 +39808,7 @@ function resolveSpPrOverride(node, value, localName15, colorParser) {
39120
39808
  return value.shapePropertiesXml;
39121
39809
  }
39122
39810
  function resolveTxPrOverride(node, value, localName15, colorParser) {
39123
- const existingKey = keyOf(node, "txPr", localName15);
39811
+ const existingKey = keyOf3(node, "txPr", localName15);
39124
39812
  const existing = existingKey ? node[existingKey] : void 0;
39125
39813
  if (value.textStyle && JSON.stringify(parseTypedTextStyle(existing, localName15, colorParser)) !== JSON.stringify(value.textStyle)) {
39126
39814
  const authoredDefRPr = existing ? resolveDefRPr(existing, localName15) : void 0;
@@ -39133,7 +39821,7 @@ function resolveTxPrOverride(node, value, localName15, colorParser) {
39133
39821
  return value.txPrXml;
39134
39822
  }
39135
39823
  function resolveMarkerOverride(node, value, localName15, colorParser) {
39136
- const existingKey = keyOf(node, "marker", localName15);
39824
+ const existingKey = keyOf3(node, "marker", localName15);
39137
39825
  const existing = existingKey ? node[existingKey] : void 0;
39138
39826
  if (value.marker && JSON.stringify(parseTypedMarker(existing, localName15, colorParser)) !== JSON.stringify(value.marker)) {
39139
39827
  return chunkX7MGZQ6C_cjs.buildChartMarkerXml(
@@ -39154,12 +39842,12 @@ function prefixOf2(key2) {
39154
39842
  return key2?.includes(":") ? key2.slice(0, key2.lastIndexOf(":")) : "";
39155
39843
  }
39156
39844
  function cloneChild(node, name, localName15) {
39157
- const key2 = keyOf(node, name, localName15);
39845
+ const key2 = keyOf3(node, name, localName15);
39158
39846
  const value = key2 ? node[key2] : void 0;
39159
39847
  return value && typeof value === "object" && !Array.isArray(value) ? chunkX7MGZQ6C_cjs.cloneXmlObject(value) : void 0;
39160
39848
  }
39161
39849
  function parseChartPivotFormats(chart, localName15, colorParser) {
39162
- const rootKey = keyOf(chart, "pivotFmts", localName15);
39850
+ const rootKey = keyOf3(chart, "pivotFmts", localName15);
39163
39851
  const value = rootKey ? chart?.[rootKey] : void 0;
39164
39852
  if (!value || typeof value !== "object" || Array.isArray(value)) {
39165
39853
  return void 0;
@@ -39167,17 +39855,17 @@ function parseChartPivotFormats(chart, localName15, colorParser) {
39167
39855
  const root = value;
39168
39856
  const formats = [];
39169
39857
  for (const node of nodesOf(root, "pivotFmt", localName15)) {
39170
- const idxKey = keyOf(node, "idx", localName15);
39858
+ const idxKey = keyOf3(node, "idx", localName15);
39171
39859
  const idxNode = idxKey ? node[idxKey] : void 0;
39172
39860
  const index = idxNode && typeof idxNode === "object" && !Array.isArray(idxNode) ? unsigned(idxNode["@_val"]) : void 0;
39173
39861
  if (index === void 0) {
39174
39862
  continue;
39175
39863
  }
39176
- const spPrKey = keyOf(node, "spPr", localName15);
39864
+ const spPrKey = keyOf3(node, "spPr", localName15);
39177
39865
  const spPrNode = spPrKey ? node[spPrKey] : void 0;
39178
- const txPrKey = keyOf(node, "txPr", localName15);
39866
+ const txPrKey = keyOf3(node, "txPr", localName15);
39179
39867
  const txPrNode = txPrKey ? node[txPrKey] : void 0;
39180
- const markerKey = keyOf(node, "marker", localName15);
39868
+ const markerKey = keyOf3(node, "marker", localName15);
39181
39869
  const markerNode = markerKey ? node[markerKey] : void 0;
39182
39870
  const shapeProperties2 = parseTypedShapeProps(spPrNode, localName15, colorParser);
39183
39871
  const textStyle = parseTypedTextStyle(txPrNode, localName15, colorParser);
@@ -39201,7 +39889,7 @@ function setChild(node, name, value, prefix, localName15) {
39201
39889
  if (value === void 0) {
39202
39890
  return;
39203
39891
  }
39204
- const key2 = keyOf(node, name, localName15);
39892
+ const key2 = keyOf3(node, name, localName15);
39205
39893
  if (value === null) {
39206
39894
  if (key2) {
39207
39895
  delete node[key2];
@@ -39215,7 +39903,7 @@ function buildFormat(value, prefix, localName15, colorParser) {
39215
39903
  throw new RangeError(`pivotFmt.index must be an integer from 0 through ${MAX_UINT}`);
39216
39904
  }
39217
39905
  const node = chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
39218
- const idxKey = keyOf(node, "idx", localName15) ?? `${prefix}:idx`;
39906
+ const idxKey = keyOf3(node, "idx", localName15) ?? `${prefix}:idx`;
39219
39907
  const idxValue = node[idxKey];
39220
39908
  const idx = idxValue && typeof idxValue === "object" && !Array.isArray(idxValue) ? idxValue : {};
39221
39909
  idx["@_val"] = String(value.index);
@@ -39248,21 +39936,21 @@ function buildFormat(value, prefix, localName15, colorParser) {
39248
39936
  delete node[key2];
39249
39937
  }
39250
39938
  for (const name of CHILDREN) {
39251
- for (const [key2, child14] of entries) {
39939
+ for (const [key2, child16] of entries) {
39252
39940
  if (localName15(key2) === name) {
39253
- node[key2] = child14;
39941
+ node[key2] = child16;
39254
39942
  }
39255
39943
  }
39256
39944
  }
39257
- for (const [key2, child14] of entries) {
39945
+ for (const [key2, child16] of entries) {
39258
39946
  if (!CHILDREN.includes(localName15(key2))) {
39259
- node[key2] = child14;
39947
+ node[key2] = child16;
39260
39948
  }
39261
39949
  }
39262
39950
  return node;
39263
39951
  }
39264
39952
  function applyChartPivotFormats(chart, value, localName15, colorParser) {
39265
- const rootKey = keyOf(chart, "pivotFmts", localName15);
39953
+ const rootKey = keyOf3(chart, "pivotFmts", localName15);
39266
39954
  if (value === null) {
39267
39955
  if (rootKey) {
39268
39956
  delete chart[rootKey];
@@ -39272,9 +39960,9 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
39272
39960
  if (!value.formats.length) {
39273
39961
  throw new RangeError("pivotFormats.formats must not be empty");
39274
39962
  }
39275
- const prefix = prefixOf2(rootKey ?? keyOf(chart, "plotArea", localName15)) || "c";
39963
+ const prefix = prefixOf2(rootKey ?? keyOf3(chart, "plotArea", localName15)) || "c";
39276
39964
  const root = chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
39277
- const itemKey = keyOf(root, "pivotFmt", localName15) ?? `${prefix}:pivotFmt`;
39965
+ const itemKey = keyOf3(root, "pivotFmt", localName15) ?? `${prefix}:pivotFmt`;
39278
39966
  root[itemKey] = value.formats.map((item) => buildFormat(item, prefix, localName15, colorParser));
39279
39967
  if (rootKey) {
39280
39968
  chart[rootKey] = root;
@@ -39285,12 +39973,12 @@ function applyChartPivotFormats(chart, value, localName15, colorParser) {
39285
39973
  delete chart[key2];
39286
39974
  }
39287
39975
  let inserted = false;
39288
- for (const [key2, child14] of entries) {
39976
+ for (const [key2, child16] of entries) {
39289
39977
  if (!inserted && ROOT_FOLLOWERS.includes(localName15(key2))) {
39290
39978
  chart[`${prefix}:pivotFmts`] = root;
39291
39979
  inserted = true;
39292
39980
  }
39293
- chart[key2] = child14;
39981
+ chart[key2] = child16;
39294
39982
  }
39295
39983
  if (!inserted) {
39296
39984
  chart[`${prefix}:pivotFmts`] = root;
@@ -39307,16 +39995,16 @@ var HEADER_CHILDREN = [
39307
39995
  "firstFooter"
39308
39996
  ];
39309
39997
  var ORIENTATIONS = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
39310
- function keyOf2(node, name, localName15) {
39998
+ function keyOf4(node, name, localName15) {
39311
39999
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
39312
40000
  }
39313
- function child4(node, name, localName15) {
39314
- const key2 = keyOf2(node, name, localName15);
40001
+ function child6(node, name, localName15) {
40002
+ const key2 = keyOf4(node, name, localName15);
39315
40003
  const value = key2 ? node?.[key2] : void 0;
39316
40004
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
39317
40005
  }
39318
40006
  function childText(node, name, localName15) {
39319
- const key2 = keyOf2(node, name, localName15);
40007
+ const key2 = keyOf4(node, name, localName15);
39320
40008
  if (!key2) {
39321
40009
  return void 0;
39322
40010
  }
@@ -39422,15 +40110,15 @@ function parsePageSetup(node) {
39422
40110
  return result;
39423
40111
  }
39424
40112
  function parseChartPrintSettings(chartSpace, localName15) {
39425
- const node = child4(chartSpace, "printSettings", localName15);
40113
+ const node = child6(chartSpace, "printSettings", localName15);
39426
40114
  if (!node) {
39427
40115
  return void 0;
39428
40116
  }
39429
- const header = child4(node, "headerFooter", localName15);
39430
- const margins = child4(node, "pageMargins", localName15);
40117
+ const header = child6(node, "headerFooter", localName15);
40118
+ const margins = child6(node, "pageMargins", localName15);
39431
40119
  const parsedMargins = margins ? parseMargins(margins) : void 0;
39432
- const setup = child4(node, "pageSetup", localName15);
39433
- const legacy = child4(node, "legacyDrawingHF", localName15);
40120
+ const setup = child6(node, "pageSetup", localName15);
40121
+ const legacy = child6(node, "legacyDrawingHF", localName15);
39434
40122
  const relationshipId = legacy ? Object.entries(legacy).find(([key2]) => key2.startsWith("@_") && localName15(key2) === "id")?.[1] : void 0;
39435
40123
  return {
39436
40124
  ...header ? { headerFooter: parseHeaderFooter(header, localName15) } : {},
@@ -39452,11 +40140,11 @@ var HEADER_CHILDREN2 = [
39452
40140
  ];
39453
40141
  var PRINT_CHILDREN = ["headerFooter", "pageMargins", "pageSetup", "legacyDrawingHF"];
39454
40142
  var ORIENTATIONS2 = /* @__PURE__ */ new Set(["default", "portrait", "landscape"]);
39455
- function keyOf3(node, name, localName15) {
40143
+ function keyOf5(node, name, localName15) {
39456
40144
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
39457
40145
  }
39458
- function child5(node, name, localName15) {
39459
- const key2 = keyOf3(node, name, localName15);
40146
+ function child7(node, name, localName15) {
40147
+ const key2 = keyOf5(node, name, localName15);
39460
40148
  const value = key2 ? node?.[key2] : void 0;
39461
40149
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
39462
40150
  }
@@ -39495,7 +40183,7 @@ function replaceChildrenInOrder(node, names, localName15) {
39495
40183
  function applyHeaderFooter(existing, value, localName15, prefix) {
39496
40184
  const node = chunkX7MGZQ6C_cjs.cloneXmlObject(existing) ?? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {};
39497
40185
  for (const name of HEADER_CHILDREN2) {
39498
- const oldKey = keyOf3(node, name, localName15);
40186
+ const oldKey = keyOf5(node, name, localName15);
39499
40187
  if (value[name] === void 0) {
39500
40188
  if (oldKey) {
39501
40189
  delete node[oldKey];
@@ -39550,7 +40238,7 @@ function applyPageSetup(existing, value) {
39550
40238
  return node;
39551
40239
  }
39552
40240
  function setChild2(node, name, value, localName15, prefix) {
39553
- const oldKey = keyOf3(node, name, localName15);
40241
+ const oldKey = keyOf5(node, name, localName15);
39554
40242
  if (value === null) {
39555
40243
  if (oldKey) {
39556
40244
  delete node[oldKey];
@@ -39560,7 +40248,7 @@ function setChild2(node, name, value, localName15, prefix) {
39560
40248
  }
39561
40249
  }
39562
40250
  function applyChartPrintSettings(chartSpace, settings, localName15) {
39563
- const rootKey = keyOf3(chartSpace, "printSettings", localName15);
40251
+ const rootKey = keyOf5(chartSpace, "printSettings", localName15);
39564
40252
  if (settings === null) {
39565
40253
  if (rootKey) {
39566
40254
  delete chartSpace[rootKey];
@@ -39569,13 +40257,13 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
39569
40257
  }
39570
40258
  const existing = rootKey ? chartSpace[rootKey] : void 0;
39571
40259
  const node = chunkX7MGZQ6C_cjs.cloneXmlObject(existing) ?? chunkX7MGZQ6C_cjs.cloneXmlObject(settings.rawXml) ?? {};
39572
- const prefix = prefixOf3(rootKey ?? keyOf3(chartSpace, "chart", localName15)) || "c";
40260
+ const prefix = prefixOf3(rootKey ?? keyOf5(chartSpace, "chart", localName15)) || "c";
39573
40261
  if (settings.headerFooter !== void 0) {
39574
40262
  setChild2(
39575
40263
  node,
39576
40264
  "headerFooter",
39577
40265
  settings.headerFooter === null ? null : applyHeaderFooter(
39578
- child5(node, "headerFooter", localName15),
40266
+ child7(node, "headerFooter", localName15),
39579
40267
  settings.headerFooter,
39580
40268
  localName15,
39581
40269
  prefix
@@ -39588,7 +40276,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
39588
40276
  setChild2(
39589
40277
  node,
39590
40278
  "pageMargins",
39591
- settings.pageMargins === null ? null : applyMargins(child5(node, "pageMargins", localName15), settings.pageMargins),
40279
+ settings.pageMargins === null ? null : applyMargins(child7(node, "pageMargins", localName15), settings.pageMargins),
39592
40280
  localName15,
39593
40281
  prefix
39594
40282
  );
@@ -39597,7 +40285,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
39597
40285
  setChild2(
39598
40286
  node,
39599
40287
  "pageSetup",
39600
- settings.pageSetup === null ? null : applyPageSetup(child5(node, "pageSetup", localName15), settings.pageSetup),
40288
+ settings.pageSetup === null ? null : applyPageSetup(child7(node, "pageSetup", localName15), settings.pageSetup),
39601
40289
  localName15,
39602
40290
  prefix
39603
40291
  );
@@ -39606,7 +40294,7 @@ function applyChartPrintSettings(chartSpace, settings, localName15) {
39606
40294
  if (settings.legacyDrawingHeaderFooterRelationshipId === null) {
39607
40295
  setChild2(node, "legacyDrawingHF", null, localName15, prefix);
39608
40296
  } else {
39609
- const legacy = chunkX7MGZQ6C_cjs.cloneXmlObject(child5(node, "legacyDrawingHF", localName15)) ?? {};
40297
+ const legacy = chunkX7MGZQ6C_cjs.cloneXmlObject(child7(node, "legacyDrawingHF", localName15)) ?? {};
39610
40298
  const idKey = Object.keys(legacy).find(
39611
40299
  (key2) => key2.startsWith("@_") && localName15(key2) === "id"
39612
40300
  );
@@ -39642,7 +40330,7 @@ function insertPrintSettings(chartSpace, node, prefix, localName15) {
39642
40330
  // pptx/core/utils/chart-protection.ts
39643
40331
  var CX_NAMESPACE = "http://schemas.microsoft.com/office/drawing/2014/chartex";
39644
40332
  var FIELDS3 = ["chartObject", "data", "formatting", "selection", "userInterface"];
39645
- function keyOf4(node, name, localName15) {
40333
+ function keyOf6(node, name, localName15) {
39646
40334
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
39647
40335
  }
39648
40336
  function prefixOf4(key2) {
@@ -39673,7 +40361,7 @@ function parseChartProtection(chartSpace, localName15) {
39673
40361
  if (chartSpace && isCxChartSpace(chartSpace)) {
39674
40362
  return void 0;
39675
40363
  }
39676
- const protectionKey = keyOf4(chartSpace, "protection", localName15);
40364
+ const protectionKey = keyOf6(chartSpace, "protection", localName15);
39677
40365
  const value = protectionKey ? chartSpace?.[protectionKey] : void 0;
39678
40366
  if (!value || typeof value !== "object" || Array.isArray(value)) {
39679
40367
  return void 0;
@@ -39681,10 +40369,10 @@ function parseChartProtection(chartSpace, localName15) {
39681
40369
  const node = value;
39682
40370
  const result = { rawXml: chunkX7MGZQ6C_cjs.cloneXmlObject(node) ?? {} };
39683
40371
  for (const field of FIELDS3) {
39684
- const childKey2 = keyOf4(node, field, localName15);
39685
- const child14 = childKey2 ? node[childKey2] : void 0;
39686
- if (child14 && typeof child14 === "object" && !Array.isArray(child14)) {
39687
- const parsed = parseBoolean3(child14);
40372
+ const childKey2 = keyOf6(node, field, localName15);
40373
+ const child16 = childKey2 ? node[childKey2] : void 0;
40374
+ if (child16 && typeof child16 === "object" && !Array.isArray(child16)) {
40375
+ const parsed = parseBoolean3(child16);
39688
40376
  if (parsed !== void 0) {
39689
40377
  result[field] = parsed;
39690
40378
  }
@@ -39698,7 +40386,7 @@ function applyField(node, field, value, prefix, localName15) {
39698
40386
  if (value === void 0) {
39699
40387
  return;
39700
40388
  }
39701
- const existingKey = keyOf4(node, field, localName15);
40389
+ const existingKey = keyOf6(node, field, localName15);
39702
40390
  if (value === null) {
39703
40391
  if (existingKey) {
39704
40392
  delete node[existingKey];
@@ -39713,9 +40401,9 @@ function applyField(node, field, value, prefix, localName15) {
39713
40401
  if (existing && typeof existing === "object" && !Array.isArray(existing) && parseBoolean3(existing) === value) {
39714
40402
  return;
39715
40403
  }
39716
- const child14 = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39717
- child14["@_val"] = value ? "1" : "0";
39718
- node[key2] = child14;
40404
+ const child16 = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
40405
+ child16["@_val"] = value ? "1" : "0";
40406
+ node[key2] = child16;
39719
40407
  }
39720
40408
  function reorderKnownChildren(node, localName15) {
39721
40409
  const entries = Object.entries(node);
@@ -39735,7 +40423,7 @@ function applyChartProtection(chartSpace, value, localName15) {
39735
40423
  if (isCxChartSpace(chartSpace)) {
39736
40424
  return;
39737
40425
  }
39738
- const protectionKey = keyOf4(chartSpace, "protection", localName15);
40426
+ const protectionKey = keyOf6(chartSpace, "protection", localName15);
39739
40427
  if (value === null) {
39740
40428
  if (protectionKey) {
39741
40429
  delete chartSpace[protectionKey];
@@ -39744,7 +40432,7 @@ function applyChartProtection(chartSpace, value, localName15) {
39744
40432
  }
39745
40433
  const existing = protectionKey ? chartSpace[protectionKey] : void 0;
39746
40434
  const node = value.rawXml !== void 0 ? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39747
- const chartKey = keyOf4(chartSpace, "chart", localName15);
40435
+ const chartKey = keyOf6(chartSpace, "chart", localName15);
39748
40436
  const prefix = prefixOf4(protectionKey ?? chartKey) || "c";
39749
40437
  for (const field of FIELDS3) {
39750
40438
  applyField(node, field, value[field], prefix, localName15);
@@ -39759,12 +40447,12 @@ function applyChartProtection(chartSpace, value, localName15) {
39759
40447
  delete chartSpace[key2];
39760
40448
  }
39761
40449
  let inserted = false;
39762
- for (const [key2, child14] of entries) {
40450
+ for (const [key2, child16] of entries) {
39763
40451
  if (!inserted && localName15(key2) === "chart") {
39764
40452
  chartSpace[qualified2(prefix, "protection")] = node;
39765
40453
  inserted = true;
39766
40454
  }
39767
- chartSpace[key2] = child14;
40455
+ chartSpace[key2] = child16;
39768
40456
  }
39769
40457
  if (!inserted) {
39770
40458
  chartSpace[qualified2(prefix, "protection")] = node;
@@ -39847,7 +40535,7 @@ function parseChartStyleDefinition(styleRoot, xmlLookup, resolveSchemeColor, par
39847
40535
  // pptx/core/utils/chart-pivot-source.ts
39848
40536
  var MAX_UINT2 = 4294967295;
39849
40537
  var CHILDREN2 = ["name", "fmtId", "extLst"];
39850
- function keyOf5(node, name, localName15) {
40538
+ function keyOf7(node, name, localName15) {
39851
40539
  return node ? Object.keys(node).find((key2) => localName15(key2) === name) : void 0;
39852
40540
  }
39853
40541
  function prefixOf5(key2) {
@@ -39871,14 +40559,14 @@ function parseUnsigned(value) {
39871
40559
  return Number.isSafeInteger(parsed) && parsed <= MAX_UINT2 ? parsed : void 0;
39872
40560
  }
39873
40561
  function parseChartPivotSource(chartSpace, localName15) {
39874
- const rootKey = keyOf5(chartSpace, "pivotSource", localName15);
40562
+ const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
39875
40563
  const value = rootKey ? chartSpace?.[rootKey] : void 0;
39876
40564
  if (!value || typeof value !== "object" || Array.isArray(value)) {
39877
40565
  return void 0;
39878
40566
  }
39879
40567
  const node = value;
39880
- const nameKey = keyOf5(node, "name", localName15);
39881
- const fmtKey = keyOf5(node, "fmtId", localName15);
40568
+ const nameKey = keyOf7(node, "name", localName15);
40569
+ const fmtKey = keyOf7(node, "fmtId", localName15);
39882
40570
  const name = nameKey ? textOf(node[nameKey]) : void 0;
39883
40571
  const fmtNode = fmtKey ? node[fmtKey] : void 0;
39884
40572
  const formatId = fmtNode && typeof fmtNode === "object" && !Array.isArray(fmtNode) ? parseUnsigned(fmtNode["@_val"]) : void 0;
@@ -39902,7 +40590,7 @@ function reorder(node, localName15) {
39902
40590
  }
39903
40591
  }
39904
40592
  function applyChartPivotSource(chartSpace, value, localName15) {
39905
- const rootKey = keyOf5(chartSpace, "pivotSource", localName15);
40593
+ const rootKey = keyOf7(chartSpace, "pivotSource", localName15);
39906
40594
  if (value === null) {
39907
40595
  if (rootKey) {
39908
40596
  delete chartSpace[rootKey];
@@ -39914,9 +40602,9 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39914
40602
  }
39915
40603
  const existing = rootKey ? chartSpace[rootKey] : void 0;
39916
40604
  const node = value.rawXml ? chunkX7MGZQ6C_cjs.cloneXmlObject(value.rawXml) ?? {} : existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
39917
- const chartKey = keyOf5(chartSpace, "chart", localName15);
40605
+ const chartKey = keyOf7(chartSpace, "chart", localName15);
39918
40606
  const prefix = prefixOf5(rootKey ?? chartKey) || "c";
39919
- const nameKey = keyOf5(node, "name", localName15) ?? `${prefix}:name`;
40607
+ const nameKey = keyOf7(node, "name", localName15) ?? `${prefix}:name`;
39920
40608
  const nameNode = node[nameKey];
39921
40609
  if (textOf(nameNode) !== value.name) {
39922
40610
  if (nameNode && typeof nameNode === "object" && !Array.isArray(nameNode)) {
@@ -39925,7 +40613,7 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39925
40613
  node[nameKey] = { "#text": value.name };
39926
40614
  }
39927
40615
  }
39928
- const fmtKey = keyOf5(node, "fmtId", localName15) ?? `${prefix}:fmtId`;
40616
+ const fmtKey = keyOf7(node, "fmtId", localName15) ?? `${prefix}:fmtId`;
39929
40617
  const fmtValue = node[fmtKey];
39930
40618
  const fmtNode = fmtValue && typeof fmtValue === "object" && !Array.isArray(fmtValue) ? fmtValue : {};
39931
40619
  if (parseUnsigned(fmtNode["@_val"]) !== value.formatId) {
@@ -39942,12 +40630,12 @@ function applyChartPivotSource(chartSpace, value, localName15) {
39942
40630
  delete chartSpace[key2];
39943
40631
  }
39944
40632
  let inserted = false;
39945
- for (const [key2, child14] of entries) {
40633
+ for (const [key2, child16] of entries) {
39946
40634
  if (!inserted && ["protection", "chart"].includes(localName15(key2))) {
39947
40635
  chartSpace[`${prefix}:pivotSource`] = node;
39948
40636
  inserted = true;
39949
40637
  }
39950
- chartSpace[key2] = child14;
40638
+ chartSpace[key2] = child16;
39951
40639
  }
39952
40640
  if (!inserted) {
39953
40641
  chartSpace[`${prefix}:pivotSource`] = node;
@@ -39981,10 +40669,10 @@ function extractMultiLevelCategoryValues(categoryContainer, xmlLookup) {
39981
40669
  };
39982
40670
  }
39983
40671
  function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
39984
- const points4 = xmlLookup.getChildrenArrayByLocalName(lvlNode, "pt");
40672
+ const points5 = xmlLookup.getChildrenArrayByLocalName(lvlNode, "pt");
39985
40673
  const byIndex = /* @__PURE__ */ new Map();
39986
40674
  let maxIndex = -1;
39987
- for (const point of points4) {
40675
+ for (const point of points5) {
39988
40676
  const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
39989
40677
  if (!Number.isFinite(index) || index < 0) {
39990
40678
  continue;
@@ -40016,19 +40704,19 @@ function expandCategoryLevel(lvlNode, levelIndex, declaredCount, xmlLookup) {
40016
40704
  }
40017
40705
 
40018
40706
  // pptx/core/utils/smartart-merged-text-label.ts
40019
- function prSetOf(pt, localName15) {
40020
- const key2 = Object.keys(pt).find((candidate) => localName15(candidate) === "prSet");
40021
- const value = key2 ? pt[key2] : void 0;
40707
+ function prSetOf(pt2, localName15) {
40708
+ const key2 = Object.keys(pt2).find((candidate) => localName15(candidate) === "prSet");
40709
+ const value = key2 ? pt2[key2] : void 0;
40022
40710
  return Array.isArray(value) ? value[0] : value;
40023
40711
  }
40024
- function readPresPoints(points4, localName15) {
40712
+ function readPresPoints(points5, localName15) {
40025
40713
  const byId = /* @__PURE__ */ new Map();
40026
- for (const pt of points4) {
40027
- if (!pt || typeof pt !== "object" || String(pt["@_type"] ?? "").trim() !== "pres") {
40714
+ for (const pt2 of points5) {
40715
+ if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
40028
40716
  continue;
40029
40717
  }
40030
- const id = String(pt["@_modelId"] ?? "").trim();
40031
- const prSet = prSetOf(pt, localName15);
40718
+ const id = String(pt2["@_modelId"] ?? "").trim();
40719
+ const prSet = prSetOf(pt2, localName15);
40032
40720
  if (!id || !prSet) {
40033
40721
  continue;
40034
40722
  }
@@ -40055,10 +40743,10 @@ function algorithmByLayoutNodeName(root) {
40055
40743
  }
40056
40744
  return byName;
40057
40745
  }
40058
- function resolveSmartArtMergedTextLabels(points4, connections, layout, localName15) {
40746
+ function resolveSmartArtMergedTextLabels(points5, connections, layout, localName15) {
40059
40747
  const result = /* @__PURE__ */ new Map();
40060
40748
  const algorithms = algorithmByLayoutNodeName(layout?.rootNode);
40061
- const presPoints = readPresPoints(points4, localName15);
40749
+ const presPoints = readPresPoints(points5, localName15);
40062
40750
  if (algorithms.size === 0 || presPoints.size === 0) {
40063
40751
  return result;
40064
40752
  }
@@ -40074,14 +40762,14 @@ function resolveSmartArtMergedTextLabels(points4, connections, layout, localName
40074
40762
  }
40075
40763
  }
40076
40764
  for (const siblingIds of childrenByParent.values()) {
40077
- const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt) => Boolean(pt?.styleLabel && presented.has(pt.id)));
40078
- const texts = siblings.filter((pt) => algorithms.get(pt.name) === "tx");
40765
+ const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt2) => Boolean(pt2?.styleLabel && presented.has(pt2.id)));
40766
+ const texts = siblings.filter((pt2) => algorithms.get(pt2.name) === "tx");
40079
40767
  for (const shape of siblings) {
40080
40768
  if (algorithms.get(shape.name) === "tx" || result.has(shape.id)) {
40081
40769
  continue;
40082
40770
  }
40083
40771
  const text = texts.find(
40084
- (pt) => pt.assocId === shape.assocId && pt.styleLabel !== shape.styleLabel
40772
+ (pt2) => pt2.assocId === shape.assocId && pt2.styleLabel !== shape.styleLabel
40085
40773
  );
40086
40774
  if (text) {
40087
40775
  result.set(shape.id, {
@@ -40101,13 +40789,13 @@ function smartArtMergedTextColor(label, textFillByLabel) {
40101
40789
  }
40102
40790
  return list[label.styleIndex % list.length];
40103
40791
  }
40104
- function resolveSmartArtMergedTextColors(points4, connections, layout, textFillByLabel, localName15) {
40792
+ function resolveSmartArtMergedTextColors(points5, connections, layout, textFillByLabel, localName15) {
40105
40793
  const colors = /* @__PURE__ */ new Map();
40106
40794
  if (!textFillByLabel) {
40107
40795
  return colors;
40108
40796
  }
40109
40797
  for (const [shapeId, label] of resolveSmartArtMergedTextLabels(
40110
- points4,
40798
+ points5,
40111
40799
  connections,
40112
40800
  layout,
40113
40801
  localName15
@@ -40121,7 +40809,7 @@ function resolveSmartArtMergedTextColors(points4, connections, layout, textFillB
40121
40809
  }
40122
40810
 
40123
40811
  // pptx/core/utils/smartart-node-pres-vars.ts
40124
- function children3(node, name, localName15) {
40812
+ function children4(node, name, localName15) {
40125
40813
  if (!node) {
40126
40814
  return [];
40127
40815
  }
@@ -40152,16 +40840,16 @@ function variablesOf(vars, localName15) {
40152
40840
  }
40153
40841
  return out;
40154
40842
  }
40155
- function resolveSmartArtNodePresVars(points4, localName15) {
40843
+ function resolveSmartArtNodePresVars(points5, localName15) {
40156
40844
  const out = /* @__PURE__ */ new Map();
40157
- for (const pt of points4) {
40158
- if (!pt || typeof pt !== "object" || String(pt["@_type"] ?? "").trim() !== "pres") {
40845
+ for (const pt2 of points5) {
40846
+ if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
40159
40847
  continue;
40160
40848
  }
40161
- const prSet = children3(pt, "prSet", localName15)[0];
40849
+ const prSet = children4(pt2, "prSet", localName15)[0];
40162
40850
  const nodeId = String(prSet?.["@_presAssocID"] ?? "").trim();
40163
40851
  const presName = String(prSet?.["@_presName"] ?? "").trim();
40164
- const vars = children3(prSet, "presLayoutVars", localName15)[0];
40852
+ const vars = children4(prSet, "presLayoutVars", localName15)[0];
40165
40853
  if (!nodeId || !presName || !vars) {
40166
40854
  continue;
40167
40855
  }
@@ -40177,10 +40865,10 @@ function resolveSmartArtNodePresVars(points4, localName15) {
40177
40865
  }
40178
40866
 
40179
40867
  // pptx/core/utils/smartart-point-metadata.ts
40180
- function resolveSmartArtPointMetadata(points4, connections, localName15) {
40181
- const styleRoles = chunkX7MGZQ6C_cjs.resolveSmartArtNodeStyleRoles(points4, connections, localName15);
40182
- const coherent3DOff = chunkX7MGZQ6C_cjs.resolveSmartArtNodeCoherent3DOff(points4, connections, localName15);
40183
- const presVars = resolveSmartArtNodePresVars(points4, localName15);
40868
+ function resolveSmartArtPointMetadata(points5, connections, localName15) {
40869
+ const styleRoles = chunkX7MGZQ6C_cjs.resolveSmartArtNodeStyleRoles(points5, connections, localName15);
40870
+ const coherent3DOff = chunkX7MGZQ6C_cjs.resolveSmartArtNodeCoherent3DOff(points5, connections, localName15);
40871
+ const presVars = resolveSmartArtNodePresVars(points5, localName15);
40184
40872
  return (pointId) => ({
40185
40873
  styleRole: styleRoles.get(pointId),
40186
40874
  coherent3DOff: coherent3DOff.has(pointId) || void 0,
@@ -40229,10 +40917,10 @@ function getLocalName(qualifiedName2) {
40229
40917
  }
40230
40918
 
40231
40919
  // pptx/core/utils/smartart-connector-labels.ts
40232
- function collectSmartArtTransitionText(points4, collectText) {
40920
+ function collectSmartArtTransitionText(points5, collectText) {
40233
40921
  return collectTransitionText(
40234
- points4.filter((pt) => pt && typeof pt === "object"),
40235
- (pt) => ({ type: String(pt["@_type"] ?? ""), modelId: String(pt["@_modelId"] ?? "") }),
40922
+ points5.filter((pt2) => pt2 && typeof pt2 === "object"),
40923
+ (pt2) => ({ type: String(pt2["@_type"] ?? ""), modelId: String(pt2["@_modelId"] ?? "") }),
40236
40924
  collectText
40237
40925
  );
40238
40926
  }
@@ -40243,11 +40931,11 @@ function simpleTextBody(text) {
40243
40931
  "a:p": { "a:r": { "a:rPr": { "@_lang": "en-US" }, "a:t": text } }
40244
40932
  };
40245
40933
  }
40246
- function setPointText(pt, text, localName15) {
40247
- const tKey = Object.keys(pt).find((key2) => localName15(key2) === "t") ?? "dgm:t";
40248
- const body = pt[tKey];
40934
+ function setPointText(pt2, text, localName15) {
40935
+ const tKey = Object.keys(pt2).find((key2) => localName15(key2) === "t") ?? "dgm:t";
40936
+ const body = pt2[tKey];
40249
40937
  if (!body || typeof body !== "object" || Array.isArray(body)) {
40250
- pt[tKey] = simpleTextBody(text);
40938
+ pt2[tKey] = simpleTextBody(text);
40251
40939
  return;
40252
40940
  }
40253
40941
  const bodyObj = body;
@@ -40268,15 +40956,15 @@ function setPointText(pt, text, localName15) {
40268
40956
  const textKey = Object.keys(runObj).find((key2) => localName15(key2) === "t");
40269
40957
  runObj[textKey ?? "a:t"] = text;
40270
40958
  }
40271
- function applySmartArtConnectorLabels(points4, connections, localName15) {
40959
+ function applySmartArtConnectorLabels(points5, connections, localName15) {
40272
40960
  const pointsById = /* @__PURE__ */ new Map();
40273
- for (const pt of points4) {
40274
- if (!pt || typeof pt !== "object") {
40961
+ for (const pt2 of points5) {
40962
+ if (!pt2 || typeof pt2 !== "object") {
40275
40963
  continue;
40276
40964
  }
40277
- const id = String(pt["@_modelId"] ?? "").trim();
40965
+ const id = String(pt2["@_modelId"] ?? "").trim();
40278
40966
  if (id) {
40279
- pointsById.set(id, pt);
40967
+ pointsById.set(id, pt2);
40280
40968
  }
40281
40969
  }
40282
40970
  for (const connection of connections) {
@@ -40561,7 +41249,7 @@ function applyCommentMentions(node, mentions, extension, replace) {
40561
41249
 
40562
41250
  // pptx/core/utils/modern-comment-text-body.ts
40563
41251
  var localName4 = (key2) => key2.split(":").pop() || key2;
40564
- var keyOf6 = (node, name) => Object.keys(node).find((key2) => localName4(key2) === name);
41252
+ var keyOf8 = (node, name) => Object.keys(node).find((key2) => localName4(key2) === name);
40565
41253
  var asNodes = (value) => {
40566
41254
  if (Array.isArray(value)) {
40567
41255
  return value;
@@ -40569,7 +41257,7 @@ var asNodes = (value) => {
40569
41257
  return value && typeof value === "object" ? [value] : [];
40570
41258
  };
40571
41259
  var runText = (run) => {
40572
- const textKey = keyOf6(run, "t");
41260
+ const textKey = keyOf8(run, "t");
40573
41261
  if (!textKey) {
40574
41262
  return void 0;
40575
41263
  }
@@ -40580,7 +41268,7 @@ function flattenBodyText(node) {
40580
41268
  if (!node) {
40581
41269
  return [];
40582
41270
  }
40583
- const paragraphKey = keyOf6(node, "p");
41271
+ const paragraphKey = keyOf8(node, "p");
40584
41272
  const paragraphs = paragraphKey ? asNodes(node[paragraphKey]) : [];
40585
41273
  const collect = (value) => {
40586
41274
  if (typeof value === "string" || typeof value === "number") {
@@ -40588,9 +41276,9 @@ function flattenBodyText(node) {
40588
41276
  }
40589
41277
  let text = "";
40590
41278
  for (const entry2 of asNodes(value)) {
40591
- for (const [key2, child14] of Object.entries(entry2)) {
41279
+ for (const [key2, child16] of Object.entries(entry2)) {
40592
41280
  if (!key2.startsWith("@_")) {
40593
- text += collect(child14);
41281
+ text += collect(child16);
40594
41282
  }
40595
41283
  }
40596
41284
  }
@@ -40614,19 +41302,19 @@ var commonSuffixLength2 = (a, b, limit) => {
40614
41302
  return index;
40615
41303
  };
40616
41304
  var bareRun = (template, text) => {
40617
- const properties = template ? keyOf6(template, "rPr") : void 0;
41305
+ const properties = template ? keyOf8(template, "rPr") : void 0;
40618
41306
  return {
40619
41307
  "a:rPr": properties && template ? template[properties] : {},
40620
41308
  "a:t": text
40621
41309
  };
40622
41310
  };
40623
41311
  var flattenRuns = (paragraph) => {
40624
- const runKey = keyOf6(paragraph, "r");
41312
+ const runKey = keyOf8(paragraph, "r");
40625
41313
  const runs = runKey ? asNodes(paragraph[runKey]) : [];
40626
41314
  return runs.map((run) => runText(run) ?? "").join("");
40627
41315
  };
40628
41316
  function spliceParagraph(paragraph, line) {
40629
- const runKey = keyOf6(paragraph, "r");
41317
+ const runKey = keyOf8(paragraph, "r");
40630
41318
  const runs = runKey ? asNodes(paragraph[runKey]) : [];
40631
41319
  const texts = runs.map(runText);
40632
41320
  if (texts.some((text) => text === void 0)) {
@@ -40666,7 +41354,7 @@ function spliceParagraph(paragraph, line) {
40666
41354
  if (next.length === 0) {
40667
41355
  continue;
40668
41356
  }
40669
- const textKey = keyOf6(runs[index], "t") ?? "a:t";
41357
+ const textKey = keyOf8(runs[index], "t") ?? "a:t";
40670
41358
  const nextRun = { ...runs[index] };
40671
41359
  nextRun[textKey] = next;
40672
41360
  rebuilt.push(nextRun);
@@ -40679,7 +41367,7 @@ function spliceParagraph(paragraph, line) {
40679
41367
  return result;
40680
41368
  }
40681
41369
  var plainParagraph = (template, line) => {
40682
- const runKey = template ? keyOf6(template, "r") : void 0;
41370
+ const runKey = template ? keyOf8(template, "r") : void 0;
40683
41371
  const templateRun = template && runKey ? asNodes(template[runKey])[0] : void 0;
40684
41372
  return { "a:r": bareRun(templateRun, line) };
40685
41373
  };
@@ -40692,7 +41380,7 @@ function applyModernCommentText(original, text) {
40692
41380
  if (!original) {
40693
41381
  return plainBody(text);
40694
41382
  }
40695
- const paragraphKey = keyOf6(original, "p");
41383
+ const paragraphKey = keyOf8(original, "p");
40696
41384
  const paragraphs = paragraphKey ? asNodes(original[paragraphKey]) : [];
40697
41385
  if (paragraphs.length === 0) {
40698
41386
  return plainBody(text);
@@ -40719,7 +41407,7 @@ function applyModernCommentText(original, text) {
40719
41407
 
40720
41408
  // pptx/core/utils/modern-comment-xml.ts
40721
41409
  var localName5 = (key2) => key2.split(":").pop() || key2;
40722
- var child6 = (node, name) => {
41410
+ var child8 = (node, name) => {
40723
41411
  if (!node) {
40724
41412
  return void 0;
40725
41413
  }
@@ -40727,7 +41415,7 @@ var child6 = (node, name) => {
40727
41415
  const value = key2 ? node[key2] : void 0;
40728
41416
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
40729
41417
  };
40730
- var children4 = (node, name) => {
41418
+ var children5 = (node, name) => {
40731
41419
  if (!node) {
40732
41420
  return [];
40733
41421
  }
@@ -40755,11 +41443,11 @@ var textValues = (node) => {
40755
41443
  return result;
40756
41444
  };
40757
41445
  var extractModernCommentText = (node) => {
40758
- const body = child6(node, "txBody");
41446
+ const body = child8(node, "txBody");
40759
41447
  if (!body) {
40760
41448
  return "";
40761
41449
  }
40762
- const paragraphs = children4(body, "p");
41450
+ const paragraphs = children5(body, "p");
40763
41451
  return (paragraphs.length > 0 ? paragraphs : [body]).map((paragraph) => textValues(paragraph).join("")).join("\n");
40764
41452
  };
40765
41453
  var stringList = (value) => {
@@ -40778,8 +41466,8 @@ var parseComment = (node, authorName, emuPerPx) => {
40778
41466
  const authorId = String(node["@_authorId"] || "").trim();
40779
41467
  const rawStatus = String(node["@_status"] || "").trim().toLowerCase();
40780
41468
  const effectiveStatus = rawStatus || "active";
40781
- const position2 = child6(node, "pos");
40782
- const replies = children4(child6(node, "replyLst"), "reply").map(
41469
+ const position2 = child8(node, "pos");
41470
+ const replies = children5(child8(node, "replyLst"), "reply").map(
40783
41471
  (reply) => parseComment(reply, authorName, emuPerPx)
40784
41472
  );
40785
41473
  return {
@@ -40807,17 +41495,17 @@ var parseComment = (node, authorName, emuPerPx) => {
40807
41495
  };
40808
41496
  };
40809
41497
  function parseModernCommentPart(data, part, authorName, emuPerPx) {
40810
- const root = child6(data, "cmLst");
41498
+ const root = child8(data, "cmLst");
40811
41499
  return {
40812
- comments: children4(root, "cm").map((node) => parseComment(node, authorName, emuPerPx)),
41500
+ comments: children5(root, "cm").map((node) => parseComment(node, authorName, emuPerPx)),
40813
41501
  part: { ...part, rawXml: root }
40814
41502
  };
40815
41503
  }
40816
41504
  function parseModernAuthors(data) {
40817
- const root = child6(data, "authorLst");
41505
+ const root = child8(data, "authorLst");
40818
41506
  return {
40819
41507
  root,
40820
- authors: children4(root, "author").map((node) => ({
41508
+ authors: children5(root, "author").map((node) => ({
40821
41509
  id: String(node["@_id"] || "").trim(),
40822
41510
  name: String(node["@_name"] || "").trim(),
40823
41511
  initials: String(node["@_initials"] || "").trim() || void 0,
@@ -40906,11 +41594,11 @@ var buildComment = (comment, resolveAuthorId, emuPerPx, isReply = false) => {
40906
41594
  )
40907
41595
  };
40908
41596
  }
40909
- const originalBody = child6(raw, "txBody");
41597
+ const originalBody = child8(raw, "txBody");
40910
41598
  node["p188:txBody"] = applyModernCommentText(originalBody, comment.text);
40911
41599
  const originalText = originalBody ? flattenBodyText(originalBody).join("\n") : comment.text;
40912
41600
  const mentions = rebaseCommentMentions(comment.mentions, originalText, comment.text);
40913
- const extension = applyCommentMentions(node, mentions, child6(raw, "extLst"), ownsMentions);
41601
+ const extension = applyCommentMentions(node, mentions, child8(raw, "extLst"), ownsMentions);
40914
41602
  if (extension) {
40915
41603
  node["p188:extLst"] = extension;
40916
41604
  }
@@ -41174,7 +41862,7 @@ function parseEmuInt(value) {
41174
41862
  function attr2(node, name) {
41175
41863
  return node && typeof node === "object" ? node[name] : void 0;
41176
41864
  }
41177
- function child7(node, name) {
41865
+ function child9(node, name) {
41178
41866
  return node && typeof node === "object" ? node[name] : void 0;
41179
41867
  }
41180
41868
  function parseBooleanAttr(value) {
@@ -41190,28 +41878,28 @@ function readGroupTransform(xfrm, emuPerPx) {
41190
41878
  let flipHorizontal = false;
41191
41879
  let flipVertical = false;
41192
41880
  if (xfrm) {
41193
- const off = child7(xfrm, "a:off");
41881
+ const off = child9(xfrm, "a:off");
41194
41882
  if (off) {
41195
41883
  parentXEmu = parseEmuInt(attr2(off, "@_x"));
41196
41884
  parentYEmu = parseEmuInt(attr2(off, "@_y"));
41197
41885
  parentX = parentXEmu / emuPerPx;
41198
41886
  parentY = parentYEmu / emuPerPx;
41199
41887
  }
41200
- const ext = child7(xfrm, "a:ext");
41888
+ const ext = child9(xfrm, "a:ext");
41201
41889
  if (ext) {
41202
41890
  parentWEmu = parseEmuInt(attr2(ext, "@_cx"));
41203
41891
  parentHEmu = parseEmuInt(attr2(ext, "@_cy"));
41204
41892
  parentW = parentWEmu / emuPerPx;
41205
41893
  parentH = parentHEmu / emuPerPx;
41206
41894
  }
41207
- const chOff = child7(xfrm, "a:chOff");
41895
+ const chOff = child9(xfrm, "a:chOff");
41208
41896
  if (chOff) {
41209
41897
  chOffXEmu = parseEmuInt(attr2(chOff, "@_x"));
41210
41898
  chOffYEmu = parseEmuInt(attr2(chOff, "@_y"));
41211
41899
  chX = chOffXEmu / emuPerPx;
41212
41900
  chY = chOffYEmu / emuPerPx;
41213
41901
  }
41214
- const chExt = child7(xfrm, "a:chExt");
41902
+ const chExt = child9(xfrm, "a:chExt");
41215
41903
  if (chExt) {
41216
41904
  chExtWEmu = parseEmuInt(attr2(chExt, "@_cx"));
41217
41905
  chExtHEmu = parseEmuInt(attr2(chExt, "@_cy"));
@@ -41315,34 +42003,34 @@ function applyRawChildGeometry(el, childNode, emuPerPx) {
41315
42003
  el.heightEmu = heightEmu;
41316
42004
  }
41317
42005
  }
41318
- function applyAncestorGroupTextTransform(children5, groupTransform) {
41319
- for (const child14 of children5) {
41320
- if (child14.type === "group") {
41321
- applyAncestorGroupTextTransform(child14.children, groupTransform);
42006
+ function applyAncestorGroupTextTransform(children6, groupTransform) {
42007
+ for (const child16 of children6) {
42008
+ if (child16.type === "group") {
42009
+ applyAncestorGroupTextTransform(child16.children, groupTransform);
41322
42010
  continue;
41323
42011
  }
41324
- if (!chunkXZPZHXV4_cjs.hasTextProperties(child14)) {
42012
+ if (!chunkXZPZHXV4_cjs.hasTextProperties(child16)) {
41325
42013
  continue;
41326
42014
  }
41327
- const existing = child14.textStyle?.ancestorGroupTransform;
42015
+ const existing = child16.textStyle?.ancestorGroupTransform;
41328
42016
  const nestedTransform = isTextOrientationMatrix(existing) ? existing : TEXT_ORIENTATION_IDENTITY;
41329
- child14.textStyle = {
41330
- ...child14.textStyle,
42017
+ child16.textStyle = {
42018
+ ...child16.textStyle,
41331
42019
  ancestorGroupTransform: multiplyTextOrientationMatrices(groupTransform, nestedTransform)
41332
42020
  };
41333
42021
  }
41334
42022
  }
41335
- function applyGroupFillInheritance(children5, fill) {
41336
- for (const child14 of children5) {
41337
- if (child14.type === "group") {
41338
- if (!child14.groupFill || child14.groupFill.fillMode === "group") {
41339
- applyGroupFillInheritance(child14.children, fill);
42023
+ function applyGroupFillInheritance(children6, fill) {
42024
+ for (const child16 of children6) {
42025
+ if (child16.type === "group") {
42026
+ if (!child16.groupFill || child16.groupFill.fillMode === "group") {
42027
+ applyGroupFillInheritance(child16.children, fill);
41340
42028
  }
41341
42029
  continue;
41342
42030
  }
41343
- if (chunkXZPZHXV4_cjs.hasShapeProperties(child14) && child14.shapeStyle?.fillMode === "group") {
41344
- child14.shapeStyle = {
41345
- ...child14.shapeStyle,
42031
+ if (chunkXZPZHXV4_cjs.hasShapeProperties(child16) && child16.shapeStyle?.fillMode === "group") {
42032
+ child16.shapeStyle = {
42033
+ ...child16.shapeStyle,
41346
42034
  fillMode: fill.fillMode,
41347
42035
  fillColor: fill.fillColor,
41348
42036
  fillOpacity: fill.fillOpacity,
@@ -41459,7 +42147,7 @@ function scanForText(node, depth) {
41459
42147
  return false;
41460
42148
  }
41461
42149
  if (Array.isArray(node)) {
41462
- return node.some((child14) => scanForText(child14, depth + 1));
42150
+ return node.some((child16) => scanForText(child16, depth + 1));
41463
42151
  }
41464
42152
  if (!isXmlObject4(node)) {
41465
42153
  return false;
@@ -41825,7 +42513,7 @@ var LIGHT_DIRECTIONS = /* @__PURE__ */ new Set(["tl", "t", "tr", "l", "r", "bl",
41825
42513
  // pptx/core/utils/text-body-scene3d.ts
41826
42514
  var localName6 = (key2) => key2.replace(/^@_/, "").split(":").pop() ?? key2;
41827
42515
  var childKey = (node, local) => Object.keys(node).find((key2) => !key2.startsWith("@_") && localName6(key2) === local);
41828
- var child8 = (node, local) => {
42516
+ var child10 = (node, local) => {
41829
42517
  if (!node) {
41830
42518
  return void 0;
41831
42519
  }
@@ -41849,7 +42537,7 @@ var enumToken = (value, allowed) => {
41849
42537
  return allowed.has(token2) ? token2 : void 0;
41850
42538
  };
41851
42539
  var applyRotation = (target, node, prefix) => {
41852
- const rot = child8(node, "rot");
42540
+ const rot = child10(node, "rot");
41853
42541
  const x = finiteInt(rot?.["@_lat"]);
41854
42542
  const y = finiteInt(rot?.["@_lon"]);
41855
42543
  const z = finiteInt(rot?.["@_rev"]);
@@ -41876,13 +42564,13 @@ var applyPoint = (target, node, prefix, attrPrefix = "") => {
41876
42564
  }
41877
42565
  };
41878
42566
  function parseTextBodyScene3d(bodyPr, style) {
41879
- const scene = child8(bodyPr, "scene3d");
42567
+ const scene = child10(bodyPr, "scene3d");
41880
42568
  if (!scene) {
41881
42569
  return;
41882
42570
  }
41883
42571
  style.textBodyScene3dXml = chunkX7MGZQ6C_cjs.cloneXmlObject(scene);
41884
- const camera = child8(scene, "camera");
41885
- const light = child8(scene, "lightRig");
42572
+ const camera = child10(scene, "camera");
42573
+ const light = child10(scene, "lightRig");
41886
42574
  const typed = {
41887
42575
  cameraPreset: enumToken(camera?.["@_prst"], CAMERA_PRESETS),
41888
42576
  lightRigType: enumToken(light?.["@_rig"], LIGHT_RIGS),
@@ -41898,12 +42586,12 @@ function parseTextBodyScene3d(bodyPr, style) {
41898
42586
  }
41899
42587
  applyRotation(typed, camera, "camera");
41900
42588
  applyRotation(typed, light, "lightRig");
41901
- const backdrop = child8(scene, "backdrop");
42589
+ const backdrop = child10(scene, "backdrop");
41902
42590
  if (backdrop) {
41903
42591
  typed.hasBackdrop = true;
41904
- applyPoint(typed, child8(backdrop, "anchor"), "backdropAnchor");
41905
- applyPoint(typed, child8(backdrop, "norm"), "backdropNormal", "d");
41906
- applyPoint(typed, child8(backdrop, "up"), "backdropUp", "d");
42592
+ applyPoint(typed, child10(backdrop, "anchor"), "backdropAnchor");
42593
+ applyPoint(typed, child10(backdrop, "norm"), "backdropNormal", "d");
42594
+ applyPoint(typed, child10(backdrop, "up"), "backdropUp", "d");
41907
42595
  }
41908
42596
  style.textBodyScene3d = typed;
41909
42597
  }
@@ -41975,7 +42663,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41975
42663
  return;
41976
42664
  }
41977
42665
  const scene = raw ?? {};
41978
- const camera = chunkX7MGZQ6C_cjs.cloneXmlObject(child8(scene, "camera")) ?? {};
42666
+ const camera = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "camera")) ?? {};
41979
42667
  if (cameraPreset) {
41980
42668
  camera["@_prst"] = cameraPreset;
41981
42669
  }
@@ -41990,7 +42678,7 @@ function applyTextBodyScene3d(bodyPr, style) {
41990
42678
  setChild3(camera, "rot", cameraRot);
41991
42679
  }
41992
42680
  setChild3(scene, "camera", ordered(camera, ["rot"]));
41993
- const light = chunkX7MGZQ6C_cjs.cloneXmlObject(child8(scene, "lightRig")) ?? {};
42681
+ const light = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "lightRig")) ?? {};
41994
42682
  if (lightRig) {
41995
42683
  light["@_rig"] = lightRig;
41996
42684
  }
@@ -42003,7 +42691,7 @@ function applyTextBodyScene3d(bodyPr, style) {
42003
42691
  }
42004
42692
  setChild3(scene, "lightRig", ordered(light, ["rot"]));
42005
42693
  if (typed.hasBackdrop) {
42006
- const backdrop = chunkX7MGZQ6C_cjs.cloneXmlObject(child8(scene, "backdrop")) ?? {};
42694
+ const backdrop = chunkX7MGZQ6C_cjs.cloneXmlObject(child10(scene, "backdrop")) ?? {};
42007
42695
  const anchor = anchorXml(typed.backdropAnchorX, typed.backdropAnchorY, typed.backdropAnchorZ);
42008
42696
  const norm = vectorXml(typed.backdropNormalX, typed.backdropNormalY, typed.backdropNormalZ);
42009
42697
  const up = vectorXml(typed.backdropUpX, typed.backdropUpY, typed.backdropUpZ);
@@ -42016,7 +42704,7 @@ function applyTextBodyScene3d(bodyPr, style) {
42016
42704
  if (up) {
42017
42705
  setChild3(backdrop, "up", up);
42018
42706
  }
42019
- if (child8(backdrop, "anchor") && child8(backdrop, "norm") && child8(backdrop, "up")) {
42707
+ if (child10(backdrop, "anchor") && child10(backdrop, "norm") && child10(backdrop, "up")) {
42020
42708
  setChild3(scene, "backdrop", ordered(backdrop, ["anchor", "norm", "up", "extLst"]));
42021
42709
  }
42022
42710
  }
@@ -42360,9 +43048,9 @@ function findChildByLocalName2(parent, name) {
42360
43048
  }
42361
43049
  function setPresentationPropertiesChild(root, name, value) {
42362
43050
  const values = /* @__PURE__ */ new Map();
42363
- for (const [key2, child14] of Object.entries(root)) {
43051
+ for (const [key2, child16] of Object.entries(root)) {
42364
43052
  if (!key2.startsWith("@_")) {
42365
- values.set(localName7(key2), [key2, child14]);
43053
+ values.set(localName7(key2), [key2, child16]);
42366
43054
  }
42367
43055
  }
42368
43056
  if (value === null) {
@@ -42371,9 +43059,9 @@ function setPresentationPropertiesChild(root, name, value) {
42371
43059
  values.set(name, [values.get(name)?.[0] ?? `p:${name}`, value]);
42372
43060
  }
42373
43061
  const result = {};
42374
- for (const [key2, child14] of Object.entries(root)) {
43062
+ for (const [key2, child16] of Object.entries(root)) {
42375
43063
  if (key2.startsWith("@_")) {
42376
- result[key2] = child14;
43064
+ result[key2] = child16;
42377
43065
  }
42378
43066
  }
42379
43067
  for (const orderedName of ROOT_ORDER) {
@@ -42383,8 +43071,8 @@ function setPresentationPropertiesChild(root, name, value) {
42383
43071
  }
42384
43072
  values.delete(orderedName);
42385
43073
  }
42386
- for (const [, [key2, child14]] of values) {
42387
- result[key2] = child14;
43074
+ for (const [, [key2, child16]] of values) {
43075
+ result[key2] = child16;
42388
43076
  }
42389
43077
  return result;
42390
43078
  }
@@ -42455,15 +43143,15 @@ function canonicalizePlaceholderTypes(root) {
42455
43143
  }
42456
43144
  const node = value;
42457
43145
  if (tag === "p:ph" && node["@_type"] !== void 0) {
42458
- const canonical = canonicalPlaceholderType(node["@_type"]);
42459
- if (canonical !== void 0 && canonical !== String(node["@_type"])) {
42460
- node["@_type"] = canonical;
43146
+ const canonical2 = canonicalPlaceholderType(node["@_type"]);
43147
+ if (canonical2 !== void 0 && canonical2 !== String(node["@_type"])) {
43148
+ node["@_type"] = canonical2;
42461
43149
  changed += 1;
42462
43150
  }
42463
43151
  }
42464
- for (const [key2, child14] of Object.entries(node)) {
43152
+ for (const [key2, child16] of Object.entries(node)) {
42465
43153
  if (!key2.startsWith("@_")) {
42466
- visit(child14, key2);
43154
+ visit(child16, key2);
42467
43155
  }
42468
43156
  }
42469
43157
  };
@@ -43229,7 +43917,7 @@ function tableToShapeGroup(tableData, bounds) {
43229
43917
  }
43230
43918
  }
43231
43919
  const rowHeightEmu = bounds.h / Math.max(1, tableData.rows.length);
43232
- const children5 = [];
43920
+ const children6 = [];
43233
43921
  const vMergeActive = new Array(colEmuWidths.length).fill(false);
43234
43922
  tableData.rows.forEach((row, rowIndex) => {
43235
43923
  const y = bounds.y + rowIndex * rowHeightEmu;
@@ -43245,7 +43933,7 @@ function tableToShapeGroup(tableData, bounds) {
43245
43933
  if (!cell.hMerge) {
43246
43934
  const x = colStartX[colIndex] ?? bounds.x;
43247
43935
  const w = colEmuWidths.slice(colIndex, colIndex + span).reduce((s, v) => s + v, 0);
43248
- children5.push({
43936
+ children6.push({
43249
43937
  kind: "shape",
43250
43938
  spt: 1,
43251
43939
  isConnector: false,
@@ -43261,7 +43949,7 @@ function tableToShapeGroup(tableData, bounds) {
43261
43949
  colIndex += span;
43262
43950
  }
43263
43951
  });
43264
- return { kind: "group", anchor: bounds, children: children5 };
43952
+ return { kind: "group", anchor: bounds, children: children6 };
43265
43953
  }
43266
43954
 
43267
43955
  // pptx/core/utils/rendered-bullet-marker.ts
@@ -43493,7 +44181,7 @@ function convertGroup(element, ctx) {
43493
44181
  rotationDeg: element.rotation,
43494
44182
  flipH: element.flipHorizontal,
43495
44183
  flipV: element.flipVertical,
43496
- children: element.children.map((child14) => convertElement(withoutEmuGeometry(child14), ctx)),
44184
+ children: element.children.map((child16) => convertElement(withoutEmuGeometry(child16), ctx)),
43497
44185
  hyperlink: resolveHyperlink(element.actionClick, ctx.hyperlinkCtx)
43498
44186
  };
43499
44187
  }
@@ -44466,8 +45154,8 @@ function buildFontEntityAtom(name, index) {
44466
45154
  return record(RT.FontEntityAtom, data, index, false, 0);
44467
45155
  }
44468
45156
  function buildEnvironmentLeadingRecord() {
44469
- const child14 = record(4050, new Uint8Array([1, 0, 0, 0]), 3, false, 0);
44470
- return record(4040, child14, 2, true);
45157
+ const child16 = record(4050, new Uint8Array([1, 0, 0, 0]), 3, false, 0);
45158
+ return record(4040, child16, 2, true);
44471
45159
  }
44472
45160
  function buildEnvironmentTrailingRecords(otherTextStyle) {
44473
45161
  const unknown0fa4 = record(4004, new Uint8Array([128, 0, 64, 0, 0, 0, 0, 0]), 0, false, 0);
@@ -45577,8 +46265,8 @@ function buildAnyShapeContainer(shape, fonts, allocator, hyperlinks, oleEmbeds,
45577
46265
  }
45578
46266
  function buildGroupContainer(group, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, inGroup = false) {
45579
46267
  const data = new ByteWriter().bytes(buildNestedGroupPatriarch(group, allocator, hyperlinks, inGroup));
45580
- for (const child14 of group.children) {
45581
- data.bytes(buildAnyShapeContainer(child14, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, true));
46268
+ for (const child16 of group.children) {
46269
+ data.bytes(buildAnyShapeContainer(child16, fonts, allocator, hyperlinks, oleEmbeds, mediaEmbeds, true));
45582
46270
  }
45583
46271
  return record(OA.SpgrContainer, data.toBytes(), 0, true);
45584
46272
  }
@@ -45716,9 +46404,9 @@ function* iterateChildren(view, container) {
45716
46404
  yield* iterateRecords(view, container.dataOffset, container.dataOffset + container.recLen);
45717
46405
  }
45718
46406
  function findChild2(view, container, recType, recInstance) {
45719
- for (const child14 of iterateChildren(view, container)) {
45720
- if (child14.recType === recType && (recInstance === void 0 || child14.recInstance === recInstance)) {
45721
- return child14;
46407
+ for (const child16 of iterateChildren(view, container)) {
46408
+ if (child16.recType === recType && (recInstance === void 0 || child16.recInstance === recInstance)) {
46409
+ return child16;
45722
46410
  }
45723
46411
  }
45724
46412
  return void 0;
@@ -45731,12 +46419,12 @@ function findDescendant(view, container, recType, recInstance) {
45731
46419
  stack.pop();
45732
46420
  continue;
45733
46421
  }
45734
- const child14 = next.value;
45735
- if (child14.recType === recType && (recInstance === void 0)) {
45736
- return child14;
46422
+ const child16 = next.value;
46423
+ if (child16.recType === recType && (recInstance === void 0)) {
46424
+ return child16;
45737
46425
  }
45738
- if (isContainer(child14))
45739
- stack.push(iterateChildren(view, child14));
46426
+ if (isContainer(child16))
46427
+ stack.push(iterateChildren(view, child16));
45740
46428
  }
45741
46429
  return void 0;
45742
46430
  }
@@ -45780,9 +46468,9 @@ function parseColorSchemeAtom(view, rec) {
45780
46468
  return colors;
45781
46469
  }
45782
46470
  function findSchemeColors(view, container) {
45783
- for (const child14 of iterateChildren(view, container)) {
45784
- if (child14.recType === RT.ColorSchemeAtom && child14.recInstance === 1) {
45785
- return parseColorSchemeAtom(view, child14);
46471
+ for (const child16 of iterateChildren(view, container)) {
46472
+ if (child16.recType === RT.ColorSchemeAtom && child16.recInstance === 1) {
46473
+ return parseColorSchemeAtom(view, child16);
45786
46474
  }
45787
46475
  }
45788
46476
  return void 0;
@@ -46217,7 +46905,7 @@ function relativiseBody(body, styles) {
46217
46905
  }
46218
46906
  function relativiseShape(shape, styles) {
46219
46907
  if (shape.kind === "group") {
46220
- return { ...shape, children: shape.children.map((child14) => relativiseShape(child14, styles)) };
46908
+ return { ...shape, children: shape.children.map((child16) => relativiseShape(child16, styles)) };
46221
46909
  }
46222
46910
  if (shape.kind === "shape" && shape.text) {
46223
46911
  return { ...shape, text: relativiseBody(shape.text, styles) };
@@ -47243,7 +47931,7 @@ var NS_CX = "http://schemas.microsoft.com/office/drawing/2014/chartex";
47243
47931
  var NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main";
47244
47932
  var NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
47245
47933
  var NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart";
47246
- function points(values) {
47934
+ function points2(values) {
47247
47935
  return values.map((value, index) => ({ "@_idx": String(index), "#text": String(value) }));
47248
47936
  }
47249
47937
  function indexedPoints(values, indices) {
@@ -47283,7 +47971,7 @@ function buildChartExData(chartData, series, id) {
47283
47971
  "@_type": "cat",
47284
47972
  "cx:lvl": categoryLevels.map((level) => ({
47285
47973
  "@_ptCount": String(level.length),
47286
- "cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) : points(level)
47974
+ "cx:pt": chartData.chartType === "regionMap" && level === categoryLevels[0] ? indexedPoints(level, regionOptions?.categorySourceIndices) : points2(level)
47287
47975
  }))
47288
47976
  }
47289
47977
  ];
@@ -47637,7 +48325,7 @@ var FLAGS = ["showHorzBorder", "showVertBorder", "showOutline", "showKeys"];
47637
48325
  function findKey6(node, name, localName15) {
47638
48326
  return Object.keys(node).find((key2) => localName15(key2) === name);
47639
48327
  }
47640
- function setOrdered2(node, name, value, order, localName15) {
48328
+ function setOrdered3(node, name, value, order, localName15) {
47641
48329
  const existingKey = findKey6(node, name, localName15);
47642
48330
  if (existingKey) {
47643
48331
  node[existingKey] = value;
@@ -47653,8 +48341,8 @@ function setOrdered2(node, name, value, order, localName15) {
47653
48341
  for (const key2 of Object.keys(node)) {
47654
48342
  delete node[key2];
47655
48343
  }
47656
- for (const [key2, child14] of entries) {
47657
- node[key2] = child14;
48344
+ for (const [key2, child16] of entries) {
48345
+ node[key2] = child16;
47658
48346
  }
47659
48347
  }
47660
48348
  function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
@@ -47674,7 +48362,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
47674
48362
  for (const flag of FLAGS) {
47675
48363
  const value = dataTable[flag];
47676
48364
  if (value !== void 0) {
47677
- setOrdered2(table, flag, { "@_val": value ? "1" : "0" }, TABLE_ORDER, localName15);
48365
+ setOrdered3(table, flag, { "@_val": value ? "1" : "0" }, TABLE_ORDER, localName15);
47678
48366
  }
47679
48367
  }
47680
48368
  if (dataTable.spPr) {
@@ -47685,7 +48373,7 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
47685
48373
  localName15,
47686
48374
  resolveColor2
47687
48375
  );
47688
- setOrdered2(table, "spPr", spPr, TABLE_ORDER, localName15);
48376
+ setOrdered3(table, "spPr", spPr, TABLE_ORDER, localName15);
47689
48377
  }
47690
48378
  if (dataTable.txPr) {
47691
48379
  const txPrKey = findKey6(table, "txPr", localName15);
@@ -47700,13 +48388,13 @@ function applyChartDataTable(plotArea, dataTable, localName15, resolveColor2) {
47700
48388
  });
47701
48389
  const txPr = chunkX7MGZQ6C_cjs.buildDefRPrTextProperties(dataTable.txPr, authoredDefRPr, resolveColor2);
47702
48390
  if (txPr) {
47703
- setOrdered2(table, "txPr", txPr, TABLE_ORDER, localName15);
48391
+ setOrdered3(table, "txPr", txPr, TABLE_ORDER, localName15);
47704
48392
  }
47705
48393
  }
47706
48394
  if (tableKey) {
47707
48395
  plotArea[tableKey] = table;
47708
48396
  } else {
47709
- setOrdered2(plotArea, "dTable", table, PLOT_AREA_ORDER, localName15);
48397
+ setOrdered3(plotArea, "dTable", table, PLOT_AREA_ORDER, localName15);
47710
48398
  }
47711
48399
  }
47712
48400
 
@@ -47818,19 +48506,19 @@ function firstNode(value) {
47818
48506
  const item = Array.isArray(value) ? value[0] : value;
47819
48507
  return item && typeof item === "object" ? item : void 0;
47820
48508
  }
47821
- function child9(parent, local, getLocalName2) {
48509
+ function child11(parent, local, getLocalName2) {
47822
48510
  const key2 = chunkX7MGZQ6C_cjs.findKey(parent, local, getLocalName2);
47823
48511
  return key2 ? firstNode(parent[key2]) : void 0;
47824
48512
  }
47825
48513
  function labelRunProperties(paragraph, getLocalName2) {
47826
48514
  for (const local of ["r", "fld"]) {
47827
- const runNode = child9(paragraph, local, getLocalName2);
47828
- const rPr = runNode ? child9(runNode, "rPr", getLocalName2) : void 0;
48515
+ const runNode = child11(paragraph, local, getLocalName2);
48516
+ const rPr = runNode ? child11(runNode, "rPr", getLocalName2) : void 0;
47829
48517
  if (rPr) {
47830
48518
  return rPr;
47831
48519
  }
47832
48520
  }
47833
- return child9(paragraph, "endParaRPr", getLocalName2);
48521
+ return child11(paragraph, "endParaRPr", getLocalName2);
47834
48522
  }
47835
48523
  function buildDataLabelTx(existingTx, text, getLocalName2) {
47836
48524
  const richKey = existingTx ? chunkX7MGZQ6C_cjs.findKey(existingTx, "rich", getLocalName2) : void 0;
@@ -47847,9 +48535,9 @@ function buildDataLabelTx(existingTx, text, getLocalName2) {
47847
48535
  }
47848
48536
  const pKey = chunkX7MGZQ6C_cjs.findKey(rich, "p", getLocalName2) ?? "a:p";
47849
48537
  const paragraph = firstNode(rich[pKey]) ?? {};
47850
- const pPr = child9(paragraph, "pPr", getLocalName2);
48538
+ const pPr = child11(paragraph, "pPr", getLocalName2);
47851
48539
  const rPr = labelRunProperties(paragraph, getLocalName2);
47852
- const endParaRPr = child9(paragraph, "endParaRPr", getLocalName2);
48540
+ const endParaRPr = child11(paragraph, "endParaRPr", getLocalName2);
47853
48541
  const run = rPr ? { "a:rPr": rPr, "a:t": text } : { "a:t": text };
47854
48542
  const newParagraph = {};
47855
48543
  if (pPr) {
@@ -48457,13 +49145,13 @@ function applyChartGroupOptionsToXml(container, containerLocal, chartData, getLo
48457
49145
  }
48458
49146
 
48459
49147
  // pptx/core/utils/chart-area-format.ts
48460
- var FILL_CHOICE = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
49148
+ var FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
48461
49149
  var AFTER_LN = /* @__PURE__ */ new Set(["effectLst", "effectDag", "scene3d", "sp3d", "extLst"]);
48462
- var LN_FILL_CHOICE = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
49150
+ var LN_FILL_CHOICE2 = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
48463
49151
  function findKey11(obj, local, getLocalName2) {
48464
49152
  return Object.keys(obj).find((key2) => getLocalName2(key2) === local);
48465
49153
  }
48466
- function asObject(value) {
49154
+ function asObject2(value) {
48467
49155
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
48468
49156
  }
48469
49157
  function parsePaint(node, getLocalName2, resolveColor2) {
@@ -48473,11 +49161,11 @@ function parsePaint(node, getLocalName2, resolveColor2) {
48473
49161
  if (findKey11(node, "noFill", getLocalName2) !== void 0) {
48474
49162
  return "none";
48475
49163
  }
48476
- const solid = asObject(node[findKey11(node, "solidFill", getLocalName2) ?? ""]);
49164
+ const solid = asObject2(node[findKey11(node, "solidFill", getLocalName2) ?? ""]);
48477
49165
  return solid ? resolveColor2(solid) : void 0;
48478
49166
  }
48479
49167
  function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient) {
48480
- const spPr = owner ? asObject(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]) : void 0;
49168
+ const spPr = owner ? asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]) : void 0;
48481
49169
  if (!spPr) {
48482
49170
  return {};
48483
49171
  }
@@ -48490,15 +49178,15 @@ function parseChartAreaFormat(owner, getLocalName2, resolveColor2, parseGradient
48490
49178
  if (gradient) {
48491
49179
  format.gradient = gradient;
48492
49180
  }
48493
- const ln = asObject(spPr[findKey11(spPr, "ln", getLocalName2) ?? ""]);
49181
+ const ln = asObject2(spPr[findKey11(spPr, "ln", getLocalName2) ?? ""]);
48494
49182
  const border = parsePaint(ln, getLocalName2, resolveColor2);
48495
49183
  if (border !== void 0) {
48496
49184
  format.border = border;
48497
49185
  }
48498
49186
  return format;
48499
49187
  }
48500
- function paintXml(paint) {
48501
- return paint === "none" ? { "a:noFill": {} } : { "a:solidFill": { "a:srgbClr": { "@_val": chunkX7MGZQ6C_cjs.chartColorHex(paint) } } };
49188
+ function paintXml(paint2) {
49189
+ return paint2 === "none" ? { "a:noFill": {} } : { "a:solidFill": { "a:srgbClr": { "@_val": chunkX7MGZQ6C_cjs.chartColorHex(paint2) } } };
48502
49190
  }
48503
49191
  function buildChartAreaSpPr(format) {
48504
49192
  const spPr = {};
@@ -48539,15 +49227,15 @@ function setPaint(node, entry2, choices, after, getLocalName2) {
48539
49227
  node[key2] = value;
48540
49228
  }
48541
49229
  }
48542
- function paintEntry(paint, authored, getLocalName2, resolveColor2) {
48543
- if (paint === void 0) {
49230
+ function paintEntry(paint2, authored, getLocalName2, resolveColor2) {
49231
+ if (paint2 === void 0) {
48544
49232
  return void 0;
48545
49233
  }
48546
- if (paint === "none") {
49234
+ if (paint2 === "none") {
48547
49235
  return ["a:noFill", {}];
48548
49236
  }
48549
- const solid = asObject(authored[findKey11(authored, "solidFill", getLocalName2) ?? ""]);
48550
- return ["a:solidFill", chunkX7MGZQ6C_cjs.chartColorChoiceValue(solid, paint, resolveColor2)];
49237
+ const solid = asObject2(authored[findKey11(authored, "solidFill", getLocalName2) ?? ""]);
49238
+ return ["a:solidFill", chunkX7MGZQ6C_cjs.chartColorChoiceValue(solid, paint2, resolveColor2)];
48551
49239
  }
48552
49240
  function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
48553
49241
  const authored = parseChartAreaFormat(
@@ -48561,7 +49249,7 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
48561
49249
  if (!fillChanged && !borderChanged) {
48562
49250
  return false;
48563
49251
  }
48564
- let spPr = asObject(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]);
49252
+ let spPr = asObject2(owner[findKey11(owner, "spPr", getLocalName2) ?? ""]);
48565
49253
  if (!spPr) {
48566
49254
  spPr = {};
48567
49255
  options.insertSpPr(owner, spPr);
@@ -48571,17 +49259,17 @@ function applyChartAreaFormatToXml(owner, format, getLocalName2, options) {
48571
49259
  chunkX7MGZQ6C_cjs.applyChartGradientToSpPr(spPr, format.gradient, getLocalName2, options);
48572
49260
  } else {
48573
49261
  const entry2 = paintEntry(format.fill, spPr, getLocalName2, options.resolveColor);
48574
- setPaint(spPr, entry2, FILL_CHOICE, /* @__PURE__ */ new Set(["ln", ...AFTER_LN]), getLocalName2);
49262
+ setPaint(spPr, entry2, FILL_CHOICE2, /* @__PURE__ */ new Set(["ln", ...AFTER_LN]), getLocalName2);
48575
49263
  }
48576
49264
  }
48577
49265
  if (borderChanged) {
48578
49266
  const lnKey = findKey11(spPr, "ln", getLocalName2);
48579
- const ln = asObject(lnKey ? spPr[lnKey] : void 0) ?? {};
49267
+ const ln = asObject2(lnKey ? spPr[lnKey] : void 0) ?? {};
48580
49268
  const entry2 = paintEntry(format.border, ln, getLocalName2, options.resolveColor);
48581
49269
  setPaint(
48582
49270
  ln,
48583
49271
  entry2,
48584
- LN_FILL_CHOICE,
49272
+ LN_FILL_CHOICE2,
48585
49273
  /* @__PURE__ */ new Set(["prstDash", "custDash", "round", "bevel", "miter", "headEnd", "tailEnd", "extLst"]),
48586
49274
  getLocalName2
48587
49275
  );
@@ -48636,8 +49324,8 @@ function insertBefore(node, key2, value, after, getLocalName2) {
48636
49324
  for (const candidate of Object.keys(node)) {
48637
49325
  delete node[candidate];
48638
49326
  }
48639
- for (const [candidate, child14] of entries) {
48640
- node[candidate] = child14;
49327
+ for (const [candidate, child16] of entries) {
49328
+ node[candidate] = child16;
48641
49329
  }
48642
49330
  }
48643
49331
  function chartAreaFormatOf(chartData) {
@@ -48936,7 +49624,7 @@ var CAT_AX_ID = 111111111;
48936
49624
  var VAL_AX_ID = 222222222;
48937
49625
  var SER_AX_ID = 333333333;
48938
49626
  var SCATTER_LIKE = /* @__PURE__ */ new Set(["scatter", "bubble"]);
48939
- function points2(values) {
49627
+ function points3(values) {
48940
49628
  return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
48941
49629
  }
48942
49630
  function numLit2(values, formatCode2 = "General") {
@@ -48944,7 +49632,7 @@ function numLit2(values, formatCode2 = "General") {
48944
49632
  "c:numLit": {
48945
49633
  "c:formatCode": formatCode2,
48946
49634
  "c:ptCount": { "@_val": String(values.length) },
48947
- "c:pt": points2(values.map(String))
49635
+ "c:pt": points3(values.map(String))
48948
49636
  }
48949
49637
  };
48950
49638
  }
@@ -48952,7 +49640,7 @@ function strLit(values) {
48952
49640
  return {
48953
49641
  "c:strLit": {
48954
49642
  "c:ptCount": { "@_val": String(values.length) },
48955
- "c:pt": points2(values)
49643
+ "c:pt": points3(values)
48956
49644
  }
48957
49645
  };
48958
49646
  }
@@ -50078,7 +50766,7 @@ function applyChartAxisTitleStyleToXml(axisNode, style, getLocalName2, resolveCo
50078
50766
  }
50079
50767
 
50080
50768
  // pptx/core/utils/chart-color-map-override.ts
50081
- function keyOf7(node, name, localName15) {
50769
+ function keyOf9(node, name, localName15) {
50082
50770
  return Object.keys(node).find((key2) => localName15(key2) === name);
50083
50771
  }
50084
50772
  function prefixOf6(key2) {
@@ -50092,7 +50780,7 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
50092
50780
  if (value === void 0) {
50093
50781
  return;
50094
50782
  }
50095
- const existingKey = keyOf7(chartSpace, "clrMapOvr", localName15);
50783
+ const existingKey = keyOf9(chartSpace, "clrMapOvr", localName15);
50096
50784
  if (value === null || Object.keys(value).length === 0) {
50097
50785
  if (existingKey) {
50098
50786
  delete chartSpace[existingKey];
@@ -50107,19 +50795,19 @@ function applyChartColorMapOverride(chartSpace, value, localName15) {
50107
50795
  chartSpace[existingKey] = node;
50108
50796
  return;
50109
50797
  }
50110
- const chartKey = keyOf7(chartSpace, "chart", localName15);
50798
+ const chartKey = keyOf9(chartSpace, "chart", localName15);
50111
50799
  const prefix = prefixOf6(chartKey);
50112
50800
  const entries = Object.entries(chartSpace);
50113
50801
  for (const key2 of Object.keys(chartSpace)) {
50114
50802
  delete chartSpace[key2];
50115
50803
  }
50116
50804
  let inserted = false;
50117
- for (const [key2, child14] of entries) {
50805
+ for (const [key2, child16] of entries) {
50118
50806
  if (!inserted && localName15(key2) === "chart") {
50119
50807
  chartSpace[`${prefix}:clrMapOvr`] = node;
50120
50808
  inserted = true;
50121
50809
  }
50122
- chartSpace[key2] = child14;
50810
+ chartSpace[key2] = child16;
50123
50811
  }
50124
50812
  if (!inserted) {
50125
50813
  chartSpace[`${prefix}:clrMapOvr`] = node;
@@ -50259,7 +50947,7 @@ function applyGroupAxisReferences(container, series, axes, getLocalName2) {
50259
50947
  function findKey15(obj, local, getLocalName2) {
50260
50948
  return Object.keys(obj).find((k) => getLocalName2(k) === local);
50261
50949
  }
50262
- function points3(values) {
50950
+ function points4(values) {
50263
50951
  return values.map((v, i) => ({ "@_idx": String(i), "c:v": v }));
50264
50952
  }
50265
50953
  function wrapperLocalName(containerLocalName) {
@@ -50277,7 +50965,7 @@ function buildFilteredSerNode(entry2, categories) {
50277
50965
  }
50278
50966
  if (cats.length > 0) {
50279
50967
  node["c:cat"] = {
50280
- "c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt": points3(cats) }
50968
+ "c:strLit": { "c:ptCount": { "@_val": String(cats.length) }, "c:pt": points4(cats) }
50281
50969
  };
50282
50970
  }
50283
50971
  if (entry2.values) {
@@ -50285,7 +50973,7 @@ function buildFilteredSerNode(entry2, categories) {
50285
50973
  "c:numLit": {
50286
50974
  "c:formatCode": "General",
50287
50975
  "c:ptCount": { "@_val": String(entry2.values.length) },
50288
- "c:pt": points3(entry2.values.map(String))
50976
+ "c:pt": points4(entry2.values.map(String))
50289
50977
  }
50290
50978
  };
50291
50979
  }
@@ -50348,7 +51036,33 @@ function applyFilteredSeriesToXml(container, filteredSeries, categories, contain
50348
51036
  }
50349
51037
 
50350
51038
  // pptx/core/utils/chart-legend-serializer.ts
50351
- function child10(node, name, getLocalName2) {
51039
+ function applyLegendOverlay(legendNode, overlay, getLocalName2) {
51040
+ if (overlay === void 0) {
51041
+ return;
51042
+ }
51043
+ const key2 = Object.keys(legendNode).find((k) => getLocalName2(k) === "overlay");
51044
+ const node = key2 ? legendNode[key2] : void 0;
51045
+ const val = node && typeof node === "object" ? node["@_val"] : void 0;
51046
+ const authored = key2 ? !(val === "0" || val === "false") : true;
51047
+ if (authored === overlay) {
51048
+ return;
51049
+ }
51050
+ const value = { "@_val": overlay ? "1" : "0" };
51051
+ if (key2) {
51052
+ legendNode[key2] = value;
51053
+ return;
51054
+ }
51055
+ const entries = Object.entries(legendNode);
51056
+ const at = entries.findIndex(([k]) => ["spPr", "txPr", "extLst"].includes(getLocalName2(k)));
51057
+ entries.splice(at < 0 ? entries.length : at, 0, ["c:overlay", value]);
51058
+ for (const k of Object.keys(legendNode)) {
51059
+ delete legendNode[k];
51060
+ }
51061
+ for (const [k, v] of entries) {
51062
+ legendNode[k] = v;
51063
+ }
51064
+ }
51065
+ function child12(node, name, getLocalName2) {
50352
51066
  if (!node) {
50353
51067
  return void 0;
50354
51068
  }
@@ -50361,20 +51075,20 @@ function parseChartLegendEntries(legend, getLocalName2, parseColor, resolveTypef
50361
51075
  const nodes = raw ? Array.isArray(raw) ? raw : [raw] : [];
50362
51076
  return nodes.flatMap((value) => {
50363
51077
  const node = value;
50364
- const index = Number.parseInt(String(child10(node, "idx", getLocalName2)?.["@_val"] ?? ""), 10);
51078
+ const index = Number.parseInt(String(child12(node, "idx", getLocalName2)?.["@_val"] ?? ""), 10);
50365
51079
  if (!Number.isFinite(index) || index < 0) {
50366
51080
  return [];
50367
51081
  }
50368
51082
  const entry2 = { index };
50369
- const deleteNode = child10(node, "delete", getLocalName2);
51083
+ const deleteNode = child12(node, "delete", getLocalName2);
50370
51084
  if (deleteNode) {
50371
51085
  const val = deleteNode["@_val"];
50372
51086
  entry2.deleted = val !== "0" && val !== "false";
50373
51087
  }
50374
51088
  const xmlLookup = {
50375
- getChildByLocalName: (parent, name) => child10(parent, name, getLocalName2)
51089
+ getChildByLocalName: (parent, name) => child12(parent, name, getLocalName2)
50376
51090
  };
50377
- const defRPr = chunkX7MGZQ6C_cjs.resolveTxPrDefRPr(child10(node, "txPr", getLocalName2), xmlLookup);
51091
+ const defRPr = chunkX7MGZQ6C_cjs.resolveTxPrDefRPr(child12(node, "txPr", getLocalName2), xmlLookup);
50378
51092
  const style = chunkX7MGZQ6C_cjs.parseDefRPrTextStyle(defRPr, xmlLookup, { parseColor }, resolveTypeface);
50379
51093
  if (style) {
50380
51094
  entry2.textStyle = style;
@@ -50399,9 +51113,9 @@ function setEntryChoice(node, key2, value, getLocalName2) {
50399
51113
  }
50400
51114
  function authoredEntryDefRPr(node, txPrKey, getLocalName2) {
50401
51115
  const txPr = txPrKey ? node[txPrKey] : void 0;
50402
- const paragraph = txPr ? child10(txPr, "p", getLocalName2) : void 0;
50403
- const pPr = paragraph ? child10(paragraph, "pPr", getLocalName2) : void 0;
50404
- return pPr ? child10(pPr, "defRPr", getLocalName2) : void 0;
51116
+ const paragraph = txPr ? child12(txPr, "p", getLocalName2) : void 0;
51117
+ const pPr = paragraph ? child12(paragraph, "pPr", getLocalName2) : void 0;
51118
+ return pPr ? child12(pPr, "defRPr", getLocalName2) : void 0;
50405
51119
  }
50406
51120
  function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
50407
51121
  if (!entries) {
@@ -50411,7 +51125,7 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
50411
51125
  const raw = key2 ? legend[key2] : void 0;
50412
51126
  const existing = raw ? Array.isArray(raw) ? raw : [raw] : [];
50413
51127
  const byIndex = new Map(
50414
- existing.map((node) => [Number(child10(node, "idx", getLocalName2)?.["@_val"]), node])
51128
+ existing.map((node) => [Number(child12(node, "idx", getLocalName2)?.["@_val"]), node])
50415
51129
  );
50416
51130
  const updated = [...existing];
50417
51131
  for (const entry2 of entries) {
@@ -50451,13 +51165,13 @@ function applyLegendEntries(legend, entries, getLocalName2, resolveColor2) {
50451
51165
  legend[key2] = updated;
50452
51166
  return;
50453
51167
  }
50454
- const children5 = Object.entries(legend);
50455
- const position2 = children5.findIndex(([candidate]) => getLocalName2(candidate) !== "legendPos");
50456
- children5.splice(position2 < 0 ? children5.length : position2, 0, ["c:legendEntry", updated]);
51168
+ const children6 = Object.entries(legend);
51169
+ const position2 = children6.findIndex(([candidate]) => getLocalName2(candidate) !== "legendPos");
51170
+ children6.splice(position2 < 0 ? children6.length : position2, 0, ["c:legendEntry", updated]);
50457
51171
  for (const candidate of Object.keys(legend)) {
50458
51172
  delete legend[candidate];
50459
51173
  }
50460
- for (const [candidate, value] of children5) {
51174
+ for (const [candidate, value] of children6) {
50461
51175
  legend[candidate] = value;
50462
51176
  }
50463
51177
  }
@@ -50492,7 +51206,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
50492
51206
  "c:legend",
50493
51207
  {
50494
51208
  "c:legendPos": { "@_val": style.legendPosition ?? "r" },
50495
- "c:overlay": { "@_val": "0" }
51209
+ "c:overlay": { "@_val": style.legendOverlay ? "1" : "0" }
50496
51210
  },
50497
51211
  "plotArea",
50498
51212
  getLocalName2
@@ -50516,6 +51230,7 @@ function applyChartLegendToXml(chartRoot, style, getLocalName2, resolveColor2) {
50516
51230
  );
50517
51231
  }
50518
51232
  }
51233
+ applyLegendOverlay(legendNode, style.legendOverlay, getLocalName2);
50519
51234
  applyLegendEntries(legendNode, style.legendEntries, getLocalName2, resolveColor2);
50520
51235
  }
50521
51236
 
@@ -50539,7 +51254,7 @@ var CONTAINER_ORDER = [
50539
51254
  function findKey16(node, name, localName15) {
50540
51255
  return Object.keys(node).find((key2) => localName15(key2) === name);
50541
51256
  }
50542
- function setOrdered3(node, name, value, localName15) {
51257
+ function setOrdered4(node, name, value, localName15) {
50543
51258
  const key2 = findKey16(node, name, localName15);
50544
51259
  if (key2) {
50545
51260
  node[key2] = value;
@@ -50557,8 +51272,8 @@ function setOrdered3(node, name, value, localName15) {
50557
51272
  for (const candidate of Object.keys(node)) {
50558
51273
  delete node[candidate];
50559
51274
  }
50560
- for (const [candidate, child14] of entries) {
50561
- node[candidate] = child14;
51275
+ for (const [candidate, child16] of entries) {
51276
+ node[candidate] = child16;
50562
51277
  }
50563
51278
  }
50564
51279
  function applyChartLineStyle(chartContainer, elementName, style, localName15, resolveColor2) {
@@ -50584,7 +51299,7 @@ function applyChartLineStyle(chartContainer, elementName, style, localName15, re
50584
51299
  resolveColor2
50585
51300
  );
50586
51301
  }
50587
- setOrdered3(chartContainer, elementName, node, localName15);
51302
+ setOrdered4(chartContainer, elementName, node, localName15);
50588
51303
  }
50589
51304
 
50590
51305
  // pptx/core/utils/chart-series-color-serializer.ts
@@ -51197,7 +51912,7 @@ function replaceChartExDataDimensions(target, fresh, getLocalName2) {
51197
51912
  function findKey21(node, localName15, getLocalName2) {
51198
51913
  return Object.keys(node).find((key2) => getLocalName2(key2) === localName15);
51199
51914
  }
51200
- function child11(node, localName15, getLocalName2) {
51915
+ function child13(node, localName15, getLocalName2) {
51201
51916
  if (!node) {
51202
51917
  return void 0;
51203
51918
  }
@@ -51239,8 +51954,8 @@ var AFTER_TX = [
51239
51954
  "extLst"
51240
51955
  ];
51241
51956
  function applySeriesName(node, name, getLocalName2) {
51242
- const tx = child11(node, "tx", getLocalName2);
51243
- const txData = child11(tx, "txData", getLocalName2);
51957
+ const tx = child13(node, "tx", getLocalName2);
51958
+ const txData = child13(tx, "txData", getLocalName2);
51244
51959
  if (tx && txData) {
51245
51960
  const vKey = findKey21(txData, "v", getLocalName2) ?? "cx:v";
51246
51961
  txData[vKey] = name;
@@ -51255,8 +51970,8 @@ function applySeriesName(node, name, getLocalName2) {
51255
51970
  var FILL_KINDS = ["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"];
51256
51971
  var AFTER_FILL = ["ln", "effectLst", "effectDag", "scene3d", "sp3d", "extLst"];
51257
51972
  function currentSeriesColor(node, getLocalName2) {
51258
- const srgb = child11(
51259
- child11(child11(node, "spPr", getLocalName2), "solidFill", getLocalName2),
51973
+ const srgb = child13(
51974
+ child13(child13(node, "spPr", getLocalName2), "solidFill", getLocalName2),
51260
51975
  "srgbClr",
51261
51976
  getLocalName2
51262
51977
  );
@@ -51272,7 +51987,7 @@ function applySeriesColor(node, series, getLocalName2) {
51272
51987
  if (wanted === currentSeriesColor(node, getLocalName2)) {
51273
51988
  return;
51274
51989
  }
51275
- const spPr = child11(node, "spPr", getLocalName2);
51990
+ const spPr = child13(node, "spPr", getLocalName2);
51276
51991
  if (!spPr) {
51277
51992
  insertBefore3(node, "cx:spPr", fill, AFTER_TX.slice(1), getLocalName2);
51278
51993
  return;
@@ -51316,7 +52031,7 @@ function nextDataId(dataNodes) {
51316
52031
  return max + 1;
51317
52032
  }
51318
52033
  function bindSeriesData(node, dataNodes, chartData, series, getLocalName2) {
51319
- const dataIdNode = child11(node, "dataId", getLocalName2);
52034
+ const dataIdNode = child13(node, "dataId", getLocalName2);
51320
52035
  const dataId = dataIdNode ? String(dataIdNode["@_val"] ?? "") : void 0;
51321
52036
  const referenced = dataId !== void 0 ? dataNodes.find((data) => String(data["@_id"]) === dataId) : void 0;
51322
52037
  if (referenced) {
@@ -51381,8 +52096,8 @@ function applyLegend(chartRoot, chartData, getLocalName2) {
51381
52096
  insertBefore3(chartRoot, "cx:legend", legend, ["extLst"], getLocalName2);
51382
52097
  }
51383
52098
  function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
51384
- const region = child11(
51385
- child11(child11(chartSpace, "chart", getLocalName2), "plotArea", getLocalName2),
52099
+ const region = child13(
52100
+ child13(child13(chartSpace, "chart", getLocalName2), "plotArea", getLocalName2),
51386
52101
  "plotAreaRegion",
51387
52102
  getLocalName2
51388
52103
  );
@@ -51396,9 +52111,9 @@ function chartExLayoutChanged(chartSpace, chartData, getLocalName2) {
51396
52111
  return chartExLayoutId(chartData, series).toLowerCase() !== existing;
51397
52112
  }
51398
52113
  function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
51399
- const chartRoot = child11(chartSpace, "chart", getLocalName2);
51400
- const plotArea = child11(chartRoot, "plotArea", getLocalName2);
51401
- const region = child11(plotArea, "plotAreaRegion", getLocalName2);
52114
+ const chartRoot = child13(chartSpace, "chart", getLocalName2);
52115
+ const plotArea = child13(chartRoot, "plotArea", getLocalName2);
52116
+ const region = child13(plotArea, "plotAreaRegion", getLocalName2);
51402
52117
  if (!chartRoot || !region) {
51403
52118
  return false;
51404
52119
  }
@@ -51425,7 +52140,7 @@ function applyChartExUpdate(chartSpace, chartData, getLocalName2) {
51425
52140
  bindSeriesData(node, dataNodes, chartData, series, getLocalName2);
51426
52141
  updated.push(node);
51427
52142
  });
51428
- const referencedId = (node) => String(child11(node, "dataId", getLocalName2)?.["@_val"]);
52143
+ const referencedId = (node) => String(child13(node, "dataId", getLocalName2)?.["@_val"]);
51429
52144
  const liveIds = new Set(updated.map(referencedId));
51430
52145
  const removedIds = new Set(existing.slice(chartData.series.length).map(referencedId));
51431
52146
  const survivingData = dataNodes.filter((data) => {
@@ -51907,8 +52622,8 @@ function buildOffExt(off, ext) {
51907
52622
  "a:ext": { "@_cx": String(Math.round(ext.cx)), "@_cy": String(Math.round(ext.cy)) }
51908
52623
  };
51909
52624
  }
51910
- function buildChildXfrm(child14) {
51911
- return buildOffExt(child14.off, child14.ext);
52625
+ function buildChildXfrm(child16) {
52626
+ return buildOffExt(child16.off, child16.ext);
51912
52627
  }
51913
52628
  function buildGroupTransformXfrm(transform2) {
51914
52629
  const xfrm = {
@@ -51933,29 +52648,29 @@ function buildGroupTransformXfrm(transform2) {
51933
52648
  }
51934
52649
  return xfrm;
51935
52650
  }
51936
- function buildGroupChildNode(child14, id, idState) {
51937
- if (child14.kind === "grpSp") {
51938
- if (child14.rawXml) {
51939
- return { key: "grpSp", node: chunkX7MGZQ6C_cjs.cloneXmlObject(child14.rawXml) ?? {} };
52651
+ function buildGroupChildNode(child16, id, idState) {
52652
+ if (child16.kind === "grpSp") {
52653
+ if (child16.rawXml) {
52654
+ return { key: "grpSp", node: chunkX7MGZQ6C_cjs.cloneXmlObject(child16.rawXml) ?? {} };
51940
52655
  }
51941
- return { key: "grpSp", node: buildGroupNode(child14, id, idState) };
52656
+ return { key: "grpSp", node: buildGroupNode(child16, id, idState) };
51942
52657
  }
51943
- const rawShapeKey = (child14.kind === "pic" || child14.kind === "graphicFrame") && child14.rawXml ? child14.kind : void 0;
52658
+ const rawShapeKey = (child16.kind === "pic" || child16.kind === "graphicFrame") && child16.rawXml ? child16.kind : void 0;
51944
52659
  if (rawShapeKey) {
51945
- const rawNode = chunkX7MGZQ6C_cjs.cloneXmlObject(child14.rawXml) ?? {};
51946
- applyChildXfrmToRawNode(rawNode, child14.off, child14.ext);
51947
- applyRotationFlipToRawNode(rawNode, child14.rotation, child14.flipH, child14.flipV);
52660
+ const rawNode = chunkX7MGZQ6C_cjs.cloneXmlObject(child16.rawXml) ?? {};
52661
+ applyChildXfrmToRawNode(rawNode, child16.off, child16.ext);
52662
+ applyRotationFlipToRawNode(rawNode, child16.rotation, child16.flipH, child16.flipV);
51948
52663
  if (rawShapeKey === "pic") {
51949
- applyPicAltText(rawNode, child14.altText);
52664
+ applyPicAltText(rawNode, child16.altText);
51950
52665
  }
51951
52666
  return { key: rawShapeKey, node: rawNode };
51952
52667
  }
51953
- if (child14.kind === "cxnSp") {
51954
- return { key: "cxnSp", node: buildCxnSpNode(child14, id, buildChildXfrm(child14)) };
52668
+ if (child16.kind === "cxnSp") {
52669
+ return { key: "cxnSp", node: buildCxnSpNode(child16, id, buildChildXfrm(child16)) };
51955
52670
  }
51956
- return { key: "sp", node: buildSpNode(child14, id, buildChildXfrm(child14)) };
52671
+ return { key: "sp", node: buildSpNode(child16, id, buildChildXfrm(child16)) };
51957
52672
  }
51958
- function appendGroupChildren(node, children5, idState) {
52673
+ function appendGroupChildren(node, children6, idState) {
51959
52674
  const buckets = {
51960
52675
  sp: [],
51961
52676
  cxnSp: [],
@@ -51963,9 +52678,9 @@ function appendGroupChildren(node, children5, idState) {
51963
52678
  grpSp: [],
51964
52679
  graphicFrame: []
51965
52680
  };
51966
- for (const child14 of children5) {
52681
+ for (const child16 of children6) {
51967
52682
  const id = idState.next++;
51968
- const { key: key2, node: childNode } = buildGroupChildNode(child14, id, idState);
52683
+ const { key: key2, node: childNode } = buildGroupChildNode(child16, id, idState);
51969
52684
  buckets[key2].push(childNode);
51970
52685
  }
51971
52686
  for (const key2 of ["sp", "cxnSp", "pic", "grpSp", "graphicFrame"]) {
@@ -52501,14 +53216,14 @@ function a14ArtisticElementName(effect) {
52501
53216
  }
52502
53217
  return GALLERY_TO_A14[trimmed2];
52503
53218
  }
52504
- var round = (value) => String(Math.round(value));
53219
+ var round2 = (value) => String(Math.round(value));
52505
53220
  function buildArtisticNode(effects, elementName) {
52506
53221
  const node = {};
52507
53222
  const params = effects.artisticParams;
52508
53223
  if (params && Object.keys(params).length > 0) {
52509
53224
  for (const [name, value] of Object.entries(params)) {
52510
53225
  if (Number.isFinite(value)) {
52511
- node[`@_${name}`] = round(value);
53226
+ node[`@_${name}`] = round2(value);
52512
53227
  }
52513
53228
  }
52514
53229
  return node;
@@ -52516,16 +53231,16 @@ function buildArtisticNode(effects, elementName) {
52516
53231
  const radius = effects.artisticRadius;
52517
53232
  const primary = ARTISTIC_PRIMARY_ATTRIBUTE[elementName];
52518
53233
  if (primary !== void 0 && typeof radius === "number" && Number.isFinite(radius)) {
52519
- node[`@_${primary}`] = primary === "radius" ? round(radius) : round(radius * 1e3);
53234
+ node[`@_${primary}`] = primary === "radius" ? round2(radius) : round2(radius * 1e3);
52520
53235
  }
52521
53236
  return node;
52522
53237
  }
52523
53238
  function buildMarks(marks) {
52524
53239
  return (marks ?? []).map((mark) => ({
52525
- "@_x1": round(mark.x1 * 1e5),
52526
- "@_y1": round(mark.y1 * 1e5),
52527
- "@_x2": round(mark.x2 * 1e5),
52528
- "@_y2": round(mark.y2 * 1e5)
53240
+ "@_x1": round2(mark.x1 * 1e5),
53241
+ "@_y1": round2(mark.y1 * 1e5),
53242
+ "@_x2": round2(mark.x2 * 1e5),
53243
+ "@_y2": round2(mark.y2 * 1e5)
52529
53244
  }));
52530
53245
  }
52531
53246
  function buildBackgroundRemovalNode(removal) {
@@ -52533,10 +53248,10 @@ function buildBackgroundRemovalNode(removal) {
52533
53248
  return removal.rawXml;
52534
53249
  }
52535
53250
  const node = {
52536
- "@_t": round(removal.top * 1e5),
52537
- "@_b": round(removal.bottom * 1e5),
52538
- "@_l": round(removal.left * 1e5),
52539
- "@_r": round(removal.right * 1e5)
53251
+ "@_t": round2(removal.top * 1e5),
53252
+ "@_b": round2(removal.bottom * 1e5),
53253
+ "@_l": round2(removal.left * 1e5),
53254
+ "@_r": round2(removal.right * 1e5)
52540
53255
  };
52541
53256
  const foreground = buildMarks(removal.foregroundMarks);
52542
53257
  if (foreground.length > 0) {
@@ -52555,26 +53270,26 @@ function buildImgEffects(effects) {
52555
53270
  out.push({ "a14:backgroundRemoval": buildBackgroundRemovalNode(effects.backgroundRemoval) });
52556
53271
  }
52557
53272
  if (finite2(effects.sharpenSoften?.amount)) {
52558
- out.push({ "a14:sharpenSoften": { "@_amount": round(effects.sharpenSoften.amount) } });
53273
+ out.push({ "a14:sharpenSoften": { "@_amount": round2(effects.sharpenSoften.amount) } });
52559
53274
  }
52560
53275
  const bc = effects.brightnessContrast;
52561
53276
  if (bc && (finite2(bc.bright) || finite2(bc.contrast))) {
52562
53277
  const node = {};
52563
53278
  if (finite2(bc.bright)) {
52564
- node["@_bright"] = round(bc.bright);
53279
+ node["@_bright"] = round2(bc.bright);
52565
53280
  }
52566
53281
  if (finite2(bc.contrast)) {
52567
- node["@_contrast"] = round(bc.contrast);
53282
+ node["@_contrast"] = round2(bc.contrast);
52568
53283
  }
52569
53284
  out.push({ "a14:brightnessContrast": node });
52570
53285
  }
52571
53286
  if (finite2(effects.colorTemperature?.colorTemp)) {
52572
53287
  out.push({
52573
- "a14:colorTemperature": { "@_colorTemp": round(effects.colorTemperature.colorTemp) }
53288
+ "a14:colorTemperature": { "@_colorTemp": round2(effects.colorTemperature.colorTemp) }
52574
53289
  });
52575
53290
  }
52576
53291
  if (finite2(effects.colorSaturation?.sat)) {
52577
- out.push({ "a14:saturation": { "@_sat": round(effects.colorSaturation.sat) } });
53292
+ out.push({ "a14:saturation": { "@_sat": round2(effects.colorSaturation.sat) } });
52578
53293
  }
52579
53294
  const artistic = a14ArtisticElementName(effects.artisticEffect);
52580
53295
  if (artistic !== void 0) {
@@ -52626,7 +53341,7 @@ function applyA14ImageExtension(blip, effects) {
52626
53341
 
52627
53342
  // pptx/core/core/runtime/image-alpha-effects.ts
52628
53343
  var localName12 = (key2) => key2.split(":").at(-1) ?? key2;
52629
- function child12(parent, name) {
53344
+ function child14(parent, name) {
52630
53345
  if (!parent) {
52631
53346
  return void 0;
52632
53347
  }
@@ -52687,30 +53402,30 @@ function percentXml(raw, attr4, value, fixed, defaultValue) {
52687
53402
  }
52688
53403
  function parseImageAlphaEffects(blip, parseColor) {
52689
53404
  const effects = {};
52690
- const modFix = child12(blip, "alphaModFix");
53405
+ const modFix = child14(blip, "alphaModFix");
52691
53406
  if (modFix) {
52692
53407
  effects.alphaModFix = parsePercent(modFix["@_amt"], false) ?? 100;
52693
53408
  effects.alphaModFixRawXml = modFix;
52694
53409
  }
52695
- const inverse = child12(blip, "alphaInv");
53410
+ const inverse = child14(blip, "alphaInv");
52696
53411
  if (inverse) {
52697
53412
  const color2 = parseColor(canonicalColor(inverse));
52698
53413
  effects.alphaInv = { ...color2 ? { color: color2 } : {}, rawXml: inverse };
52699
53414
  }
52700
- const ceiling = child12(blip, "alphaCeiling");
53415
+ const ceiling = child14(blip, "alphaCeiling");
52701
53416
  if (ceiling) {
52702
53417
  effects.alphaCeiling = true;
52703
53418
  effects.alphaCeilingRawXml = ceiling;
52704
53419
  }
52705
- const floor = child12(blip, "alphaFloor");
53420
+ const floor = child14(blip, "alphaFloor");
52706
53421
  if (floor) {
52707
53422
  effects.alphaFloor = true;
52708
53423
  effects.alphaFloorRawXml = floor;
52709
53424
  }
52710
- const modulate = child12(blip, "alphaMod");
53425
+ const modulate = child14(blip, "alphaMod");
52711
53426
  if (modulate) {
52712
- const cont = child12(modulate, "cont");
52713
- const nestedFix = child12(cont, "alphaModFix");
53427
+ const cont = child14(modulate, "cont");
53428
+ const nestedFix = child14(cont, "alphaModFix");
52714
53429
  const amt = nestedFix ? parsePercent(nestedFix["@_amt"], false) : void 0;
52715
53430
  effects.alphaMod = {
52716
53431
  ...cont ? { contRawXml: cont } : {},
@@ -52718,7 +53433,7 @@ function parseImageAlphaEffects(blip, parseColor) {
52718
53433
  rawXml: modulate
52719
53434
  };
52720
53435
  }
52721
- const replace = child12(blip, "alphaRepl");
53436
+ const replace = child14(blip, "alphaRepl");
52722
53437
  if (replace) {
52723
53438
  const alpha = parsePercent(replace["@_a"], true);
52724
53439
  if (alpha !== void 0) {
@@ -52726,7 +53441,7 @@ function parseImageAlphaEffects(blip, parseColor) {
52726
53441
  effects.alphaReplRawXml = replace;
52727
53442
  }
52728
53443
  }
52729
- const biLevel = child12(blip, "alphaBiLevel");
53444
+ const biLevel = child14(blip, "alphaBiLevel");
52730
53445
  if (biLevel) {
52731
53446
  const threshold = parsePercent(biLevel["@_thresh"], true);
52732
53447
  if (threshold !== void 0) {
@@ -52771,7 +53486,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
52771
53486
  if (effects.alphaMod.contRawXml) {
52772
53487
  setChild4(node, "cont", effects.alphaMod.contRawXml);
52773
53488
  }
52774
- if (child12(node, "cont") || effects.alphaMod.rawXml) {
53489
+ if (child14(node, "cont") || effects.alphaMod.rawXml) {
52775
53490
  setChild4(blip, "alphaMod", node);
52776
53491
  } else {
52777
53492
  setChild4(blip, "alphaMod", void 0);
@@ -52795,7 +53510,7 @@ function applyImageAlphaEffects(blip, effects, parseColor) {
52795
53510
 
52796
53511
  // pptx/core/core/runtime/image-color-effects.ts
52797
53512
  var localName13 = (key2) => key2.split(":").at(-1) ?? key2;
52798
- function child13(parent, name) {
53513
+ function child15(parent, name) {
52799
53514
  if (!parent) {
52800
53515
  return void 0;
52801
53516
  }
@@ -52846,12 +53561,12 @@ function opacity(parent, extractOpacity) {
52846
53561
  }
52847
53562
  function parseImageColorEffects(blip, parseColor, extractOpacity) {
52848
53563
  const result = {};
52849
- const grayscale = child13(blip, "grayscl");
53564
+ const grayscale = child15(blip, "grayscl");
52850
53565
  if (grayscale) {
52851
53566
  result.grayscale = true;
52852
53567
  result.grayscaleRawXml = grayscale;
52853
53568
  }
52854
- const biLevel = child13(blip, "biLevel");
53569
+ const biLevel = child15(blip, "biLevel");
52855
53570
  if (biLevel) {
52856
53571
  const threshold = Number(biLevel["@_thresh"]);
52857
53572
  if (Number.isFinite(threshold)) {
@@ -52859,9 +53574,9 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
52859
53574
  }
52860
53575
  result.biLevelRawXml = biLevel;
52861
53576
  }
52862
- const change = child13(blip, "clrChange");
52863
- const from = child13(change, "clrFrom");
52864
- const to = child13(change, "clrTo");
53577
+ const change = child15(blip, "clrChange");
53578
+ const from = child15(change, "clrFrom");
53579
+ const to = child15(change, "clrTo");
52865
53580
  if (change && from && to) {
52866
53581
  result.clrChange = {
52867
53582
  clrFrom: resolveColor(from, parseColor) ?? "#000000",
@@ -52870,12 +53585,12 @@ function parseImageColorEffects(blip, parseColor, extractOpacity) {
52870
53585
  rawXml: change
52871
53586
  };
52872
53587
  }
52873
- const replace = child13(blip, "clrRepl");
53588
+ const replace = child15(blip, "clrRepl");
52874
53589
  const replacement = resolveColor(replace, parseColor);
52875
53590
  if (replace && replacement) {
52876
53591
  result.clrRepl = { color: replacement, rawXml: replace };
52877
53592
  }
52878
- const duotone = child13(blip, "duotone");
53593
+ const duotone = child15(blip, "duotone");
52879
53594
  if (duotone) {
52880
53595
  const colors = colorChoices(duotone).map((color2) => resolveColor(color2, parseColor));
52881
53596
  if (colors[0] && colors[1]) {
@@ -52938,8 +53653,8 @@ function applyImageColorEffects(blip, effects, parseColor, extractOpacity) {
52938
53653
  setChild5(blip, "biLevel", biLevel);
52939
53654
  const change = effects.clrChange;
52940
53655
  if (change) {
52941
- const rawFrom = child13(change.rawXml, "clrFrom");
52942
- const rawTo = child13(change.rawXml, "clrTo");
53656
+ const rawFrom = child15(change.rawXml, "clrFrom");
53657
+ const rawTo = child15(change.rawXml, "clrTo");
52943
53658
  const rawTransparent = rawTo ? (opacity(rawTo, extractOpacity) ?? 1) <= 0 : void 0;
52944
53659
  const unchanged2 = sameRawColor(rawFrom, change.clrFrom, parseColor) && sameRawColor(rawTo, change.clrTo, parseColor) && (rawTransparent === void 0 || change.clrToTransparent === rawTransparent);
52945
53660
  if (unchanged2 && change.rawXml) {
@@ -53112,7 +53827,7 @@ function updateEndParagraphProperties(existing, style, serialize) {
53112
53827
  const baseline = serialize({ ...style, ...style.inheritedRunStyle, ...style.authoredRunStyle });
53113
53828
  const current = serialize(style);
53114
53829
  const attributes = {};
53115
- const children5 = /* @__PURE__ */ new Map();
53830
+ const children6 = /* @__PURE__ */ new Map();
53116
53831
  for (const key2 of /* @__PURE__ */ new Set([...Object.keys(baseline), ...Object.keys(current)])) {
53117
53832
  if (JSON.stringify(baseline[key2]) === JSON.stringify(current[key2])) {
53118
53833
  continue;
@@ -53120,10 +53835,10 @@ function updateEndParagraphProperties(existing, style, serialize) {
53120
53835
  if (key2.startsWith("@_")) {
53121
53836
  attributes[key2.slice(2)] = current[key2] === void 0 ? null : String(current[key2]);
53122
53837
  } else {
53123
- children5.set(key2, current[key2] ?? null);
53838
+ children6.set(key2, current[key2] ?? null);
53124
53839
  }
53125
53840
  }
53126
- if (Object.keys(attributes).length === 0 && children5.size === 0) {
53841
+ if (Object.keys(attributes).length === 0 && children6.size === 0) {
53127
53842
  return existing;
53128
53843
  }
53129
53844
  const fillKeys = [
@@ -53134,15 +53849,15 @@ function updateEndParagraphProperties(existing, style, serialize) {
53134
53849
  "a:pattFill",
53135
53850
  "a:grpFill"
53136
53851
  ];
53137
- const changedFill = fillKeys.find((key2) => children5.get(key2));
53852
+ const changedFill = fillKeys.find((key2) => children6.get(key2));
53138
53853
  if (changedFill) {
53139
53854
  for (const key2 of fillKeys) {
53140
53855
  if (key2 !== changedFill) {
53141
- children5.set(key2, null);
53856
+ children6.set(key2, null);
53142
53857
  }
53143
53858
  }
53144
53859
  }
53145
- return mergeOrderedXml(existing, attributes, children5, DEF_RPR_CHILD_ORDER);
53860
+ return mergeOrderedXml(existing, attributes, children6, DEF_RPR_CHILD_ORDER);
53146
53861
  }
53147
53862
 
53148
53863
  // pptx/core/core/runtime/paragraph-child-assembly.ts
@@ -53179,10 +53894,10 @@ function classifyParagraphChild(run) {
53179
53894
  }
53180
53895
  return { tag: "m:oMath", value: eqXml };
53181
53896
  }
53182
- function isGroupedByTag2(children5) {
53897
+ function isGroupedByTag2(children6) {
53183
53898
  const seen = /* @__PURE__ */ new Set();
53184
53899
  let previous = "";
53185
- for (const { tag } of children5) {
53900
+ for (const { tag } of children6) {
53186
53901
  if (tag !== previous && seen.has(tag)) {
53187
53902
  return false;
53188
53903
  }
@@ -53191,10 +53906,10 @@ function isGroupedByTag2(children5) {
53191
53906
  }
53192
53907
  return true;
53193
53908
  }
53194
- function writeParagraphChildren(paragraph, children5) {
53195
- if (isGroupedByTag2(children5)) {
53909
+ function writeParagraphChildren(paragraph, children6) {
53910
+ if (isGroupedByTag2(children6)) {
53196
53911
  const grouped = /* @__PURE__ */ new Map();
53197
- for (const { tag, value } of children5) {
53912
+ for (const { tag, value } of children6) {
53198
53913
  const bucket = grouped.get(tag);
53199
53914
  if (bucket) {
53200
53915
  bucket.push(value);
@@ -53208,10 +53923,10 @@ function writeParagraphChildren(paragraph, children5) {
53208
53923
  return;
53209
53924
  }
53210
53925
  const totals = /* @__PURE__ */ new Map();
53211
- for (const { tag } of children5) {
53926
+ for (const { tag } of children6) {
53212
53927
  totals.set(tag, (totals.get(tag) ?? 0) + 1);
53213
53928
  }
53214
- for (const [position2, { tag, value }] of children5.entries()) {
53929
+ for (const [position2, { tag, value }] of children6.entries()) {
53215
53930
  paragraph[(totals.get(tag) ?? 0) > 1 ? chunkX7MGZQ6C_cjs.orderedXmlKey(tag, position2) : tag] = value;
53216
53931
  }
53217
53932
  }
@@ -53417,9 +54132,9 @@ function assembleParagraphXml(runs, paragraphProps, endParaRunProperties, markup
53417
54132
  if (Object.keys(paragraphProps).length > 0 || markup?.emptyParagraphPropertiesAuthored) {
53418
54133
  paragraph["a:pPr"] = paragraphProps;
53419
54134
  }
53420
- const children5 = runs.map((run) => classifyParagraphChild(run)).filter((child14) => child14 !== void 0);
53421
- if (children5.length > 0) {
53422
- writeParagraphChildren(paragraph, children5);
54135
+ const children6 = runs.map((run) => classifyParagraphChild(run)).filter((child16) => child16 !== void 0);
54136
+ if (children6.length > 0) {
54137
+ writeParagraphChildren(paragraph, children6);
53423
54138
  } else {
53424
54139
  paragraph["a:r"] = runs.length > 1 ? runs : runs[0];
53425
54140
  }
@@ -54020,13 +54735,13 @@ function renderFunnelChartSvg(element, x, y, width, height) {
54020
54735
  const bottom = top + Math.max(stageHeight - 1, 0.5);
54021
54736
  const pointColor = series.dataPoints?.find((point) => point.idx === index)?.spPr?.fillColor;
54022
54737
  const fill = pointColor ?? series.color ?? DEFAULT_COLORS[index % DEFAULT_COLORS.length];
54023
- const points4 = [
54738
+ const points5 = [
54024
54739
  `${center - topWidth / 2},${top}`,
54025
54740
  `${center + topWidth / 2},${top}`,
54026
54741
  `${center + bottomWidth / 2},${bottom}`,
54027
54742
  `${center - bottomWidth / 2},${bottom}`
54028
54743
  ].join(" ");
54029
- return `<polygon data-chart-mark="funnel" data-chart-point="${index}" points="${points4}" fill="${esc2(fill)}" />`;
54744
+ return `<polygon data-chart-mark="funnel" data-chart-point="${index}" points="${points5}" fill="${esc2(fill)}" />`;
54030
54745
  }).join("");
54031
54746
  }
54032
54747
 
@@ -54074,8 +54789,8 @@ function renderLines(element, x, y, w, h) {
54074
54789
  const span = max - min || 1;
54075
54790
  return data.series.map((series, seriesIndex) => {
54076
54791
  const denominator = Math.max(series.values.length - 1, 1);
54077
- const points4 = series.values.map((value, index) => `${x + index / denominator * w},${y + (max - value) / span * h}`).join(" ");
54078
- return `<polyline data-chart-mark="line" points="${points4}" fill="none" stroke="${esc3(color(series, seriesIndex))}" stroke-width="2" />`;
54792
+ const points5 = series.values.map((value, index) => `${x + index / denominator * w},${y + (max - value) / span * h}`).join(" ");
54793
+ return `<polyline data-chart-mark="line" points="${points5}" fill="none" stroke="${esc3(color(series, seriesIndex))}" stroke-width="2" />`;
54079
54794
  }).join("");
54080
54795
  }
54081
54796
  function polar(cx, cy, radius, angle) {
@@ -54494,8 +55209,8 @@ function renderGroup(el, defaults, ctx) {
54494
55209
  return "";
54495
55210
  }
54496
55211
  const parts = [];
54497
- for (const child14 of el.children) {
54498
- parts.push(renderElement(child14, defaults, ctx));
55212
+ for (const child16 of el.children) {
55213
+ parts.push(renderElement(child16, defaults, ctx));
54499
55214
  }
54500
55215
  return parts.join("");
54501
55216
  }
@@ -56251,18 +56966,18 @@ var PptxHandlerRuntime6 = class extends PptxHandlerRuntime5 {
56251
56966
  const childTnLst = cTn["p:childTnLst"];
56252
56967
  if (childTnLst) {
56253
56968
  for (const container of ["p:par", "p:seq", "p:excl"]) {
56254
- const children5 = this.ensureArray(childTnLst[container]);
56255
- for (const child14 of children5) {
56256
- this.walkMediaTimingTree(child14, result, slidePath);
56969
+ const children6 = this.ensureArray(childTnLst[container]);
56970
+ for (const child16 of children6) {
56971
+ this.walkMediaTimingTree(child16, result, slidePath);
56257
56972
  }
56258
56973
  }
56259
56974
  this.walkMediaTimingTree(childTnLst, result, slidePath);
56260
56975
  }
56261
56976
  }
56262
56977
  for (const container of ["p:par", "p:seq", "p:excl", "p:tnLst"]) {
56263
- const children5 = this.ensureArray(node[container]);
56264
- for (const child14 of children5) {
56265
- this.walkMediaTimingTree(child14, result, slidePath);
56978
+ const children6 = this.ensureArray(node[container]);
56979
+ for (const child16 of children6) {
56980
+ this.walkMediaTimingTree(child16, result, slidePath);
56266
56981
  }
56267
56982
  }
56268
56983
  }
@@ -58601,14 +59316,14 @@ function setOwnXmlProperty(node, key2, value) {
58601
59316
  configurable: true
58602
59317
  });
58603
59318
  }
58604
- function assignOrderedXmlChildren(target, children5) {
59319
+ function assignOrderedXmlChildren(target, children6) {
58605
59320
  const runs = [];
58606
- for (const child14 of children5) {
59321
+ for (const child16 of children6) {
58607
59322
  const last = runs.at(-1);
58608
- if (last && last.tag === child14.tag) {
58609
- last.nodes.push(child14.node);
59323
+ if (last && last.tag === child16.tag) {
59324
+ last.nodes.push(child16.node);
58610
59325
  } else {
58611
- runs.push({ tag: child14.tag, nodes: [child14.node] });
59326
+ runs.push({ tag: child16.tag, nodes: [child16.node] });
58612
59327
  }
58613
59328
  }
58614
59329
  const seen = /* @__PURE__ */ new Set();
@@ -58675,7 +59390,7 @@ function buildGroupTransformXml(group, emuPerPx, ownEmuOverride, rewrap) {
58675
59390
  }
58676
59391
  return xfrm;
58677
59392
  }
58678
- function applyGroupChildTransform(xml, child14, emuPerPx, owner, precomputed) {
59393
+ function applyGroupChildTransform(xml, child16, emuPerPx, owner, precomputed) {
58679
59394
  const spPr = xml["p:spPr"];
58680
59395
  const grpSpPr = xml["p:grpSpPr"];
58681
59396
  const childXfrm = spPr?.["a:xfrm"] ?? xml["p:xfrm"] ?? grpSpPr?.["a:xfrm"];
@@ -58684,18 +59399,18 @@ function applyGroupChildTransform(xml, child14, emuPerPx, owner, precomputed) {
58684
59399
  }
58685
59400
  childXfrm["a:off"] ??= {};
58686
59401
  childXfrm["a:ext"] ??= {};
58687
- const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(child14, owner, emuPerPx) : void 0);
59402
+ const inverted = precomputed ?? (owner ? invertChildIntoGroupSpace(child16, owner, emuPerPx) : void 0);
58688
59403
  childXfrm["a:off"]["@_x"] = String(
58689
- inverted ? inverted.xEmu : resolveXfrmEmu(child14.x, child14.xEmu, emuPerPx)
59404
+ inverted ? inverted.xEmu : resolveXfrmEmu(child16.x, child16.xEmu, emuPerPx)
58690
59405
  );
58691
59406
  childXfrm["a:off"]["@_y"] = String(
58692
- inverted ? inverted.yEmu : resolveXfrmEmu(child14.y, child14.yEmu, emuPerPx)
59407
+ inverted ? inverted.yEmu : resolveXfrmEmu(child16.y, child16.yEmu, emuPerPx)
58693
59408
  );
58694
59409
  childXfrm["a:ext"]["@_cx"] = String(
58695
- inverted ? inverted.widthEmu : resolveXfrmEmu(child14.width, child14.widthEmu, emuPerPx)
59410
+ inverted ? inverted.widthEmu : resolveXfrmEmu(child16.width, child16.widthEmu, emuPerPx)
58696
59411
  );
58697
59412
  childXfrm["a:ext"]["@_cy"] = String(
58698
- inverted ? inverted.heightEmu : resolveXfrmEmu(child14.height, child14.heightEmu, emuPerPx)
59413
+ inverted ? inverted.heightEmu : resolveXfrmEmu(child16.height, child16.heightEmu, emuPerPx)
58699
59414
  );
58700
59415
  }
58701
59416
 
@@ -58961,14 +59676,14 @@ function buildInkShapeXml(el, emuPerPx) {
58961
59676
  if (!Number.isFinite(x) || !Number.isFinite(y)) {
58962
59677
  continue;
58963
59678
  }
58964
- const pt = {
59679
+ const pt2 = {
58965
59680
  "@_x": String(Math.round(x * emuPerPx)),
58966
59681
  "@_y": String(Math.round(y * emuPerPx))
58967
59682
  };
58968
59683
  if (token2.groups?.cmd?.toUpperCase() === "M") {
58969
- moveToList.push({ "a:pt": pt });
59684
+ moveToList.push({ "a:pt": pt2 });
58970
59685
  } else {
58971
- lnToList.push({ "a:pt": pt });
59686
+ lnToList.push({ "a:pt": pt2 });
58972
59687
  }
58973
59688
  }
58974
59689
  const pathXml = {
@@ -59270,8 +59985,8 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
59270
59985
  preserveGroupChildSpace: childSpace
59271
59986
  } : void 0;
59272
59987
  const entries = [];
59273
- for (const child14 of group.children) {
59274
- const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(child14, childCtx) : this.serializeGroupChildFromRawXml(child14, childSpace);
59988
+ for (const child16 of group.children) {
59989
+ const entry2 = childCtx ? this.serializeGroupChildViaElementWriter(child16, childCtx) : this.serializeGroupChildFromRawXml(child16, childSpace);
59275
59990
  if (entry2) {
59276
59991
  entries.push(entry2);
59277
59992
  }
@@ -59288,18 +60003,18 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
59288
60003
  * Nested groups are recursed here rather than handed to the element writer,
59289
60004
  * so the save context survives to every nesting depth.
59290
60005
  */
59291
- serializeGroupChildViaElementWriter(child14, ctx) {
59292
- if (child14.type === "group") {
59293
- const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(child14, ctx.preserveGroupChildSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
59294
- const xml = this.buildGroupShapeXml(child14, ctx, ownEmuOverride);
60006
+ serializeGroupChildViaElementWriter(child16, ctx) {
60007
+ if (child16.type === "group") {
60008
+ const ownEmuOverride = ctx.preserveGroupChildSpace ? resolveGroupChildBoxEmu(child16, ctx.preserveGroupChildSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
60009
+ const xml = this.buildGroupShapeXml(child16, ctx, ownEmuOverride);
59295
60010
  if (!xml) {
59296
60011
  return null;
59297
60012
  }
59298
- this.serializeShapeLocks(xml, child14);
60013
+ this.serializeShapeLocks(xml, child16);
59299
60014
  return { tag: "p:grpSp", xml };
59300
60015
  }
59301
60016
  const collectors = createGroupChildCollectors();
59302
- this.processSlideElement(child14, collectors, ctx);
60017
+ this.processSlideElement(child16, collectors, ctx);
59303
60018
  return pickGroupChildFromCollectors(collectors);
59304
60019
  }
59305
60020
  /**
@@ -59307,46 +60022,46 @@ var PptxHandlerRuntime15 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
59307
60022
  * markup through and patch only its transform. Preserves everything, but
59308
60023
  * cannot pick up model-level edits.
59309
60024
  */
59310
- serializeGroupChildFromRawXml(child14, childSpace) {
59311
- const emu2 = childSpace ? resolveGroupChildBoxEmu(child14, childSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
59312
- const ownEmuOverride = child14.type === "group" ? emu2 : void 0;
59313
- const xml = this.buildGroupChildXml(child14, ownEmuOverride);
60025
+ serializeGroupChildFromRawXml(child16, childSpace) {
60026
+ const emu2 = childSpace ? resolveGroupChildBoxEmu(child16, childSpace, _PptxHandlerRuntime.EMU_PER_PX) : void 0;
60027
+ const ownEmuOverride = child16.type === "group" ? emu2 : void 0;
60028
+ const xml = this.buildGroupChildXml(child16, ownEmuOverride);
59314
60029
  if (!xml) {
59315
60030
  return null;
59316
60031
  }
59317
- applyGroupChildTransform(xml, child14, _PptxHandlerRuntime.EMU_PER_PX, childSpace, emu2);
59318
- const tag = classifyGroupChildTag(child14.type, xml);
60032
+ applyGroupChildTransform(xml, child16, _PptxHandlerRuntime.EMU_PER_PX, childSpace, emu2);
60033
+ const tag = classifyGroupChildTag(child16.type, xml);
59319
60034
  if (!tag) {
59320
60035
  this.compatibilityService.reportWarning({
59321
60036
  code: "SAVE_GROUP_CHILD_SKIPPED",
59322
- message: `Group child '${child14.id}' (${child14.type}) has no valid CT_GroupShape slot and was skipped during save.`,
60037
+ message: `Group child '${child16.id}' (${child16.type}) has no valid CT_GroupShape slot and was skipped during save.`,
59323
60038
  scope: "save",
59324
- elementId: child14.id
60039
+ elementId: child16.id
59325
60040
  });
59326
60041
  return null;
59327
60042
  }
59328
60043
  return { tag, xml };
59329
60044
  }
59330
60045
  /** Resolve (or fabricate) the XML node for a single group child. */
59331
- buildGroupChildXml(child14, ownEmuOverride) {
59332
- if (child14.type === "group") {
59333
- return this.buildGroupShapeXml(child14, void 0, ownEmuOverride) ?? void 0;
60046
+ buildGroupChildXml(child16, ownEmuOverride) {
60047
+ if (child16.type === "group") {
60048
+ return this.buildGroupShapeXml(child16, void 0, ownEmuOverride) ?? void 0;
59334
60049
  }
59335
- const xml = child14.rawXml;
60050
+ const xml = child16.rawXml;
59336
60051
  if (xml) {
59337
60052
  return xml;
59338
60053
  }
59339
- if (child14.type === "text" || child14.type === "shape") {
59340
- return this.createElementXml(child14);
60054
+ if (child16.type === "text" || child16.type === "shape") {
60055
+ return this.createElementXml(child16);
59341
60056
  }
59342
- if (child14.type === "connector") {
59343
- return this.createConnectorXml(child14);
60057
+ if (child16.type === "connector") {
60058
+ return this.createConnectorXml(child16);
59344
60059
  }
59345
- if (child14.type === "ink") {
59346
- return this.createInkShapeXml(child14);
60060
+ if (child16.type === "ink") {
60061
+ return this.createInkShapeXml(child16);
59347
60062
  }
59348
- if (child14.type === "table") {
59349
- return this.createTableGraphicFrameXml(child14);
60063
+ if (child16.type === "table") {
60064
+ return this.createTableGraphicFrameXml(child16);
59350
60065
  }
59351
60066
  return void 0;
59352
60067
  }
@@ -60192,8 +60907,8 @@ var PptxHandlerRuntime19 = class _PptxHandlerRuntime extends PptxHandlerRuntime1
60192
60907
  return style;
60193
60908
  }
60194
60909
  if (runProperties["@_sz"]) {
60195
- const points4 = parseInt(runProperties["@_sz"]) / 100;
60196
- style.fontSize = points4 * (96 / 72);
60910
+ const points5 = parseInt(runProperties["@_sz"]) / 100;
60911
+ style.fontSize = points5 * (96 / 72);
60197
60912
  }
60198
60913
  const bold = this.parseOptionalBooleanAttr(runProperties["@_b"]);
60199
60914
  if (bold !== void 0) {
@@ -62372,6 +63087,22 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
62372
63087
  * Record `chartData` as parsed, straight off `enrichChartData`, as this
62373
63088
  * chart's load-time baseline. See {@link chartDataBaselines}.
62374
63089
  */
63090
+ /** The element formats the original chart part authors (see `chart-element-format-read-xml`). */
63091
+ readAuthoredChartElementFormats(chartXmlStr, chartData) {
63092
+ const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
63093
+ const original = this.parser.parse(chartXmlStr);
63094
+ const chartSpace = this.xmlLookupService.getChildByLocalName(original, "chartSpace");
63095
+ const plotArea = this.xmlLookupService.getChildByLocalName(
63096
+ this.xmlLookupService.getChildByLocalName(chartSpace, "chart"),
63097
+ "plotArea"
63098
+ );
63099
+ return readChartElementFormatsFromXml(
63100
+ { chartSpace, seriesNodes: collectChartSeriesNodes(plotArea, localName15) },
63101
+ chartData,
63102
+ localName15,
63103
+ (node) => this.parseColor(node)
63104
+ );
63105
+ }
62375
63106
  rememberChartDataBaseline(chartData) {
62376
63107
  if (!chartData.chartPartPath) {
62377
63108
  return;
@@ -62444,6 +63175,7 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
62444
63175
  try {
62445
63176
  const chartXmlStr = await chartFile.async("string");
62446
63177
  const chartXmlData = this.parser.parse(chartXmlStr);
63178
+ const authoredFormats = chartData.elementFormats ? this.readAuthoredChartElementFormats(chartXmlStr, chartData) : void 0;
62447
63179
  const workbookWrites = [];
62448
63180
  const chartSpace = this.xmlLookupService.getChildByLocalName(chartXmlData, "chartSpace");
62449
63181
  if (!chartSpace) {
@@ -62693,6 +63425,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
62693
63425
  (key2) => this.compatibilityService.getXmlLocalName(key2)
62694
63426
  );
62695
63427
  }
63428
+ if (chartData.elementFormats) {
63429
+ applySeriesElementFormatsToXml(
63430
+ this.xmlLookupService.getChildrenArrayByLocalName(chartTypeContainer, "ser"),
63431
+ chartData,
63432
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
63433
+ authoredFormats
63434
+ );
63435
+ }
62696
63436
  if (chartData.series.some((s) => s.seriesChartType !== void 0)) {
62697
63437
  applyComboSeriesTypesToXml(
62698
63438
  plotArea,
@@ -63016,6 +63756,14 @@ var PptxHandlerRuntime24 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
63016
63756
  }
63017
63757
  );
63018
63758
  }
63759
+ if (chartData.elementFormats) {
63760
+ applyChromeElementFormatsToXml(
63761
+ chartSpace,
63762
+ chartData,
63763
+ (key2) => this.compatibilityService.getXmlLocalName(key2),
63764
+ authoredFormats
63765
+ );
63766
+ }
63019
63767
  for (const key2 of Object.keys(plotArea)) {
63020
63768
  const local = this.compatibilityService.getXmlLocalName(key2);
63021
63769
  if (!local.endsWith("Chart")) {
@@ -63588,14 +64336,14 @@ function applySmartArtColorStyleLabels(node, labels, localName15) {
63588
64336
  }
63589
64337
 
63590
64338
  // pptx/core/core/runtime/smartart-colors-builder.ts
63591
- function asObject2(value) {
64339
+ function asObject3(value) {
63592
64340
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
63593
64341
  }
63594
64342
  function toArray4(value) {
63595
64343
  if (Array.isArray(value)) {
63596
- return value.filter((entry2) => Boolean(asObject2(entry2)));
64344
+ return value.filter((entry2) => Boolean(asObject3(entry2)));
63597
64345
  }
63598
- const obj = asObject2(value);
64346
+ const obj = asObject3(value);
63599
64347
  return obj ? [obj] : [];
63600
64348
  }
63601
64349
  function findKey23(obj, name, getLocalName2) {
@@ -63621,13 +64369,13 @@ function applyColorToList(list, value, getLocalName2, resolveColor2) {
63621
64369
  }
63622
64370
  const existing = list[colorKey];
63623
64371
  if (resolveColor2) {
63624
- const authored = asObject2(Array.isArray(existing) ? existing[0] : existing);
64372
+ const authored = asObject3(Array.isArray(existing) ? existing[0] : existing);
63625
64373
  const authoredHex = authored ? resolveColor2({ [colorKey]: authored }) : void 0;
63626
64374
  if (authoredHex && chunkX7MGZQ6C_cjs.colorsEqual(authoredHex, value)) {
63627
64375
  return;
63628
64376
  }
63629
64377
  }
63630
- const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(asObject2(entry2))) : [];
64378
+ const rest = Array.isArray(existing) ? existing.slice(1).filter((entry2) => Boolean(asObject3(entry2))) : [];
63631
64379
  if (colorKey !== "a:srgbClr") {
63632
64380
  delete list[colorKey];
63633
64381
  }
@@ -63642,7 +64390,7 @@ function applyColorListValues(list, values, getLocalName2, resolveColor2) {
63642
64390
  const existing = Array.isArray(existingRaw) ? existingRaw : existingRaw ? [existingRaw] : [];
63643
64391
  if (resolveColor2 && colorKey && existing.length === values.length) {
63644
64392
  const unchanged2 = existing.every((entryRaw, index) => {
63645
- const entry2 = asObject2(entryRaw);
64393
+ const entry2 = asObject3(entryRaw);
63646
64394
  const authoredHex = entry2 ? resolveColor2({ [colorKey]: entry2 }) : void 0;
63647
64395
  return authoredHex !== void 0 && chunkX7MGZQ6C_cjs.colorsEqual(authoredHex, values[index]);
63648
64396
  });
@@ -63667,14 +64415,14 @@ function applyRoleColors(labels, roleColors, getLocalName2, resolveColor2) {
63667
64415
  }
63668
64416
  const fillKey = findKey23(label, "fillClrLst", getLocalName2);
63669
64417
  if (fillKey) {
63670
- const list = asObject2(label[fillKey]);
64418
+ const list = asObject3(label[fillKey]);
63671
64419
  if (list && applyColorListValues(list, role.fill, getLocalName2, resolveColor2)) {
63672
64420
  mutated = true;
63673
64421
  }
63674
64422
  }
63675
64423
  const lineKey = findKey23(label, "linClrLst", getLocalName2);
63676
64424
  if (lineKey) {
63677
- const list = asObject2(label[lineKey]);
64425
+ const list = asObject3(label[lineKey]);
63678
64426
  if (list && applyColorListValues(list, role.line, getLocalName2, resolveColor2)) {
63679
64427
  mutated = true;
63680
64428
  }
@@ -63706,7 +64454,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
63706
64454
  const fillKey = findKey23(label, "fillClrLst", getLocalName2);
63707
64455
  if (fillKey) {
63708
64456
  const value = transform2.fillColors[fillIndex++];
63709
- const list = asObject2(label[fillKey]);
64457
+ const list = asObject3(label[fillKey]);
63710
64458
  if (list && value) {
63711
64459
  applyColorToList(list, value, getLocalName2, resolveColor2);
63712
64460
  mutated = true;
@@ -63715,7 +64463,7 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
63715
64463
  const lineKey = findKey23(label, "linClrLst", getLocalName2);
63716
64464
  if (lineKey) {
63717
64465
  const value = transform2.lineColors[lineIndex++];
63718
- const list = asObject2(label[lineKey]);
64466
+ const list = asObject3(label[lineKey]);
63719
64467
  if (list && value) {
63720
64468
  applyColorToList(list, value, getLocalName2, resolveColor2);
63721
64469
  mutated = true;
@@ -63726,30 +64474,30 @@ function applySmartArtColorTransform(colorsDef, transform2, getLocalName2, resol
63726
64474
  }
63727
64475
 
63728
64476
  // pptx/core/core/runtime/smartart-node-synthesis.ts
63729
- function prSetOf2(pt) {
63730
- const prSet = pt["dgm:prSet"];
64477
+ function prSetOf2(pt2) {
64478
+ const prSet = pt2["dgm:prSet"];
63731
64479
  return prSet && typeof prSet === "object" && !Array.isArray(prSet) ? prSet : {};
63732
64480
  }
63733
64481
  function findPresPointForAssoc(pts, assocId) {
63734
64482
  return pts.find(
63735
- (pt) => pt["@_type"] === "pres" && String(prSetOf2(pt)["@_presAssocID"] || "") === assocId
64483
+ (pt2) => pt2["@_type"] === "pres" && String(prSetOf2(pt2)["@_presAssocID"] || "") === assocId
63736
64484
  );
63737
64485
  }
63738
64486
  function maxPresParOfOrd(cxns, srcId) {
63739
64487
  return cxns.filter((c) => c["@_type"] === "presParOf" && c["@_srcId"] === srcId).reduce((max, c) => Math.max(max, parseInt(String(c["@_srcOrd"] ?? ""), 10) || 0), -1);
63740
64488
  }
63741
64489
  function countNodePresPoints(pts) {
63742
- return pts.filter((pt) => pt["@_type"] === "pres" && prSetOf2(pt)["@_presName"] === "node").length;
64490
+ return pts.filter((pt2) => pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node").length;
63743
64491
  }
63744
64492
  function emptyTextBody() {
63745
64493
  return { "a:bodyPr": {}, "a:lstStyle": {}, "a:p": { "a:endParaRPr": { "@_lang": "en-US" } } };
63746
64494
  }
63747
64495
  function buildContentPoint(node) {
63748
- const pt = { "@_modelId": node.id };
63749
- pt["dgm:prSet"] = node.text ? {} : { "@_phldrT": "[Text]" };
63750
- pt["dgm:spPr"] = {};
63751
- pt["dgm:t"] = chunkX7MGZQ6C_cjs.shouldRebuildFromParagraphs(node) ? chunkX7MGZQ6C_cjs.buildPointFromParagraphs(node.paragraphs, node.text) : chunkX7MGZQ6C_cjs.shouldRebuildFromRuns(node) ? chunkX7MGZQ6C_cjs.buildPointFromRuns(node.runs) : chunkX7MGZQ6C_cjs.buildPointText(node.text ?? "");
63752
- return pt;
64496
+ const pt2 = { "@_modelId": node.id };
64497
+ pt2["dgm:prSet"] = node.text ? {} : { "@_phldrT": "[Text]" };
64498
+ pt2["dgm:spPr"] = {};
64499
+ pt2["dgm:t"] = chunkX7MGZQ6C_cjs.shouldRebuildFromParagraphs(node) ? chunkX7MGZQ6C_cjs.buildPointFromParagraphs(node.paragraphs, node.text) : chunkX7MGZQ6C_cjs.shouldRebuildFromRuns(node) ? chunkX7MGZQ6C_cjs.buildPointFromRuns(node.runs) : chunkX7MGZQ6C_cjs.buildPointText(node.text ?? "");
64500
+ return pt2;
63753
64501
  }
63754
64502
  function buildTransPoint(id, type) {
63755
64503
  return { "@_modelId": id, "@_type": type, "dgm:prSet": {}, "dgm:t": emptyTextBody() };
@@ -63812,7 +64560,7 @@ function buildPresParOfConnection(srcId, destId, srcOrd, presId) {
63812
64560
  }
63813
64561
  function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes, connections) {
63814
64562
  const existingContentIds = new Set(
63815
- existingPts.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((pt) => String(pt["@_modelId"] || ""))
64563
+ existingPts.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((pt2) => String(pt2["@_modelId"] || ""))
63816
64564
  );
63817
64565
  const newNodes = nodes.filter((n) => n.id && !existingContentIds.has(n.id));
63818
64566
  if (newNodes.length === 0) {
@@ -63848,9 +64596,9 @@ function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes,
63848
64596
  pts.push(buildPresNodePoint(presNodeId, node.id, idx, idx + 1));
63849
64597
  pts.push(buildPresSibTransPoint(presSibTransId, sibTransId));
63850
64598
  const total = idx + 1;
63851
- for (const pt of pts) {
63852
- if (pt["@_type"] === "pres" && prSetOf2(pt)["@_presName"] === "node") {
63853
- prSetOf2(pt)["@_presStyleCnt"] = String(total);
64599
+ for (const pt2 of pts) {
64600
+ if (pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node") {
64601
+ prSetOf2(pt2)["@_presStyleCnt"] = String(total);
63854
64602
  }
63855
64603
  }
63856
64604
  const srcOrd = connectionByChildId.get(node.id)?.srcOrd ?? 0;
@@ -63942,7 +64690,7 @@ function applySmartArtQuickStyle(styleDef, quickStyle, localName15, intensity) {
63942
64690
  }
63943
64691
 
63944
64692
  // pptx/core/core/runtime/smartart-save-chrome.ts
63945
- function asObject3(value) {
64693
+ function asObject4(value) {
63946
64694
  return value && typeof value === "object" && !Array.isArray(value) ? value : {};
63947
64695
  }
63948
64696
  function applySmartArtChrome(dataModel, chrome, getLocalName2) {
@@ -63952,14 +64700,14 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
63952
64700
  const findKey24 = (obj, name) => Object.keys(obj).find((k) => getLocalName2(k) === name);
63953
64701
  if (chrome.backgroundFillXml) {
63954
64702
  const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
63955
- const bg = asObject3(dataModel[bgKey]);
64703
+ const bg = asObject4(dataModel[bgKey]);
63956
64704
  const fillKey = findKey24(bg, chrome.backgroundFillXml.localName) ?? `a:${chrome.backgroundFillXml.localName}`;
63957
64705
  bg[fillKey] = chrome.backgroundFillXml.xml;
63958
64706
  dataModel[bgKey] = bg;
63959
64707
  } else if (chrome.backgroundColor) {
63960
64708
  const hex3 = chrome.backgroundColor.replace("#", "");
63961
64709
  const bgKey = findKey24(dataModel, "bg") ?? "dgm:bg";
63962
- const bg = asObject3(dataModel[bgKey]);
64710
+ const bg = asObject4(dataModel[bgKey]);
63963
64711
  const fillKey = findKey24(bg, "solidFill") ?? "a:solidFill";
63964
64712
  bg[fillKey] = { "a:srgbClr": { "@_val": hex3 } };
63965
64713
  dataModel[bgKey] = bg;
@@ -63967,9 +64715,9 @@ function applySmartArtChrome(dataModel, chrome, getLocalName2) {
63967
64715
  const hasOutlineWidth = chrome.outlineWidth !== null && chrome.outlineWidth !== void 0;
63968
64716
  if (chrome.outlineColor || hasOutlineWidth) {
63969
64717
  const wholeKey = findKey24(dataModel, "whole") ?? "dgm:whole";
63970
- const whole = asObject3(dataModel[wholeKey]);
64718
+ const whole = asObject4(dataModel[wholeKey]);
63971
64719
  const lnKey = findKey24(whole, "ln") ?? "a:ln";
63972
- const ln = asObject3(whole[lnKey]);
64720
+ const ln = asObject4(whole[lnKey]);
63973
64721
  if (hasOutlineWidth) {
63974
64722
  ln["@_w"] = String(Math.round(chrome.outlineWidth * 12700));
63975
64723
  }
@@ -64151,8 +64899,8 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
64151
64899
  const pointListKey = Object.keys(dataModel).find((key2) => localName15(key2) === "ptLst");
64152
64900
  const pointList = pointListKey ? dataModel[pointListKey] : void 0;
64153
64901
  const pointKey = pointList ? Object.keys(pointList).find((key2) => localName15(key2) === "pt") : void 0;
64154
- const points4 = pointKey && pointList ? ensureObjects(pointList[pointKey]) : [];
64155
- const docPoint = points4.find((point) => String(point["@_type"] || "") === "doc");
64902
+ const points5 = pointKey && pointList ? ensureObjects(pointList[pointKey]) : [];
64903
+ const docPoint = points5.find((point) => String(point["@_type"] || "") === "doc");
64156
64904
  if (!docPoint) {
64157
64905
  return;
64158
64906
  }
@@ -64163,9 +64911,9 @@ function applySmartArtLayoutIdentity(dataModel, layout, localName15) {
64163
64911
  propertySet["@_loCatId"] = layout.category;
64164
64912
  }
64165
64913
  }
64166
- function presentationIdsFromPoints(points4, localName15) {
64914
+ function presentationIdsFromPoints(points5, localName15) {
64167
64915
  const result = /* @__PURE__ */ new Map();
64168
- for (const point of points4) {
64916
+ for (const point of points5) {
64169
64917
  if (String(point["@_type"] || "") !== "pres") {
64170
64918
  continue;
64171
64919
  }
@@ -68075,8 +68823,8 @@ function prescanStructuralPart(xml) {
68075
68823
  let placeholderCasing = false;
68076
68824
  for (const match of xml.matchAll(PH_TYPE_RE)) {
68077
68825
  const raw = match[1] ?? match[2] ?? "";
68078
- const canonical = canonicalPlaceholderType(raw);
68079
- if (canonical !== void 0 && canonical !== raw) {
68826
+ const canonical2 = canonicalPlaceholderType(raw);
68827
+ if (canonical2 !== void 0 && canonical2 !== raw) {
68080
68828
  placeholderCasing = true;
68081
68829
  break;
68082
68830
  }
@@ -68106,8 +68854,8 @@ function countDeclaredIds(node, counts, ensureArray12) {
68106
68854
  counts.set(id, (counts.get(id) ?? 0) + 1);
68107
68855
  }
68108
68856
  for (const listKey of SHAPE_LISTS) {
68109
- for (const child14 of ensureArray12(node[listKey])) {
68110
- if (!countDeclaredIds(child14, counts, ensureArray12)) {
68857
+ for (const child16 of ensureArray12(node[listKey])) {
68858
+ if (!countDeclaredIds(child16, counts, ensureArray12)) {
68111
68859
  return false;
68112
68860
  }
68113
68861
  }
@@ -69354,8 +70102,8 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime extends PptxHandlerRuntime4
69354
70102
  }
69355
70103
  }
69356
70104
  for (const listKey of ["p:sp", "p:pic", "p:cxnSp", "p:graphicFrame", "p:grpSp"]) {
69357
- for (const child14 of this.ensureArray(node[listKey])) {
69358
- visit(child14);
70105
+ for (const child16 of this.ensureArray(node[listKey])) {
70106
+ visit(child16);
69359
70107
  }
69360
70108
  }
69361
70109
  };
@@ -69986,11 +70734,11 @@ function scanSpTreeDocumentOrder(xml) {
69986
70734
  const frame = stack[stack.length - 1];
69987
70735
  const indexInType = frame.counters.get(tag) ?? 0;
69988
70736
  frame.counters.set(tag, indexInType + 1);
69989
- const children5 = [];
69990
- frame.children.push({ tag, indexInType, children: children5 });
70737
+ const children6 = [];
70738
+ frame.children.push({ tag, indexInType, children: children6 });
69991
70739
  if (!selfClosing) {
69992
70740
  if (tag === GROUP_TAG) {
69993
- stack.push({ children: children5, counters: /* @__PURE__ */ new Map() });
70741
+ stack.push({ children: children6, counters: /* @__PURE__ */ new Map() });
69994
70742
  } else {
69995
70743
  inert++;
69996
70744
  }
@@ -73167,8 +73915,8 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
73167
73915
  textStyle.textWrap = defaults.textWrap;
73168
73916
  }
73169
73917
  }
73170
- pointsToPixels(points4) {
73171
- return points4 * (96 / 72);
73918
+ pointsToPixels(points5) {
73919
+ return points5 * (96 / 72);
73172
73920
  }
73173
73921
  parseParagraphSpacingPx(spacingNode, basisFontSizePx) {
73174
73922
  return chunkX7MGZQ6C_cjs.parseParagraphSpacingPx(spacingNode, basisFontSizePx);
@@ -75634,11 +76382,11 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
75634
76382
  grpSpPr?.["a:xfrm"],
75635
76383
  _PptxHandlerRuntime.EMU_PER_PX
75636
76384
  );
75637
- const round2 = depth === 0 ? Math.round : (value) => value;
75638
- const parentX = round2(raw.parentX);
75639
- const parentY = round2(raw.parentY);
75640
- const parentW = round2(raw.parentW);
75641
- const parentH = round2(raw.parentH);
76385
+ const round3 = depth === 0 ? Math.round : (value) => value;
76386
+ const parentX = round3(raw.parentX);
76387
+ const parentY = round3(raw.parentY);
76388
+ const parentW = round3(raw.parentW);
76389
+ const parentH = round3(raw.parentH);
75642
76390
  const grpFillStyle = grpSpPr ? this.extractShapeStyle(grpSpPr) : void 0;
75643
76391
  if (grpFillStyle?.fillMode === "image" && grpSpPr) {
75644
76392
  const blipFill = grpSpPr["a:blipFill"];
@@ -75653,16 +76401,16 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
75653
76401
  }
75654
76402
  }
75655
76403
  const hasGroupFill = grpFillStyle && grpFillStyle.fillMode && grpFillStyle.fillMode !== "none";
75656
- const children5 = await this.parseGroupShape(group, baseId, slidePath, rawXmlStr, depth);
75657
- if (children5.length === 0) {
76404
+ const children6 = await this.parseGroupShape(group, baseId, slidePath, rawXmlStr, depth);
76405
+ if (children6.length === 0) {
75658
76406
  return null;
75659
76407
  }
75660
76408
  if (hasGroupFill && grpFillStyle.fillMode !== "group") {
75661
- applyGroupFillInheritance(children5, grpFillStyle);
76409
+ applyGroupFillInheritance(children6, grpFillStyle);
75662
76410
  }
75663
76411
  if (raw.rotation || raw.flipHorizontal || raw.flipVertical) {
75664
76412
  applyAncestorGroupTextTransform(
75665
- children5,
76413
+ children6,
75666
76414
  getElementOrientationMatrix({
75667
76415
  rotation: raw.rotation,
75668
76416
  flipHorizontal: raw.flipHorizontal,
@@ -75670,9 +76418,9 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
75670
76418
  })
75671
76419
  );
75672
76420
  }
75673
- for (const child14 of children5) {
75674
- child14.x -= raw.parentX;
75675
- child14.y -= raw.parentY;
76421
+ for (const child16 of children6) {
76422
+ child16.x -= raw.parentX;
76423
+ child16.y -= raw.parentY;
75676
76424
  }
75677
76425
  const grpCNvPr = group?.["p:nvGrpSpPr"]?.["p:cNvPr"];
75678
76426
  const grpSlideRels = this.slideRelsMap.get(slidePath);
@@ -75692,8 +76440,8 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
75692
76440
  name: grpElementName || void 0,
75693
76441
  x: parentX,
75694
76442
  y: parentY,
75695
- width: parentW || Math.max(...children5.map((c) => c.x + c.width)),
75696
- height: parentH || Math.max(...children5.map((c) => c.y + c.height)),
76443
+ width: parentW || Math.max(...children6.map((c) => c.x + c.width)),
76444
+ height: parentH || Math.max(...children6.map((c) => c.y + c.height)),
75697
76445
  // Exact EMU for `resolveXfrmEmu` (xfrm-emu-resolution.ts) to re-emit
75698
76446
  // byte-identical on save for an unmoved/unresized TOP-LEVEL group.
75699
76447
  // `width`/`height` fall back to a computed bounding box when the
@@ -75729,7 +76477,7 @@ var PptxHandlerRuntime70 = class _PptxHandlerRuntime extends PptxHandlerRuntime6
75729
76477
  rotation: raw.rotation,
75730
76478
  flipHorizontal: raw.flipHorizontal || void 0,
75731
76479
  flipVertical: raw.flipVertical || void 0,
75732
- children: children5,
76480
+ children: children6,
75733
76481
  rawXml: group,
75734
76482
  actionClick: grpActionClick,
75735
76483
  actionHover: grpActionHover,
@@ -80199,8 +80947,8 @@ var PptxHandlerRuntime88 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
80199
80947
  const connectionList = this.xmlLookupService.getChildByLocalName(dataModel, "cxnLst");
80200
80948
  const rawConnections = this.xmlLookupService.getChildrenArrayByLocalName(connectionList, "cxn");
80201
80949
  const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
80202
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
80203
- const transitionTextById = collectSmartArtTransitionText(points4, (point) => {
80950
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
80951
+ const transitionTextById = collectSmartArtTransitionText(points5, (point) => {
80204
80952
  const values = [];
80205
80953
  this.collectLocalTextValues(point, "t", values);
80206
80954
  return values.join("");
@@ -80575,11 +81323,11 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
80575
81323
  }
80576
81324
  const dataModel = this.xmlLookupService.getChildByLocalName(diagramDataPart.xml, "dataModel");
80577
81325
  const pointList = this.xmlLookupService.getChildByLocalName(dataModel, "ptLst");
80578
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
81326
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(pointList, "pt");
80579
81327
  const { parsedConnections, parentByNodeId } = this.parseSmartArtConnections(dataModel);
80580
81328
  const localName15 = (key2) => this.compatibilityService.getXmlLocalName(key2);
80581
- const metadataOf = resolveSmartArtPointMetadata(points4, parsedConnections, localName15);
80582
- const nodes = points4.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((point) => {
81329
+ const metadataOf = resolveSmartArtPointMetadata(points5, parsedConnections, localName15);
81330
+ const nodes = points5.filter(chunkX7MGZQ6C_cjs.isContentPoint).map((point) => {
80583
81331
  const pointId = String(point?.["@_modelId"] || "").trim();
80584
81332
  if (pointId.length === 0) {
80585
81333
  return null;
@@ -80642,7 +81390,7 @@ var PptxHandlerRuntime89 = class _PptxHandlerRuntime extends PptxHandlerRuntime8
80642
81390
  const drawingShapes = drawingResolution ? await this.parseSmartArtDrawingShapesFromPath(
80643
81391
  drawingResolution.path,
80644
81392
  resolveSmartArtMergedTextColors(
80645
- points4,
81393
+ points5,
80646
81394
  parsedConnections,
80647
81395
  layoutDefinition,
80648
81396
  colorTransform?.roleColors,
@@ -80809,11 +81557,11 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
80809
81557
  const cacheName = preferNumeric ? "numCache" : "strCache";
80810
81558
  const referenceNode = this.xmlLookupService.getChildByLocalName(seriesContainer, refName) || this.xmlLookupService.getChildByLocalName(seriesContainer, literalName);
80811
81559
  const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
80812
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
80813
- if (points4.length === 0) {
81560
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
81561
+ if (points5.length === 0) {
80814
81562
  return [];
80815
81563
  }
80816
- return [...points4].sort((left, right) => {
81564
+ return [...points5].sort((left, right) => {
80817
81565
  const leftIndex = Number.parseInt(String(left?.["@_idx"] || "0"), 10);
80818
81566
  const rightIndex = Number.parseInt(String(right?.["@_idx"] || "0"), 10);
80819
81567
  return leftIndex - rightIndex;
@@ -80848,13 +81596,13 @@ var PptxHandlerRuntime90 = class extends PptxHandlerRuntime89 {
80848
81596
  const cacheName = preferNumeric ? "numCache" : "strCache";
80849
81597
  const referenceNode = this.xmlLookupService.getChildByLocalName(categoryContainer, refName) || this.xmlLookupService.getChildByLocalName(categoryContainer, literalName);
80850
81598
  const cacheNode = this.xmlLookupService.getChildByLocalName(referenceNode, cacheName) || referenceNode;
80851
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
80852
- if (points4.length === 0) {
81599
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(cacheNode, "pt");
81600
+ if (points5.length === 0) {
80853
81601
  return [];
80854
81602
  }
80855
81603
  const byIndex = /* @__PURE__ */ new Map();
80856
81604
  let maxIndex = -1;
80857
- for (const point of points4) {
81605
+ for (const point of points5) {
80858
81606
  const index = Number.parseInt(String(point?.["@_idx"] ?? "0"), 10);
80859
81607
  if (!Number.isFinite(index) || index < 0) {
80860
81608
  continue;
@@ -81026,11 +81774,11 @@ var PptxHandlerRuntime91 = class extends PptxHandlerRuntime90 {
81026
81774
  }
81027
81775
  const custSplitNode = this.xmlLookupService.getChildByLocalName(ofPieContainer, "custSplit");
81028
81776
  if (custSplitNode) {
81029
- const points4 = this.xmlLookupService.getChildrenArrayByLocalName(
81777
+ const points5 = this.xmlLookupService.getChildrenArrayByLocalName(
81030
81778
  custSplitNode,
81031
81779
  "secondPiePt"
81032
81780
  );
81033
- const indices = points4.map((p) => parseNumberVal(p)).filter((n) => n !== void 0 && Number.isFinite(n));
81781
+ const indices = points5.map((p) => parseNumberVal(p)).filter((n) => n !== void 0 && Number.isFinite(n));
81034
81782
  if (indices.length > 0) {
81035
81783
  result.custSplit = indices;
81036
81784
  }
@@ -81755,7 +82503,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
81755
82503
  */
81756
82504
  readChartLinesAndChrome(neutral, tree, groups, reader) {
81757
82505
  const colorAdapter = { parseColor: reader.parseColor };
81758
- const container = (child14) => (groups.find(({ group }) => chartContainerAllows(group.element, child14)) ?? groups[0])?.node;
82506
+ const container = (child16) => (groups.find(({ group }) => chartContainerAllows(group.element, child16)) ?? groups[0])?.node;
81759
82507
  const dropLines = chunkX7MGZQ6C_cjs.parseLineStyle(container("dropLines"), "dropLines", reader.xml, colorAdapter);
81760
82508
  const hiLowLines = chunkX7MGZQ6C_cjs.parseLineStyle(
81761
82509
  container("hiLowLines"),
@@ -81854,6 +82602,12 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
81854
82602
  const view3D = view3DFromNeutral(neutral);
81855
82603
  const chartChrome = chartChromeFromNeutral(neutral);
81856
82604
  const themeAccentColors = this.resolveChartThemeAccents();
82605
+ const elementFormats = readChartElementFormatsFromXml(
82606
+ { chartSpace, seriesNodes: built.seriesNodes },
82607
+ { axes },
82608
+ reader.localName,
82609
+ (node) => reader.parseColor(node)
82610
+ );
81857
82611
  return {
81858
82612
  chartType,
81859
82613
  categories: filled.categories,
@@ -81879,6 +82633,7 @@ var PptxHandlerRuntime95 = class extends PptxHandlerRuntime94 {
81879
82633
  chartRelationshipId,
81880
82634
  ...linesAndChrome,
81881
82635
  ...axes.length > 0 ? { axes } : {},
82636
+ ...elementFormats ? { elementFormats } : {},
81882
82637
  ...bandFmts ? { bandFmts } : {},
81883
82638
  ...facts,
81884
82639
  ...neutral.plotVisibleOnly !== void 0 ? { plotVisibleOnly: neutral.plotVisibleOnly } : {},
@@ -83726,16 +84481,16 @@ function parseExHyperlinkContainer(view, container) {
83726
84481
  }
83727
84482
  const id = view.getUint32(atom2.dataOffset, true);
83728
84483
  const strings = {};
83729
- for (const child14 of iterateChildren(view, container)) {
83730
- if (child14.recType !== RT.CString) {
84484
+ for (const child16 of iterateChildren(view, container)) {
84485
+ if (child16.recType !== RT.CString) {
83731
84486
  continue;
83732
84487
  }
83733
- if (child14.recInstance === 0) {
83734
- strings.friendlyName = readCString(view, child14);
83735
- } else if (child14.recInstance === 1) {
83736
- strings.target = readCString(view, child14);
83737
- } else if (child14.recInstance === 3) {
83738
- strings.location = readCString(view, child14);
84488
+ if (child16.recInstance === 0) {
84489
+ strings.friendlyName = readCString(view, child16);
84490
+ } else if (child16.recInstance === 1) {
84491
+ strings.target = readCString(view, child16);
84492
+ } else if (child16.recInstance === 3) {
84493
+ strings.location = readCString(view, child16);
83739
84494
  }
83740
84495
  }
83741
84496
  return { id, strings };
@@ -83746,11 +84501,11 @@ function parseHyperlinkStrings(view, docContainer) {
83746
84501
  if (!exObjList) {
83747
84502
  return result;
83748
84503
  }
83749
- for (const child14 of iterateChildren(view, exObjList)) {
83750
- if (child14.recType !== RT.ExternalHyperlink) {
84504
+ for (const child16 of iterateChildren(view, exObjList)) {
84505
+ if (child16.recType !== RT.ExternalHyperlink) {
83751
84506
  continue;
83752
84507
  }
83753
- const parsed = parseExHyperlinkContainer(view, child14);
84508
+ const parsed = parseExHyperlinkContainer(view, child16);
83754
84509
  if (parsed) {
83755
84510
  result.set(parsed.id, parsed.strings);
83756
84511
  }
@@ -83820,9 +84575,9 @@ function collectTextHyperlinkRanges(view, start, end, hyperlinkStrings) {
83820
84575
  return ranges;
83821
84576
  }
83822
84577
  function resolveShapeInteractiveInfo(view, clientData, hyperlinkStrings) {
83823
- for (const child14 of iterateChildren(view, clientData)) {
83824
- if (child14.recType === RT.InteractiveInfo && child14.recInstance === 0) {
83825
- const atom2 = findChild2(view, child14, RT.InteractiveInfoAtom);
84578
+ for (const child16 of iterateChildren(view, clientData)) {
84579
+ if (child16.recType === RT.InteractiveInfo && child16.recInstance === 0) {
84580
+ const atom2 = findChild2(view, child16, RT.InteractiveInfoAtom);
83826
84581
  if (atom2) {
83827
84582
  return resolveInteractiveInfoTarget(view, atom2, hyperlinkStrings);
83828
84583
  }
@@ -84017,11 +84772,11 @@ function parseOleEmbedRefs(view, docContainer) {
84017
84772
  if (!exObjList) {
84018
84773
  return result;
84019
84774
  }
84020
- for (const child14 of iterateChildren(view, exObjList)) {
84021
- if (child14.recType !== RT.ExternalOleEmbed) {
84775
+ for (const child16 of iterateChildren(view, exObjList)) {
84776
+ if (child16.recType !== RT.ExternalOleEmbed) {
84022
84777
  continue;
84023
84778
  }
84024
- const parsed = parseOleEmbedContainer(view, child14);
84779
+ const parsed = parseOleEmbedContainer(view, child16);
84025
84780
  if (parsed) {
84026
84781
  result.set(parsed.exObjId, parsed.ref);
84027
84782
  }
@@ -84871,22 +85626,22 @@ function parseShape(ctx, container) {
84871
85626
  return shape;
84872
85627
  }
84873
85628
  function parseGroup2(ctx, container) {
84874
- const children5 = [];
85629
+ const children6 = [];
84875
85630
  let groupShape;
84876
85631
  let first2 = true;
84877
- for (const child14 of iterateChildren(ctx.view, container)) {
84878
- if (child14.recType === OA.SpContainer && first2) {
84879
- groupShape = child14;
85632
+ for (const child16 of iterateChildren(ctx.view, container)) {
85633
+ if (child16.recType === OA.SpContainer && first2) {
85634
+ groupShape = child16;
84880
85635
  first2 = false;
84881
- } else if (child14.recType === OA.SpContainer) {
84882
- const shape = parseShape(ctx, child14);
85636
+ } else if (child16.recType === OA.SpContainer) {
85637
+ const shape = parseShape(ctx, child16);
84883
85638
  if (shape) {
84884
- children5.push(shape);
85639
+ children6.push(shape);
84885
85640
  }
84886
- } else if (child14.recType === OA.SpgrContainer) {
84887
- const group = parseGroup2(ctx, child14);
85641
+ } else if (child16.recType === OA.SpgrContainer) {
85642
+ const group = parseGroup2(ctx, child16);
84888
85643
  if (group) {
84889
- children5.push(group);
85644
+ children6.push(group);
84890
85645
  }
84891
85646
  }
84892
85647
  }
@@ -84898,14 +85653,14 @@ function parseGroup2(ctx, container) {
84898
85653
  const childAnchorRec = findChild2(ctx.view, groupShape, OA.ChildAnchor);
84899
85654
  const anchor = anchorRec ? readClientAnchor(ctx.view, anchorRec) : childAnchorRec ? readChildAnchor(ctx.view, childAnchorRec) : void 0;
84900
85655
  const childRect = fspgr && fspgr.recLen >= 16 ? readChildAnchor(ctx.view, fspgr) : void 0;
84901
- if (children5.length === 0) {
85656
+ if (children6.length === 0) {
84902
85657
  return void 0;
84903
85658
  }
84904
85659
  return {
84905
85660
  kind: "group",
84906
85661
  anchor,
84907
85662
  childRect: childRect ?? anchor ?? { x: 0, y: 0, w: 0, h: 0 },
84908
- children: children5
85663
+ children: children6
84909
85664
  };
84910
85665
  }
84911
85666
  function parseDrawing(ctx, dgContainer) {
@@ -84915,31 +85670,31 @@ function parseDrawing(ctx, dgContainer) {
84915
85670
  return result;
84916
85671
  }
84917
85672
  let first2 = true;
84918
- for (const child14 of iterateChildren(ctx.view, topGroup)) {
84919
- if (child14.recType === OA.SpContainer) {
85673
+ for (const child16 of iterateChildren(ctx.view, topGroup)) {
85674
+ if (child16.recType === OA.SpContainer) {
84920
85675
  if (first2) {
84921
85676
  first2 = false;
84922
85677
  continue;
84923
85678
  }
84924
- const backgroundRgb = extractBackground(ctx, child14);
85679
+ const backgroundRgb = extractBackground(ctx, child16);
84925
85680
  if (backgroundRgb !== void 0) {
84926
85681
  result.backgroundRgb = backgroundRgb;
84927
85682
  continue;
84928
85683
  }
84929
- const shape = parseShape(ctx, child14);
85684
+ const shape = parseShape(ctx, child16);
84930
85685
  if (shape) {
84931
85686
  result.shapes.push(shape);
84932
85687
  }
84933
- } else if (child14.recType === OA.SpgrContainer) {
84934
- const group = parseGroup2(ctx, child14);
85688
+ } else if (child16.recType === OA.SpgrContainer) {
85689
+ const group = parseGroup2(ctx, child16);
84935
85690
  if (group) {
84936
85691
  result.shapes.push(group);
84937
85692
  }
84938
- } else if (isContainer(child14)) ;
85693
+ } else if (isContainer(child16)) ;
84939
85694
  }
84940
- for (const child14 of iterateChildren(ctx.view, dgContainer)) {
84941
- if (child14.recType === OA.SpContainer && result.backgroundRgb === void 0) {
84942
- result.backgroundRgb = extractBackground(ctx, child14);
85695
+ for (const child16 of iterateChildren(ctx.view, dgContainer)) {
85696
+ if (child16.recType === OA.SpContainer && result.backgroundRgb === void 0) {
85697
+ result.backgroundRgb = extractBackground(ctx, child16);
84943
85698
  }
84944
85699
  }
84945
85700
  return result;
@@ -85093,14 +85848,14 @@ function parseMasterStyleAtom(view, rec, scheme, fonts) {
85093
85848
  function collectMasterStyles(view, masterContainer, scheme, fonts) {
85094
85849
  let titleStyles = [];
85095
85850
  let bodyStyles = [];
85096
- for (const child14 of iterateChildren(view, masterContainer)) {
85097
- if (child14.recType !== RT.TextMasterStyleAtom) {
85851
+ for (const child16 of iterateChildren(view, masterContainer)) {
85852
+ if (child16.recType !== RT.TextMasterStyleAtom) {
85098
85853
  continue;
85099
85854
  }
85100
- if (child14.recInstance === 0 && titleStyles.length === 0) {
85101
- titleStyles = parseMasterStyleAtom(view, child14, scheme, fonts);
85102
- } else if (child14.recInstance === 1 && bodyStyles.length === 0) {
85103
- bodyStyles = parseMasterStyleAtom(view, child14, scheme, fonts);
85855
+ if (child16.recInstance === 0 && titleStyles.length === 0) {
85856
+ titleStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
85857
+ } else if (child16.recInstance === 1 && bodyStyles.length === 0) {
85858
+ bodyStyles = parseMasterStyleAtom(view, child16, scheme, fonts);
85104
85859
  }
85105
85860
  }
85106
85861
  return { titleStyles, bodyStyles };
@@ -85117,9 +85872,9 @@ function parseFonts(view, docContainer) {
85117
85872
  if (!collection) {
85118
85873
  return fonts;
85119
85874
  }
85120
- for (const child14 of iterateChildren(view, collection)) {
85121
- if (child14.recType === RT.FontEntityAtom) {
85122
- const name = decodeTextChars(view, child14.dataOffset, Math.min(64, child14.recLen));
85875
+ for (const child16 of iterateChildren(view, collection)) {
85876
+ if (child16.recType === RT.FontEntityAtom) {
85877
+ const name = decodeTextChars(view, child16.dataOffset, Math.min(64, child16.recLen));
85123
85878
  const nul = name.indexOf("\0");
85124
85879
  fonts.push(nul >= 0 ? name.slice(0, nul) : name);
85125
85880
  }
@@ -85128,19 +85883,19 @@ function parseFonts(view, docContainer) {
85128
85883
  }
85129
85884
  function readSlidePersistIds(view, slideList) {
85130
85885
  const ids = [];
85131
- for (const child14 of iterateChildren(view, slideList)) {
85132
- if (child14.recType === RT.SlidePersistAtom && child14.recLen >= 4) {
85133
- ids.push(view.getUint32(child14.dataOffset, true));
85886
+ for (const child16 of iterateChildren(view, slideList)) {
85887
+ if (child16.recType === RT.SlidePersistAtom && child16.recLen >= 4) {
85888
+ ids.push(view.getUint32(child16.dataOffset, true));
85134
85889
  }
85135
85890
  }
85136
85891
  return ids;
85137
85892
  }
85138
85893
  function resolveSlideOrder(view, docContainer, directory, scheme) {
85139
- for (const child14 of iterateChildren(view, docContainer)) {
85140
- if (child14.recType === RT.SlideListWithText && child14.recInstance === 0) {
85894
+ for (const child16 of iterateChildren(view, docContainer)) {
85895
+ if (child16.recType === RT.SlideListWithText && child16.recInstance === 0) {
85141
85896
  return {
85142
- persistIds: readSlidePersistIds(view, child14),
85143
- outline: collectOutlineText(view, child14, scheme)
85897
+ persistIds: readSlidePersistIds(view, child16),
85898
+ outline: collectOutlineText(view, child16, scheme)
85144
85899
  };
85145
85900
  }
85146
85901
  }
@@ -85188,9 +85943,9 @@ async function parseDeck(streams) {
85188
85943
  const oleEmbedRefs = parseOleEmbedRefs(view, docContainer);
85189
85944
  const oleExObjIds = new Set(oleEmbedRefs.keys());
85190
85945
  let masterPersistId;
85191
- for (const child14 of iterateChildren(view, docContainer)) {
85192
- if (child14.recType === RT.SlideListWithText && child14.recInstance === 1) {
85193
- const ids = readSlidePersistIds(view, child14);
85946
+ for (const child16 of iterateChildren(view, docContainer)) {
85947
+ if (child16.recType === RT.SlideListWithText && child16.recInstance === 1) {
85948
+ const ids = readSlidePersistIds(view, child16);
85194
85949
  masterPersistId = ids[0];
85195
85950
  break;
85196
85951
  }
@@ -85460,15 +86215,15 @@ function runPropsXml(run, ctx) {
85460
86215
  attrs3.push('u="sng"');
85461
86216
  }
85462
86217
  attrs3.push('dirty="0"');
85463
- let children5 = "";
86218
+ let children6 = "";
85464
86219
  if (run.colorRgb !== void 0) {
85465
- children5 += solidFill(run.colorRgb);
86220
+ children6 += solidFill(run.colorRgb);
85466
86221
  }
85467
86222
  if (run.fontName !== void 0) {
85468
- children5 += `<a:latin typeface="${esc(run.fontName)}"/>`;
86223
+ children6 += `<a:latin typeface="${esc(run.fontName)}"/>`;
85469
86224
  }
85470
- children5 += hyperlinkClickXml(run.hyperlink, ctx.hyperlinkRels, ctx.slideCount);
85471
- return children5.length > 0 ? `<a:rPr ${attrs3.join(" ")}>${children5}</a:rPr>` : `<a:rPr ${attrs3.join(" ")}/>`;
86225
+ children6 += hyperlinkClickXml(run.hyperlink, ctx.hyperlinkRels, ctx.slideCount);
86226
+ return children6.length > 0 ? `<a:rPr ${attrs3.join(" ")}>${children6}</a:rPr>` : `<a:rPr ${attrs3.join(" ")}/>`;
85472
86227
  }
85473
86228
  function runXml(run, ctx) {
85474
86229
  const segments = run.text.split(String.fromCharCode(11));
@@ -85593,8 +86348,8 @@ function picXml(picture, ctx) {
85593
86348
  function grpXml(group, ctx) {
85594
86349
  const id = ctx.nextId();
85595
86350
  const anchor = group.anchor ?? group.childRect;
85596
- const child14 = group.childRect;
85597
- const inner = `<a:chOff x="${emu(child14.x)}" y="${emu(child14.y)}"/><a:chExt cx="${Math.max(0, emu(child14.w))}" cy="${Math.max(0, emu(child14.h))}"/>`;
86351
+ const child16 = group.childRect;
86352
+ const inner = `<a:chOff x="${emu(child16.x)}" y="${emu(child16.y)}"/><a:chExt cx="${Math.max(0, emu(child16.w))}" cy="${Math.max(0, emu(child16.h))}"/>`;
85598
86353
  return `<p:grpSp><p:nvGrpSpPr>${cNvPrXml(id, `Group ${id}`, group.actionClick, ctx)}<p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr>${xfrmXml({ ...group, anchor }, inner)}</p:grpSpPr>${group.children.map((c) => shapeXml(c, ctx)).join("")}</p:grpSp>`;
85599
86354
  }
85600
86355
  function shapeXml(shape, ctx) {
@@ -87377,14 +88132,14 @@ function createMediaElement(mediaType, source, options) {
87377
88132
  posterFrameData: options?.posterFrame
87378
88133
  };
87379
88134
  }
87380
- function createGroupElement(children5, options) {
88135
+ function createGroupElement(children6, options) {
87381
88136
  const p = pos("group", options);
87382
88137
  return {
87383
88138
  type: "group",
87384
88139
  id: generateId("grp"),
87385
88140
  ...p,
87386
88141
  rotation: options?.rotation,
87387
- children: children5
88142
+ children: children6
87388
88143
  };
87389
88144
  }
87390
88145
  function createFreeformElement(pathData, options) {
@@ -87471,8 +88226,8 @@ var SlideBuilder = class {
87471
88226
  return this;
87472
88227
  }
87473
88228
  /** Add a group of elements to the slide. */
87474
- addGroup(children5, options) {
87475
- this.slide.elements.push(createGroupElement(children5, options));
88229
+ addGroup(children6, options) {
88230
+ this.slide.elements.push(createGroupElement(children6, options));
87476
88231
  return this;
87477
88232
  }
87478
88233
  /** Add a pre-built element directly. */