pptx-react-viewer 3.20.1 → 4.0.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 (183) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/{AiChatPanel-7AU4A3A7.mjs → AiChatPanel-MHURGN6G.mjs} +3 -3
  3. package/dist/AiChatPanel-MHURGN6G.mjs.br +0 -0
  4. package/dist/AiChatPanel-MHURGN6G.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-FIUTFT55.js → AiChatPanel-WMVQFNDC.js} +24 -24
  6. package/dist/AiChatPanel-WMVQFNDC.js.br +0 -0
  7. package/dist/AiChatPanel-WMVQFNDC.js.gz +0 -0
  8. package/dist/{Area3DChartScene-ZGVLTYDW.js → Area3DChartScene-IMGZEZNU.js} +2 -2
  9. package/dist/Area3DChartScene-IMGZEZNU.js.br +0 -0
  10. package/dist/Area3DChartScene-IMGZEZNU.js.gz +0 -0
  11. package/dist/{Area3DChartScene-SPRHDMNQ.mjs → Area3DChartScene-LKOWSMAU.mjs} +1 -1
  12. package/dist/{Area3DChartScene-SPRHDMNQ.mjs.br → Area3DChartScene-LKOWSMAU.mjs.br} +0 -0
  13. package/dist/Area3DChartScene-LKOWSMAU.mjs.gz +0 -0
  14. package/dist/{Bar3DChartScene-FJCRJCZV.mjs → Bar3DChartScene-NQNSIMUL.mjs} +1 -1
  15. package/dist/{Bar3DChartScene-FJCRJCZV.mjs.br → Bar3DChartScene-NQNSIMUL.mjs.br} +0 -0
  16. package/dist/Bar3DChartScene-NQNSIMUL.mjs.gz +0 -0
  17. package/dist/{Bar3DChartScene-GVIX7ENI.js → Bar3DChartScene-VLSYVFRT.js} +2 -2
  18. package/dist/Bar3DChartScene-VLSYVFRT.js.br +0 -0
  19. package/dist/Bar3DChartScene-VLSYVFRT.js.gz +0 -0
  20. package/dist/{Line3DChartScene-KP4RMVAQ.mjs → Line3DChartScene-ANZBJYQI.mjs} +1 -1
  21. package/dist/{Line3DChartScene-KP4RMVAQ.mjs.br → Line3DChartScene-ANZBJYQI.mjs.br} +0 -0
  22. package/dist/Line3DChartScene-ANZBJYQI.mjs.gz +0 -0
  23. package/dist/{Line3DChartScene-6C3WDA42.js → Line3DChartScene-IWZHA563.js} +2 -2
  24. package/dist/Line3DChartScene-IWZHA563.js.br +0 -0
  25. package/dist/Line3DChartScene-IWZHA563.js.gz +0 -0
  26. package/dist/{Model3DScene-SXZYGMN6.js → Model3DScene-2L3YRAMR.js} +2 -2
  27. package/dist/Model3DScene-2L3YRAMR.js.br +0 -0
  28. package/dist/Model3DScene-2L3YRAMR.js.gz +0 -0
  29. package/dist/{Model3DScene-SH6ZLOXE.mjs → Model3DScene-Y34HTZXK.mjs} +1 -1
  30. package/dist/Model3DScene-Y34HTZXK.mjs.br +0 -0
  31. package/dist/Model3DScene-Y34HTZXK.mjs.gz +0 -0
  32. package/dist/{PieChart3DScene-F4IE7565.mjs → PieChart3DScene-FBRPLHLG.mjs} +1 -1
  33. package/dist/{PieChart3DScene-F4IE7565.mjs.br → PieChart3DScene-FBRPLHLG.mjs.br} +0 -0
  34. package/dist/PieChart3DScene-FBRPLHLG.mjs.gz +0 -0
  35. package/dist/{PieChart3DScene-V2Q73UEQ.js → PieChart3DScene-NE3GN5VG.js} +2 -2
  36. package/dist/PieChart3DScene-NE3GN5VG.js.br +0 -0
  37. package/dist/PieChart3DScene-NE3GN5VG.js.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-AXLDY5BB.mjs → SurfaceChart3DScene-7HE5DA3X.mjs} +1 -1
  39. package/dist/SurfaceChart3DScene-7HE5DA3X.mjs.br +0 -0
  40. package/dist/SurfaceChart3DScene-7HE5DA3X.mjs.gz +0 -0
  41. package/dist/{SurfaceChart3DScene-XUGVYHD2.js → SurfaceChart3DScene-OSMAVZJC.js} +2 -2
  42. package/dist/SurfaceChart3DScene-OSMAVZJC.js.br +0 -0
  43. package/dist/SurfaceChart3DScene-OSMAVZJC.js.gz +0 -0
  44. package/dist/{chunk-MWNB4BX5.mjs → chunk-33YE6E2O.mjs} +563 -183
  45. package/dist/chunk-33YE6E2O.mjs.br +0 -0
  46. package/dist/chunk-33YE6E2O.mjs.gz +0 -0
  47. package/dist/{chunk-OKIHMWGI.mjs → chunk-5F426BCZ.mjs} +1 -1
  48. package/dist/chunk-5F426BCZ.mjs.br +0 -0
  49. package/dist/chunk-5F426BCZ.mjs.gz +0 -0
  50. package/dist/{chunk-F65J67TW.mjs → chunk-GITM3RKP.mjs} +1 -1
  51. package/dist/chunk-GITM3RKP.mjs.br +0 -0
  52. package/dist/chunk-GITM3RKP.mjs.gz +0 -0
  53. package/dist/{chunk-GV6LVDBE.mjs → chunk-H7J4EYXS.mjs} +58 -36
  54. package/dist/chunk-H7J4EYXS.mjs.br +0 -0
  55. package/dist/chunk-H7J4EYXS.mjs.gz +0 -0
  56. package/dist/{chunk-2BQKGTIF.js → chunk-I5F3XLVR.js} +1101 -1079
  57. package/dist/chunk-I5F3XLVR.js.br +0 -0
  58. package/dist/chunk-I5F3XLVR.js.gz +0 -0
  59. package/dist/{chunk-JIP6BCRV.mjs → chunk-IWHZ2DUD.mjs} +452 -257
  60. package/dist/chunk-IWHZ2DUD.mjs.br +0 -0
  61. package/dist/chunk-IWHZ2DUD.mjs.gz +0 -0
  62. package/dist/{chunk-ML4MTTPV.js → chunk-L6I73WMO.js} +1217 -1022
  63. package/dist/chunk-L6I73WMO.js.br +0 -0
  64. package/dist/chunk-L6I73WMO.js.gz +0 -0
  65. package/dist/{chunk-HN5QJSVB.js → chunk-LAAXFMRE.js} +566 -182
  66. package/dist/chunk-LAAXFMRE.js.br +0 -0
  67. package/dist/chunk-LAAXFMRE.js.gz +0 -0
  68. package/dist/chunk-MRWGWKA2.mjs +1076 -0
  69. package/dist/chunk-MRWGWKA2.mjs.br +0 -0
  70. package/dist/chunk-MRWGWKA2.mjs.gz +0 -0
  71. package/dist/{chunk-U46O2NL5.js → chunk-NKACTGK5.js} +173 -173
  72. package/dist/chunk-NKACTGK5.js.br +0 -0
  73. package/dist/chunk-NKACTGK5.js.gz +0 -0
  74. package/dist/chunk-YQQXFRZT.js +1160 -0
  75. package/dist/chunk-YQQXFRZT.js.br +0 -0
  76. package/dist/chunk-YQQXFRZT.js.gz +0 -0
  77. package/dist/{chunk-K7TAGREH.js → chunk-ZOB6ITIM.js} +5 -5
  78. package/dist/chunk-ZOB6ITIM.js.br +0 -0
  79. package/dist/chunk-ZOB6ITIM.js.gz +0 -0
  80. package/dist/index.d.ts +60 -2
  81. package/dist/index.js +46 -46
  82. package/dist/index.js.br +0 -0
  83. package/dist/index.js.gz +0 -0
  84. package/dist/index.mjs +5 -5
  85. package/dist/index.mjs.br +0 -0
  86. package/dist/index.mjs.gz +0 -0
  87. package/dist/internals.d.ts +75 -43
  88. package/dist/internals.js +104 -104
  89. package/dist/internals.js.br +0 -0
  90. package/dist/internals.js.gz +0 -0
  91. package/dist/internals.mjs +3 -3
  92. package/dist/internals.mjs.br +0 -0
  93. package/dist/internals.mjs.gz +0 -0
  94. package/dist/viewer/index.d.ts +70 -6
  95. package/dist/viewer/index.js +26 -26
  96. package/dist/viewer/index.js.br +0 -0
  97. package/dist/viewer/index.js.gz +0 -0
  98. package/dist/viewer/index.mjs +5 -5
  99. package/dist/viewer/index.mjs.br +0 -0
  100. package/dist/viewer/index.mjs.gz +0 -0
  101. package/dist/{y-webrtc-TAJBJIKH.js → y-webrtc-6H3ROPRC.js} +1079 -128
  102. package/dist/y-webrtc-6H3ROPRC.js.br +0 -0
  103. package/dist/y-webrtc-6H3ROPRC.js.gz +0 -0
  104. package/dist/{y-webrtc-7DLWG3LJ.mjs → y-webrtc-XJDH2YTR.mjs} +984 -33
  105. package/dist/y-webrtc-XJDH2YTR.mjs.br +0 -0
  106. package/dist/y-webrtc-XJDH2YTR.mjs.gz +0 -0
  107. package/dist/{y-websocket-YRPS7AFF.js → y-websocket-6ISNPON7.js} +79 -80
  108. package/dist/y-websocket-6ISNPON7.js.br +0 -0
  109. package/dist/y-websocket-6ISNPON7.js.gz +0 -0
  110. package/dist/{y-websocket-HUEA7LH7.mjs → y-websocket-SJ3NCLBZ.mjs} +3 -4
  111. package/dist/y-websocket-SJ3NCLBZ.mjs.br +0 -0
  112. package/dist/y-websocket-SJ3NCLBZ.mjs.gz +0 -0
  113. package/package.json +8 -5
  114. package/dist/AiChatPanel-7AU4A3A7.mjs.br +0 -0
  115. package/dist/AiChatPanel-7AU4A3A7.mjs.gz +0 -0
  116. package/dist/AiChatPanel-FIUTFT55.js.br +0 -0
  117. package/dist/AiChatPanel-FIUTFT55.js.gz +0 -0
  118. package/dist/Area3DChartScene-SPRHDMNQ.mjs.gz +0 -0
  119. package/dist/Area3DChartScene-ZGVLTYDW.js.br +0 -0
  120. package/dist/Area3DChartScene-ZGVLTYDW.js.gz +0 -0
  121. package/dist/Bar3DChartScene-FJCRJCZV.mjs.gz +0 -0
  122. package/dist/Bar3DChartScene-GVIX7ENI.js.br +0 -0
  123. package/dist/Bar3DChartScene-GVIX7ENI.js.gz +0 -0
  124. package/dist/Line3DChartScene-6C3WDA42.js.br +0 -0
  125. package/dist/Line3DChartScene-6C3WDA42.js.gz +0 -0
  126. package/dist/Line3DChartScene-KP4RMVAQ.mjs.gz +0 -0
  127. package/dist/Model3DScene-SH6ZLOXE.mjs.br +0 -0
  128. package/dist/Model3DScene-SH6ZLOXE.mjs.gz +0 -0
  129. package/dist/Model3DScene-SXZYGMN6.js.br +0 -0
  130. package/dist/Model3DScene-SXZYGMN6.js.gz +0 -0
  131. package/dist/PieChart3DScene-F4IE7565.mjs.gz +0 -0
  132. package/dist/PieChart3DScene-V2Q73UEQ.js.br +0 -0
  133. package/dist/PieChart3DScene-V2Q73UEQ.js.gz +0 -0
  134. package/dist/SurfaceChart3DScene-AXLDY5BB.mjs.br +0 -0
  135. package/dist/SurfaceChart3DScene-AXLDY5BB.mjs.gz +0 -0
  136. package/dist/SurfaceChart3DScene-XUGVYHD2.js.br +0 -0
  137. package/dist/SurfaceChart3DScene-XUGVYHD2.js.gz +0 -0
  138. package/dist/chunk-2BQKGTIF.js.br +0 -0
  139. package/dist/chunk-2BQKGTIF.js.gz +0 -0
  140. package/dist/chunk-DWIIYEOG.mjs +0 -9596
  141. package/dist/chunk-DWIIYEOG.mjs.br +0 -0
  142. package/dist/chunk-DWIIYEOG.mjs.gz +0 -0
  143. package/dist/chunk-F65J67TW.mjs.br +0 -0
  144. package/dist/chunk-F65J67TW.mjs.gz +0 -0
  145. package/dist/chunk-FXGO5KLU.mjs +0 -304
  146. package/dist/chunk-FXGO5KLU.mjs.br +0 -0
  147. package/dist/chunk-FXGO5KLU.mjs.gz +0 -0
  148. package/dist/chunk-GV6LVDBE.mjs.br +0 -0
  149. package/dist/chunk-GV6LVDBE.mjs.gz +0 -0
  150. package/dist/chunk-HN5QJSVB.js.br +0 -0
  151. package/dist/chunk-HN5QJSVB.js.gz +0 -0
  152. package/dist/chunk-JIP6BCRV.mjs.br +0 -0
  153. package/dist/chunk-JIP6BCRV.mjs.gz +0 -0
  154. package/dist/chunk-K7TAGREH.js.br +0 -0
  155. package/dist/chunk-K7TAGREH.js.gz +0 -0
  156. package/dist/chunk-ML4MTTPV.js.br +0 -0
  157. package/dist/chunk-ML4MTTPV.js.gz +0 -0
  158. package/dist/chunk-MWNB4BX5.mjs.br +0 -0
  159. package/dist/chunk-MWNB4BX5.mjs.gz +0 -0
  160. package/dist/chunk-NB7M4XBG.js +0 -318
  161. package/dist/chunk-NB7M4XBG.js.br +0 -0
  162. package/dist/chunk-NB7M4XBG.js.gz +0 -0
  163. package/dist/chunk-OKIHMWGI.mjs.br +0 -0
  164. package/dist/chunk-OKIHMWGI.mjs.gz +0 -0
  165. package/dist/chunk-U46O2NL5.js.br +0 -0
  166. package/dist/chunk-U46O2NL5.js.gz +0 -0
  167. package/dist/chunk-ZYQT7I5C.js +0 -9743
  168. package/dist/chunk-ZYQT7I5C.js.br +0 -0
  169. package/dist/chunk-ZYQT7I5C.js.gz +0 -0
  170. package/dist/y-webrtc-7DLWG3LJ.mjs.br +0 -0
  171. package/dist/y-webrtc-7DLWG3LJ.mjs.gz +0 -0
  172. package/dist/y-webrtc-TAJBJIKH.js.br +0 -0
  173. package/dist/y-webrtc-TAJBJIKH.js.gz +0 -0
  174. package/dist/y-websocket-HUEA7LH7.mjs.br +0 -0
  175. package/dist/y-websocket-HUEA7LH7.mjs.gz +0 -0
  176. package/dist/y-websocket-YRPS7AFF.js.br +0 -0
  177. package/dist/y-websocket-YRPS7AFF.js.gz +0 -0
  178. package/dist/yjs-4ED7E5CZ.mjs +0 -2
  179. package/dist/yjs-4ED7E5CZ.mjs.br +0 -0
  180. package/dist/yjs-4ED7E5CZ.mjs.gz +0 -0
  181. package/dist/yjs-OWUA3UHD.js +0 -419
  182. package/dist/yjs-OWUA3UHD.js.br +0 -0
  183. package/dist/yjs-OWUA3UHD.js.gz +0 -0
@@ -5,7 +5,7 @@ import DOMPurify from 'dompurify';
5
5
 
6
6
  // ../core/dist/index.mjs
7
7
 
8
- // ../../node_modules/.bun/emf-converter@2.0.2/node_modules/emf-converter/dist/index.mjs
8
+ // ../../node_modules/.bun/emf-converter@3.0.1/node_modules/emf-converter/dist/index.mjs
9
9
  function colorRefToHex(r, g2, b) {
10
10
  const toHex4 = (v) => v.toString(16).padStart(2, "0");
11
11
  return `#${toHex4(r & 255)}${toHex4(g2 & 255)}${toHex4(b & 255)}`;
@@ -231,6 +231,26 @@ var emfLog = (...args) => {
231
231
  };
232
232
  var emfWarn = (...args) => {
233
233
  };
234
+ var nodeCanvasModule;
235
+ async function ensureNodeCanvasModule() {
236
+ if (nodeCanvasModule !== void 0) {
237
+ return nodeCanvasModule;
238
+ }
239
+ if (typeof OffscreenCanvas !== "undefined" || typeof document !== "undefined") {
240
+ nodeCanvasModule = null;
241
+ return nodeCanvasModule;
242
+ }
243
+ if (typeof process === "undefined" || !process.versions?.node) {
244
+ nodeCanvasModule = null;
245
+ return nodeCanvasModule;
246
+ }
247
+ try {
248
+ nodeCanvasModule = await import('@napi-rs/canvas');
249
+ } catch {
250
+ nodeCanvasModule = null;
251
+ }
252
+ return nodeCanvasModule;
253
+ }
234
254
  var DEFAULT_DPI_SCALE = 1;
235
255
  function createCanvas(width, height, maxWidth, maxHeight, dpiScale = DEFAULT_DPI_SCALE, maxCanvasDimension = MAX_CANVAS_DIMENSION) {
236
256
  const effectiveScale = Math.max(1, Math.min(dpiScale, 4));
@@ -267,30 +287,44 @@ function createCanvas(width, height, maxWidth, maxHeight, dpiScale = DEFAULT_DPI
267
287
  emfLog(
268
288
  `createCanvas: using OffscreenCanvas ${w}\xD7${h2}, scale=(${scaleX.toFixed(3)},${scaleY.toFixed(3)})`
269
289
  );
270
- const canvas2 = new OffscreenCanvas(w, h2);
271
- const ctx2 = canvas2.getContext("2d");
272
- if (!ctx2) {
290
+ const canvas = new OffscreenCanvas(w, h2);
291
+ const ctx = canvas.getContext("2d");
292
+ if (!ctx) {
273
293
  emfWarn('createCanvas: OffscreenCanvas.getContext("2d") returned null');
274
294
  return null;
275
295
  }
276
- return { canvas: canvas2, ctx: ctx2, scaleX, scaleY };
296
+ return { canvas, ctx, scaleX, scaleY };
277
297
  }
278
- if (typeof document === "undefined") {
279
- emfWarn("createCanvas: no OffscreenCanvas and no document \u2014 cannot create canvas");
280
- return null;
298
+ if (typeof document !== "undefined") {
299
+ emfLog(
300
+ `createCanvas: using HTMLCanvasElement ${w}\xD7${h2}, scale=(${scaleX.toFixed(3)},${scaleY.toFixed(3)})`
301
+ );
302
+ const canvas = document.createElement("canvas");
303
+ canvas.width = w;
304
+ canvas.height = h2;
305
+ const ctx = canvas.getContext("2d");
306
+ if (!ctx) {
307
+ emfWarn('createCanvas: HTMLCanvasElement.getContext("2d") returned null');
308
+ return null;
309
+ }
310
+ return { canvas, ctx, scaleX, scaleY };
281
311
  }
282
- emfLog(
283
- `createCanvas: using HTMLCanvasElement ${w}\xD7${h2}, scale=(${scaleX.toFixed(3)},${scaleY.toFixed(3)})`
284
- );
285
- const canvas = document.createElement("canvas");
286
- canvas.width = w;
287
- canvas.height = h2;
288
- const ctx = canvas.getContext("2d");
289
- if (!ctx) {
290
- emfWarn('createCanvas: HTMLCanvasElement.getContext("2d") returned null');
291
- return null;
312
+ if (nodeCanvasModule) {
313
+ emfLog(
314
+ `createCanvas: using @napi-rs/canvas ${w}\xD7${h2}, scale=(${scaleX.toFixed(3)},${scaleY.toFixed(3)})`
315
+ );
316
+ const canvas = nodeCanvasModule.createCanvas(w, h2);
317
+ const ctx = canvas.getContext("2d");
318
+ if (!ctx) {
319
+ emfWarn('createCanvas: @napi-rs/canvas getContext("2d") returned null');
320
+ return null;
321
+ }
322
+ return { canvas, ctx, scaleX, scaleY };
292
323
  }
293
- return { canvas, ctx, scaleX, scaleY };
324
+ emfWarn(
325
+ "createCanvas: no OffscreenCanvas, no document, and no @napi-rs/canvas, cannot create canvas"
326
+ );
327
+ return null;
294
328
  } catch (err) {
295
329
  return null;
296
330
  }
@@ -319,6 +353,14 @@ function createTempCanvas(width, height) {
319
353
  }
320
354
  return { canvas, ctx };
321
355
  }
356
+ if (nodeCanvasModule) {
357
+ const canvas = nodeCanvasModule.createCanvas(width, height);
358
+ const ctx = canvas.getContext("2d");
359
+ if (!ctx) {
360
+ return null;
361
+ }
362
+ return { canvas, ctx };
363
+ }
322
364
  return null;
323
365
  }
324
366
  function rop2Paint(rop2) {
@@ -552,8 +594,31 @@ async function exportCanvasToPngDataUrl(canvas) {
552
594
  );
553
595
  return canvas.toDataURL("image/png");
554
596
  }
597
+ if (nodeCanvasModule && canvas instanceof nodeCanvasModule.Canvas) {
598
+ emfLog(
599
+ `exportCanvasToPngDataUrl: using @napi-rs/canvas toDataURLAsync (${canvas.width}\xD7${canvas.height})`
600
+ );
601
+ return canvas.toDataURLAsync();
602
+ }
555
603
  return null;
556
604
  }
605
+ async function decodeDeferredImageBytes(bytes, mime) {
606
+ if (nodeCanvasModule) {
607
+ const image = await nodeCanvasModule.loadImage(new Uint8Array(bytes));
608
+ return { drawable: image, width: image.width, height: image.height, close: () => {
609
+ } };
610
+ }
611
+ if (typeof createImageBitmap !== "function") {
612
+ return null;
613
+ }
614
+ const blob = mime !== void 0 ? new Blob([bytes], { type: mime }) : new Blob([bytes]);
615
+ const bitmap = await createImageBitmap(blob);
616
+ return { drawable: bitmap, width: bitmap.width, height: bitmap.height, close: () => bitmap.close() };
617
+ }
618
+ function canvasDrawImage(ctx, image, dx, dy, dw, dh) {
619
+ const draw = ctx.drawImage;
620
+ draw.call(ctx, image, dx, dy, dw, dh);
621
+ }
557
622
  function parseEmfHeader(view) {
558
623
  emfLog("parseEmfHeader: byteLength =", view.byteLength);
559
624
  if (view.byteLength < 88) {
@@ -1455,7 +1520,8 @@ function handleBitBlt(rCtx, offset, dataOff, recSize) {
1455
1520
  const temp = createTempCanvas(imageData.width, imageData.height);
1456
1521
  if (temp) {
1457
1522
  temp.ctx.putImageData(imageData, 0, 0);
1458
- ctx.drawImage(
1523
+ canvasDrawImage(
1524
+ ctx,
1459
1525
  temp.canvas,
1460
1526
  gmx(rCtx, dstX),
1461
1527
  gmy(rCtx, dstY),
@@ -1490,7 +1556,8 @@ function handleStretchDibits(rCtx, offset, dataOff, recSize) {
1490
1556
  const temp = createTempCanvas(imageData.width, imageData.height);
1491
1557
  if (temp) {
1492
1558
  temp.ctx.putImageData(imageData, 0, 0);
1493
- ctx.drawImage(
1559
+ canvasDrawImage(
1560
+ ctx,
1494
1561
  temp.canvas,
1495
1562
  gmx(rCtx, dstX),
1496
1563
  gmy(rCtx, dstY),
@@ -4807,12 +4874,16 @@ async function processDeferredImages(ctx, deferredImages, recursionDepth = 0) {
4807
4874
  if (img.isMetafile) {
4808
4875
  if (recursionDepth >= MAX_METAFILE_RECURSION) {
4809
4876
  emfWarn(
4810
- ` Deferred image [${idx}]: skipping embedded metafile \u2014 recursion depth ${recursionDepth} >= ${MAX_METAFILE_RECURSION}`
4877
+ ` Deferred image [${idx}]: skipping embedded metafile, recursion depth ${recursionDepth} >= ${MAX_METAFILE_RECURSION}`
4811
4878
  );
4812
4879
  continue;
4813
4880
  }
4814
4881
  emfLog(` Deferred image [${idx}]: recursively converting embedded metafile...`);
4815
- const metafileDataUrl = await convertEmfToDataUrl(plainBuffer, void 0, recursionDepth + 1) ?? await convertWmfToDataUrl(plainBuffer, void 0, recursionDepth + 1);
4882
+ const metafileDataUrl = await convertMetafileToDataUrl(
4883
+ plainBuffer,
4884
+ void 0,
4885
+ recursionDepth + 1
4886
+ );
4816
4887
  if (metafileDataUrl) {
4817
4888
  emfLog(
4818
4889
  ` Deferred image [${idx}]: metafile converted, dataUrl length=${metafileDataUrl.length}`
@@ -4825,26 +4896,28 @@ async function processDeferredImages(ctx, deferredImages, recursionDepth = 0) {
4825
4896
  for (let i2 = 0; i2 < byteString.length; i2++) {
4826
4897
  ia[i2] = byteString.charCodeAt(i2);
4827
4898
  }
4828
- const metaBlob = new Blob([ab], { type: mime });
4829
- emfLog(
4830
- ` Deferred image [${idx}]: creating ImageBitmap from ${metaBlob.size} byte blob (${mime})...`
4831
- );
4832
- const bitmap = await createImageBitmap(metaBlob);
4833
- emfLog(` Deferred image [${idx}]: ImageBitmap created ${bitmap.width}\xD7${bitmap.height}`);
4834
- ctx.drawImage(bitmap, img.dx, img.dy, img.dw, img.dh);
4835
- bitmap.close();
4899
+ emfLog(` Deferred image [${idx}]: decoding ${ab.byteLength} byte image (${mime})...`);
4900
+ const decoded = await decodeDeferredImageBytes(ab, mime);
4901
+ if (decoded) {
4902
+ emfLog(` Deferred image [${idx}]: decoded ${decoded.width}\xD7${decoded.height}`);
4903
+ canvasDrawImage(ctx, decoded.drawable, img.dx, img.dy, img.dw, img.dh);
4904
+ decoded.close();
4905
+ } else {
4906
+ emfWarn(` Deferred image [${idx}]: no image decoder available`);
4907
+ }
4836
4908
  } else {
4837
4909
  emfWarn(` Deferred image [${idx}]: metafile conversion returned null`);
4838
4910
  }
4839
4911
  } else {
4840
- emfLog(
4841
- ` Deferred image [${idx}]: creating ImageBitmap from ${plainBuffer.byteLength} byte blob...`
4842
- );
4843
- const blob = new Blob([plainBuffer]);
4844
- const bitmap = await createImageBitmap(blob);
4845
- emfLog(` Deferred image [${idx}]: ImageBitmap created ${bitmap.width}\xD7${bitmap.height}`);
4846
- ctx.drawImage(bitmap, img.dx, img.dy, img.dw, img.dh);
4847
- bitmap.close();
4912
+ emfLog(` Deferred image [${idx}]: decoding ${plainBuffer.byteLength} byte image...`);
4913
+ const decoded = await decodeDeferredImageBytes(plainBuffer);
4914
+ if (decoded) {
4915
+ emfLog(` Deferred image [${idx}]: decoded ${decoded.width}\xD7${decoded.height}`);
4916
+ canvasDrawImage(ctx, decoded.drawable, img.dx, img.dy, img.dw, img.dh);
4917
+ decoded.close();
4918
+ } else {
4919
+ emfWarn(` Deferred image [${idx}]: no image decoder available`);
4920
+ }
4848
4921
  }
4849
4922
  } catch (imgErr) {
4850
4923
  imgErr instanceof Error ? imgErr.message : String(imgErr);
@@ -4857,10 +4930,35 @@ async function processDeferredImages(ctx, deferredImages, recursionDepth = 0) {
4857
4930
  }
4858
4931
  ctx.setTransform(1, 0, 0, 1, 0, 0);
4859
4932
  }
4860
- async function convertEmfToDataUrl(buffer, options, recursionDepth = 0) {
4933
+ async function convertMetafileToDataUrl(buffer, options, recursionDepth = 0) {
4934
+ await ensureNodeCanvasModule();
4861
4935
  if (recursionDepth > MAX_METAFILE_RECURSION) {
4862
4936
  return null;
4863
4937
  }
4938
+ emfLog(`convertMetafileToDataUrl: input buffer ${buffer.byteLength} bytes`);
4939
+ if (buffer.byteLength >= 16) {
4940
+ const hdrBytes = new Uint8Array(buffer, 0, 16);
4941
+ emfLog(
4942
+ `convertMetafileToDataUrl: first 16 bytes: [${Array.from(hdrBytes).map((b) => b.toString(16).padStart(2, "0")).join(" ")}]`
4943
+ );
4944
+ }
4945
+ const view = new DataView(buffer);
4946
+ let emfHeader = null;
4947
+ try {
4948
+ emfHeader = parseEmfHeader(view);
4949
+ } catch (err) {
4950
+ emfWarn(
4951
+ "convertMetafileToDataUrl: parseEmfHeader threw during detection:",
4952
+ err instanceof Error ? err.message : err
4953
+ );
4954
+ emfHeader = null;
4955
+ }
4956
+ if (emfHeader) {
4957
+ return convertEmfInternal(buffer, view, emfHeader, options, recursionDepth);
4958
+ }
4959
+ return convertWmfInternal(buffer, view);
4960
+ }
4961
+ async function convertEmfInternal(buffer, view, header, options, recursionDepth) {
4864
4962
  const opts = {};
4865
4963
  const dpiScale = opts.dpiScale ?? DEFAULT_DPI_SCALE;
4866
4964
  const effectiveMaxWidth = opts.maxWidth;
@@ -4871,30 +4969,18 @@ async function convertEmfToDataUrl(buffer, options, recursionDepth = 0) {
4871
4969
  fontFamilyMap: opts.fontFamilyMap
4872
4970
  };
4873
4971
  try {
4874
- emfLog("=== convertEmfToDataUrl START ===");
4972
+ emfLog("=== convertEmfInternal START ===");
4875
4973
  emfLog(
4876
4974
  `Input buffer: ${buffer.byteLength} bytes, maxWidth=${effectiveMaxWidth}, maxHeight=${effectiveMaxHeight}, dpiScale=${dpiScale}`
4877
4975
  );
4878
- if (buffer.byteLength >= 16) {
4879
- const hdrBytes = new Uint8Array(buffer, 0, 16);
4880
- emfLog(
4881
- `First 16 bytes: [${Array.from(hdrBytes).map((b) => b.toString(16).padStart(2, "0")).join(" ")}]`
4882
- );
4883
- }
4884
- const view = new DataView(buffer);
4885
- const header = parseEmfHeader(view);
4886
- if (!header) {
4887
- emfLog("convertEmfToDataUrl: parseEmfHeader returned null \u2014 returning null");
4888
- return null;
4889
- }
4890
4976
  const renderBounds = getRenderableEmfBounds(header);
4891
4977
  if (!renderBounds) {
4892
- emfLog("convertEmfToDataUrl: getRenderableEmfBounds returned null \u2014 returning null");
4978
+ emfLog("convertEmfInternal: getRenderableEmfBounds returned null, returning null");
4893
4979
  return null;
4894
4980
  }
4895
4981
  const logicalW = renderBounds.right - renderBounds.left;
4896
4982
  const logicalH = renderBounds.bottom - renderBounds.top;
4897
- emfLog(`convertEmfToDataUrl: logicalSize=${logicalW}\xD7${logicalH}`);
4983
+ emfLog(`convertEmfInternal: logicalSize=${logicalW}\xD7${logicalH}`);
4898
4984
  const setup = createCanvas(
4899
4985
  logicalW,
4900
4986
  logicalH,
@@ -4904,15 +4990,15 @@ async function convertEmfToDataUrl(buffer, options, recursionDepth = 0) {
4904
4990
  opts.maxCanvasDimension
4905
4991
  );
4906
4992
  if (!setup) {
4907
- emfLog("convertEmfToDataUrl: createCanvas returned null \u2014 returning null");
4993
+ emfLog("convertEmfInternal: createCanvas returned null, returning null");
4908
4994
  return null;
4909
4995
  }
4910
4996
  const { canvas, ctx } = setup;
4911
4997
  emfLog(
4912
- `convertEmfToDataUrl: canvas created ${canvas.width}\xD7${canvas.height} (dpiScale=${dpiScale})`
4998
+ `convertEmfInternal: canvas created ${canvas.width}\xD7${canvas.height} (dpiScale=${dpiScale})`
4913
4999
  );
4914
5000
  ctx.save();
4915
- emfLog("convertEmfToDataUrl: starting replayEmfRecords...");
5001
+ emfLog("convertEmfInternal: starting replayEmfRecords...");
4916
5002
  const deferredImages = replayEmfRecords(
4917
5003
  view,
4918
5004
  ctx,
@@ -4922,30 +5008,25 @@ async function convertEmfToDataUrl(buffer, options, recursionDepth = 0) {
4922
5008
  dpiScale,
4923
5009
  replayOptions
4924
5010
  );
4925
- emfLog(
4926
- `convertEmfToDataUrl: replayEmfRecords returned ${deferredImages.length} deferred images`
4927
- );
5011
+ emfLog(`convertEmfInternal: replayEmfRecords returned ${deferredImages.length} deferred images`);
4928
5012
  ctx.restore();
4929
- await processDeferredImages(ctx, deferredImages);
4930
- emfLog("convertEmfToDataUrl: exporting canvas to PNG data URL...");
5013
+ await processDeferredImages(ctx, deferredImages, recursionDepth);
5014
+ emfLog("convertEmfInternal: exporting canvas to PNG data URL...");
4931
5015
  const result = await exportCanvasToPngDataUrl(canvas);
4932
5016
  if (result) {
4933
- emfLog(`convertEmfToDataUrl: SUCCESS \u2014 data URL length=${result.length}`);
5017
+ emfLog(`convertEmfInternal: SUCCESS, data URL length=${result.length}`);
4934
5018
  } else {
4935
- emfWarn("convertEmfToDataUrl: exportCanvasToPngDataUrl returned null");
5019
+ emfWarn("convertEmfInternal: exportCanvasToPngDataUrl returned null");
4936
5020
  }
4937
- emfLog("=== convertEmfToDataUrl END ===");
5021
+ emfLog("=== convertEmfInternal END ===");
4938
5022
  return result;
4939
5023
  } catch (err) {
4940
- emfWarn("convertEmfToDataUrl: EXCEPTION:", err instanceof Error ? err.message : err);
4941
- console.warn("[pptx-editor] EMF conversion failed:", err instanceof Error ? err.message : err);
5024
+ emfWarn("convertEmfInternal: EXCEPTION:", err instanceof Error ? err.message : err);
5025
+ console.warn("[emf-converter] EMF conversion failed:", err instanceof Error ? err.message : err);
4942
5026
  return null;
4943
5027
  }
4944
5028
  }
4945
- async function convertWmfToDataUrl(buffer, options, recursionDepth = 0) {
4946
- if (recursionDepth > MAX_METAFILE_RECURSION) {
4947
- return null;
4948
- }
5029
+ async function convertWmfInternal(buffer, view, options, recursionDepth) {
4949
5030
  const opts = {};
4950
5031
  const dpiScale = opts.dpiScale ?? DEFAULT_DPI_SCALE;
4951
5032
  const effectiveMaxWidth = opts.maxWidth;
@@ -4956,20 +5037,19 @@ async function convertWmfToDataUrl(buffer, options, recursionDepth = 0) {
4956
5037
  };
4957
5038
  try {
4958
5039
  emfLog(
4959
- "=== convertWmfToDataUrl START ===",
5040
+ "=== convertWmfInternal START ===",
4960
5041
  `buffer=${buffer.byteLength} bytes, dpiScale=${dpiScale}`
4961
5042
  );
4962
- const view = new DataView(buffer);
4963
5043
  const header = parseWmfHeader(view);
4964
5044
  if (!header) {
4965
- emfLog("convertWmfToDataUrl: parseWmfHeader returned null");
5045
+ emfLog("convertWmfInternal: parseWmfHeader returned null");
4966
5046
  return null;
4967
5047
  }
4968
5048
  const logicalW = header.boundsRight - header.boundsLeft;
4969
5049
  const logicalH = header.boundsBottom - header.boundsTop;
4970
- emfLog(`convertWmfToDataUrl: logicalSize=${logicalW}\xD7${logicalH}`);
5050
+ emfLog(`convertWmfInternal: logicalSize=${logicalW}\xD7${logicalH}`);
4971
5051
  if (logicalW <= 0 || logicalH <= 0) {
4972
- emfLog("convertWmfToDataUrl: invalid dimensions \u2014 returning null");
5052
+ emfLog("convertWmfInternal: invalid dimensions, returning null");
4973
5053
  return null;
4974
5054
  }
4975
5055
  const setup = createCanvas(
@@ -4988,12 +5068,12 @@ async function convertWmfToDataUrl(buffer, options, recursionDepth = 0) {
4988
5068
  replayWmfRecords(view, ctx, header, canvas.width, canvas.height, replayOptions);
4989
5069
  ctx.restore();
4990
5070
  const result = await exportCanvasToPngDataUrl(canvas);
4991
- emfLog(`convertWmfToDataUrl: result=${result ? `dataUrl len=${result.length}` : "null"}`);
4992
- emfLog("=== convertWmfToDataUrl END ===");
5071
+ emfLog(`convertWmfInternal: result=${result ? `dataUrl len=${result.length}` : "null"}`);
5072
+ emfLog("=== convertWmfInternal END ===");
4993
5073
  return result;
4994
5074
  } catch (err) {
4995
- emfWarn("convertWmfToDataUrl: EXCEPTION:", err instanceof Error ? err.message : err);
4996
- console.warn("[pptx-editor] WMF conversion failed:", err instanceof Error ? err.message : err);
5075
+ emfWarn("convertWmfInternal: EXCEPTION:", err instanceof Error ? err.message : err);
5076
+ console.warn("[emf-converter] WMF conversion failed:", err instanceof Error ? err.message : err);
4997
5077
  return null;
4998
5078
  }
4999
5079
  }
@@ -96136,7 +96216,7 @@ var init_PptxHandlerRuntimeMediaData = __esm({
96136
96216
  try {
96137
96217
  if (ext === "emf" || ext === "wmf") {
96138
96218
  const binaryBuffer = await imageFile2.async("arraybuffer");
96139
- const converted = ext === "emf" ? await convertEmfToDataUrl(binaryBuffer) : await convertWmfToDataUrl(binaryBuffer);
96219
+ const converted = await convertMetafileToDataUrl(binaryBuffer);
96140
96220
  if (converted) {
96141
96221
  this.imageDataCache.set(imagePath, converted);
96142
96222
  return converted;
@@ -185728,105 +185808,90 @@ function presenceToCursors(presence, activeSlideIndex) {
185728
185808
  }
185729
185809
  return cursors;
185730
185810
  }
185731
- function zoomEqual(a, b) {
185732
- if (a === b) {
185733
- return true;
185734
- }
185735
- if (!a || !b) {
185736
- return false;
185737
- }
185738
- return a.scale === b.scale && a.originX === b.originX && a.originY === b.originY;
185739
- }
185740
- function pointerEqual(a, b) {
185741
- if (a === b) {
185742
- return true;
185743
- }
185744
- if (!a || !b) {
185745
- return false;
185746
- }
185747
- return a.tool === b.tool && a.x === b.x && a.y === b.y && a.color === b.color;
185748
- }
185749
- function presentationSnapshotsEqual(a, b) {
185750
- if (a === b) {
185751
- return true;
185752
- }
185753
- return a.slideIndex === b.slideIndex && a.buildStep === b.buildStep && a.blackout === b.blackout && a.paused === b.paused && a.elapsedMs === b.elapsedMs && a.caption === b.caption && a.subtitlesVisible === b.subtitlesVisible && a.inkMarkupVisible === b.inkMarkupVisible && a.inkStrokes === b.inkStrokes && zoomEqual(a.zoom, b.zoom) && pointerEqual(a.pointer, b.pointer);
185754
- }
185755
- function presenceEntriesEqual(a, b) {
185756
- if (a === b) {
185757
- return true;
185758
- }
185759
- return a.clientId === b.clientId && a.userName === b.userName && a.userColor === b.userColor && a.userAvatar === b.userAvatar && a.role === b.role && a.activeSlideIndex === b.activeSlideIndex && a.cursorX === b.cursorX && a.cursorY === b.cursorY && a.selectedElementId === b.selectedElementId;
185760
- }
185761
- function presenceListsEqual(a, b) {
185762
- if (a === b) {
185763
- return true;
185764
- }
185765
- if (a.length !== b.length) {
185766
- return false;
185811
+ function observeExternalCollaborationSession(session, onSnapshot) {
185812
+ let active2 = true;
185813
+ let subscribing = true;
185814
+ let previous;
185815
+ let unsubscribe;
185816
+ const notify = () => {
185817
+ if (!active2 || subscribing) {
185818
+ return;
185819
+ }
185820
+ const snapshot = session.getSnapshot();
185821
+ if (previous?.status === snapshot.status && previous.synced === snapshot.synced) {
185822
+ return;
185823
+ }
185824
+ previous = { status: snapshot.status, synced: snapshot.synced };
185825
+ onSnapshot(previous);
185826
+ };
185827
+ const dispose = () => {
185828
+ if (!active2) {
185829
+ return;
185830
+ }
185831
+ active2 = false;
185832
+ unsubscribe?.();
185833
+ };
185834
+ try {
185835
+ unsubscribe = session.subscribe(notify);
185836
+ subscribing = false;
185837
+ notify();
185838
+ } catch (error) {
185839
+ dispose();
185840
+ throw error;
185767
185841
  }
185768
- return a.every((entry2, index) => {
185769
- const other = b[index];
185770
- return other !== void 0 && presenceEntriesEqual(entry2, other);
185771
- });
185842
+ return dispose;
185772
185843
  }
185773
- function createPresenceProjector() {
185774
- let lastList = [];
185775
- let lastCursors = [];
185776
- let lastActiveSlideIndex;
185777
- let primed = false;
185844
+ function borrowExternalCollaborationAwareness(host) {
185845
+ let disposed = false;
185846
+ let ownsPresence = false;
185847
+ let hadPresence = false;
185848
+ let previousPresence;
185849
+ let lastPresence;
185850
+ const awareness = {
185851
+ clientID: host.clientID,
185852
+ getStates: () => host.getStates(),
185853
+ on: (event, callback) => host.on(event, callback),
185854
+ off: (event, callback) => host.off(event, callback),
185855
+ setLocalStateField: (field, value) => {
185856
+ if (disposed) {
185857
+ return;
185858
+ }
185859
+ const state = host.getLocalState();
185860
+ if (state === null) {
185861
+ return;
185862
+ }
185863
+ if (field === "presence") {
185864
+ if (!ownsPresence || state.presence !== lastPresence) {
185865
+ hadPresence = Object.hasOwn(state, "presence");
185866
+ previousPresence = state.presence;
185867
+ }
185868
+ lastPresence = value;
185869
+ ownsPresence = true;
185870
+ }
185871
+ host.setLocalStateField(field, value);
185872
+ }
185873
+ };
185778
185874
  return {
185779
- project(states, localClientId, canvasWidth, canvasHeight, localActiveSlideIndex, now) {
185780
- const list = derivePresenceList(
185781
- states,
185782
- localClientId,
185783
- canvasWidth,
185784
- canvasHeight,
185785
- now ?? Date.now()
185786
- );
185787
- if (primed && localActiveSlideIndex === lastActiveSlideIndex && presenceListsEqual(lastList, list)) {
185788
- return { list: lastList, cursors: lastCursors, changed: false };
185875
+ awareness,
185876
+ dispose: () => {
185877
+ if (disposed) {
185878
+ return;
185789
185879
  }
185790
- lastList = list;
185791
- lastCursors = presenceToCursors(list, localActiveSlideIndex);
185792
- lastActiveSlideIndex = localActiveSlideIndex;
185793
- primed = true;
185794
- return { list, cursors: lastCursors, changed: true };
185795
- },
185796
- reset() {
185797
- lastList = [];
185798
- lastCursors = [];
185799
- lastActiveSlideIndex = void 0;
185800
- primed = false;
185880
+ disposed = true;
185881
+ const current = host.getLocalState();
185882
+ if (!ownsPresence || current === null || current.presence !== lastPresence) {
185883
+ return;
185884
+ }
185885
+ const restored = { ...current };
185886
+ if (hadPresence) {
185887
+ restored.presence = previousPresence;
185888
+ } else {
185889
+ delete restored.presence;
185890
+ }
185891
+ host.setLocalState(restored);
185801
185892
  }
185802
185893
  };
185803
185894
  }
185804
- var DEFAULT_LOCAL_COLOR = "#6366f1";
185805
- function getUserInitials(name) {
185806
- const trimmed = name.trim(), parts = trimmed.split(/\s+/u).filter(Boolean), first = parts[0], last = parts[parts.length - 1];
185807
- if (parts.length >= 2 && first && last) {
185808
- return (first[0] + last[0]).toUpperCase();
185809
- }
185810
- return trimmed.slice(0, 2).toUpperCase();
185811
- }
185812
- function buildActiveSessionUsers(params) {
185813
- const local = {
185814
- id: "local",
185815
- name: params.localUserName,
185816
- initials: params.localUserInitials?.trim() ? params.localUserInitials.trim().slice(0, 2).toUpperCase() : getUserInitials(params.localUserName),
185817
- color: params.localUserColor ?? DEFAULT_LOCAL_COLOR,
185818
- isLocal: true
185819
- }, remote = params.remoteUsers.map((user) => ({
185820
- id: String(user.clientId),
185821
- name: user.userName,
185822
- initials: getUserInitials(user.userName),
185823
- color: user.userColor,
185824
- avatarUrl: user.userAvatar,
185825
- isLocal: false,
185826
- slideNumber: user.activeSlideIndex + 1
185827
- }));
185828
- return [local, ...remote];
185829
- }
185830
185895
  var YDOC_ASSETS_KEY = "pptx:assets";
185831
185896
  var ASSET_ELEMENT_FIELDS = /* @__PURE__ */ new Set([
185832
185897
  "mediaData",
@@ -186095,8 +186160,14 @@ function decodeDelta(delta) {
186095
186160
  } catch {
186096
186161
  }
186097
186162
  }
186098
- const isBreakMarker = op2.insert === "\n" && (a.pb === "1" || a.lb === "1");
186099
- if (!isBreakMarker && op2.insert !== "\u200B") {
186163
+ const isBreakMarker = /^\n+$/u.test(op2.insert) && (a.pb === "1" || a.lb === "1");
186164
+ if (isBreakMarker) {
186165
+ for (let index = 0; index < op2.insert.length; index++) {
186166
+ segments.push(structuredClone(seg));
186167
+ }
186168
+ continue;
186169
+ }
186170
+ if (op2.insert !== "\u200B") {
186100
186171
  seg.text = op2.insert;
186101
186172
  }
186102
186173
  segments.push(seg);
@@ -186422,9 +186493,6 @@ function observeYDocSlides(ydoc, onChange) {
186422
186493
  arr.observeDeep(onChange);
186423
186494
  return () => arr.unobserveDeep(onChange);
186424
186495
  }
186425
- function shouldAutoFollowBroadcaster(input) {
186426
- return input.localRole === "viewer" && input.broadcasterRole === "owner";
186427
- }
186428
186496
  function isYTextEditable(value) {
186429
186497
  return isYTextLike(value) && typeof value.delete === "function" && typeof value.format === "function";
186430
186498
  }
@@ -186697,6 +186765,231 @@ function reconcileSlidesInYDoc(slides, ydoc, factories, origin = LOCAL_SYNC_ORIG
186697
186765
  });
186698
186766
  }, origin);
186699
186767
  }
186768
+ function observeExternalCollaborationReadiness(session, options) {
186769
+ let active2 = true;
186770
+ let established = false;
186771
+ let awaitingJoin = options.sessionIntent === "join";
186772
+ let lastAdopted;
186773
+ let lastReadOnly;
186774
+ let unsubscribe;
186775
+ const canWrite = () => active2 && options.gate.isOpen() && session.getSnapshot().synced && options.role !== "viewer";
186776
+ const notifyReadOnly = () => {
186777
+ const readOnly = !canWrite();
186778
+ if (lastReadOnly !== readOnly) {
186779
+ lastReadOnly = readOnly;
186780
+ options.onReadOnlyChange?.(readOnly);
186781
+ }
186782
+ };
186783
+ const suspend = () => {
186784
+ options.gate.reset();
186785
+ options.livePatcher?.configure(null, null);
186786
+ options.onSuspend?.();
186787
+ notifyReadOnly();
186788
+ };
186789
+ const adopt = (slides) => {
186790
+ const serialized = JSON.stringify(slides);
186791
+ if (serialized !== lastAdopted) {
186792
+ lastAdopted = serialized;
186793
+ options.adoptSlides(slides);
186794
+ }
186795
+ };
186796
+ const refresh = () => {
186797
+ if (!active2) {
186798
+ return;
186799
+ }
186800
+ const snapshot = session.getSnapshot();
186801
+ options.onStatus(snapshot.status);
186802
+ if (!snapshot.synced) {
186803
+ suspend();
186804
+ return;
186805
+ }
186806
+ if (options.gate.isOpen()) {
186807
+ return;
186808
+ }
186809
+ lastAdopted = void 0;
186810
+ const slides = readSlidesFromYDoc(session.doc);
186811
+ if (slides.length > 0) {
186812
+ established = true;
186813
+ awaitingJoin = false;
186814
+ adopt(slides);
186815
+ } else if (established) {
186816
+ adopt(slides);
186817
+ } else if (awaitingJoin) {
186818
+ suspend();
186819
+ return;
186820
+ }
186821
+ options.livePatcher?.configure(
186822
+ options.role === "viewer" ? null : session.doc,
186823
+ options.role === "viewer" ? null : options.factories,
186824
+ // The host owns readiness, so accepted edits cannot wait in our timer.
186825
+ true
186826
+ );
186827
+ options.gate.open();
186828
+ notifyReadOnly();
186829
+ options.onReady?.({ seedEmptyRoom: slides.length === 0 && !established });
186830
+ };
186831
+ const unobserve = observeYDocSlides(session.doc, (_events, transaction) => {
186832
+ if (!active2 || !session.getSnapshot().synced) {
186833
+ return;
186834
+ }
186835
+ const slides = readSlidesFromYDoc(session.doc);
186836
+ if (slides.length > 0) {
186837
+ established = true;
186838
+ awaitingJoin = false;
186839
+ }
186840
+ if (transaction?.origin === LOCAL_SYNC_ORIGIN) {
186841
+ lastAdopted = JSON.stringify(slides);
186842
+ return;
186843
+ }
186844
+ if (!options.gate.isOpen()) {
186845
+ refresh();
186846
+ } else if (slides.length > 0 || established) {
186847
+ adopt(slides);
186848
+ }
186849
+ });
186850
+ const dispose = () => {
186851
+ if (!active2) {
186852
+ return;
186853
+ }
186854
+ active2 = false;
186855
+ unsubscribe?.();
186856
+ unobserve();
186857
+ suspend();
186858
+ };
186859
+ try {
186860
+ unsubscribe = observeExternalCollaborationSession(session, refresh);
186861
+ } catch (error) {
186862
+ dispose();
186863
+ throw error;
186864
+ }
186865
+ return Object.assign(dispose, {
186866
+ refresh,
186867
+ canWrite,
186868
+ handleLoad: (origin) => {
186869
+ if (!active2) {
186870
+ return false;
186871
+ }
186872
+ if (origin === "user") {
186873
+ awaitingJoin = false;
186874
+ refresh();
186875
+ } else if (session.getSnapshot().synced) {
186876
+ const slides = readSlidesFromYDoc(session.doc);
186877
+ if (slides.length > 0) {
186878
+ lastAdopted = void 0;
186879
+ adopt(slides);
186880
+ return true;
186881
+ }
186882
+ }
186883
+ return false;
186884
+ },
186885
+ allowLocalLoad: () => {
186886
+ awaitingJoin = false;
186887
+ refresh();
186888
+ }
186889
+ });
186890
+ }
186891
+ function zoomEqual(a, b) {
186892
+ if (a === b) {
186893
+ return true;
186894
+ }
186895
+ if (!a || !b) {
186896
+ return false;
186897
+ }
186898
+ return a.scale === b.scale && a.originX === b.originX && a.originY === b.originY;
186899
+ }
186900
+ function pointerEqual(a, b) {
186901
+ if (a === b) {
186902
+ return true;
186903
+ }
186904
+ if (!a || !b) {
186905
+ return false;
186906
+ }
186907
+ return a.tool === b.tool && a.x === b.x && a.y === b.y && a.color === b.color;
186908
+ }
186909
+ function presentationSnapshotsEqual(a, b) {
186910
+ if (a === b) {
186911
+ return true;
186912
+ }
186913
+ return a.slideIndex === b.slideIndex && a.buildStep === b.buildStep && a.blackout === b.blackout && a.paused === b.paused && a.elapsedMs === b.elapsedMs && a.caption === b.caption && a.subtitlesVisible === b.subtitlesVisible && a.inkMarkupVisible === b.inkMarkupVisible && a.inkStrokes === b.inkStrokes && zoomEqual(a.zoom, b.zoom) && pointerEqual(a.pointer, b.pointer);
186914
+ }
186915
+ function presenceEntriesEqual(a, b) {
186916
+ if (a === b) {
186917
+ return true;
186918
+ }
186919
+ return a.clientId === b.clientId && a.userName === b.userName && a.userColor === b.userColor && a.userAvatar === b.userAvatar && a.role === b.role && a.activeSlideIndex === b.activeSlideIndex && a.cursorX === b.cursorX && a.cursorY === b.cursorY && a.selectedElementId === b.selectedElementId;
186920
+ }
186921
+ function presenceListsEqual(a, b) {
186922
+ if (a === b) {
186923
+ return true;
186924
+ }
186925
+ if (a.length !== b.length) {
186926
+ return false;
186927
+ }
186928
+ return a.every((entry2, index) => {
186929
+ const other = b[index];
186930
+ return other !== void 0 && presenceEntriesEqual(entry2, other);
186931
+ });
186932
+ }
186933
+ function createPresenceProjector() {
186934
+ let lastList = [];
186935
+ let lastCursors = [];
186936
+ let lastActiveSlideIndex;
186937
+ let primed = false;
186938
+ return {
186939
+ project(states, localClientId, canvasWidth, canvasHeight, localActiveSlideIndex, now) {
186940
+ const list = derivePresenceList(
186941
+ states,
186942
+ localClientId,
186943
+ canvasWidth,
186944
+ canvasHeight,
186945
+ now ?? Date.now()
186946
+ );
186947
+ if (primed && localActiveSlideIndex === lastActiveSlideIndex && presenceListsEqual(lastList, list)) {
186948
+ return { list: lastList, cursors: lastCursors, changed: false };
186949
+ }
186950
+ lastList = list;
186951
+ lastCursors = presenceToCursors(list, localActiveSlideIndex);
186952
+ lastActiveSlideIndex = localActiveSlideIndex;
186953
+ primed = true;
186954
+ return { list, cursors: lastCursors, changed: true };
186955
+ },
186956
+ reset() {
186957
+ lastList = [];
186958
+ lastCursors = [];
186959
+ lastActiveSlideIndex = void 0;
186960
+ primed = false;
186961
+ }
186962
+ };
186963
+ }
186964
+ var DEFAULT_LOCAL_COLOR = "#6366f1";
186965
+ function getUserInitials(name) {
186966
+ const trimmed = name.trim(), parts = trimmed.split(/\s+/u).filter(Boolean), first = parts[0], last = parts[parts.length - 1];
186967
+ if (parts.length >= 2 && first && last) {
186968
+ return (first[0] + last[0]).toUpperCase();
186969
+ }
186970
+ return trimmed.slice(0, 2).toUpperCase();
186971
+ }
186972
+ function buildActiveSessionUsers(params) {
186973
+ const local = {
186974
+ id: "local",
186975
+ name: params.localUserName,
186976
+ initials: params.localUserInitials?.trim() ? params.localUserInitials.trim().slice(0, 2).toUpperCase() : getUserInitials(params.localUserName),
186977
+ color: params.localUserColor ?? DEFAULT_LOCAL_COLOR,
186978
+ isLocal: true
186979
+ }, remote = params.remoteUsers.map((user) => ({
186980
+ id: String(user.clientId),
186981
+ name: user.userName,
186982
+ initials: getUserInitials(user.userName),
186983
+ color: user.userColor,
186984
+ avatarUrl: user.userAvatar,
186985
+ isLocal: false,
186986
+ slideNumber: user.activeSlideIndex + 1
186987
+ }));
186988
+ return [local, ...remote];
186989
+ }
186990
+ function shouldAutoFollowBroadcaster(input) {
186991
+ return input.localRole === "viewer" && input.broadcasterRole === "owner";
186992
+ }
186700
186993
  var GEOMETRY_KEYS = ["x", "y", "width", "height", "rotation"];
186701
186994
  var MAX_LIVE_TEXT_LENGTH = 1e5;
186702
186995
  var asMap = (value) => typeof value === "object" && value !== null && typeof value.get === "function" ? value : void 0;
@@ -186754,6 +187047,7 @@ function createCollaborationLivePatcher(options = {}) {
186754
187047
  let factories = null;
186755
187048
  let timer = null;
186756
187049
  let lastWriteAt = Number.NEGATIVE_INFINITY;
187050
+ let immediate = false;
186757
187051
  const cancelTimer = () => {
186758
187052
  if (timer !== null) {
186759
187053
  clearTimeout(timer);
@@ -186780,6 +187074,10 @@ function createCollaborationLivePatcher(options = {}) {
186780
187074
  }
186781
187075
  };
186782
187076
  const schedule = () => {
187077
+ if (immediate) {
187078
+ writePending();
187079
+ return;
187080
+ }
186783
187081
  if (timer !== null) {
186784
187082
  return;
186785
187083
  }
@@ -186806,14 +187104,15 @@ function createCollaborationLivePatcher(options = {}) {
186806
187104
  return entry2;
186807
187105
  };
186808
187106
  return {
186809
- configure(nextDoc, nextFactories) {
186810
- if (nextDoc === doc && nextFactories === factories) {
187107
+ configure(nextDoc, nextFactories, nextImmediate = false) {
187108
+ if (nextDoc === doc && nextFactories === factories && nextImmediate === immediate) {
186811
187109
  return;
186812
187110
  }
186813
187111
  cancelTimer();
186814
187112
  pending.clear();
186815
187113
  doc = nextDoc;
186816
187114
  factories = nextFactories;
187115
+ immediate = nextImmediate;
186817
187116
  lastWriteAt = Number.NEGATIVE_INFINITY;
186818
187117
  },
186819
187118
  isActive() {
@@ -186940,7 +187239,10 @@ function registerCollaborationTeardown(options) {
186940
187239
  doLeave();
186941
187240
  };
186942
187241
  const onBeforeUnload = () => {
186943
- doLeave();
187242
+ const allowed = typeof options.leaveOnBeforeUnload === "function" ? options.leaveOnBeforeUnload() : options.leaveOnBeforeUnload !== false;
187243
+ if (allowed) {
187244
+ doLeave();
187245
+ }
186944
187246
  };
186945
187247
  const onPageShow = (event) => {
186946
187248
  if (event.persisted !== true || !left || !rejoin) {
@@ -187039,6 +187341,84 @@ function createDepartureChannel(roomId, awareness, factory) {
187039
187341
  }
187040
187342
  };
187041
187343
  }
187344
+ var DEFAULT_DEBOUNCE_MS = 5e3;
187345
+ function createWriteBackScheduler(deps) {
187346
+ let timer = null;
187347
+ let generation = 0;
187348
+ let unsubscribe = null;
187349
+ function cancel() {
187350
+ generation++;
187351
+ unsubscribe?.();
187352
+ unsubscribe = null;
187353
+ if (timer !== null) {
187354
+ clearTimeout(timer);
187355
+ timer = null;
187356
+ }
187357
+ }
187358
+ function schedule(config) {
187359
+ const isReady = () => config.externalSession?.getSnapshot().synced ?? true;
187360
+ if (!config.onWriteBack || config.role !== "owner" || !deps.getYDoc()) {
187361
+ return;
187362
+ }
187363
+ cancel();
187364
+ if (!isReady()) {
187365
+ return;
187366
+ }
187367
+ const token2 = generation;
187368
+ if (config.externalSession) {
187369
+ const detach2 = config.externalSession.subscribe(() => {
187370
+ if (!isReady()) {
187371
+ cancel();
187372
+ }
187373
+ });
187374
+ if (token2 !== generation || !isReady()) {
187375
+ detach2();
187376
+ return;
187377
+ }
187378
+ unsubscribe = detach2;
187379
+ }
187380
+ const debounceMs = config.writeBackDebounceMs ?? DEFAULT_DEBOUNCE_MS;
187381
+ timer = setTimeout(async () => {
187382
+ timer = null;
187383
+ const ydoc = deps.getYDoc();
187384
+ const isCurrent = () => token2 === generation && isReady() && deps.getYDoc() === ydoc;
187385
+ try {
187386
+ if (!ydoc || !config.onWriteBack || !isReady()) {
187387
+ return;
187388
+ }
187389
+ if (deps.serialize) {
187390
+ const bytes2 = await deps.serialize(isCurrent);
187391
+ if (bytes2 && isCurrent()) {
187392
+ await config.onWriteBack(bytes2);
187393
+ }
187394
+ return;
187395
+ }
187396
+ const sourceBytes = deps.getSourceBytes?.();
187397
+ if (!sourceBytes) {
187398
+ return;
187399
+ }
187400
+ const handler = new PptxHandler();
187401
+ await handler.load(sourceBytes.buffer);
187402
+ if (!isCurrent()) {
187403
+ return;
187404
+ }
187405
+ const slides = readSlidesFromYDoc(ydoc);
187406
+ const merged = deps.mergeTemplateElements ? deps.mergeTemplateElements(slides, deps.getTemplateElements?.() ?? {}) : slides;
187407
+ const bytes = await handler.save(merged, deps.getSaveOptions?.());
187408
+ if (isCurrent()) {
187409
+ await config.onWriteBack(bytes);
187410
+ }
187411
+ } catch {
187412
+ } finally {
187413
+ if (token2 === generation) {
187414
+ unsubscribe?.();
187415
+ unsubscribe = null;
187416
+ }
187417
+ }
187418
+ }, debounceMs);
187419
+ }
187420
+ return { schedule, cancel };
187421
+ }
187042
187422
  var POSITION_THRESHOLD = 2;
187043
187423
  var SIZE_THRESHOLD = 2;
187044
187424
  function getElementText(element) {
@@ -207743,4 +208123,4 @@ async function rasterResultToPngBlob(result) {
207743
208123
  * `<p:extLst>` (optional)
207744
208124
  */
207745
208125
 
207746
- export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EASE, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, INSTANT, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_DECORATION_FLAGS, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartElementToggle, applyChartPartHighlight, applyChartStylePreset, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyListStyleUpdate, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyTextStyleUpdate, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, assertElementUpdateTarget, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bindInlineListParagraph, bindInlineListRun, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartQuickActionsDescriptor, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneElementUpdates, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createImageElementFromFile, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createRotationDrag, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, elementHitTargetStyle, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getConnectorPathGeometry, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelectionResult, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getP14TransitionAnimations, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getResizeHandleHitAreaStyle, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSelectionTextStyleFlags, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, inlineListBodyText, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isBulletMarkerSegment, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, paintedElementSize, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, prepareElementForInsertion, prepareElementUpdateBatch, prepareExportClone, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readListActivationSelection, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, resolveViewportFitOptions, resolveWheelSpokeCount, restoreFilteredSeries, restoreInlineListBodySelection, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, selectedParagraphBulletKind, selectionBulletKind, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, stopCaptureStream, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, syncGoogleWebfontStylesheet, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformInlineListCase, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
208126
+ export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EASE, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, INSTANT, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_DECORATION_FLAGS, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, WHEEL_SPOKE_COUNTS, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartElementToggle, applyChartPartHighlight, applyChartStylePreset, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyListStyleUpdate, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyTextStyleUpdate, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, assertElementUpdateTarget, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bindInlineListParagraph, bindInlineListRun, borrowExternalCollaborationAwareness, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartQuickActionsDescriptor, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneElementUpdates, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createImageElementFromFile, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationLoadResources, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createRotationDrag, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, elementHitTargetStyle, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getConnectorPathGeometry, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelectionResult, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getP14TransitionAnimations, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getResizeHandleHitAreaStyle, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSelectionTextStyleFlags, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasMultipleSelectedTableCells, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, inlineListBodyText, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isBulletMarkerSegment, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, measureSvgViewportRect, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, paintedElementSize, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, prepareElementForInsertion, prepareElementUpdateBatch, prepareExportClone, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readListActivationSelection, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, resolveViewportFitOptions, resolveWheelSpokeCount, restoreFilteredSeries, restoreInlineListBodySelection, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, selectedParagraphBulletKind, selectionBulletKind, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, stopCaptureStream, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, syncGoogleWebfontStylesheet, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformInlineListCase, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };