ooxml-ui 1.26.1 → 1.27.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 (101) hide show
  1. package/dist/building-block-styles.d.ts +1 -0
  2. package/dist/chart/data-sheet-keys.d.ts +0 -1
  3. package/dist/chart/format-pane-3d.d.ts +1 -0
  4. package/dist/chart/format-pane-locales/fr.d.ts +1 -0
  5. package/dist/chart/format-pane-locales/index.d.ts +1 -0
  6. package/dist/chart/format-pane-text.d.ts +0 -1
  7. package/dist/chart/format-pane-translate.d.ts +1 -0
  8. package/dist/chrome/backstage.d.ts +2 -1
  9. package/dist/chrome/find-bar.d.ts +2 -1
  10. package/dist/{chunk-WH3EGA3S.js → chunk-2EFIFIPB.js} +2 -2
  11. package/dist/{chunk-P4FRKIPE.js → chunk-W2JD75LX.js} +1 -0
  12. package/dist/dialog/chart-picker.d.ts +2 -1
  13. package/dist/dialog/options-categories.d.ts +1 -0
  14. package/dist/docx/print-picture.d.ts +1 -0
  15. package/dist/docx.js +3 -2
  16. package/dist/index.js +3 -3
  17. package/dist/menu/command-search.d.ts +2 -1
  18. package/dist/menu/menu-separator.d.ts +2 -1
  19. package/dist/notices/toasts.d.ts +2 -1
  20. package/dist/pptx/{chunk-3ZI57W7O.mjs → chunk-3LOVEO7U.mjs} +5 -0
  21. package/dist/pptx/{chunk-NHRL2D4I.mjs → chunk-6QLGEV3I.mjs} +1432 -456
  22. package/dist/pptx/{chunk-BC23E73O.cjs → chunk-A3JJOLTS.cjs} +43 -43
  23. package/dist/pptx/{chunk-OOQMIQT3.cjs → chunk-GWKTHP6U.cjs} +0 -23
  24. package/dist/pptx/{chunk-BGABXFCV.cjs → chunk-I6ZVSJAR.cjs} +1462 -489
  25. package/dist/pptx/{chunk-CZUEATSN.mjs → chunk-LAF5W2UR.mjs} +1 -1
  26. package/dist/pptx/{chunk-LB3A3GF6.mjs → chunk-MJACF7Y2.mjs} +0 -23
  27. package/dist/pptx/{chunk-X4FNVH7J.cjs → chunk-YMITEJST.cjs} +32 -0
  28. package/dist/pptx/dom/index.cjs +389 -389
  29. package/dist/pptx/dom/index.mjs +8 -8
  30. package/dist/pptx/export/index.d.ts +1 -0
  31. package/dist/pptx/export/index.d.ts.map +1 -1
  32. package/dist/pptx/export/print-document.cjs +17 -17
  33. package/dist/pptx/export/print-document.d.ts +7 -5
  34. package/dist/pptx/export/print-document.d.ts.map +1 -1
  35. package/dist/pptx/export/print-document.mjs +1 -1
  36. package/dist/pptx/export/print-job.d.ts +134 -0
  37. package/dist/pptx/export/print-job.d.ts.map +1 -0
  38. package/dist/pptx/i18n/index.cjs +6 -6
  39. package/dist/pptx/i18n/index.mjs +1 -1
  40. package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
  41. package/dist/pptx/index.cjs +3143 -3031
  42. package/dist/pptx/index.mjs +3 -3
  43. package/dist/pptx/render/controller/history-controller.d.ts +6 -0
  44. package/dist/pptx/render/controller/history-controller.d.ts.map +1 -1
  45. package/dist/pptx/render/deck-save-encryption.d.ts +10 -1
  46. package/dist/pptx/render/deck-save-encryption.d.ts.map +1 -1
  47. package/dist/pptx/render/deck-style.d.ts +12 -1
  48. package/dist/pptx/render/deck-style.d.ts.map +1 -1
  49. package/dist/pptx/render/google-webfonts.d.ts +32 -1
  50. package/dist/pptx/render/google-webfonts.d.ts.map +1 -1
  51. package/dist/pptx/render/index.d.ts +4 -0
  52. package/dist/pptx/render/index.d.ts.map +1 -1
  53. package/dist/pptx/render/inserted-slide-layout.d.ts +28 -0
  54. package/dist/pptx/render/inserted-slide-layout.d.ts.map +1 -0
  55. package/dist/pptx/render/inspector/index.d.ts +2 -0
  56. package/dist/pptx/render/inspector/index.d.ts.map +1 -1
  57. package/dist/pptx/render/inspector/text-effect-fields.d.ts +29 -0
  58. package/dist/pptx/render/inspector/text-effect-fields.d.ts.map +1 -0
  59. package/dist/pptx/render/master-view-crud-history.d.ts +45 -0
  60. package/dist/pptx/render/master-view-crud-history.d.ts.map +1 -0
  61. package/dist/pptx/render/master-view-crud.d.ts +11 -0
  62. package/dist/pptx/render/master-view-crud.d.ts.map +1 -1
  63. package/dist/pptx/render/morph-animation.d.ts +11 -2
  64. package/dist/pptx/render/morph-animation.d.ts.map +1 -1
  65. package/dist/pptx/render/morph-geometry-keyframes.d.ts.map +1 -1
  66. package/dist/pptx/render/morph-matching.d.ts +1 -0
  67. package/dist/pptx/render/morph-matching.d.ts.map +1 -1
  68. package/dist/pptx/render/morph-stacked-copies.d.ts +20 -0
  69. package/dist/pptx/render/morph-stacked-copies.d.ts.map +1 -0
  70. package/dist/pptx/render/morph-text-flow.d.ts +48 -0
  71. package/dist/pptx/render/morph-text-flow.d.ts.map +1 -0
  72. package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
  73. package/dist/pptx/render/stroke-clip-edge.d.ts +27 -0
  74. package/dist/pptx/render/stroke-clip-edge.d.ts.map +1 -0
  75. package/dist/pptx/render/stroke-clip-outset.d.ts +11 -1
  76. package/dist/pptx/render/stroke-clip-outset.d.ts.map +1 -1
  77. package/dist/pptx/render/stroke-outline.d.ts +13 -0
  78. package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
  79. package/dist/pptx/render/stroke-style.d.ts +10 -1
  80. package/dist/pptx/render/stroke-style.d.ts.map +1 -1
  81. package/dist/pptx/render/theme-by-path.d.ts +61 -0
  82. package/dist/pptx/render/theme-by-path.d.ts.map +1 -0
  83. package/dist/pptx/render/theme-history.d.ts +146 -0
  84. package/dist/pptx/render/theme-history.d.ts.map +1 -0
  85. package/dist/pptx/render/theme-write-queue.d.ts +21 -0
  86. package/dist/pptx/render/theme-write-queue.d.ts.map +1 -0
  87. package/dist/pptx/render/viewer-preferences.d.ts +11 -0
  88. package/dist/pptx/render/viewer-preferences.d.ts.map +1 -1
  89. package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
  90. package/dist/pptx/{smartart-insert-preview-TYCMBIUH.cjs → smartart-insert-preview-AERZURUO.cjs} +5 -5
  91. package/dist/pptx/{smartart-insert-preview-TJEN4WYF.mjs → smartart-insert-preview-CGAZP5JP.mjs} +4 -4
  92. package/dist/ribbon/keytip-run.d.ts +1 -0
  93. package/dist/ribbon/ribbon-stack.d.ts +2 -1
  94. package/dist/smartart.js +1 -1
  95. package/dist/teams.js +1 -1
  96. package/dist/theme-bridge.d.ts +0 -1
  97. package/dist/theme.d.ts +1 -0
  98. package/dist/xlsx/grid/styles.d.ts +1 -1
  99. package/dist/xlsx.js +5 -5
  100. package/package.json +2 -2
  101. /package/dist/{chunk-HGLCXNCT.js → chunk-WBE2Q5DC.js} +0 -0
@@ -10,21 +10,21 @@ import { createImageElementFromFile } from './chunk-L55MIOBC.mjs';
10
10
  import { withExclusiveLineSpacing, splitTextStyleUpdate, mergeTextStyleUpdate, overrideParagraphProperties, TEXT_DECORATION_FLAGS, reconcileDecorationFlags, overrideParagraphIndents, paragraphOverridePatch } from './chunk-7DIZOCO4.mjs';
11
11
  import { CHARACTER_SPACING_OPTIONS, CHANGE_CASE_OPTIONS, LINE_SPACING_OPTIONS, COMMON_FONT_SIZES } from './chunk-SMSCEGAE.mjs';
12
12
  import { isCurrentLayout } from './chunk-7BHPBO2O.mjs';
13
- import { OOXML_PATTERN_PRESETS, resolveChartKind, buildChartViewModel, withResolvedPalette, computeHistogramBins, orderParetoEntries, cumulativePercentOfTotal, normalizeHexColor, getPatternTile, normalizeStrokeDashType, colorWithOpacity, DEFAULT_STROKE_COLOR, getSvgStrokeDasharray, getCssBorderDashStyle, getComputedFillStyle, setBoundedRenderCache, parseDrawingPercent, clampUnitInterval, DEFAULT_TEXT_FONT_SIZE, applyParetoConversion, chartGridlinesPatch, computeChartLegendLayout, chartAxisIndex, chartPlotBounds, HYPERLINK_COLOR, getPatternSvg, clampCropValue, buildRectPathGradientImage, DEFAULT_FONT_FAMILY, DEFAULT_TEXT_COLOR, DEFAULT_BODY_INSET_TB_PX, DEFAULT_BODY_INSET_LR_PX, buildDashArray, wrapTextByEstimatedWidth, getPptxRenderCacheEpoch, invalidatePptxRenderCacheEpoch, clearBarFacePicturePixelCache, isSeriesOnSecondaryAxis, computeGradientCenter, sanitizeGradientStops, chartGridlinesState, chartTextBox, buildRectPathGradientSvg, DEFAULT_BAR_GAP_WIDTH, axisTickValues, buildGradientCss, estimateTextWidth, formatAxisValueWithUnits } from './chunk-34LEUH5R.mjs';
13
+ import { OOXML_PATTERN_PRESETS, resolveChartKind, buildChartViewModel, withResolvedPalette, computeHistogramBins, orderParetoEntries, cumulativePercentOfTotal, getCssBorderDashStyle, normalizeStrokeDashType, DEFAULT_STROKE_COLOR, colorWithOpacity, normalizeHexColor, getPatternTile, getSvgStrokeDasharray, getComputedFillStyle, setBoundedRenderCache, parseDrawingPercent, clampUnitInterval, DEFAULT_TEXT_FONT_SIZE, applyParetoConversion, chartGridlinesPatch, computeChartLegendLayout, chartAxisIndex, chartPlotBounds, HYPERLINK_COLOR, getPatternSvg, clampCropValue, buildRectPathGradientImage, DEFAULT_FONT_FAMILY, DEFAULT_TEXT_COLOR, DEFAULT_BODY_INSET_TB_PX, DEFAULT_BODY_INSET_LR_PX, buildDashArray, wrapTextByEstimatedWidth, getPptxRenderCacheEpoch, invalidatePptxRenderCacheEpoch, clearBarFacePicturePixelCache, isSeriesOnSecondaryAxis, computeGradientCenter, sanitizeGradientStops, chartGridlinesState, chartTextBox, buildRectPathGradientSvg, DEFAULT_BAR_GAP_WIDTH, axisTickValues, buildGradientCss, estimateTextWidth, formatAxisValueWithUnits } from './chunk-34LEUH5R.mjs';
14
14
  import { tiltChannelsFromVectors, buildInkStrokeView } from './chunk-IB6ZM2E2.mjs';
15
15
  import { hasPressureVariation, resolveInkOpacity } from './chunk-JA7WYSRE.mjs';
16
- import { screenBorder, screenStrokeWidth, settleThreeViews, withAuthoredStrokeWidths, snapshotThreeViewsIntoClone, prepareExportClone } from './chunk-AMW2AR7J.mjs';
17
- import { sanitizeMarkupOrEmpty } from './chunk-3ZI57W7O.mjs';
16
+ import { screenBorder, screenStrokeWidth, settleThreeViews, withAuthoredStrokeWidths, snapshotThreeViewsIntoClone, prepareExportClone, DEVICE_PX_VAR } from './chunk-AMW2AR7J.mjs';
17
+ import { sanitizeMarkupOrEmpty, getCommentMarkerPosition, validatePrintSettings, computeSlideIndices, filterHiddenSlideIndices, buildOutlineHtml, buildPrintHtmlDocument, computeColorFilter, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml } from './chunk-3LOVEO7U.mjs';
18
18
  import { escapeHtml } from './chunk-IEAO7N4E.mjs';
19
19
  import { upsert, animationFor } from './chunk-PMURSMHH.mjs';
20
20
  import { animationPresetLabelKey } from './chunk-T7FRLIDM.mjs';
21
21
  import { TOUCH, tok, OFFICE_TOKENS, installOfficeUiTheme, withOfficeThemeCss, installOfficeUiThemeFor, LEGACY_OFFICE_THEME_TOKENS, legacyThemeBridge, GALLERY_THEME_PRESETS, activeGalleryThemePreset } from './chunk-MK2ASJSY.mjs';
22
22
  import { resolveTableCellImageUrls, resolveTextFillBlipUrls, collectMediaElements, resolveMediaElementSource } from './chunk-AEQGGKRZ.mjs';
23
- import { CHART_FORMAT_STRINGS, CHART_FORMAT_LOCALES, translationsEn } from './chunk-LB3A3GF6.mjs';
23
+ import { CHART_FORMAT_STRINGS, CHART_FORMAT_LOCALES, translationsEn } from './chunk-MJACF7Y2.mjs';
24
24
  import { createControllerStore } from './chunk-WM5SW737.mjs';
25
25
  import { updateTextSegmentStyle } from './chunk-PEDGPFLR.mjs';
26
26
  import { A4_PORTRAIT } from './chunk-WHUMPYEM.mjs';
27
- import { addSmartArtNode, addSmartArtNodeBefore, addSmartArtNodeAbove, addSmartArtNodeAsChild, evaluatePresetShape, flattenNodes, updateMergeAttrsInRawXml, chartDataToSheet, chartDataApplySheetEdits, chartSupportsSecondaryAxis, isChartSeriesOnSecondaryAxis, readChartElementFormat, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, parseChartFormatTargetKey, withChartSeriesOnSecondaryAxis, withChartSeriesOptions, withChartAxisOptions, withChartLegendOptions, withChartDataLabelOptions, withChartElementFormat, reorderSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, createChartElement, interpretSmartArtLayout, styleStroke, strokeFor, nodeTextStyle, fitFontSize, truncate, nodeOpacity, nodeStroke, nodeFill, styleShadow, gearPoints, buildTree, treeWidth, treeDepth, MIN_ELEMENT_SIZE, makeStoreAwareId, evaluateCustomGeometryPathData, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, getShapeType, isImageLikeElement, hasShapeProperties, getElementTextContent, getRoundRectRadiusPx, hasTextProperties, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, evaluateGuides, deobfuscateFont, chartDataChangeType, resetChartElementFormat, isNativeAfterAnimationOnly, resolveThemeColorRef, resolveOoxmlPresetMapping, getCapturedPreset, resolveDirectionSubtype, capturedPresetNativeAnimation, timingCurveToAccelDecel, applyAfterAnimationFromEditorList, getSubstituteFontFamily, parsePanoseString, EMU_PER_PX as EMU_PER_PX$1, DEFAULT_POWERPOINT_TABLE_STYLE_ID, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, createAutoNumberSequence, nextAutoNumber, breakAutoNumberRun, getLinkedTextBoxSegments, deriveSlideTitle, svgPathToPolygons, createBuiltinVariables, resolveCoordinate, getPresetConnectionSites, getConnectorPathGeometry, detectFontFormat, createEditorId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, renameSlideMaster, deleteSlideMaster, duplicateSlideMaster, insertSlideMaster, renameLayout, deleteLayout, duplicateLayout, insertLayout, switchSmartArtLayout, resolveModifyVerifierAlgorithmName, verifyModifyPassword, evaluateCustomGeometryPaths, cloneElement, SLIDE_PACKAGE_CLIPBOARD_MIME, deserializeSlidePackageClipboard, importSlidePackage, PptxHandler, createSlideClipboardPackage, serializeSlidePackageClipboard, serializePptxToJson, PPTX_JSON_MIME_TYPE, douglasPeucker, resolveEffectTiming, lookupPresetShape, normalizeStShapeType, resolveCustomGeometryGuideContext, smartArtQuickStyleHas3d, relayoutSmartArt, customGeometryPathsToSvgSubpaths, BACKGROUND_STYLE_PRESETS, THEME_EFFECT_SCHEMES, findThemeEffectSchemeByName, SWITCHABLE_LAYOUT_TYPES, reResolveSlideFonts, buildThemeColorMap, reResolveSlideColors, resolveOpacitySet, resolveTableBackgroundFillRef, resolveCustomGeometryToken, cropShapeForPresetGeometry, resolveVisibilitySetTiming, resolveTableStyleLineRef, backgroundStylePreset, ooxmlGradientAngleToCssDegrees, themeColorRefFromColorChoice, reResolveElementColors, reResolveElementFonts } from 'ooxml-core/pptx';
27
+ import { addSmartArtNode, addSmartArtNodeBefore, addSmartArtNodeAbove, addSmartArtNodeAsChild, evaluatePresetShape, flattenNodes, updateMergeAttrsInRawXml, chartDataToSheet, chartDataApplySheetEdits, chartSupportsSecondaryAxis, isChartSeriesOnSecondaryAxis, readChartElementFormat, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, parseChartFormatTargetKey, withChartSeriesOnSecondaryAxis, withChartSeriesOptions, withChartAxisOptions, withChartLegendOptions, withChartDataLabelOptions, withChartElementFormat, reorderSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, createChartElement, interpretSmartArtLayout, styleStroke, strokeFor, nodeTextStyle, fitFontSize, truncate, nodeOpacity, nodeStroke, nodeFill, styleShadow, gearPoints, buildTree, treeWidth, treeDepth, MIN_ELEMENT_SIZE, makeStoreAwareId, evaluateCustomGeometryPathData, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, getShapeType, isImageLikeElement, hasShapeProperties, getElementTextContent, getRoundRectRadiusPx, hasTextProperties, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, evaluateGuides, deobfuscateFont, chartDataChangeType, resetChartElementFormat, isNativeAfterAnimationOnly, resolveThemeColorRef, resolveOoxmlPresetMapping, getCapturedPreset, resolveDirectionSubtype, capturedPresetNativeAnimation, timingCurveToAccelDecel, applyAfterAnimationFromEditorList, getSubstituteFontFamily, parsePanoseString, EMU_PER_PX as EMU_PER_PX$1, DEFAULT_POWERPOINT_TABLE_STYLE_ID, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, createAutoNumberSequence, nextAutoNumber, breakAutoNumberRun, getLinkedTextBoxSegments, deriveSlideTitle, svgPathToPolygons, createBuiltinVariables, resolveCoordinate, getPresetConnectionSites, getConnectorPathGeometry, detectFontFormat, createEditorId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, renameSlideMaster, deleteSlideMaster, duplicateSlideMaster, insertSlideMaster, renameLayout, deleteLayout, duplicateLayout, insertLayout, switchSmartArtLayout, buildThemeColorMap, resolveModifyVerifierAlgorithmName, verifyModifyPassword, evaluateCustomGeometryPaths, cloneElement, SLIDE_PACKAGE_CLIPBOARD_MIME, deserializeSlidePackageClipboard, importSlidePackage, PptxHandler, createSlideClipboardPackage, serializeSlidePackageClipboard, serializePptxToJson, PPTX_JSON_MIME_TYPE, douglasPeucker, resolveEffectTiming, lookupPresetShape, normalizeStShapeType, resolveCustomGeometryGuideContext, smartArtQuickStyleHas3d, relayoutSmartArt, customGeometryPathsToSvgSubpaths, BACKGROUND_STYLE_PRESETS, THEME_EFFECT_SCHEMES, findThemeEffectSchemeByName, SWITCHABLE_LAYOUT_TYPES, reResolveSlideFonts, reResolveSlideColors, reResolveElementColors, reResolveElementFonts, resolveOpacitySet, resolveTableBackgroundFillRef, resolveCustomGeometryToken, formatSchemeKey, cropShapeForPresetGeometry, resolveVisibilitySetTiming, resolveTableStyleLineRef, backgroundStylePreset, ooxmlGradientAngleToCssDegrees, themeColorRefFromColorChoice } from 'ooxml-core/pptx';
28
28
  export { AFTER_ANIMATION_VALUES, DEFAULT_AFTER_ANIMATION_DIM_COLOR, algorithmParam, applySpeedToDuration, buildTree, chartGridAddCategory, chartGridAddSeries, chartGridRemoveCategory, chartGridRemoveSeries, chartGridSetCategoryLabel, chartGridSetCellValue, chevronPoints, colour, discoverArrangement, findConstraint, fitFontSize, flattenNodes, gearPoints, getAfterAnimation, getAfterAnimationState, interpretSmartArtLayout, isNativeAfterAnimationOnly, itemNode, nodeFill, nodeOpacity, nodeStroke, nodeTextStyle, numericParam, ratioConstraint, reassignDescendantIds, resolveEffectTiming, resolveFlowDirection, resolveIterationCount, setAfterAnimation, setAfterAnimationColor, shouldHoldEndState, strokeFor, styleShadow, styleStroke, treeDepth, treeWidth, truncate } from 'ooxml-core/pptx';
29
29
  import { OFFICE_STANDARD_COLORS, normalizePaletteHex, buildThemePalette, hexToRgbUnit, contrastTextColor, colorWithOpacity as colorWithOpacity$1, parseHex } from 'ooxml-core/color';
30
30
  export { contrastTextColor, hexToRgbUnit, parseHex } from 'ooxml-core/color';
@@ -50,8 +50,6 @@ export { appendTableElementColumn, appendTableElementRow, insertTableElementColu
50
50
  export { computeMergeCellDown, computeMergeCellRight, computeSplitCell } from 'ooxml-core/pptx/editor/render/table-cell-merge';
51
51
  import { cloneSlide } from 'ooxml-core/pptx/editor/render/clone';
52
52
  export { cloneChartData, cloneElement, cloneElementAnimation, cloneHistorySnapshot, cloneShapeStyle, cloneSlide, cloneSlideTransition, cloneSmartArtData, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject } from 'ooxml-core/pptx/editor/render/clone';
53
- import { getCommentMarkerPosition } from 'ooxml-core/pptx/editor/render/element';
54
- export { formatCommentTimestamp, getCommentMarkerPosition, getConnectionSitePosition, getElementLabel, isEditableTextElement, isTemplateElement, isTemplateElementId } from 'ooxml-core/pptx/editor/render/element';
55
53
  import { SHAPE_GALLERY_CATEGORIES, shapeGalleryCategoryKey, shapeGalleryNameKey, RESIZE_HANDLE_GEOMETRY, computeSnap, snapToGridStep, routeOrthogonalConnector, waypointsToPathD, elbowSegmentCount, curvedElbowPathD, arrowKeyDelta, flattenSvgPath, applyDragDelta, computeSnapToShape, applyResize, createRotationDrag, boxCenter, snapAngle, resolveRotateHandlePlacement, elbowWaypoints as elbowWaypoints$1 } from 'ooxml-core/geometry';
56
54
  export { CANVAS_SENTINEL, PADDING_DEFAULT, RESIZE_HANDLES, RESIZE_HANDLE_GEOMETRY, ROTATE_STEM_PX, ROUTING_PADDING_DEFAULT, SNAP_THRESHOLD, aStarOrthogonal, alignElements, applyDragDelta, applyResize, boxCenter, buildGraphNodes, computeAlign, computeDistribute, computeRotation, computeSnap, computeSnapToShape, createRotationDrag, directPathClear, distributeElements, heuristic, inflateRect, pointInRect, pointKey, resolveAlignReferenceBox, rotateDelta, routeConnector, routeOrthogonalConnector, segmentIntersectsRect, simplifyPath, snapAngle, snapBox, snapToGridStep, snapValue, usesSlideReference, waypointsToPathD, waypointsToPathData } from 'ooxml-core/geometry';
57
55
  import { canInteractWithElement } from 'ooxml-core/pptx/editor/render/element-locks';
@@ -114,7 +112,8 @@ import { visibleTemplateElements, buildSaveSlides, partitionTemplateElements } f
114
112
  export { buildSaveSlides, findTemplateElement, isElementIdInteractive, partitionTemplateElements, setTemplateElements, visibleTemplateElements } from 'ooxml-core/pptx/editor/render/template-editing';
115
113
  import { THEME_COLOR_SWATCH_COLUMN_LABEL_KEYS, THEME_COLOR_SWATCH_VARIANT_LABEL_KEYS, buildThemeColorSwatchGrid, findSelectedThemeSwatch, themeColorSwatchRows, themeSwatchCommit } from 'ooxml-core/pptx/ui';
116
114
  export { THEME_COLOR_SWATCH_COLUMN_LABEL_KEYS, THEME_COLOR_SWATCH_VARIANT_LABEL_KEYS, buildThemeColorSwatchGrid, customColorCommit, describeThemeColorSwatch, findSelectedThemeSwatch, themeColorRefsEqual, themeColorSwatchRows, themeColorVariantOfRef, themeColorVariantToRef, themeColorVariantsForLuminance, themeSwatchCommit } from 'ooxml-core/pptx/ui';
117
- export { isEncryptedDeckBytes, planDeckSave, recoverySnapshotIntent, saveDeckWithPassword } from 'ooxml-core/pptx/editor/render/deck-save-encryption';
115
+ import { saveDeckWithPassword as saveDeckWithPassword$1 } from 'ooxml-core/pptx/editor/render/deck-save-encryption';
116
+ export { isEncryptedDeckBytes, planDeckSave, recoverySnapshotIntent } from 'ooxml-core/pptx/editor/render/deck-save-encryption';
118
117
  import { tableStyleSaveOptions } from 'ooxml-core/pptx/editor/render/table-style-map-edits';
119
118
  export { applyTableStyleDelete, applyTableStyleMapChange, tableStyleAssignmentUpdate, tableStyleSaveOptions } from 'ooxml-core/pptx/editor/render/table-style-map-edits';
120
119
  import { findRibbonAddInCommand, RIBBON_ADD_IN_EVENT, acceptedRibbonAddIns } from 'ooxml-core/ribbon';
@@ -1269,6 +1268,315 @@ function buildCustomPathMarkers(element, stroke) {
1269
1268
  const end = add2("End");
1270
1269
  return { markup: markup.join(""), start, end };
1271
1270
  }
1271
+
1272
+ // src/pptx/render/stroke-clip-outset.ts
1273
+ var SVG_DEFAULT_JOIN = { join: "miter", miterLimit: 4 };
1274
+ var ROUND_JOIN_STEPS = 16;
1275
+ var CURVE_STEPS = 16;
1276
+ function flattenArc(from, rx, ry, rotationDeg, largeArc, sweep, to) {
1277
+ if (rx === 0 || ry === 0 || from[0] === to[0] && from[1] === to[1]) {
1278
+ return [to];
1279
+ }
1280
+ const phi = rotationDeg * Math.PI / 180;
1281
+ const cosPhi = Math.cos(phi);
1282
+ const sinPhi = Math.sin(phi);
1283
+ const dx = (from[0] - to[0]) / 2;
1284
+ const dy = (from[1] - to[1]) / 2;
1285
+ const x1 = cosPhi * dx + sinPhi * dy;
1286
+ const y1 = -sinPhi * dx + cosPhi * dy;
1287
+ let radiusX = Math.abs(rx);
1288
+ let radiusY = Math.abs(ry);
1289
+ const lambda = x1 * x1 / (radiusX * radiusX) + y1 * y1 / (radiusY * radiusY);
1290
+ if (lambda > 1) {
1291
+ const scale2 = Math.sqrt(lambda);
1292
+ radiusX *= scale2;
1293
+ radiusY *= scale2;
1294
+ }
1295
+ const numerator = radiusX * radiusX * radiusY * radiusY - radiusX * radiusX * y1 * y1 - radiusY * radiusY * x1 * x1;
1296
+ const denominator = radiusX * radiusX * y1 * y1 + radiusY * radiusY * x1 * x1;
1297
+ const coefficient = (largeArc === sweep ? -1 : 1) * Math.sqrt(Math.max(0, numerator / denominator));
1298
+ const cxp = coefficient * radiusX * y1 / radiusY;
1299
+ const cyp = -coefficient * radiusY * x1 / radiusX;
1300
+ const cx = cosPhi * cxp - sinPhi * cyp + (from[0] + to[0]) / 2;
1301
+ const cy = sinPhi * cxp + cosPhi * cyp + (from[1] + to[1]) / 2;
1302
+ const angle = (ux, uy, vx, vy) => {
1303
+ const sign = ux * vy - uy * vx < 0 ? -1 : 1;
1304
+ const dot = (ux * vx + uy * vy) / (Math.hypot(ux, uy) * Math.hypot(vx, vy));
1305
+ return sign * Math.acos(Math.max(-1, Math.min(1, dot)));
1306
+ };
1307
+ const theta1 = angle(1, 0, (x1 - cxp) / radiusX, (y1 - cyp) / radiusY);
1308
+ let delta = angle(
1309
+ (x1 - cxp) / radiusX,
1310
+ (y1 - cyp) / radiusY,
1311
+ (-x1 - cxp) / radiusX,
1312
+ (-y1 - cyp) / radiusY
1313
+ );
1314
+ if (!sweep && delta > 0) {
1315
+ delta -= 2 * Math.PI;
1316
+ } else if (sweep && delta < 0) {
1317
+ delta += 2 * Math.PI;
1318
+ }
1319
+ const out = [];
1320
+ for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1321
+ const t2 = theta1 + delta * step2 / CURVE_STEPS;
1322
+ const px3 = radiusX * Math.cos(t2);
1323
+ const py = radiusY * Math.sin(t2);
1324
+ out.push([cosPhi * px3 - sinPhi * py + cx, sinPhi * px3 + cosPhi * py + cy]);
1325
+ }
1326
+ return out;
1327
+ }
1328
+ function flattenPath(d) {
1329
+ const tokens = d.match(/[A-Za-z]|-?\d*\.?\d+(?:e[-+]?\d+)?/giu);
1330
+ if (!tokens) {
1331
+ return void 0;
1332
+ }
1333
+ const subpaths = [];
1334
+ let current = [];
1335
+ let pos = [0, 0];
1336
+ let start = [0, 0];
1337
+ let i = 0;
1338
+ let command2 = "";
1339
+ const num15 = () => Number.parseFloat(tokens[i++] ?? "NaN");
1340
+ while (i < tokens.length) {
1341
+ const token = tokens[i];
1342
+ if (/^[A-Za-z]$/u.test(token)) {
1343
+ command2 = token;
1344
+ i++;
1345
+ if (command2 === "Z" || command2 === "z") {
1346
+ if (current.length > 1) {
1347
+ subpaths.push(current);
1348
+ }
1349
+ current = [];
1350
+ pos = start;
1351
+ continue;
1352
+ }
1353
+ } else if (command2 === "M") {
1354
+ command2 = "L";
1355
+ }
1356
+ switch (command2) {
1357
+ case "M":
1358
+ if (current.length > 1) {
1359
+ subpaths.push(current);
1360
+ }
1361
+ pos = [num15(), num15()];
1362
+ start = pos;
1363
+ current = [pos];
1364
+ break;
1365
+ case "L":
1366
+ pos = [num15(), num15()];
1367
+ current.push(pos);
1368
+ break;
1369
+ case "H":
1370
+ pos = [num15(), pos[1]];
1371
+ current.push(pos);
1372
+ break;
1373
+ case "V":
1374
+ pos = [pos[0], num15()];
1375
+ current.push(pos);
1376
+ break;
1377
+ case "C": {
1378
+ const p1 = [num15(), num15()];
1379
+ const p2 = [num15(), num15()];
1380
+ const p3 = [num15(), num15()];
1381
+ for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1382
+ const t2 = step2 / CURVE_STEPS;
1383
+ const u = 1 - t2;
1384
+ current.push([
1385
+ u * u * u * pos[0] + 3 * u * u * t2 * p1[0] + 3 * u * t2 * t2 * p2[0] + t2 * t2 * t2 * p3[0],
1386
+ u * u * u * pos[1] + 3 * u * u * t2 * p1[1] + 3 * u * t2 * t2 * p2[1] + t2 * t2 * t2 * p3[1]
1387
+ ]);
1388
+ }
1389
+ pos = p3;
1390
+ break;
1391
+ }
1392
+ case "Q": {
1393
+ const p1 = [num15(), num15()];
1394
+ const p2 = [num15(), num15()];
1395
+ for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1396
+ const t2 = step2 / CURVE_STEPS;
1397
+ const u = 1 - t2;
1398
+ current.push([
1399
+ u * u * pos[0] + 2 * u * t2 * p1[0] + t2 * t2 * p2[0],
1400
+ u * u * pos[1] + 2 * u * t2 * p1[1] + t2 * t2 * p2[1]
1401
+ ]);
1402
+ }
1403
+ pos = p2;
1404
+ break;
1405
+ }
1406
+ case "A": {
1407
+ const rx = num15();
1408
+ const ry = num15();
1409
+ const rotation = num15();
1410
+ const largeArc = num15() !== 0;
1411
+ const sweep = num15() !== 0;
1412
+ const to = [num15(), num15()];
1413
+ current.push(...flattenArc(pos, rx, ry, rotation, largeArc, sweep, to));
1414
+ pos = to;
1415
+ break;
1416
+ }
1417
+ default:
1418
+ return void 0;
1419
+ }
1420
+ }
1421
+ if (current.length > 1) {
1422
+ subpaths.push(current);
1423
+ }
1424
+ return subpaths.every((sub) => sub.every(([x, y]) => Number.isFinite(x) && Number.isFinite(y))) ? subpaths : void 0;
1425
+ }
1426
+ var fmt = (n) => String(Math.round(n * 1e3) / 1e3);
1427
+ function outsetClipPathForStroke(clipPath, strokeWidth, width, height, join = SVG_DEFAULT_JOIN) {
1428
+ if (!(strokeWidth > 0)) {
1429
+ return clipPath;
1430
+ }
1431
+ const d = outlinePathData(clipPath, width, height);
1432
+ const subpaths = d ? flattenPath(d) : void 0;
1433
+ if (!d || !subpaths || subpaths.length === 0) {
1434
+ return clipPath;
1435
+ }
1436
+ const half = strokeWidth / 2;
1437
+ const signedArea4 = (pts) => {
1438
+ let area = 0;
1439
+ for (let k = 0; k < pts.length; k++) {
1440
+ const a = pts[k];
1441
+ const b = pts[(k + 1) % pts.length];
1442
+ area += a[0] * b[1] - b[0] * a[1];
1443
+ }
1444
+ return area;
1445
+ };
1446
+ const reference = Math.sign(signedArea4(subpaths[0])) || 1;
1447
+ const quads = [];
1448
+ const push = (poly3) => {
1449
+ const wound = Math.sign(signedArea4(poly3)) === reference ? poly3 : [...poly3].reverse();
1450
+ quads.push(`M ${wound.map(([x, y]) => `${fmt(x)} ${fmt(y)}`).join(" L ")} Z`);
1451
+ };
1452
+ for (const sub of subpaths) {
1453
+ const pts = sub;
1454
+ let last = [0, 0];
1455
+ const normals = pts.map((a, k) => {
1456
+ const b = pts[(k + 1) % pts.length];
1457
+ const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
1458
+ if (len >= 1e-6) {
1459
+ last = [-(b[1] - a[1]) / len, (b[0] - a[0]) / len];
1460
+ }
1461
+ return last;
1462
+ });
1463
+ for (let k = 0; k < pts.length; k++) {
1464
+ const a = pts[k];
1465
+ const b = pts[(k + 1) % pts.length];
1466
+ const [nx, ny] = normals[k];
1467
+ push([
1468
+ [a[0] + nx * half, a[1] + ny * half],
1469
+ [b[0] + nx * half, b[1] + ny * half],
1470
+ [b[0] - nx * half, b[1] - ny * half],
1471
+ [a[0] - nx * half, a[1] - ny * half]
1472
+ ]);
1473
+ push(joinPiece(b, normals[k], normals[(k + 1) % pts.length]));
1474
+ }
1475
+ }
1476
+ function joinPiece(v, n1, n2) {
1477
+ if (join.join === "round") {
1478
+ const r = half / Math.cos(Math.PI / ROUND_JOIN_STEPS);
1479
+ return Array.from({ length: ROUND_JOIN_STEPS }, (_, i) => {
1480
+ const t2 = 2 * Math.PI * i / ROUND_JOIN_STEPS;
1481
+ return [v[0] + r * Math.cos(t2), v[1] + r * Math.sin(t2)];
1482
+ });
1483
+ }
1484
+ const turn = n1[0] * n2[1] - n1[1] * n2[0];
1485
+ if (Math.abs(turn) < 1e-9) {
1486
+ return [v, v, v, v];
1487
+ }
1488
+ const side = turn > 0 ? -1 : 1;
1489
+ const p1 = [v[0] + side * n1[0] * half, v[1] + side * n1[1] * half];
1490
+ const p2 = [v[0] + side * n2[0] * half, v[1] + side * n2[1] * half];
1491
+ const cosHalf = Math.sqrt(Math.max(0, (1 + n1[0] * n2[0] + n1[1] * n2[1]) / 2));
1492
+ if (join.join === "miter" && cosHalf > 0 && 1 / cosHalf <= join.miterLimit) {
1493
+ const bx = n1[0] + n2[0];
1494
+ const by = n1[1] + n2[1];
1495
+ const blen = Math.hypot(bx, by);
1496
+ const reach = half / cosHalf / blen;
1497
+ return [v, p1, [v[0] + side * bx * reach, v[1] + side * by * reach], p2];
1498
+ }
1499
+ return [v, p1, p2, p2];
1500
+ }
1501
+ return `path('${d} ${quads.join(" ")}')`;
1502
+ }
1503
+
1504
+ // src/pptx/render/stroke-clip-edge.ts
1505
+ var ROUND_JOIN_STEPS2 = 8;
1506
+ var fmt2 = (n) => String(Math.round(n * 1e3) / 1e3);
1507
+ function signedArea(pts) {
1508
+ let area = 0;
1509
+ for (let k = 0; k < pts.length; k++) {
1510
+ const a = pts[k];
1511
+ const b = pts[(k + 1) % pts.length];
1512
+ area += a[0] * b[1] - b[0] * a[1];
1513
+ }
1514
+ return area;
1515
+ }
1516
+ function offsetRing(pts, half, join, away) {
1517
+ let last = [0, 0];
1518
+ const normals = pts.map((a, k) => {
1519
+ const b = pts[(k + 1) % pts.length];
1520
+ const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
1521
+ if (len >= 1e-6) {
1522
+ last = [away * -(b[1] - a[1]) / len, away * (b[0] - a[0]) / len];
1523
+ }
1524
+ return last;
1525
+ });
1526
+ const ring = [];
1527
+ for (let k = 0; k < pts.length; k++) {
1528
+ const v = pts[k];
1529
+ const n1 = normals[(k - 1 + pts.length) % pts.length];
1530
+ const n2 = normals[k];
1531
+ const p1 = [v[0] + n1[0] * half, v[1] + n1[1] * half];
1532
+ const p2 = [v[0] + n2[0] * half, v[1] + n2[1] * half];
1533
+ const cosHalf = Math.sqrt(Math.max(0, (1 + n1[0] * n2[0] + n1[1] * n2[1]) / 2));
1534
+ const bx = n1[0] + n2[0];
1535
+ const by = n1[1] + n2[1];
1536
+ const blen = Math.hypot(bx, by);
1537
+ const miter = cosHalf > 1e-6 && blen > 1e-9 ? [v[0] + bx / blen * (half / cosHalf), v[1] + by / blen * (half / cosHalf)] : void 0;
1538
+ const turn = n1[0] * n2[1] - n1[1] * n2[0];
1539
+ const opensOutward = away * turn < 0;
1540
+ if (!opensOutward || Math.abs(turn) < 1e-9) {
1541
+ ring.push(miter ?? p2);
1542
+ } else if (join.join === "miter" && miter && 1 / cosHalf <= join.miterLimit) {
1543
+ ring.push(miter);
1544
+ } else if (join.join === "round") {
1545
+ const a1 = Math.atan2(n1[1], n1[0]);
1546
+ let sweep = Math.atan2(n2[1], n2[0]) - a1;
1547
+ while (sweep > Math.PI) sweep -= 2 * Math.PI;
1548
+ while (sweep < -Math.PI) sweep += 2 * Math.PI;
1549
+ for (let i = 0; i <= ROUND_JOIN_STEPS2; i++) {
1550
+ const t2 = a1 + sweep * i / ROUND_JOIN_STEPS2;
1551
+ ring.push([v[0] + Math.cos(t2) * half, v[1] + Math.sin(t2) * half]);
1552
+ }
1553
+ } else {
1554
+ ring.push(p1, p2);
1555
+ }
1556
+ }
1557
+ return ring;
1558
+ }
1559
+ function outerStrokeEdgePath(d, strokeWidth, join) {
1560
+ if (!(strokeWidth > 0)) {
1561
+ return void 0;
1562
+ }
1563
+ const subpaths = flattenPath(d);
1564
+ if (!subpaths || subpaths.length === 0) {
1565
+ return void 0;
1566
+ }
1567
+ const reference = Math.sign(signedArea(subpaths[0])) || 1;
1568
+ return subpaths.filter((sub) => sub.length > 2).map((sub) => {
1569
+ const sign = Math.sign(signedArea(sub)) || reference;
1570
+ const away = sign > 0 ? -1 : 1;
1571
+ const ring = offsetRing(
1572
+ sub,
1573
+ strokeWidth / 2,
1574
+ join,
1575
+ sign === reference ? away : away === 1 ? -1 : 1
1576
+ );
1577
+ return `M ${ring.map(([x, y]) => `${fmt2(x)} ${fmt2(y)}`).join(" L ")} Z`;
1578
+ }).join(" ");
1579
+ }
1272
1580
  function getStrokeOnlyPresetPaths(element) {
1273
1581
  if (element.type !== "shape" || !hasShapeProperties(element)) {
1274
1582
  return void 0;
@@ -1303,6 +1611,79 @@ function strokeOnlyPresetPathData(element) {
1303
1611
  const stroked = paths.filter((path) => path.stroke !== false).map((path) => path.d);
1304
1612
  return stroked.length > 0 ? stroked.join(" ") : void 0;
1305
1613
  }
1614
+ var NO_STROKE = {
1615
+ borderWidth: 0,
1616
+ cssBorderWidth: "0px",
1617
+ borderStyle: void 0,
1618
+ borderColor: void 0,
1619
+ border: void 0,
1620
+ strokeLinejoin: void 0,
1621
+ strokeLinecap: void 0,
1622
+ strokeMiterlimit: void 0
1623
+ };
1624
+ function svgLineJoin(join) {
1625
+ switch (join) {
1626
+ case "round":
1627
+ return "round";
1628
+ case "bevel":
1629
+ return "bevel";
1630
+ case "miter":
1631
+ return "miter";
1632
+ default:
1633
+ return void 0;
1634
+ }
1635
+ }
1636
+ function svgStrokeLineCap(cap) {
1637
+ switch (cap) {
1638
+ case "rnd":
1639
+ return "round";
1640
+ case "sq":
1641
+ return "square";
1642
+ case "flat":
1643
+ return "butt";
1644
+ default:
1645
+ return void 0;
1646
+ }
1647
+ }
1648
+ function strokeMiterLimit(style) {
1649
+ if (style?.lineJoin !== "miter" || typeof style.miterLimit !== "number") {
1650
+ return void 0;
1651
+ }
1652
+ if (!Number.isFinite(style.miterLimit)) {
1653
+ return void 0;
1654
+ }
1655
+ return Math.max(style.miterLimit / 1e5, 1);
1656
+ }
1657
+ function getComputedStrokeStyle(element) {
1658
+ if (!hasShapeProperties(element)) {
1659
+ return NO_STROKE;
1660
+ }
1661
+ const style = element.shapeStyle;
1662
+ const width = suppressesCssBorder(element) ? 0 : paintedStrokeWidth(style);
1663
+ const joins = {
1664
+ strokeLinejoin: svgLineJoin(style?.lineJoin),
1665
+ strokeLinecap: svgStrokeLineCap(style?.lineCap),
1666
+ strokeMiterlimit: strokeMiterLimit(style)
1667
+ };
1668
+ if (width <= 0 || !style) {
1669
+ return { ...NO_STROKE, ...joins };
1670
+ }
1671
+ const borderWidth = width;
1672
+ const borderStyle = getCssBorderDashStyle(
1673
+ normalizeStrokeDashType(style.strokeDash),
1674
+ style.compoundLine
1675
+ );
1676
+ const rawColor = style.strokeColor ?? DEFAULT_STROKE_COLOR;
1677
+ const borderColor = style.strokeOpacity === void 0 ? rawColor : colorWithOpacity(normalizeHexColor(rawColor, DEFAULT_STROKE_COLOR), style.strokeOpacity);
1678
+ return {
1679
+ borderWidth,
1680
+ cssBorderWidth: screenStrokeWidth(borderWidth),
1681
+ borderStyle,
1682
+ borderColor,
1683
+ border: screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
1684
+ ...joins
1685
+ };
1686
+ }
1306
1687
 
1307
1688
  // src/pptx/render/svg-gradient-rect-path.ts
1308
1689
  function buildRectPathGradientDef(stops, id, focalPoint, fillToRect) {
@@ -1537,6 +1918,33 @@ function needsCenteredStrokeOverlay(element, style, declaredWidth) {
1537
1918
  }
1538
1919
  return style.lineAlignment !== "in";
1539
1920
  }
1921
+ function clipEdgeBleed(element, d, style) {
1922
+ if ((style?.strokeOpacity ?? 1) < 1 || element.type === "picture" || element.type === "image" || isArrowedCustomPath(element)) {
1923
+ return void 0;
1924
+ }
1925
+ const width = straddlingStrokeWidth(element);
1926
+ const shapeType = getShapeType(element.shapeType);
1927
+ if (width <= 0 || shapeType === "roundRect" || shapeType === "ellipse" || isIdentityRectClip(element) || getResolvedShapeClipPath(element) === void 0) {
1928
+ return void 0;
1929
+ }
1930
+ const edge = outerStrokeEdgePath(d, width, outlineStrokeJoin(element));
1931
+ return edge ? {
1932
+ d: edge,
1933
+ strokeWidth: 1,
1934
+ cssStrokeWidth: `max(1px, calc(2 * var(${DEVICE_PX_VAR}, 0px)))`,
1935
+ offset: 0
1936
+ } : void 0;
1937
+ }
1938
+ function insetLineOnClippedShape(element, style, declaredWidth) {
1939
+ if (!style || style.lineAlignment !== "in" || declaredWidth <= 0 || element.type === "connector" || element.type === "picture" || element.type === "image" || !hasStrokePaint(style)) {
1940
+ return false;
1941
+ }
1942
+ const shapeType = getShapeType(element.shapeType);
1943
+ if (shapeType === "line" || shapeType === "roundRect" || shapeType === "ellipse") {
1944
+ return false;
1945
+ }
1946
+ return !isIdentityRectClip(element) && getResolvedShapeClipPath(element) !== void 0;
1947
+ }
1540
1948
  function straddlingStrokeWidth(element) {
1541
1949
  if (!hasShapeProperties(element)) {
1542
1950
  return 0;
@@ -1549,6 +1957,11 @@ function straddlingStrokeWidth(element) {
1549
1957
  const dash = normalizeStrokeDashType(style?.strokeDash);
1550
1958
  return !dash || dash === "solid" ? width : 0;
1551
1959
  }
1960
+ function outlineStrokeJoin(element) {
1961
+ const style = hasShapeProperties(element) ? element.shapeStyle : void 0;
1962
+ const join = style?.lineJoin === "bevel" ? "bevel" : style?.lineJoin === "miter" ? "miter" : "round";
1963
+ return { join, miterLimit: strokeMiterLimit(style) ?? 4 };
1964
+ }
1552
1965
  function buildStrokeOutline(element) {
1553
1966
  if (!hasShapeProperties(element)) {
1554
1967
  return void 0;
@@ -1560,30 +1973,34 @@ function buildStrokeOutline(element) {
1560
1973
  return void 0;
1561
1974
  }
1562
1975
  const paint = style && declaredWidth > 0 ? buildSvgStrokeGradientDef(style, element.id) ?? buildSvgStrokePatternDef(style, element.id) : void 0;
1976
+ const insetOnClip = !openPresetD && insetLineOnClippedShape(element, style, declaredWidth);
1563
1977
  const centeredFlatStroke = !paint && !openPresetD && (isArrowedCustomPath(element) || needsCenteredStrokeOverlay(element, style, declaredWidth));
1564
- if (!paint && !openPresetD && !centeredFlatStroke) {
1978
+ if (!paint && !openPresetD && !centeredFlatStroke && !insetOnClip) {
1565
1979
  return void 0;
1566
1980
  }
1567
1981
  const d = openPresetD ?? outlinePathData(getResolvedShapeClipPath(element), element.width, element.height);
1568
1982
  if (!d) {
1569
1983
  return void 0;
1570
1984
  }
1571
- const strokeWidth = declaredWidth > 0 ? declaredWidth : DEFAULT_OPEN_PRESET_STROKE_WIDTH;
1985
+ const lineWidth = declaredWidth > 0 ? declaredWidth : DEFAULT_OPEN_PRESET_STROKE_WIDTH;
1986
+ const strokeWidth = insetOnClip ? lineWidth * 2 : lineWidth;
1572
1987
  const stroke = paint ? svgGradientFillRef(paint) : colorWithOpacity(style?.strokeColor ?? DEFAULT_STROKE_COLOR, style?.strokeOpacity);
1988
+ const strands = outlineStrands(style?.compoundLine, strokeWidth);
1989
+ const bleed = !openPresetD ? clipEdgeBleed(element, d, style) : void 0;
1573
1990
  return {
1574
1991
  markers: buildCustomPathMarkers(element, stroke),
1575
1992
  d,
1576
1993
  paint,
1577
1994
  stroke,
1578
1995
  strokeWidth,
1579
- strands: outlineStrands(style?.compoundLine, strokeWidth),
1996
+ strands: bleed ? [...strands, bleed] : strands,
1580
1997
  dashArray: getSvgStrokeDasharray(
1581
1998
  normalizeStrokeDashType(style?.strokeDash),
1582
- Math.max(strokeWidth, 1),
1999
+ Math.max(lineWidth, 1),
1583
2000
  style?.customDashSegments
1584
2001
  ),
1585
2002
  lineCap: svgLineCap(style?.lineCap),
1586
- lineJoin: style?.lineJoin === "bevel" ? "bevel" : style?.lineJoin === "miter" ? "miter" : "round"
2003
+ lineJoin: outlineStrokeJoin(element).join
1587
2004
  };
1588
2005
  }
1589
2006
  function strokeOutlineViewBox(element) {
@@ -1670,208 +2087,6 @@ function mapEditingWheel(input, buffer, canScrollFurther) {
1670
2087
  function mapPresentationWheel(input, buffer) {
1671
2088
  return accumulate(buffer, normalizeWheelDelta(input));
1672
2089
  }
1673
-
1674
- // src/pptx/render/stroke-clip-outset.ts
1675
- var CURVE_STEPS = 16;
1676
- function flattenArc(from, rx, ry, rotationDeg, largeArc, sweep, to) {
1677
- if (rx === 0 || ry === 0 || from[0] === to[0] && from[1] === to[1]) {
1678
- return [to];
1679
- }
1680
- const phi = rotationDeg * Math.PI / 180;
1681
- const cosPhi = Math.cos(phi);
1682
- const sinPhi = Math.sin(phi);
1683
- const dx = (from[0] - to[0]) / 2;
1684
- const dy = (from[1] - to[1]) / 2;
1685
- const x1 = cosPhi * dx + sinPhi * dy;
1686
- const y1 = -sinPhi * dx + cosPhi * dy;
1687
- let radiusX = Math.abs(rx);
1688
- let radiusY = Math.abs(ry);
1689
- const lambda = x1 * x1 / (radiusX * radiusX) + y1 * y1 / (radiusY * radiusY);
1690
- if (lambda > 1) {
1691
- const scale2 = Math.sqrt(lambda);
1692
- radiusX *= scale2;
1693
- radiusY *= scale2;
1694
- }
1695
- const numerator = radiusX * radiusX * radiusY * radiusY - radiusX * radiusX * y1 * y1 - radiusY * radiusY * x1 * x1;
1696
- const denominator = radiusX * radiusX * y1 * y1 + radiusY * radiusY * x1 * x1;
1697
- const coefficient = (largeArc === sweep ? -1 : 1) * Math.sqrt(Math.max(0, numerator / denominator));
1698
- const cxp = coefficient * radiusX * y1 / radiusY;
1699
- const cyp = -coefficient * radiusY * x1 / radiusX;
1700
- const cx = cosPhi * cxp - sinPhi * cyp + (from[0] + to[0]) / 2;
1701
- const cy = sinPhi * cxp + cosPhi * cyp + (from[1] + to[1]) / 2;
1702
- const angle = (ux, uy, vx, vy) => {
1703
- const sign = ux * vy - uy * vx < 0 ? -1 : 1;
1704
- const dot = (ux * vx + uy * vy) / (Math.hypot(ux, uy) * Math.hypot(vx, vy));
1705
- return sign * Math.acos(Math.max(-1, Math.min(1, dot)));
1706
- };
1707
- const theta1 = angle(1, 0, (x1 - cxp) / radiusX, (y1 - cyp) / radiusY);
1708
- let delta = angle(
1709
- (x1 - cxp) / radiusX,
1710
- (y1 - cyp) / radiusY,
1711
- (-x1 - cxp) / radiusX,
1712
- (-y1 - cyp) / radiusY
1713
- );
1714
- if (!sweep && delta > 0) {
1715
- delta -= 2 * Math.PI;
1716
- } else if (sweep && delta < 0) {
1717
- delta += 2 * Math.PI;
1718
- }
1719
- const out = [];
1720
- for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1721
- const t2 = theta1 + delta * step2 / CURVE_STEPS;
1722
- const px3 = radiusX * Math.cos(t2);
1723
- const py = radiusY * Math.sin(t2);
1724
- out.push([cosPhi * px3 - sinPhi * py + cx, sinPhi * px3 + cosPhi * py + cy]);
1725
- }
1726
- return out;
1727
- }
1728
- function flattenPath(d) {
1729
- const tokens = d.match(/[A-Za-z]|-?\d*\.?\d+(?:e[-+]?\d+)?/giu);
1730
- if (!tokens) {
1731
- return void 0;
1732
- }
1733
- const subpaths = [];
1734
- let current = [];
1735
- let pos = [0, 0];
1736
- let start = [0, 0];
1737
- let i = 0;
1738
- let command2 = "";
1739
- const num14 = () => Number.parseFloat(tokens[i++] ?? "NaN");
1740
- while (i < tokens.length) {
1741
- const token = tokens[i];
1742
- if (/^[A-Za-z]$/u.test(token)) {
1743
- command2 = token;
1744
- i++;
1745
- if (command2 === "Z" || command2 === "z") {
1746
- if (current.length > 1) {
1747
- subpaths.push(current);
1748
- }
1749
- current = [];
1750
- pos = start;
1751
- continue;
1752
- }
1753
- } else if (command2 === "M") {
1754
- command2 = "L";
1755
- }
1756
- switch (command2) {
1757
- case "M":
1758
- if (current.length > 1) {
1759
- subpaths.push(current);
1760
- }
1761
- pos = [num14(), num14()];
1762
- start = pos;
1763
- current = [pos];
1764
- break;
1765
- case "L":
1766
- pos = [num14(), num14()];
1767
- current.push(pos);
1768
- break;
1769
- case "H":
1770
- pos = [num14(), pos[1]];
1771
- current.push(pos);
1772
- break;
1773
- case "V":
1774
- pos = [pos[0], num14()];
1775
- current.push(pos);
1776
- break;
1777
- case "C": {
1778
- const p1 = [num14(), num14()];
1779
- const p2 = [num14(), num14()];
1780
- const p3 = [num14(), num14()];
1781
- for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1782
- const t2 = step2 / CURVE_STEPS;
1783
- const u = 1 - t2;
1784
- current.push([
1785
- u * u * u * pos[0] + 3 * u * u * t2 * p1[0] + 3 * u * t2 * t2 * p2[0] + t2 * t2 * t2 * p3[0],
1786
- u * u * u * pos[1] + 3 * u * u * t2 * p1[1] + 3 * u * t2 * t2 * p2[1] + t2 * t2 * t2 * p3[1]
1787
- ]);
1788
- }
1789
- pos = p3;
1790
- break;
1791
- }
1792
- case "Q": {
1793
- const p1 = [num14(), num14()];
1794
- const p2 = [num14(), num14()];
1795
- for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
1796
- const t2 = step2 / CURVE_STEPS;
1797
- const u = 1 - t2;
1798
- current.push([
1799
- u * u * pos[0] + 2 * u * t2 * p1[0] + t2 * t2 * p2[0],
1800
- u * u * pos[1] + 2 * u * t2 * p1[1] + t2 * t2 * p2[1]
1801
- ]);
1802
- }
1803
- pos = p2;
1804
- break;
1805
- }
1806
- case "A": {
1807
- const rx = num14();
1808
- const ry = num14();
1809
- const rotation = num14();
1810
- const largeArc = num14() !== 0;
1811
- const sweep = num14() !== 0;
1812
- const to = [num14(), num14()];
1813
- current.push(...flattenArc(pos, rx, ry, rotation, largeArc, sweep, to));
1814
- pos = to;
1815
- break;
1816
- }
1817
- default:
1818
- return void 0;
1819
- }
1820
- }
1821
- if (current.length > 1) {
1822
- subpaths.push(current);
1823
- }
1824
- return subpaths.every((sub) => sub.every(([x, y]) => Number.isFinite(x) && Number.isFinite(y))) ? subpaths : void 0;
1825
- }
1826
- var fmt = (n) => String(Math.round(n * 1e3) / 1e3);
1827
- function outsetClipPathForStroke(clipPath, strokeWidth, width, height) {
1828
- if (!(strokeWidth > 0)) {
1829
- return clipPath;
1830
- }
1831
- const d = outlinePathData(clipPath, width, height);
1832
- const subpaths = d ? flattenPath(d) : void 0;
1833
- if (!d || !subpaths || subpaths.length === 0) {
1834
- return clipPath;
1835
- }
1836
- const half = strokeWidth / 2;
1837
- const signedArea3 = (pts) => {
1838
- let area = 0;
1839
- for (let k = 0; k < pts.length; k++) {
1840
- const a = pts[k];
1841
- const b = pts[(k + 1) % pts.length];
1842
- area += a[0] * b[1] - b[0] * a[1];
1843
- }
1844
- return area;
1845
- };
1846
- const reference = Math.sign(signedArea3(subpaths[0])) || 1;
1847
- const quads = [];
1848
- for (const sub of subpaths) {
1849
- const closed = [...sub, sub[0]];
1850
- for (let k = 0; k < closed.length - 1; k++) {
1851
- const a = closed[k];
1852
- const b = closed[k + 1];
1853
- const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
1854
- if (len < 1e-6) {
1855
- continue;
1856
- }
1857
- const nx = -(b[1] - a[1]) / len * half;
1858
- const ny = (b[0] - a[0]) / len * half;
1859
- let quad2 = [
1860
- [a[0] + nx, a[1] + ny],
1861
- [b[0] + nx, b[1] + ny],
1862
- [b[0] - nx, b[1] - ny],
1863
- [a[0] - nx, a[1] - ny]
1864
- ];
1865
- if (Math.sign(signedArea3(quad2)) !== reference) {
1866
- quad2 = quad2.reverse();
1867
- }
1868
- quads.push(`M ${quad2.map(([x, y]) => `${fmt(x)} ${fmt(y)}`).join(" L ")} Z`);
1869
- }
1870
- }
1871
- return `path('${d} ${quads.join(" ")}')`;
1872
- }
1873
-
1874
- // src/pptx/render/shape-geometry-cascade.ts
1875
2090
  var CYLINDER_RADIUS = "48% / 12%";
1876
2091
  var MIN_ROUND_RECT_RADIUS_PX = 0.01;
1877
2092
  function resolveShapeGeometry(element) {
@@ -1894,7 +2109,13 @@ function resolveShapeGeometry(element) {
1894
2109
  const stroke = straddlingStrokeWidth(element);
1895
2110
  return {
1896
2111
  kind: "clipPath",
1897
- clipPath: stroke > 0 ? outsetClipPathForStroke(clipPath, stroke, element.width, element.height) : clipPath
2112
+ clipPath: stroke > 0 ? outsetClipPathForStroke(
2113
+ clipPath,
2114
+ stroke,
2115
+ element.width,
2116
+ element.height,
2117
+ outlineStrokeJoin(element)
2118
+ ) : clipPath
1898
2119
  };
1899
2120
  }
1900
2121
  if (shapeType === "line") {
@@ -2157,79 +2378,6 @@ function buildColorAnimationKeyframes(colorAnim, keyframeName2, steps = 10, them
2157
2378
  ${lines.join("\n")}
2158
2379
  }` : void 0;
2159
2380
  }
2160
- var NO_STROKE = {
2161
- borderWidth: 0,
2162
- cssBorderWidth: "0px",
2163
- borderStyle: void 0,
2164
- borderColor: void 0,
2165
- border: void 0,
2166
- strokeLinejoin: void 0,
2167
- strokeLinecap: void 0,
2168
- strokeMiterlimit: void 0
2169
- };
2170
- function svgLineJoin(join) {
2171
- switch (join) {
2172
- case "round":
2173
- return "round";
2174
- case "bevel":
2175
- return "bevel";
2176
- case "miter":
2177
- return "miter";
2178
- default:
2179
- return void 0;
2180
- }
2181
- }
2182
- function svgStrokeLineCap(cap) {
2183
- switch (cap) {
2184
- case "rnd":
2185
- return "round";
2186
- case "sq":
2187
- return "square";
2188
- case "flat":
2189
- return "butt";
2190
- default:
2191
- return void 0;
2192
- }
2193
- }
2194
- function strokeMiterLimit(style) {
2195
- if (style?.lineJoin !== "miter" || typeof style.miterLimit !== "number") {
2196
- return void 0;
2197
- }
2198
- if (!Number.isFinite(style.miterLimit)) {
2199
- return void 0;
2200
- }
2201
- return Math.max(style.miterLimit / 1e5, 1);
2202
- }
2203
- function getComputedStrokeStyle(element) {
2204
- if (!hasShapeProperties(element)) {
2205
- return NO_STROKE;
2206
- }
2207
- const style = element.shapeStyle;
2208
- const width = suppressesCssBorder(element) ? 0 : paintedStrokeWidth(style);
2209
- const joins = {
2210
- strokeLinejoin: svgLineJoin(style?.lineJoin),
2211
- strokeLinecap: svgStrokeLineCap(style?.lineCap),
2212
- strokeMiterlimit: strokeMiterLimit(style)
2213
- };
2214
- if (width <= 0 || !style) {
2215
- return { ...NO_STROKE, ...joins };
2216
- }
2217
- const borderWidth = width;
2218
- const borderStyle = getCssBorderDashStyle(
2219
- normalizeStrokeDashType(style.strokeDash),
2220
- style.compoundLine
2221
- );
2222
- const rawColor = style.strokeColor ?? DEFAULT_STROKE_COLOR;
2223
- const borderColor = style.strokeOpacity === void 0 ? rawColor : colorWithOpacity(normalizeHexColor(rawColor, DEFAULT_STROKE_COLOR), style.strokeOpacity);
2224
- return {
2225
- borderWidth,
2226
- cssBorderWidth: screenStrokeWidth(borderWidth),
2227
- borderStyle,
2228
- borderColor,
2229
- border: screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
2230
- ...joins
2231
- };
2232
- }
2233
2381
 
2234
2382
  // src/pptx/render/animation-color-base-style.ts
2235
2383
  function getAnimationColorBaseStyle(element, options = {}) {
@@ -6995,7 +7143,7 @@ function buildGlyphEnvelope(preset2, segments, width, height, align2, adj, adj2,
6995
7143
  }
6996
7144
 
6997
7145
  // src/pptx/render/text-warp-glyph-trace-contour.ts
6998
- function signedArea(ring) {
7146
+ function signedArea2(ring) {
6999
7147
  let area = 0;
7000
7148
  for (let i = 0; i < ring.length; i++) {
7001
7149
  const a = ring[i];
@@ -7136,7 +7284,7 @@ function contourRaster(values, w, h, level) {
7136
7284
  0
7137
7285
  );
7138
7286
  const wantPositive = depth % 2 === 0;
7139
- return signedArea(ring) > 0 === wantPositive ? ring : ring.slice().reverse();
7287
+ return signedArea2(ring) > 0 === wantPositive ? ring : ring.slice().reverse();
7140
7288
  });
7141
7289
  }
7142
7290
 
@@ -10862,8 +11010,8 @@ function withChartUserShapeRowFlipUpdated(userShapes, path, flip) {
10862
11010
 
10863
11011
  // src/pptx/render/chart-user-shape-row-frame.ts
10864
11012
  var IDENTITY_FRAC = { x: 0, y: 0, w: 1, h: 1 };
10865
- function safeDiv(num14, den) {
10866
- return den !== 0 ? num14 / den : 0;
11013
+ function safeDiv(num15, den) {
11014
+ return den !== 0 ? num15 / den : 0;
10867
11015
  }
10868
11016
  function childFraction(off, ext, chOff, chExt) {
10869
11017
  return {
@@ -11125,7 +11273,7 @@ function powerPointAccelDecelProgress(t2, accel, decel) {
11125
11273
  function rampStopCount(fraction) {
11126
11274
  return Math.max(3, Math.ceil(12 * Math.sqrt(fraction)));
11127
11275
  }
11128
- function fmt2(value, digits) {
11276
+ function fmt3(value, digits) {
11129
11277
  return String(Number(value.toFixed(digits)));
11130
11278
  }
11131
11279
  function linearEasing(a, d) {
@@ -11143,11 +11291,11 @@ function linearEasing(a, d) {
11143
11291
  addRamp(1 - d, d);
11144
11292
  }
11145
11293
  const stops = [...times].sort((x, y) => x - y).map((t2) => {
11146
- const value = fmt2(powerPointAccelDecelProgress(t2, a, d), 4);
11294
+ const value = fmt3(powerPointAccelDecelProgress(t2, a, d), 4);
11147
11295
  if (t2 === 0 || t2 === 1) {
11148
11296
  return value;
11149
11297
  }
11150
- return `${value} ${fmt2(t2 * 100, 2)}%`;
11298
+ return `${value} ${fmt3(t2 * 100, 2)}%`;
11151
11299
  });
11152
11300
  return `linear(${stops.join(", ")})`;
11153
11301
  }
@@ -18053,25 +18201,25 @@ function createBehaviorPlayer(anim, box) {
18053
18201
  // src/pptx/render/animation-behavior-keyframes.ts
18054
18202
  var DENSE_SAMPLES = 60;
18055
18203
  var HOLD_EPSILON = 1e-5;
18056
- function fmt3(value, digits = 4) {
18204
+ function fmt4(value, digits = 4) {
18057
18205
  const rounded = Number(value.toFixed(digits));
18058
18206
  return String(Object.is(rounded, -0) ? 0 : rounded);
18059
18207
  }
18060
18208
  function declarations(frame, usage) {
18061
18209
  const parts = [
18062
- usage.slidePx ? `translate(${fmt3(frame.dx * usage.slidePx.width, 2)}px, ${fmt3(frame.dy * usage.slidePx.height, 2)}px)` : `translate(calc(var(--pptx-slide-w, 1280px) * ${fmt3(frame.dx)}), calc(var(--pptx-slide-h, 720px) * ${fmt3(frame.dy)}))`
18210
+ usage.slidePx ? `translate(${fmt4(frame.dx * usage.slidePx.width, 2)}px, ${fmt4(frame.dy * usage.slidePx.height, 2)}px)` : `translate(calc(var(--pptx-slide-w, 1280px) * ${fmt4(frame.dx)}), calc(var(--pptx-slide-h, 720px) * ${fmt4(frame.dy)}))`
18063
18211
  ];
18064
18212
  if (usage.rotate) {
18065
- parts.push(`rotate(${fmt3(frame.rotation, 2)}deg)`);
18213
+ parts.push(`rotate(${fmt4(frame.rotation, 2)}deg)`);
18066
18214
  }
18067
18215
  if (usage.shear) {
18068
- parts.push(`skewX(${fmt3(Math.atan(frame.shearX) * 180 / Math.PI, 2)}deg)`);
18216
+ parts.push(`skewX(${fmt4(Math.atan(frame.shearX) * 180 / Math.PI, 2)}deg)`);
18069
18217
  }
18070
18218
  if (usage.scale) {
18071
- parts.push(`scale(${fmt3(frame.scaleX)}, ${fmt3(frame.scaleY)})`);
18219
+ parts.push(`scale(${fmt4(frame.scaleX)}, ${fmt4(frame.scaleY)})`);
18072
18220
  }
18073
18221
  const mask = usage.wipeEdge ? ` ${maskEdgePartialDecl(usage.wipeEdge, frame.wipe?.revealed ?? 1)}` : "";
18074
- return `opacity: ${fmt3(frame.opacity, 3)}; transform: ${parts.join(" ")};${mask}`;
18222
+ return `opacity: ${fmt4(frame.opacity, 3)}; transform: ${parts.join(" ")};${mask}`;
18075
18223
  }
18076
18224
  function buildBehaviorKeyframes(anim, uid2, box, options = {}) {
18077
18225
  const player = createBehaviorPlayer(anim, box);
@@ -18105,7 +18253,7 @@ function buildBehaviorKeyframes(anim, uid2, box, options = {}) {
18105
18253
  };
18106
18254
  const name = `${options.prefix ?? "pptx-tl-bhvr"}-${uid2}`;
18107
18255
  const lines = frames.map(
18108
- ({ offset, frame }) => ` ${fmt3(offset * 100, 3)}% { ${declarations(frame, usage)} }`
18256
+ ({ offset, frame }) => ` ${fmt4(offset * 100, 3)}% { ${declarations(frame, usage)} }`
18109
18257
  );
18110
18258
  if (anim.presetClass === "entr") {
18111
18259
  lines[0] = lines[0].replace(/^\t0% \{ opacity: [\d.]+;/u, " 0% { opacity: 0;");
@@ -25554,6 +25702,10 @@ function createEditorHistoryController(options = {}) {
25554
25702
  stack.clear();
25555
25703
  sync();
25556
25704
  },
25705
+ forget(reaches) {
25706
+ stack.forget(reaches);
25707
+ sync();
25708
+ },
25557
25709
  setMaxDepth(next) {
25558
25710
  maxDepth = clampDepth(next);
25559
25711
  stack.setMaxDepth(maxDepth);
@@ -32642,7 +32794,7 @@ function resamplePolygon(poly3, count) {
32642
32794
  }
32643
32795
  return result;
32644
32796
  }
32645
- function signedArea2(poly3) {
32797
+ function signedArea3(poly3) {
32646
32798
  let area = 0;
32647
32799
  for (let i = 0; i < poly3.length; i++) {
32648
32800
  const a = poly3[i];
@@ -32680,7 +32832,7 @@ function bestRotation(from, to) {
32680
32832
  function normalizeOutlinePair(fromPoly, toPoly, count = OUTLINE_SAMPLE_COUNT) {
32681
32833
  const from = resamplePolygon(fromPoly, count);
32682
32834
  let to = resamplePolygon(toPoly, count);
32683
- if (Math.sign(signedArea2(from)) !== Math.sign(signedArea2(to))) {
32835
+ if (Math.sign(signedArea3(from)) !== Math.sign(signedArea3(to))) {
32684
32836
  to = [...to].reverse();
32685
32837
  }
32686
32838
  const offset = bestRotation(from, to);
@@ -32742,6 +32894,8 @@ function buildClipKeyframeBody(from, to, steps) {
32742
32894
  if (fromRing.length === 0 || toRing.length === 0) {
32743
32895
  return null;
32744
32896
  }
32897
+ const stroke = straddlingStrokeWidth(to);
32898
+ const join = outlineStrokeJoin(to);
32745
32899
  const lines = [];
32746
32900
  for (let s = 0; s <= steps; s++) {
32747
32901
  const t2 = s / steps;
@@ -32749,9 +32903,11 @@ function buildClipKeyframeBody(from, to, steps) {
32749
32903
  if (!d) {
32750
32904
  return null;
32751
32905
  }
32906
+ const clip = `path('${d}')`;
32907
+ const widened = stroke > 0 ? outsetClipPathForStroke(clip, stroke, to.width, to.height, join) : clip;
32752
32908
  const pct4 = Number((s / steps * 100).toFixed(2));
32753
32909
  lines.push(` ${pct4}% {
32754
- clip-path: path('${d}');
32910
+ clip-path: ${widened};
32755
32911
  }`);
32756
32912
  }
32757
32913
  return lines.join("\n");
@@ -33366,6 +33522,74 @@ function matchIdenticalTwins(fromElements, toElements, usedFrom, usedTo) {
33366
33522
  return pairs;
33367
33523
  }
33368
33524
 
33525
+ // src/pptx/render/morph-text-flow.ts
33526
+ function paragraphsOf(element) {
33527
+ const text4 = element.text ?? "";
33528
+ return text4.split(/[\n\r\v]/u).map((paragraph2) => paragraph2.replace(/\s+/gu, " ").trim()).filter((paragraph2) => paragraph2 !== "");
33529
+ }
33530
+ function distinctiveParagraphs(elements) {
33531
+ const owner = /* @__PURE__ */ new Map();
33532
+ for (const element of elements) {
33533
+ for (const paragraph2 of new Set(paragraphsOf(element))) {
33534
+ owner.set(paragraph2, owner.has(paragraph2) ? null : element);
33535
+ }
33536
+ }
33537
+ const distinctive = /* @__PURE__ */ new Map();
33538
+ for (const [paragraph2, element] of owner) {
33539
+ if (element) {
33540
+ distinctive.set(paragraph2, element);
33541
+ }
33542
+ }
33543
+ return distinctive;
33544
+ }
33545
+ function morphTextFlow(fromElements, toElements) {
33546
+ return { from: distinctiveParagraphs(fromElements), to: distinctiveParagraphs(toElements) };
33547
+ }
33548
+ function splitsTextFlow(flow, fromEl, toEl) {
33549
+ const elsewhere = (element, own, other, partner) => paragraphsOf(element).some((paragraph2) => {
33550
+ if (own.get(paragraph2) !== element) {
33551
+ return false;
33552
+ }
33553
+ const holder = other.get(paragraph2);
33554
+ return holder !== void 0 && holder !== partner;
33555
+ });
33556
+ return elsewhere(fromEl, flow.from, flow.to, toEl) || elsewhere(toEl, flow.to, flow.from, fromEl);
33557
+ }
33558
+ var MIN_TWIN_TEXT = 4;
33559
+ function matchTextTwins(fromElements, toElements, usedFrom, usedTo) {
33560
+ const byText = (elements) => {
33561
+ const map = /* @__PURE__ */ new Map();
33562
+ for (const element of elements) {
33563
+ if (element.type !== "text") {
33564
+ continue;
33565
+ }
33566
+ const text4 = paragraphsOf(element).join("\n");
33567
+ if (text4.replace(/\s/gu, "").length < MIN_TWIN_TEXT) {
33568
+ continue;
33569
+ }
33570
+ map.set(text4, [...map.get(text4) ?? [], element]);
33571
+ }
33572
+ return map;
33573
+ };
33574
+ const toByText = byText(toElements);
33575
+ const pairs = [];
33576
+ for (const [text4, froms] of byText(fromElements)) {
33577
+ const tos = toByText.get(text4);
33578
+ const fromEl = froms[0];
33579
+ const toEl = tos?.[0];
33580
+ if (froms.length !== 1 || tos?.length !== 1 || !fromEl || !toEl) {
33581
+ continue;
33582
+ }
33583
+ if (usedFrom.has(fromEl.id) || usedTo.has(toEl.id)) {
33584
+ continue;
33585
+ }
33586
+ pairs.push({ fromElement: fromEl, toElement: toEl });
33587
+ usedFrom.add(fromEl.id);
33588
+ usedTo.add(toEl.id);
33589
+ }
33590
+ return pairs;
33591
+ }
33592
+
33369
33593
  // src/pptx/render/morph-matching.ts
33370
33594
  var NV_PR_KEYS = [
33371
33595
  "p:nvSpPr",
@@ -33408,6 +33632,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
33408
33632
  const usedTo = /* @__PURE__ */ new Set();
33409
33633
  const fromElements = flattenMorphElements(fromSlide.elements, toSlide.elements);
33410
33634
  const toElements = flattenMorphElements(toSlide.elements, fromSlide.elements);
33635
+ const textFlow = morphTextFlow(fromElements, toElements);
33411
33636
  for (const fromEl of fromElements) {
33412
33637
  const fromName = getElementMorphName(fromEl);
33413
33638
  if (!fromName) {
@@ -33446,6 +33671,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
33446
33671
  continue;
33447
33672
  }
33448
33673
  if (creationIdOf(toEl) === fromGuid) {
33674
+ if (splitsTextFlow(textFlow, fromEl, toEl)) {
33675
+ break;
33676
+ }
33449
33677
  pairs.push({ fromElement: fromEl, toElement: toEl });
33450
33678
  usedFrom.add(fromEl.id);
33451
33679
  usedTo.add(toEl.id);
@@ -33473,6 +33701,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
33473
33701
  pairs.push(...matchSameMedia(fromElements, toElements, usedFrom, usedTo));
33474
33702
  pairs.push(...matchIdenticalTwins(fromElements, toElements, usedFrom, usedTo));
33475
33703
  pairs.push(...matchNamedTextTwins(fromElements, toElements, usedFrom, usedTo));
33704
+ pairs.push(...matchTextTwins(fromElements, toElements, usedFrom, usedTo));
33476
33705
  pairs.push(...matchGroupTwins(fromElements, toElements, usedFrom, usedTo));
33477
33706
  for (const fromEl of fromElements) {
33478
33707
  if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
@@ -33486,7 +33715,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
33486
33715
  if (creationIdOf(fromEl) && creationIdOf(toEl)) {
33487
33716
  continue;
33488
33717
  }
33489
- if (conflictingMorphNames(fromEl, toEl)) {
33718
+ if (conflictingMorphNames(fromEl, toEl) || splitsTextFlow(textFlow, fromEl, toEl)) {
33490
33719
  continue;
33491
33720
  }
33492
33721
  pairs.push({ fromElement: fromEl, toElement: toEl });
@@ -33786,17 +34015,53 @@ function matchTextTokens(fromTokens, toTokens) {
33786
34015
  return pairs;
33787
34016
  }
33788
34017
 
34018
+ // src/pptx/render/morph-stacked-copies.ts
34019
+ var MAX_COPY_OFFSET = 4;
34020
+ function ownText(element) {
34021
+ return (element.text ?? "").replace(/\s+/gu, " ").trim();
34022
+ }
34023
+ function isStackedCopy(a, b) {
34024
+ if (a.type !== b.type || (a.rotation ?? 0) !== (b.rotation ?? 0)) {
34025
+ return false;
34026
+ }
34027
+ if (Math.abs(a.width - b.width) > 1 || Math.abs(a.height - b.height) > 1) {
34028
+ return false;
34029
+ }
34030
+ if (Math.hypot(a.x - b.x, a.y - b.y) > MAX_COPY_OFFSET) {
34031
+ return false;
34032
+ }
34033
+ const text4 = ownText(a);
34034
+ if (text4 !== "") {
34035
+ return text4 === ownText(b);
34036
+ }
34037
+ const media = mediaIdentity(a);
34038
+ return media !== void 0 && media === mediaIdentity(b);
34039
+ }
34040
+ function coveredStackedCopyIds(elements) {
34041
+ const covered = /* @__PURE__ */ new Set();
34042
+ for (let i = 0; i < elements.length; i++) {
34043
+ const lower = elements[i];
34044
+ for (let j = i + 1; j < elements.length; j++) {
34045
+ if (isStackedCopy(lower, elements[j])) {
34046
+ covered.add(lower.id);
34047
+ break;
34048
+ }
34049
+ }
34050
+ }
34051
+ return covered;
34052
+ }
34053
+
33789
34054
  // src/pptx/render/morph-text-slot.ts
33790
34055
  var SAME_SLOT_OVERLAP = 0.4;
33791
- function ownText(element) {
34056
+ function ownText2(element) {
33792
34057
  return (element.text ?? "").replace(/\s+/gu, " ").trim();
33793
34058
  }
33794
34059
  function morphTextReplacedInSlot(fromElement, toElement) {
33795
34060
  if (fromElement.type !== "text" || toElement.type !== "text") {
33796
34061
  return false;
33797
34062
  }
33798
- const from = ownText(fromElement);
33799
- const to = ownText(toElement);
34063
+ const from = ownText2(fromElement);
34064
+ const to = ownText2(toElement);
33800
34065
  if (from === "" || to === "" || from === to) {
33801
34066
  return false;
33802
34067
  }
@@ -34029,6 +34294,12 @@ function appearanceSignature2(element, depth = 0) {
34029
34294
  parts.push(image.imagePath ?? "", image.svgPath ?? "");
34030
34295
  if (hasTextProperties(element)) {
34031
34296
  parts.push(element.text ?? "", element.textStyle?.color ?? "");
34297
+ for (const segment of element.textSegments ?? []) {
34298
+ const style = segment.style;
34299
+ parts.push(
34300
+ `${style?.fontSize ?? ""}|${style?.bold ? 1 : 0}|${style?.italic ? 1 : 0}|${style?.underline ? 1 : 0}|${style?.fontFamily ?? ""}|${style?.color ?? ""}`
34301
+ );
34302
+ }
34032
34303
  }
34033
34304
  const children = element.children;
34034
34305
  if (children && depth < SIGNATURE_MAX_DEPTH) {
@@ -34255,10 +34526,21 @@ function flipFactors(el) {
34255
34526
  return ` scaleX(${el.flipHorizontal ? -1 : 1}) scaleY(${el.flipVertical ? -1 : 1})`;
34256
34527
  }
34257
34528
  function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
34529
+ const covered = coveredStackedCopyIds(elements);
34258
34530
  return elements.map((el, i) => {
34259
34531
  const safeName = `pptx-morph-fadeout-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
34260
34532
  const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
34261
- const keyframes = `
34533
+ const keyframes = covered.has(el.id) ? `
34534
+ @keyframes ${safeName} {
34535
+ 0%, ${MORPH_FADE_OUT_HOLD_PERCENT}% {
34536
+ opacity: ${el.opacity ?? 1};
34537
+ ${transform}
34538
+ }
34539
+ ${MORPH_FADE_OUT_HOLD_PERCENT + 0.1}%, 100% {
34540
+ opacity: 0;
34541
+ ${transform}
34542
+ }
34543
+ }` : `
34262
34544
  @keyframes ${safeName} {
34263
34545
  0% {
34264
34546
  opacity: ${el.opacity ?? 1};
@@ -34285,10 +34567,21 @@ ${transform}
34285
34567
  });
34286
34568
  }
34287
34569
  function generateUnmatchedFadeInAnimations(elements, durationMs, startIndex) {
34570
+ const covered = coveredStackedCopyIds(elements);
34288
34571
  return elements.map((el, i) => {
34289
34572
  const safeName = `pptx-morph-fadein-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
34290
34573
  const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
34291
- const keyframes = `
34574
+ const keyframes = covered.has(el.id) ? `
34575
+ @keyframes ${safeName} {
34576
+ 0%, 99.9% {
34577
+ opacity: 0;
34578
+ ${transform}
34579
+ }
34580
+ 100% {
34581
+ opacity: ${el.opacity ?? 1};
34582
+ ${transform}
34583
+ }
34584
+ }` : `
34292
34585
  @keyframes ${safeName} {
34293
34586
  0% {
34294
34587
  opacity: 0;
@@ -37160,7 +37453,7 @@ function elementRef(element) {
37160
37453
  ...text4.length > 0 && { text: text4.length > 30 ? `${text4.slice(0, 30)}...` : text4 }
37161
37454
  };
37162
37455
  }
37163
- function getElementLabel2(element) {
37456
+ function getElementLabel(element) {
37164
37457
  const typeLabel = element.type.charAt(0).toUpperCase() + element.type.slice(1);
37165
37458
  const text4 = getElementText(element);
37166
37459
  if (text4.length > 0) {
@@ -37194,9 +37487,9 @@ function diffSlideElements(baseElements, compareElements) {
37194
37487
  if (!compareById.has(id)) {
37195
37488
  changes.push({
37196
37489
  elementId: id,
37197
- label: getElementLabel2(el),
37490
+ label: getElementLabel(el),
37198
37491
  kind: "removed",
37199
- description: `Element removed: ${getElementLabel2(el)}`,
37492
+ description: `Element removed: ${getElementLabel(el)}`,
37200
37493
  descriptionKey: "pptx.compare.change.removed",
37201
37494
  descriptionElement: elementRef(el)
37202
37495
  });
@@ -37206,9 +37499,9 @@ function diffSlideElements(baseElements, compareElements) {
37206
37499
  if (!baseById.has(id)) {
37207
37500
  changes.push({
37208
37501
  elementId: id,
37209
- label: getElementLabel2(el),
37502
+ label: getElementLabel(el),
37210
37503
  kind: "added",
37211
- description: `Element added: ${getElementLabel2(el)}`,
37504
+ description: `Element added: ${getElementLabel(el)}`,
37212
37505
  descriptionKey: "pptx.compare.change.added",
37213
37506
  descriptionElement: elementRef(el)
37214
37507
  });
@@ -37222,7 +37515,7 @@ function diffSlideElements(baseElements, compareElements) {
37222
37515
  if (Math.abs(baseEl.x - compareEl.x) > POSITION_THRESHOLD || Math.abs(baseEl.y - compareEl.y) > POSITION_THRESHOLD) {
37223
37516
  changes.push({
37224
37517
  elementId: id,
37225
- label: getElementLabel2(baseEl),
37518
+ label: getElementLabel(baseEl),
37226
37519
  kind: "moved",
37227
37520
  description: `Moved from (${Math.round(baseEl.x)}, ${Math.round(baseEl.y)}) to (${Math.round(compareEl.x)}, ${Math.round(compareEl.y)})`,
37228
37521
  descriptionKey: "pptx.compare.change.moved",
@@ -37237,7 +37530,7 @@ function diffSlideElements(baseElements, compareElements) {
37237
37530
  if (Math.abs(baseEl.width - compareEl.width) > SIZE_THRESHOLD || Math.abs(baseEl.height - compareEl.height) > SIZE_THRESHOLD) {
37238
37531
  changes.push({
37239
37532
  elementId: id,
37240
- label: getElementLabel2(baseEl),
37533
+ label: getElementLabel(baseEl),
37241
37534
  kind: "resized",
37242
37535
  description: `Resized from ${Math.round(baseEl.width)}x${Math.round(baseEl.height)} to ${Math.round(compareEl.width)}x${Math.round(compareEl.height)}`,
37243
37536
  descriptionKey: "pptx.compare.change.resized",
@@ -37254,7 +37547,7 @@ function diffSlideElements(baseElements, compareElements) {
37254
37547
  if (baseText !== compareText) {
37255
37548
  changes.push({
37256
37549
  elementId: id,
37257
- label: getElementLabel2(baseEl),
37550
+ label: getElementLabel(baseEl),
37258
37551
  kind: "textChanged",
37259
37552
  description: "Text content changed",
37260
37553
  descriptionKey: "pptx.compare.change.textChanged"
@@ -41300,7 +41593,7 @@ function parsePathPoints(d) {
41300
41593
  let i = 0;
41301
41594
  let cmd = "";
41302
41595
  let cur = { x: 0, y: 0 };
41303
- const num14 = () => Number(tokens[i++]);
41596
+ const num15 = () => Number(tokens[i++]);
41304
41597
  while (i < tokens.length) {
41305
41598
  const t2 = tokens[i];
41306
41599
  if (/[a-zA-Z]/u.test(t2)) {
@@ -41311,40 +41604,40 @@ function parsePathPoints(d) {
41311
41604
  switch (cmd.toUpperCase()) {
41312
41605
  case "M":
41313
41606
  case "L": {
41314
- const x = num14();
41315
- const y = num14();
41607
+ const x = num15();
41608
+ const y = num15();
41316
41609
  cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
41317
41610
  out.push(cur);
41318
41611
  break;
41319
41612
  }
41320
41613
  case "H": {
41321
- const x = num14();
41614
+ const x = num15();
41322
41615
  cur = { x: rel ? cur.x + x : x, y: cur.y };
41323
41616
  out.push(cur);
41324
41617
  break;
41325
41618
  }
41326
41619
  case "V": {
41327
- const y = num14();
41620
+ const y = num15();
41328
41621
  cur = { x: cur.x, y: rel ? cur.y + y : y };
41329
41622
  out.push(cur);
41330
41623
  break;
41331
41624
  }
41332
41625
  case "C": {
41333
- num14();
41334
- num14();
41335
- num14();
41336
- num14();
41337
- const x = num14();
41338
- const y = num14();
41626
+ num15();
41627
+ num15();
41628
+ num15();
41629
+ num15();
41630
+ const x = num15();
41631
+ const y = num15();
41339
41632
  cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
41340
41633
  out.push(cur);
41341
41634
  break;
41342
41635
  }
41343
41636
  case "Q": {
41344
- num14();
41345
- num14();
41346
- const x = num14();
41347
- const y = num14();
41637
+ num15();
41638
+ num15();
41639
+ const x = num15();
41640
+ const y = num15();
41348
41641
  cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
41349
41642
  out.push(cur);
41350
41643
  break;
@@ -44466,6 +44759,144 @@ var TEXT_BOX_SECTION = {
44466
44759
  ]
44467
44760
  };
44468
44761
  var TEXT_BOX_SECTIONS = [TEXT_BOX_SECTION];
44762
+
44763
+ // src/pptx/render/inspector/text-effect-fields.ts
44764
+ var SHADOW_ON = {
44765
+ textShadowColor: "#000000",
44766
+ textShadowBlur: 4,
44767
+ textShadowOffsetX: 2,
44768
+ textShadowOffsetY: 2,
44769
+ textShadowOpacity: 0.5
44770
+ };
44771
+ var GLOW_ON = {
44772
+ textGlowColor: "#ffff00",
44773
+ textGlowRadius: 6,
44774
+ textGlowOpacity: 0.6
44775
+ };
44776
+ var REFLECTION_ON = {
44777
+ textReflection: true,
44778
+ textReflectionBlur: 1,
44779
+ textReflectionStartOpacity: 0.5,
44780
+ textReflectionEndOpacity: 0,
44781
+ textReflectionOffset: 3
44782
+ };
44783
+ var ON_DEFAULTS = { ...SHADOW_ON, ...GLOW_ON, ...REFLECTION_ON };
44784
+ function cleared(on) {
44785
+ return Object.fromEntries(Object.keys(on).map((key) => [key, void 0]));
44786
+ }
44787
+ var num4 = (v) => Number(v);
44788
+ var fxId = (section2, field) => `text-fx-${section2}-${field}`;
44789
+ function colorField2(section2, key) {
44790
+ return {
44791
+ id: "color",
44792
+ kind: "color",
44793
+ labelKey: "pptx.textEffects.color",
44794
+ testId: fxId(section2, "color"),
44795
+ read: (ts) => normalizeHexColor(ts?.[key], ON_DEFAULTS[key]),
44796
+ write: (_ts, v) => ({ [key]: String(v) })
44797
+ };
44798
+ }
44799
+ function opacityField2(section2, id, labelKey, key) {
44800
+ return {
44801
+ id,
44802
+ kind: "number",
44803
+ labelKey,
44804
+ min: 0,
44805
+ max: 1,
44806
+ step: 0.05,
44807
+ testId: fxId(section2, id),
44808
+ read: (ts) => ts?.[key] ?? ON_DEFAULTS[key],
44809
+ write: (_ts, v) => ({ [key]: num4(v) })
44810
+ };
44811
+ }
44812
+ function pxField(section2, id, labelKey, key, [min, max]) {
44813
+ return {
44814
+ id,
44815
+ kind: "length",
44816
+ labelKey,
44817
+ min,
44818
+ max,
44819
+ step: 1,
44820
+ decimals: 0,
44821
+ testId: fxId(section2, id),
44822
+ read: (ts) => ts?.[key] ?? ON_DEFAULTS[key],
44823
+ write: (_ts, v) => ({ [key]: num4(v) })
44824
+ };
44825
+ }
44826
+ var TEXT_SHADOW_SECTION = {
44827
+ id: "shadow",
44828
+ labelKey: "pptx.textEffects.shadow",
44829
+ toggle: {
44830
+ testId: "text-fx-shadow-toggle",
44831
+ isOn: (ts) => Boolean(ts?.textShadowColor) || typeof ts?.textShadowBlur === "number" && ts.textShadowBlur > 0,
44832
+ enable: () => ({ ...SHADOW_ON }),
44833
+ disable: () => cleared(SHADOW_ON)
44834
+ },
44835
+ fields: [
44836
+ colorField2("shadow", "textShadowColor"),
44837
+ opacityField2("shadow", "opacity", "pptx.textEffects.opacity", "textShadowOpacity"),
44838
+ pxField("shadow", "blur", "pptx.textEffects.blur", "textShadowBlur", [0, 50]),
44839
+ pxField("shadow", "offsetX", "pptx.textEffects.offsetX", "textShadowOffsetX", [-50, 50]),
44840
+ pxField("shadow", "offsetY", "pptx.textEffects.offsetY", "textShadowOffsetY", [-50, 50])
44841
+ ]
44842
+ };
44843
+ var TEXT_GLOW_SECTION = {
44844
+ id: "glow",
44845
+ labelKey: "pptx.textEffects.glow",
44846
+ toggle: {
44847
+ testId: "text-fx-glow-toggle",
44848
+ isOn: (ts) => Boolean(ts?.textGlowColor) || typeof ts?.textGlowRadius === "number" && ts.textGlowRadius > 0,
44849
+ enable: () => ({ ...GLOW_ON }),
44850
+ disable: () => cleared(GLOW_ON)
44851
+ },
44852
+ fields: [
44853
+ colorField2("glow", "textGlowColor"),
44854
+ opacityField2("glow", "opacity", "pptx.textEffects.opacity", "textGlowOpacity"),
44855
+ pxField("glow", "size", "pptx.textEffects.size", "textGlowRadius", [1, 50])
44856
+ ]
44857
+ };
44858
+ var TEXT_REFLECTION_SECTION = {
44859
+ id: "reflection",
44860
+ labelKey: "pptx.textEffects.reflection",
44861
+ toggle: {
44862
+ testId: "text-fx-reflection-toggle",
44863
+ isOn: (ts) => Boolean(ts?.textReflection),
44864
+ enable: () => ({ ...REFLECTION_ON }),
44865
+ disable: () => cleared(REFLECTION_ON)
44866
+ },
44867
+ fields: [
44868
+ {
44869
+ id: "blur",
44870
+ kind: "length",
44871
+ labelKey: "pptx.textEffects.blur",
44872
+ min: 0,
44873
+ max: 20,
44874
+ step: 0.5,
44875
+ decimals: 1,
44876
+ testId: fxId("reflection", "blur"),
44877
+ read: (ts) => ts?.textReflectionBlur ?? ON_DEFAULTS.textReflectionBlur,
44878
+ write: (_ts, v) => ({ textReflectionBlur: num4(v) })
44879
+ },
44880
+ pxField("reflection", "offset", "pptx.textEffects.offset", "textReflectionOffset", [0, 20]),
44881
+ opacityField2(
44882
+ "reflection",
44883
+ "startOpacity",
44884
+ "pptx.textEffects.startOpacity",
44885
+ "textReflectionStartOpacity"
44886
+ ),
44887
+ opacityField2(
44888
+ "reflection",
44889
+ "endOpacity",
44890
+ "pptx.textEffects.endOpacity",
44891
+ "textReflectionEndOpacity"
44892
+ )
44893
+ ]
44894
+ };
44895
+ var TEXT_EFFECT_SECTIONS = [
44896
+ TEXT_SHADOW_SECTION,
44897
+ TEXT_GLOW_SECTION,
44898
+ TEXT_REFLECTION_SECTION
44899
+ ];
44469
44900
  var FONT_NAME_UNSAFE_CHARS = /["\\\n\r;}<>]/u;
44470
44901
  var FONT_FORMAT_ALLOWED = /* @__PURE__ */ new Set(["truetype", "opentype", "woff", "woff2"]);
44471
44902
  var FONT_MIME_BY_FORMAT = {
@@ -44607,6 +45038,44 @@ function collectUsedFonts(slides) {
44607
45038
 
44608
45039
  // src/pptx/render/google-webfonts.ts
44609
45040
  var GOOGLE_FONTS_CSS2_BASE = "https://fonts.googleapis.com/css2";
45041
+ function normalizeGoogleFontsBaseUrl(baseUrl) {
45042
+ if (typeof baseUrl !== "string" || baseUrl.trim() === "") {
45043
+ return null;
45044
+ }
45045
+ let url;
45046
+ try {
45047
+ url = new URL(baseUrl.trim());
45048
+ } catch {
45049
+ return null;
45050
+ }
45051
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
45052
+ return null;
45053
+ }
45054
+ if (url.username !== "" || url.password !== "" || url.search !== "" || url.hash !== "") {
45055
+ return null;
45056
+ }
45057
+ return url.href;
45058
+ }
45059
+ var warnedInvalidBaseUrls = /* @__PURE__ */ new Set();
45060
+ function resolveGoogleFontsCss2Base(option) {
45061
+ if (option === void 0) {
45062
+ return GOOGLE_FONTS_CSS2_BASE;
45063
+ }
45064
+ if (option === false) {
45065
+ return null;
45066
+ }
45067
+ const normalized = normalizeGoogleFontsBaseUrl(
45068
+ typeof option === "object" && option !== null ? option.baseUrl : void 0
45069
+ );
45070
+ const raw = typeof option === "object" && option !== null ? String(option.baseUrl) : "";
45071
+ if (normalized === null && !warnedInvalidBaseUrls.has(raw)) {
45072
+ warnedInvalidBaseUrls.add(raw);
45073
+ console.warn(
45074
+ "[pptx-viewer] googleFonts.baseUrl must be an absolute http(s) URL without credentials, query or fragment; the Google Fonts fallback is disabled."
45075
+ );
45076
+ }
45077
+ return normalized;
45078
+ }
44610
45079
  var GOOGLE_WEBFONT_AXIS = "ital,wght@0,400;0,700;1,400;1,700";
44611
45080
  var DISPLAY_PARAM = "display=swap";
44612
45081
  function collectReferencedFontFamilies(slides) {
@@ -44697,6 +45166,9 @@ function matchGoogleWebfontFragments(families) {
44697
45166
  return [...weightsByFamily].map(([family2, weights]) => buildGoogleFontsFragment(family2, weights));
44698
45167
  }
44699
45168
  async function resolveGoogleWebfontHref(slides, embeddedFonts, isLocallyInstalled = isFontFamilyInstalledLocally, googleFontsBaseUrl) {
45169
+ if (googleFontsBaseUrl === null) {
45170
+ return null;
45171
+ }
44700
45172
  const referenced = collectReferencedFontFamilies(slides);
44701
45173
  const candidates = selectGoogleWebfontFamilies(
44702
45174
  referenced,
@@ -49367,14 +49839,14 @@ function parseHexToRgb(hex2) {
49367
49839
  if (cleaned.length !== 6) {
49368
49840
  return null;
49369
49841
  }
49370
- const num14 = parseInt(cleaned, 16);
49371
- if (!Number.isFinite(num14)) {
49842
+ const num15 = parseInt(cleaned, 16);
49843
+ if (!Number.isFinite(num15)) {
49372
49844
  return null;
49373
49845
  }
49374
49846
  return {
49375
- r: num14 >> 16 & 255,
49376
- g: num14 >> 8 & 255,
49377
- b: num14 & 255
49847
+ r: num15 >> 16 & 255,
49848
+ g: num15 >> 8 & 255,
49849
+ b: num15 & 255
49378
49850
  };
49379
49851
  }
49380
49852
  function colorDistance(a, b) {
@@ -53144,9 +53616,9 @@ function svgArcToCubics(from, rxIn, ryIn, xAxisRotationDeg, largeArc, sweep, to)
53144
53616
  rx *= s;
53145
53617
  ry *= s;
53146
53618
  }
53147
- const num14 = rx * rx * ry * ry - rx * rx * y1p * y1p - ry * ry * x1p * x1p;
53619
+ const num15 = rx * rx * ry * ry - rx * rx * y1p * y1p - ry * ry * x1p * x1p;
53148
53620
  const den = rx * rx * y1p * y1p + ry * ry * x1p * x1p;
53149
- let coef = den === 0 ? 0 : Math.sqrt(Math.max(0, num14 / den));
53621
+ let coef = den === 0 ? 0 : Math.sqrt(Math.max(0, num15 / den));
53150
53622
  if (largeArc === sweep) {
53151
53623
  coef = -coef;
53152
53624
  }
@@ -53266,7 +53738,7 @@ function editGeometryBounds(geometry) {
53266
53738
  }
53267
53739
  return { minX, minY, maxX, maxY };
53268
53740
  }
53269
- function fmt4(value) {
53741
+ function fmt5(value) {
53270
53742
  return String(Math.round(value * 1e3) / 1e3);
53271
53743
  }
53272
53744
  function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POINTS_PATH_SCALE) {
@@ -53281,7 +53753,7 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
53281
53753
  const segments = [];
53282
53754
  const start = pt(sub.nodes[0]);
53283
53755
  segments.push({ type: "moveTo", pt: start });
53284
- svg2.push(`M ${fmt4(start.x)} ${fmt4(start.y)}`);
53756
+ svg2.push(`M ${fmt5(start.x)} ${fmt5(start.y)}`);
53285
53757
  sub.segments.forEach((seg, i) => {
53286
53758
  if (sub.closed && seg.kind === "line" && i === sub.segments.length - 1) {
53287
53759
  return;
@@ -53289,13 +53761,13 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
53289
53761
  const end = pt(sub.nodes[(i + 1) % sub.nodes.length]);
53290
53762
  if (seg.kind === "line") {
53291
53763
  segments.push({ type: "lineTo", pt: end });
53292
- svg2.push(`L ${fmt4(end.x)} ${fmt4(end.y)}`);
53764
+ svg2.push(`L ${fmt5(end.x)} ${fmt5(end.y)}`);
53293
53765
  } else {
53294
53766
  const c1 = pt(seg.c1);
53295
53767
  const c2 = pt(seg.c2);
53296
53768
  segments.push({ type: "cubicBezTo", pts: [c1, c2, end] });
53297
53769
  svg2.push(
53298
- `C ${fmt4(c1.x)} ${fmt4(c1.y)} ${fmt4(c2.x)} ${fmt4(c2.y)} ${fmt4(end.x)} ${fmt4(end.y)}`
53770
+ `C ${fmt5(c1.x)} ${fmt5(c1.y)} ${fmt5(c2.x)} ${fmt5(c2.y)} ${fmt5(end.x)} ${fmt5(end.y)}`
53299
53771
  );
53300
53772
  }
53301
53773
  });
@@ -55139,6 +55611,27 @@ async function applyMasterViewCrudAction(handler, data, action, target, options)
55139
55611
  }
55140
55612
  }
55141
55613
 
55614
+ // src/pptx/render/master-view-crud-history.ts
55615
+ function partPaths(masters) {
55616
+ return (masters ?? []).flatMap((master) => [
55617
+ master.path,
55618
+ ...(master.layouts ?? []).map((layout) => layout.path)
55619
+ ]);
55620
+ }
55621
+ function removedSlideMasterParts(before, after) {
55622
+ const kept = new Set(partPaths(after.slideMasters));
55623
+ return partPaths(before.slideMasters).filter((path) => !kept.has(path));
55624
+ }
55625
+ function historyStepUsesParts(step2, removed) {
55626
+ return step2.slides.some((slide) => slide.layoutPath !== void 0 && removed.has(slide.layoutPath)) || partPaths(step2.slideMasters).some((path) => removed.has(path));
55627
+ }
55628
+ function forgetStepsUsingRemovedParts(forget, before, after) {
55629
+ const removed = new Set(removedSlideMasterParts(before, after));
55630
+ if (removed.size > 0) {
55631
+ forget((step2) => historyStepUsesParts(step2, removed));
55632
+ }
55633
+ }
55634
+
55142
55635
  // src/pptx/render/virtualized-list.ts
55143
55636
  var DEFAULT_VIRTUAL_OVERSCAN = 5;
55144
55637
  var SLIDE_VIRTUALIZATION_THRESHOLD = 50;
@@ -55296,6 +55789,192 @@ function validatePasswordPair(password, confirmation) {
55296
55789
  return null;
55297
55790
  }
55298
55791
 
55792
+ // src/pptx/render/theme-write-queue.ts
55793
+ var pendingWrites = /* @__PURE__ */ new WeakMap();
55794
+ function startWrite(write) {
55795
+ try {
55796
+ return write();
55797
+ } catch (error) {
55798
+ return Promise.reject(error);
55799
+ }
55800
+ }
55801
+ function queueThemeWrite(handler, write) {
55802
+ const previous = pendingWrites.get(handler);
55803
+ const run = previous ? previous.then(write) : startWrite(write);
55804
+ const settled = run.then(
55805
+ () => void 0,
55806
+ () => void 0
55807
+ );
55808
+ const end = settled.then(() => {
55809
+ if (pendingWrites.get(handler) === end) {
55810
+ pendingWrites.delete(handler);
55811
+ }
55812
+ });
55813
+ pendingWrites.set(handler, end);
55814
+ return run;
55815
+ }
55816
+ function settleThemeWrites(handler) {
55817
+ return handler && pendingWrites.get(handler) || Promise.resolve();
55818
+ }
55819
+
55820
+ // src/pptx/render/theme-history.ts
55821
+ var RECORDED_KEYS = ["colorScheme", "fontScheme", "name"];
55822
+ function plain(value) {
55823
+ return JSON.parse(JSON.stringify(value));
55824
+ }
55825
+ function sameJson(a, b) {
55826
+ return JSON.stringify(a) === JSON.stringify(b);
55827
+ }
55828
+ function masterThemePathsOf(slideMasters) {
55829
+ const entries2 = (slideMasters ?? []).flatMap(
55830
+ (master) => master.themePath ? [[master.path, master.themePath]] : []
55831
+ );
55832
+ return entries2.length > 0 ? Object.fromEntries(entries2) : void 0;
55833
+ }
55834
+ function historyTheme(theme, slideMasters) {
55835
+ const masterThemePaths = masterThemePathsOf(slideMasters);
55836
+ if (!theme && !masterThemePaths) {
55837
+ return void 0;
55838
+ }
55839
+ const { colorScheme, fontScheme, formatScheme, name } = theme ?? {};
55840
+ return {
55841
+ ...colorScheme ? { colorScheme: plain(colorScheme) } : {},
55842
+ ...fontScheme ? { fontScheme: plain(fontScheme) } : {},
55843
+ ...formatScheme ? { formatScheme: plain(formatScheme) } : {},
55844
+ ...name ? { name } : {},
55845
+ ...masterThemePaths ? { masterThemePaths } : {}
55846
+ };
55847
+ }
55848
+ function sameFormatScheme(a, b) {
55849
+ const key = (theme) => theme?.formatScheme ? formatSchemeKey(theme.formatScheme) : void 0;
55850
+ return key(a) === key(b);
55851
+ }
55852
+ function withoutFormatScheme(theme) {
55853
+ if (!theme) {
55854
+ return null;
55855
+ }
55856
+ const { formatScheme: _format, ...rest } = theme;
55857
+ return rest;
55858
+ }
55859
+ function crossedHistoryTheme(current, target) {
55860
+ if (!target) {
55861
+ return void 0;
55862
+ }
55863
+ const same2 = sameJson(withoutFormatScheme(current), withoutFormatScheme(target)) && sameFormatScheme(current, target);
55864
+ return same2 ? void 0 : target;
55865
+ }
55866
+ function withHistoryTheme(theme, target) {
55867
+ const { masterThemePaths: _masters, formatScheme, ...parts } = target;
55868
+ const next = { ...theme, ...plain(parts) };
55869
+ for (const key of RECORDED_KEYS) {
55870
+ if (target[key] === void 0) {
55871
+ delete next[key];
55872
+ }
55873
+ }
55874
+ if (formatScheme && !sameFormatScheme(theme ?? void 0, target)) {
55875
+ next.formatScheme = plain(formatScheme);
55876
+ }
55877
+ return next;
55878
+ }
55879
+ function withHistoryMasterThemes(slideMasters, target) {
55880
+ const recorded = target?.masterThemePaths;
55881
+ if (!recorded || slideMasters.every((master) => !differs(recorded, master))) {
55882
+ return slideMasters;
55883
+ }
55884
+ return slideMasters.map(
55885
+ (master) => differs(recorded, master) ? { ...master, themePath: recorded[master.path] } : master
55886
+ );
55887
+ }
55888
+ function differs(recorded, master) {
55889
+ const path = recorded[master.path];
55890
+ return path !== void 0 && path !== master.themePath;
55891
+ }
55892
+ function themePartWrites(from, to, loadedName) {
55893
+ const writes = [];
55894
+ if (to.colorScheme && !sameJson(to.colorScheme, from?.colorScheme)) {
55895
+ writes.push({ part: "colorScheme", colorScheme: to.colorScheme });
55896
+ }
55897
+ if (to.fontScheme && !sameJson(to.fontScheme, from?.fontScheme)) {
55898
+ writes.push({ part: "fontScheme", fontScheme: to.fontScheme });
55899
+ }
55900
+ if (to.formatScheme && !sameFormatScheme(from, to)) {
55901
+ writes.push({ part: "formatScheme", formatScheme: to.formatScheme });
55902
+ }
55903
+ const name = to.name ?? loadedName;
55904
+ if (name && name !== (from?.name ?? loadedName)) {
55905
+ writes.push({ part: "name", name });
55906
+ }
55907
+ return writes;
55908
+ }
55909
+ function loadedThemeName(themeOptions, slideMasters) {
55910
+ const options = themeOptions ?? [];
55911
+ const primary = slideMasters?.[0]?.themePath;
55912
+ return (options.find((option) => option.path === primary) ?? options[0])?.name;
55913
+ }
55914
+ async function applyWrites(handler, writes, ...scope) {
55915
+ for (const write of writes) {
55916
+ if (write.part === "colorScheme") {
55917
+ await handler.updateThemeColorScheme(write.colorScheme, ...scope);
55918
+ } else if (write.part === "fontScheme") {
55919
+ await handler.updateThemeFontScheme(write.fontScheme, ...scope);
55920
+ } else if (write.part === "formatScheme") {
55921
+ await handler.restoreThemeFormatScheme(write.formatScheme, ...scope);
55922
+ } else {
55923
+ await handler.updateThemeName(write.name, ...scope);
55924
+ }
55925
+ }
55926
+ }
55927
+ function writableFaces(theme) {
55928
+ const { fontScheme } = theme;
55929
+ if (!fontScheme) {
55930
+ return theme;
55931
+ }
55932
+ const latin = (font) => font?.latin ? { latin: font.latin } : {};
55933
+ return {
55934
+ ...theme,
55935
+ fontScheme: { majorFont: latin(fontScheme.majorFont), minorFont: latin(fontScheme.minorFont) }
55936
+ };
55937
+ }
55938
+ function masterThemeMoves(from, to) {
55939
+ return Object.entries(to.masterThemePaths ?? {}).filter(
55940
+ ([master, path]) => from?.masterThemePaths?.[master] !== path
55941
+ );
55942
+ }
55943
+ function writeThemeParts(handler, from, to, loadedName) {
55944
+ const moves = masterThemeMoves(from, to);
55945
+ if (moves.length > 0) {
55946
+ return handler ? queueThemeWrite(handler, () => repointAndWrite(handler, moves, to)) : Promise.resolve();
55947
+ }
55948
+ const writes = themePartWrites(from, to, loadedName);
55949
+ if (!handler || writes.length === 0) {
55950
+ return Promise.resolve();
55951
+ }
55952
+ return queueThemeWrite(handler, () => applyWrites(handler, writes));
55953
+ }
55954
+ async function repointAndWrite(handler, moves, to) {
55955
+ for (const [master, path] of moves) {
55956
+ await handler.setSlideMasterTheme(master, path);
55957
+ }
55958
+ const deckPart = Object.values(to.masterThemePaths ?? {})[0];
55959
+ const now = deckPart ? await handler.getThemePartSchemes(deckPart) : void 0;
55960
+ if (deckPart && now) {
55961
+ const writes = themePartWrites(writableFaces(historyTheme(now)), writableFaces(to), now.name);
55962
+ await applyWrites(handler, writes, [deckPart]);
55963
+ }
55964
+ }
55965
+ function restoreCrossedTheme(theme, current, target, handler, loadedName) {
55966
+ const crossed = crossedHistoryTheme(current, target);
55967
+ if (!crossed) {
55968
+ return void 0;
55969
+ }
55970
+ void writeThemeParts(handler, current, crossed, loadedName);
55971
+ return withHistoryTheme(theme, crossed);
55972
+ }
55973
+ async function saveDeckWithPassword(serializer, slides, options, intent) {
55974
+ await settleThemeWrites(serializer);
55975
+ return saveDeckWithPassword$1(serializer, slides, options, intent);
55976
+ }
55977
+
55299
55978
  // src/pptx/render/deck-save-options.ts
55300
55979
  function buildDeckSaveOptions(state) {
55301
55980
  return {
@@ -55334,32 +56013,79 @@ var DEFAULT_VIEWER_PREFERENCES = {
55334
56013
  };
55335
56014
  var DEFAULT_VIEWER_SETTINGS = DEFAULT_VIEWER_PREFERENCES;
55336
56015
  var VIEWER_SHORTCUT_REFERENCE = [
55337
- { actionKey: "pptx.toolbar.undo", shortcut: "Ctrl/Cmd+Z" },
55338
- { actionKey: "pptx.toolbar.redo", shortcut: "Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y" },
55339
- { actionKey: "pptx.shortcuts.action.copyElement", shortcut: "Ctrl/Cmd+C" },
55340
- { actionKey: "pptx.shortcuts.action.cutElement", shortcut: "Ctrl/Cmd+X" },
55341
- { actionKey: "pptx.shortcuts.action.pasteElement", shortcut: "Ctrl/Cmd+V" },
55342
- { actionKey: "pptx.shortcuts.action.duplicateElement", shortcut: "Ctrl/Cmd+D" },
55343
- { actionKey: "pptx.shortcuts.action.deleteElement", shortcut: "Delete / Backspace" },
55344
- { actionKey: "pptx.shortcuts.action.selectAll", shortcut: "Ctrl/Cmd+A" },
55345
- { actionKey: "pptx.ribbon.group", shortcut: "Ctrl/Cmd+G" },
55346
- { actionKey: "pptx.ribbon.ungroup", shortcut: "Ctrl/Cmd+Shift+G" },
55347
- { actionKey: "pptx.shortcuts.action.nudgeElement", shortcut: "Arrow keys" },
55348
- { actionKey: "pptx.shortcuts.action.nudgeElementLarge", shortcut: "Shift+Arrow keys" },
55349
- { actionKey: "pptx.shortcuts.action.prevSlide", shortcut: "Left or Up arrow, Page Up" },
55350
- { actionKey: "pptx.shortcuts.action.nextSlide", shortcut: "Right or Down arrow, Page Down" },
55351
- { actionKey: "pptx.shortcuts.action.zoomCanvas", shortcut: "Ctrl/Cmd+Mouse wheel" },
55352
- { actionKey: "pptx.shortcuts.action.commitTextEdit", shortcut: "Ctrl/Cmd+Enter" },
55353
- { actionKey: "pptx.shortcuts.action.cancelTextEdit", shortcut: "Escape" },
56016
+ { actionKey: "pptx.toolbar.undo", shortcut: "Ctrl/Cmd+Z", group: "history" },
56017
+ {
56018
+ actionKey: "pptx.toolbar.redo",
56019
+ shortcut: "Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y",
56020
+ group: "history"
56021
+ },
56022
+ { actionKey: "pptx.shortcuts.action.copyElement", shortcut: "Ctrl/Cmd+C", group: "clipboard" },
56023
+ { actionKey: "pptx.shortcuts.action.cutElement", shortcut: "Ctrl/Cmd+X", group: "clipboard" },
56024
+ { actionKey: "pptx.shortcuts.action.pasteElement", shortcut: "Ctrl/Cmd+V", group: "clipboard" },
56025
+ {
56026
+ actionKey: "pptx.shortcuts.action.duplicateElement",
56027
+ shortcut: "Ctrl/Cmd+D",
56028
+ group: "editing"
56029
+ },
56030
+ {
56031
+ actionKey: "pptx.shortcuts.action.deleteElement",
56032
+ shortcut: "Delete / Backspace",
56033
+ group: "editing"
56034
+ },
56035
+ { actionKey: "pptx.shortcuts.action.selectAll", shortcut: "Ctrl/Cmd+A", group: "editing" },
56036
+ { actionKey: "pptx.ribbon.group", shortcut: "Ctrl/Cmd+G", group: "editing" },
56037
+ { actionKey: "pptx.ribbon.ungroup", shortcut: "Ctrl/Cmd+Shift+G", group: "editing" },
56038
+ { actionKey: "pptx.shortcuts.action.nudgeElement", shortcut: "Arrow keys", group: "editing" },
56039
+ {
56040
+ actionKey: "pptx.shortcuts.action.nudgeElementLarge",
56041
+ shortcut: "Shift+Arrow keys",
56042
+ group: "editing"
56043
+ },
56044
+ {
56045
+ actionKey: "pptx.shortcuts.action.prevSlide",
56046
+ shortcut: "Left or Up arrow, Page Up",
56047
+ group: "navigation"
56048
+ },
56049
+ {
56050
+ actionKey: "pptx.shortcuts.action.nextSlide",
56051
+ shortcut: "Right or Down arrow, Page Down",
56052
+ group: "navigation"
56053
+ },
56054
+ {
56055
+ actionKey: "pptx.shortcuts.action.zoomCanvas",
56056
+ shortcut: "Ctrl/Cmd+Mouse wheel",
56057
+ group: "navigation"
56058
+ },
56059
+ {
56060
+ actionKey: "pptx.shortcuts.action.commitTextEdit",
56061
+ shortcut: "Ctrl/Cmd+Enter",
56062
+ group: "editing"
56063
+ },
56064
+ { actionKey: "pptx.shortcuts.action.cancelTextEdit", shortcut: "Escape", group: "editing" },
55354
56065
  // Both of these reached the shared keymap late (Ctrl+F was hand-wired in two
55355
56066
  // bindings, Ctrl+/ in one), so the panel that is supposed to teach the keymap
55356
56067
  // was advertising neither. The help panel is the keymap's documentation: a
55357
56068
  // chord missing here is a chord nobody discovers.
55358
- { actionKey: "pptx.findReplace.title", shortcut: "Ctrl/Cmd+F" },
55359
- { actionKey: "pptx.slideShow.fromBeginning", shortcut: "F5" },
55360
- { actionKey: "pptx.slideShow.fromCurrent", shortcut: "Shift+F5" },
55361
- { actionKey: "pptx.shortcuts.title", shortcut: "? or Ctrl/Cmd+/" }
56069
+ { actionKey: "pptx.findReplace.title", shortcut: "Ctrl/Cmd+F", group: "general" },
56070
+ { actionKey: "pptx.slideShow.fromBeginning", shortcut: "F5", group: "general" },
56071
+ { actionKey: "pptx.slideShow.fromCurrent", shortcut: "Shift+F5", group: "general" },
56072
+ { actionKey: "pptx.shortcuts.title", shortcut: "? or Ctrl/Cmd+/", group: "general" }
55362
56073
  ];
56074
+ var SHORTCUT_REFERENCE_GROUP_LABEL_KEYS = {
56075
+ history: "pptx.editorToolbar.history",
56076
+ clipboard: "pptx.ribbon.clipboard",
56077
+ editing: "pptx.shortcuts.group.editing",
56078
+ navigation: "pptx.shortcuts.group.navigation",
56079
+ general: "pptx.settings.general"
56080
+ };
56081
+ function groupShortcutReference(items = VIEWER_SHORTCUT_REFERENCE) {
56082
+ const order = Object.keys(SHORTCUT_REFERENCE_GROUP_LABEL_KEYS);
56083
+ return order.map((group) => ({
56084
+ group,
56085
+ labelKey: SHORTCUT_REFERENCE_GROUP_LABEL_KEYS[group],
56086
+ shortcuts: items.filter((item4) => item4.group === group)
56087
+ })).filter((bucket) => bucket.shortcuts.length > 0);
56088
+ }
55363
56089
  var SHORTCUT_REFERENCE_ITEMS = VIEWER_SHORTCUT_REFERENCE;
55364
56090
  var VIEWER_PREFERENCE_TOGGLES = [
55365
56091
  { key: "autoSave", labelKey: "pptx.settings.autoSave" },
@@ -55798,8 +56524,8 @@ function capitalizeDayName(word) {
55798
56524
  return word;
55799
56525
  }
55800
56526
  function replaceFractions(word) {
55801
- for (const [plain, glyph3] of FRACTIONS) {
55802
- if (word === plain) {
56527
+ for (const [plain2, glyph3] of FRACTIONS) {
56528
+ if (word === plain2) {
55803
56529
  return glyph3;
55804
56530
  }
55805
56531
  }
@@ -58783,7 +59509,7 @@ function safeColor(color, fallback = "none") {
58783
59509
  function svgTile(width, height, defs, body) {
58784
59510
  return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" aria-hidden="true" focusable="false">${defs ? `<defs>${defs}</defs>` : ""}${body}</svg>`;
58785
59511
  }
58786
- function num4(value) {
59512
+ function num5(value) {
58787
59513
  return String(Math.round(value * 100) / 100);
58788
59514
  }
58789
59515
  function svgId(raw) {
@@ -58798,9 +59524,9 @@ function paintDefs(paint, id) {
58798
59524
  const x = Math.cos(rad) / 2;
58799
59525
  const y = Math.sin(rad) / 2;
58800
59526
  const stops = paint.stops.map(
58801
- (s) => `<stop offset="${num4(s.position)}%" stop-color="${safeColor(s.color, "#000000")}"${s.opacity !== void 0 && s.opacity < 1 ? ` stop-opacity="${num4(s.opacity)}"` : ""}/>`
59527
+ (s) => `<stop offset="${num5(s.position)}%" stop-color="${safeColor(s.color, "#000000")}"${s.opacity !== void 0 && s.opacity < 1 ? ` stop-opacity="${num5(s.opacity)}"` : ""}/>`
58802
59528
  ).join("");
58803
- const defs = `<linearGradient id="${id}" x1="${num4(0.5 - x)}" y1="${num4(0.5 - y)}" x2="${num4(0.5 + x)}" y2="${num4(0.5 + y)}">${stops}</linearGradient>`;
59529
+ const defs = `<linearGradient id="${id}" x1="${num5(0.5 - x)}" y1="${num5(0.5 - y)}" x2="${num5(0.5 + x)}" y2="${num5(0.5 + y)}">${stops}</linearGradient>`;
58804
59530
  return { defs, fill: `url(#${id})` };
58805
59531
  }
58806
59532
  return { defs: "", fill: safeColor(paint.color) };
@@ -58813,19 +59539,19 @@ function filterDefs(effects, id) {
58813
59539
  if (effects.glow) {
58814
59540
  const g = effects.glow;
58815
59541
  parts.push(
58816
- `<feMorphology in="SourceAlpha" operator="dilate" radius="${num4(g.radius / 2)}" result="gd"/>`,
58817
- `<feGaussianBlur in="gd" stdDeviation="${num4(g.radius / 2)}" result="gb"/>`,
58818
- `<feFlood flood-color="${safeColor(g.color, "#000000")}" flood-opacity="${num4(g.opacity)}"/>`,
59542
+ `<feMorphology in="SourceAlpha" operator="dilate" radius="${num5(g.radius / 2)}" result="gd"/>`,
59543
+ `<feGaussianBlur in="gd" stdDeviation="${num5(g.radius / 2)}" result="gb"/>`,
59544
+ `<feFlood flood-color="${safeColor(g.color, "#000000")}" flood-opacity="${num5(g.opacity)}"/>`,
58819
59545
  '<feComposite in2="gb" operator="in" result="glow"/>'
58820
59546
  );
58821
59547
  }
58822
59548
  if (effects.shadow && !effects.shadow.inner) {
58823
59549
  const s = effects.shadow;
58824
- parts.push(svgDropShadowElement(s, { number: num4, color: safeColor }));
59550
+ parts.push(svgDropShadowElement(s, { number: num5, color: safeColor }));
58825
59551
  }
58826
59552
  if (effects.softEdge) {
58827
59553
  parts.push(
58828
- `<feGaussianBlur in="SourceGraphic" stdDeviation="${num4(effects.softEdge / 2)}" result="soft"/>`
59554
+ `<feGaussianBlur in="SourceGraphic" stdDeviation="${num5(effects.softEdge / 2)}" result="soft"/>`
58829
59555
  );
58830
59556
  }
58831
59557
  if (parts.length === 0) {
@@ -58848,8 +59574,8 @@ function shapeTileSvg(spec5) {
58848
59574
  const h = spec5.height - inset3 * 2 - (spec5.effects?.reflection ? h3(spec5) : 0);
58849
59575
  const paint = paintDefs(spec5.fill, `${id}-f`);
58850
59576
  const filter = filterDefs(spec5.effects, `${id}-x`);
58851
- const stroke = spec5.stroke && spec5.stroke.width > 0 ? ` stroke="${safeColor(spec5.stroke.color, "#000000")}" stroke-width="${num4(Math.min(spec5.stroke.width, 6))}"${spec5.stroke.opacity !== void 0 && spec5.stroke.opacity < 1 ? ` stroke-opacity="${num4(spec5.stroke.opacity)}"` : ""}${spec5.stroke.dash ? ` stroke-dasharray="${spec5.stroke.dash}"` : ""}` : "";
58852
- const fillOpacity = spec5.fill?.opacity !== void 0 && spec5.fill.opacity < 1 ? ` fill-opacity="${num4(spec5.fill.opacity)}"` : "";
59577
+ const stroke = spec5.stroke && spec5.stroke.width > 0 ? ` stroke="${safeColor(spec5.stroke.color, "#000000")}" stroke-width="${num5(Math.min(spec5.stroke.width, 6))}"${spec5.stroke.opacity !== void 0 && spec5.stroke.opacity < 1 ? ` stroke-opacity="${num5(spec5.stroke.opacity)}"` : ""}${spec5.stroke.dash ? ` stroke-dasharray="${spec5.stroke.dash}"` : ""}` : "";
59578
+ const fillOpacity = spec5.fill?.opacity !== void 0 && spec5.fill.opacity < 1 ? ` fill-opacity="${num5(spec5.fill.opacity)}"` : "";
58853
59579
  const shape = geometryMarkup(
58854
59580
  spec5.geometry,
58855
59581
  inset3,
@@ -58862,8 +59588,8 @@ function shapeTileSvg(spec5) {
58862
59588
  if (spec5.effects?.reflection) {
58863
59589
  const r = spec5.effects.reflection;
58864
59590
  const gy = inset3 + h + r.distance;
58865
- body += `<g opacity="${num4(r.startOpacity)}" transform="translate(0 ${num4(gy * 2)}) scale(1 -1)" mask="url(#${id}-m)">${geometryMarkup(spec5.geometry, inset3, inset3, w, h, `fill="${paint.fill}"${stroke}`)}</g>`;
58866
- paint.defs += `<linearGradient id="${id}-mg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff"/><stop offset="${num4(r.endPosition)}" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num4(gy)}" width="${spec5.width}" height="${num4(h)}" fill="url(#${id}-mg)"/></mask>`;
59591
+ body += `<g opacity="${num5(r.startOpacity)}" transform="translate(0 ${num5(gy * 2)}) scale(1 -1)" mask="url(#${id}-m)">${geometryMarkup(spec5.geometry, inset3, inset3, w, h, `fill="${paint.fill}"${stroke}`)}</g>`;
59592
+ paint.defs += `<linearGradient id="${id}-mg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff"/><stop offset="${num5(r.endPosition)}" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num5(gy)}" width="${spec5.width}" height="${num5(h)}" fill="url(#${id}-mg)"/></mask>`;
58867
59593
  }
58868
59594
  if (spec5.effects?.shadow?.inner) {
58869
59595
  const s = spec5.effects.shadow;
@@ -58873,11 +59599,11 @@ function shapeTileSvg(spec5) {
58873
59599
  inset3 + s.dy / 2,
58874
59600
  w - Math.abs(s.dx),
58875
59601
  h - Math.abs(s.dy),
58876
- `fill="none" stroke="${safeColor(s.color, "#000000")}" stroke-opacity="${num4(s.opacity / 2)}" stroke-width="${num4(Math.max(1, s.blur / 2))}"`
59602
+ `fill="none" stroke="${safeColor(s.color, "#000000")}" stroke-opacity="${num5(s.opacity / 2)}" stroke-width="${num5(Math.max(1, s.blur / 2))}"`
58877
59603
  );
58878
59604
  }
58879
59605
  if (spec5.text) {
58880
- body += `<text x="${num4(inset3 + w / 2)}" y="${num4(inset3 + h / 2)}" text-anchor="middle" dominant-baseline="central" font-family="Calibri, Arial, sans-serif" font-size="${num4(Math.min(h * 0.55, 14))}" fill="${safeColor(spec5.text.color, "#000000")}">${escapeSvgText(spec5.text.value)}</text>`;
59606
+ body += `<text x="${num5(inset3 + w / 2)}" y="${num5(inset3 + h / 2)}" text-anchor="middle" dominant-baseline="central" font-family="Calibri, Arial, sans-serif" font-size="${num5(Math.min(h * 0.55, 14))}" fill="${safeColor(spec5.text.color, "#000000")}">${escapeSvgText(spec5.text.value)}</text>`;
58881
59607
  }
58882
59608
  return svgTile(spec5.width, spec5.height, paint.defs + filter.defs, body);
58883
59609
  }
@@ -58886,10 +59612,10 @@ function h3(spec5) {
58886
59612
  }
58887
59613
  function geometryMarkup(geometry, x, y, w, h, attrs) {
58888
59614
  if (geometry === "ellipse") {
58889
- return `<ellipse cx="${num4(x + w / 2)}" cy="${num4(y + h / 2)}" rx="${num4(w / 2)}" ry="${num4(h / 2)}" ${attrs}/>`;
59615
+ return `<ellipse cx="${num5(x + w / 2)}" cy="${num5(y + h / 2)}" rx="${num5(w / 2)}" ry="${num5(h / 2)}" ${attrs}/>`;
58890
59616
  }
58891
59617
  const r = geometry === "roundRect" ? Math.min(w, h) * 0.18 : 1.5;
58892
- return `<rect x="${num4(x)}" y="${num4(y)}" width="${num4(w)}" height="${num4(h)}" rx="${num4(r)}" ${attrs}/>`;
59618
+ return `<rect x="${num5(x)}" y="${num5(y)}" width="${num5(w)}" height="${num5(h)}" rx="${num5(r)}" ${attrs}/>`;
58893
59619
  }
58894
59620
  function tileSpecFromShapeStyle(id, style, size2, textColor) {
58895
59621
  const fill3 = style.fillMode === "none" ? void 0 : style.fillMode === "gradient" && style.fillGradientStops?.length ? {
@@ -58995,17 +59721,17 @@ function apply(itemId, ctx) {
58995
59721
  var BULLETS_GALLERY = { build, apply };
58996
59722
 
58997
59723
  // src/ribbon/color-preview.ts
58998
- var num5 = (value) => String(Math.round(value * 100) / 100);
59724
+ var num6 = (value) => String(Math.round(value * 100) / 100);
58999
59725
  function swatchStripSvg(colors, size2) {
59000
59726
  const w = size2.width / Math.max(colors.length, 1);
59001
59727
  const body = colors.map(
59002
- (color, i) => `<rect x="${num5(i * w)}" y="0" width="${num5(w)}" height="${size2.height}" fill="${safeColor(color, "#808080")}"/>`
59728
+ (color, i) => `<rect x="${num6(i * w)}" y="0" width="${num6(w)}" height="${size2.height}" fill="${safeColor(color, "#808080")}"/>`
59003
59729
  ).join("");
59004
59730
  return svgTile(size2.width, size2.height, "", body);
59005
59731
  }
59006
59732
 
59007
59733
  // src/chart/gallery-tiles.ts
59008
- function num6(value) {
59734
+ function num7(value) {
59009
59735
  return String(Math.round(value * 100) / 100);
59010
59736
  }
59011
59737
  var HEIGHTS = [0.55, 0.8, 0.4, 0.95, 0.7, 0.5];
@@ -59022,11 +59748,11 @@ function columnChartTileSvg(colors, size2) {
59022
59748
  const h = plotH * (HEIGHTS[(g + s * 2) % HEIGHTS.length] ?? 0.5);
59023
59749
  const x = pad + g * groupW + groupW * 0.1 + s * barW;
59024
59750
  bars.push(
59025
- `<rect x="${num6(x)}" y="${num6(pad + plotH - h)}" width="${num6(barW * 0.9)}" height="${num6(h)}" fill="${safeColor(color, "#808080")}"/>`
59751
+ `<rect x="${num7(x)}" y="${num7(pad + plotH - h)}" width="${num7(barW * 0.9)}" height="${num7(h)}" fill="${safeColor(color, "#808080")}"/>`
59026
59752
  );
59027
59753
  });
59028
59754
  }
59029
- const axis = `<line x1="${pad}" y1="${num6(pad + plotH)}" x2="${num6(pad + plotW)}" y2="${num6(pad + plotH)}" stroke="#A6A6A6" stroke-width="0.75"/>`;
59755
+ const axis = `<line x1="${pad}" y1="${num7(pad + plotH)}" x2="${num7(pad + plotW)}" y2="${num7(pad + plotH)}" stroke="#A6A6A6" stroke-width="0.75"/>`;
59030
59756
  const bg = `<rect x="0" y="0" width="${size2.width}" height="${size2.height}" fill="#FFFFFF"/>`;
59031
59757
  return svgTile(size2.width, size2.height, "", bg + bars.join("") + axis);
59032
59758
  }
@@ -59041,7 +59767,7 @@ function chartLayoutTileSvg(sketch, size2) {
59041
59767
  let left = 3;
59042
59768
  let right = size2.width - 3;
59043
59769
  const bar = (x, y, w2, h, color = INK) => parts.push(
59044
- `<rect x="${num6(x)}" y="${num6(y)}" width="${num6(w2)}" height="${num6(h)}" fill="${color}"/>`
59770
+ `<rect x="${num7(x)}" y="${num7(y)}" width="${num7(w2)}" height="${num7(h)}" fill="${color}"/>`
59045
59771
  );
59046
59772
  if (sketch.title) {
59047
59773
  bar(size2.width * 0.3, top, size2.width * 0.4, 3);
@@ -59064,7 +59790,7 @@ function chartLayoutTileSvg(sketch, size2) {
59064
59790
  const rows = 3;
59065
59791
  for (let r = 0; r < rows; r++) {
59066
59792
  parts.push(
59067
- `<rect x="${num6(left + 4)}" y="${num6(bottom - (rows - r) * 3)}" width="${num6(right - left - 4)}" height="3" fill="none" stroke="${INK}" stroke-width="0.5"/>`
59793
+ `<rect x="${num7(left + 4)}" y="${num7(bottom - (rows - r) * 3)}" width="${num7(right - left - 4)}" height="3" fill="none" stroke="${INK}" stroke-width="0.5"/>`
59068
59794
  );
59069
59795
  }
59070
59796
  bottom -= rows * 3 + 2;
@@ -59086,7 +59812,7 @@ function chartLayoutTileSvg(sketch, size2) {
59086
59812
  for (let i = 0; i < lines; i++) {
59087
59813
  const y = top + plotH * i / lines;
59088
59814
  parts.push(
59089
- `<line x1="${num6(left)}" y1="${num6(y)}" x2="${num6(right)}" y2="${num6(y)}" stroke="#D9D9D9" stroke-width="${sketch.minorGridlines && i % 2 ? "0.4" : "0.7"}"/>`
59815
+ `<line x1="${num7(left)}" y1="${num7(y)}" x2="${num7(right)}" y2="${num7(y)}" stroke="#D9D9D9" stroke-width="${sketch.minorGridlines && i % 2 ? "0.4" : "0.7"}"/>`
59090
59816
  );
59091
59817
  }
59092
59818
  }
@@ -59100,7 +59826,7 @@ function chartLayoutTileSvg(sketch, size2) {
59100
59826
  }
59101
59827
  });
59102
59828
  parts.push(
59103
- `<line x1="${num6(left)}" y1="${num6(bottom)}" x2="${num6(right)}" y2="${num6(bottom)}" stroke="${INK}" stroke-width="0.6"/>`
59829
+ `<line x1="${num7(left)}" y1="${num7(bottom)}" x2="${num7(right)}" y2="${num7(bottom)}" stroke="${INK}" stroke-width="0.6"/>`
59104
59830
  );
59105
59831
  return svgTile(size2.width, size2.height, "", parts.join(""));
59106
59832
  }
@@ -59237,21 +59963,21 @@ function coloursByPoint(chartData) {
59237
59963
  }
59238
59964
  function applyChartColorPalette(chartData, palette, ctx) {
59239
59965
  const scheme = galleryColorScheme(ctx);
59240
- const cleared = chartData.series.map(clearSeriesColor);
59966
+ const cleared2 = chartData.series.map(clearSeriesColor);
59241
59967
  if (coloursByPoint(chartData)) {
59242
59968
  const count = Math.max(chartData.categories.length, 1);
59243
59969
  return {
59244
59970
  ...chartData,
59245
- series: cleared,
59971
+ series: cleared2,
59246
59972
  colorPalette: chartPaletteColors(palette, count, scheme),
59247
59973
  colorMethod: "cycle"
59248
59974
  };
59249
59975
  }
59250
- const colors = chartPaletteColors(palette, cleared.length, scheme);
59976
+ const colors = chartPaletteColors(palette, cleared2.length, scheme);
59251
59977
  const base2 = palette.meth === "withinLinear" ? [chartPaletteColors(palette, 1, scheme)[0]] : palette.meth === "cycle" ? chartPaletteColors(palette, Math.max(palette.base.length, colors.length), scheme) : colors;
59252
59978
  return {
59253
59979
  ...chartData,
59254
- series: cleared.map((series, i) => ({ ...series, color: colors[i] })),
59980
+ series: cleared2.map((series, i) => ({ ...series, color: colors[i] })),
59255
59981
  colorPalette: base2.length ? base2 : colors,
59256
59982
  colorMethod: palette.meth === "withinLinear" ? "withinLinear" : "cycle"
59257
59983
  };
@@ -59945,7 +60671,7 @@ var PICTURE_CORRECTIONS_GALLERY = adjustGalleryModule(
59945
60671
 
59946
60672
  // src/pptx/render/ribbon-galleries/picture-style-tile-svg.ts
59947
60673
  var PICTURE_STYLE_TILE = { width: 64, height: 52 };
59948
- function num7(value) {
60674
+ function num8(value) {
59949
60675
  return String(Math.round(value * 100) / 100);
59950
60676
  }
59951
60677
  function geometryPath(geom, x, y, w, h) {
@@ -59954,32 +60680,32 @@ function geometryPath(geom, x, y, w, h) {
59954
60680
  switch (geom) {
59955
60681
  case "ellipse":
59956
60682
  return box(
59957
- `M${num7(x)} ${num7(y + h / 2)} A${num7(w / 2)} ${num7(h / 2)} 0 1 0 ${num7(x + w)} ${num7(y + h / 2)}
59958
- A${num7(w / 2)} ${num7(h / 2)} 0 1 0 ${num7(x)} ${num7(y + h / 2)} Z`
60683
+ `M${num8(x)} ${num8(y + h / 2)} A${num8(w / 2)} ${num8(h / 2)} 0 1 0 ${num8(x + w)} ${num8(y + h / 2)}
60684
+ A${num8(w / 2)} ${num8(h / 2)} 0 1 0 ${num8(x)} ${num8(y + h / 2)} Z`
59959
60685
  );
59960
60686
  case "roundRect": {
59961
60687
  const c = r * 0.14;
59962
60688
  return box(
59963
- `M${num7(x + c)} ${num7(y)} H${num7(x + w - c)} Q${num7(x + w)} ${num7(y)} ${num7(x + w)} ${num7(y + c)}
59964
- V${num7(y + h - c)} Q${num7(x + w)} ${num7(y + h)} ${num7(x + w - c)} ${num7(y + h)} H${num7(x + c)}
59965
- Q${num7(x)} ${num7(y + h)} ${num7(x)} ${num7(y + h - c)} V${num7(y + c)} Q${num7(x)} ${num7(y)} ${num7(x + c)} ${num7(y)} Z`
60689
+ `M${num8(x + c)} ${num8(y)} H${num8(x + w - c)} Q${num8(x + w)} ${num8(y)} ${num8(x + w)} ${num8(y + c)}
60690
+ V${num8(y + h - c)} Q${num8(x + w)} ${num8(y + h)} ${num8(x + w - c)} ${num8(y + h)} H${num8(x + c)}
60691
+ Q${num8(x)} ${num8(y + h)} ${num8(x)} ${num8(y + h - c)} V${num8(y + c)} Q${num8(x)} ${num8(y)} ${num8(x + c)} ${num8(y)} Z`
59966
60692
  );
59967
60693
  }
59968
60694
  case "round2DiagRect": {
59969
60695
  const c = r * 0.17;
59970
60696
  return box(
59971
- `M${num7(x + c)} ${num7(y)} H${num7(x + w)} V${num7(y + h - c)} Q${num7(x + w)} ${num7(y + h)} ${num7(x + w - c)} ${num7(y + h)}
59972
- H${num7(x)} V${num7(y + c)} Q${num7(x)} ${num7(y)} ${num7(x + c)} ${num7(y)} Z`
60697
+ `M${num8(x + c)} ${num8(y)} H${num8(x + w)} V${num8(y + h - c)} Q${num8(x + w)} ${num8(y + h)} ${num8(x + w - c)} ${num8(y + h)}
60698
+ H${num8(x)} V${num8(y + c)} Q${num8(x)} ${num8(y)} ${num8(x + c)} ${num8(y)} Z`
59973
60699
  );
59974
60700
  }
59975
60701
  case "snip2DiagRect": {
59976
60702
  const c = r * 0.17;
59977
60703
  return box(
59978
- `M${num7(x)} ${num7(y)} H${num7(x + w - c)} L${num7(x + w)} ${num7(y + c)} V${num7(y + h)} H${num7(x + c)} L${num7(x)} ${num7(y + h - c)} Z`
60704
+ `M${num8(x)} ${num8(y)} H${num8(x + w - c)} L${num8(x + w)} ${num8(y + c)} V${num8(y + h)} H${num8(x + c)} L${num8(x)} ${num8(y + h - c)} Z`
59979
60705
  );
59980
60706
  }
59981
60707
  default:
59982
- return `M${num7(x)} ${num7(y)} H${num7(x + w)} V${num7(y + h)} H${num7(x)} Z`;
60708
+ return `M${num8(x)} ${num8(y)} H${num8(x + w)} V${num8(y + h)} H${num8(x)} Z`;
59983
60709
  }
59984
60710
  }
59985
60711
  function tiltTransform(spec5, cx, cy) {
@@ -59989,13 +60715,13 @@ function tiltTransform(spec5, cx, cy) {
59989
60715
  }
59990
60716
  const rev = scene.rot?.[2] ?? 0;
59991
60717
  if (scene.camera === "orthographicFront") {
59992
- return rev ? ` transform="rotate(${num7(rev / 6e4)} ${num7(cx)} ${num7(cy)})"` : "";
60718
+ return rev ? ` transform="rotate(${num8(rev / 6e4)} ${num8(cx)} ${num8(cy)})"` : "";
59993
60719
  }
59994
60720
  const lon = scene.rot?.[1] ?? 0;
59995
60721
  const skew = lon > 108e5 ? 8 : lon > 0 ? -8 : 0;
59996
60722
  const lat = scene.rot?.[0] ?? 0;
59997
60723
  const squash = lat > 108e5 ? 0.9 : 1;
59998
- return ` transform="translate(${num7(cx)} ${num7(cy)}) skewY(${skew}) scale(1 ${squash}) translate(${num7(-cx)} ${num7(-cy)})"`;
60724
+ return ` transform="translate(${num8(cx)} ${num8(cy)}) skewY(${skew}) scale(1 ${squash}) translate(${num8(-cx)} ${num8(-cy)})"`;
59999
60725
  }
60000
60726
  function pictureStyleTileSvg(spec5) {
60001
60727
  const id = svgId(`gps-${spec5.key}`);
@@ -60015,21 +60741,21 @@ function pictureStyleTileSvg(spec5) {
60015
60741
  const opacity = alpha ? Number(alpha[1]) / 1e5 : 1;
60016
60742
  const rad = (spec5.outer.dir ?? 0) / 6e4 * Math.PI / 180;
60017
60743
  const dist2 = Math.min(3, (spec5.outer.dist ?? 0) / 38100);
60018
- defs += `<filter id="${id}-f" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="${num7(Math.cos(rad) * dist2)}" dy="${num7(Math.sin(rad) * dist2)}" stdDeviation="${num7(Math.min(3, spec5.outer.blur / 63500))}" flood-color="#000000" flood-opacity="${num7(Math.min(0.8, opacity + 0.2))}"/></filter>`;
60744
+ defs += `<filter id="${id}-f" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="${num8(Math.cos(rad) * dist2)}" dy="${num8(Math.sin(rad) * dist2)}" stdDeviation="${num8(Math.min(3, spec5.outer.blur / 63500))}" flood-color="#000000" flood-opacity="${num8(Math.min(0.8, opacity + 0.2))}"/></filter>`;
60019
60745
  filter = ` filter="url(#${id}-f)"`;
60020
60746
  } else if (spec5.softEdge !== void 0) {
60021
60747
  defs += `<filter id="${id}-f" x="-20%" y="-20%" width="140%" height="140%"><feGaussianBlur stdDeviation="2"/></filter>`;
60022
60748
  filter = ` filter="url(#${id}-f)"`;
60023
60749
  }
60024
- const photo = `<g clip-path="url(#${id}-c)"><rect x="${x}" y="${y}" width="${w}" height="${num7(h)}" fill="url(#${id}-s)"/><circle cx="${num7(x + w * 0.72)}" cy="${num7(y + h * 0.3)}" r="${num7(h * 0.13)}" fill="#ffd54a"/><path d="M${x} ${num7(y + h)} L${num7(x + w * 0.35)} ${num7(y + h * 0.5)} L${num7(x + w * 0.6)} ${num7(y + h * 0.75)} L${num7(x + w * 0.78)} ${num7(y + h * 0.55)} L${num7(x + w)} ${num7(y + h * 0.8)} V${num7(y + h)} Z" fill="#4c9a4a"/></g>`;
60025
- const frame = spec5.line ? `<path d="${outline}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="${num7(stroke)}"${spec5.line.cmpd ? ` stroke-opacity="0.9"` : ""}/>${spec5.line.cmpd ? `<path d="${geometryPath(spec5.geom, x + stroke, y + stroke, w - stroke * 2, h - stroke * 2)}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="0.8"/>` : ""}` : "";
60750
+ const photo = `<g clip-path="url(#${id}-c)"><rect x="${x}" y="${y}" width="${w}" height="${num8(h)}" fill="url(#${id}-s)"/><circle cx="${num8(x + w * 0.72)}" cy="${num8(y + h * 0.3)}" r="${num8(h * 0.13)}" fill="#ffd54a"/><path d="M${x} ${num8(y + h)} L${num8(x + w * 0.35)} ${num8(y + h * 0.5)} L${num8(x + w * 0.6)} ${num8(y + h * 0.75)} L${num8(x + w * 0.78)} ${num8(y + h * 0.55)} L${num8(x + w)} ${num8(y + h * 0.8)} V${num8(y + h)} Z" fill="#4c9a4a"/></g>`;
60751
+ const frame = spec5.line ? `<path d="${outline}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="${num8(stroke)}"${spec5.line.cmpd ? ` stroke-opacity="0.9"` : ""}/>${spec5.line.cmpd ? `<path d="${geometryPath(spec5.geom, x + stroke, y + stroke, w - stroke * 2, h - stroke * 2)}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="0.8"/>` : ""}` : "";
60026
60752
  const bevel = spec5.sp3d ? `<path d="${outline}" fill="none" stroke="#ffffff" stroke-opacity="0.45" stroke-width="1" transform="translate(-0.5 -0.5)"/>` : "";
60027
60753
  const body = `${photo}${frame}${bevel}`;
60028
60754
  let out = `<g${tiltTransform(spec5, width / 2, y + h / 2)}><g${filter}>${body}</g>`;
60029
60755
  if (reflect) {
60030
60756
  const gy = y + h + 1;
60031
- defs += `<linearGradient id="${id}-rg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff" stop-opacity="${num7((spec5.reflection?.stA ?? 3e4) / 1e5 + 0.2)}"/><stop offset="0.6" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num7(gy)}" width="${width}" height="${num7(h)}" fill="url(#${id}-rg)"/></mask>`;
60032
- out += `<g mask="url(#${id}-m)"><g transform="translate(0 ${num7(gy * 2)}) scale(1 -1)">${body}</g></g>`;
60757
+ defs += `<linearGradient id="${id}-rg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff" stop-opacity="${num8((spec5.reflection?.stA ?? 3e4) / 1e5 + 0.2)}"/><stop offset="0.6" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num8(gy)}" width="${width}" height="${num8(h)}" fill="url(#${id}-rg)"/></mask>`;
60758
+ out += `<g mask="url(#${id}-m)"><g transform="translate(0 ${num8(gy * 2)}) scale(1 -1)">${body}</g></g>`;
60033
60759
  }
60034
60760
  out += "</g>";
60035
60761
  return svgTile(width, height, defs, out);
@@ -61179,7 +61905,7 @@ function hasReflection(style) {
61179
61905
  }
61180
61906
 
61181
61907
  // src/pptx/render/ribbon-galleries/effect-tile-svg.ts
61182
- function num8(value) {
61908
+ function num9(value) {
61183
61909
  return String(Math.round(value * 100) / 100);
61184
61910
  }
61185
61911
  var BEVEL_PROFILES = {
@@ -61206,8 +61932,8 @@ function bevelTileSvg(id, preset2, color, size2) {
61206
61932
  const [lit, dark] = profile.inverted ? ["#000000", "#ffffff"] : ["#ffffff", "#000000"];
61207
61933
  const fill3 = safeColor(color, "#4472c4");
61208
61934
  const defs = `<linearGradient id="${sid}-l" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="${lit}" stop-opacity="0.65"/><stop offset="0.5" stop-color="${lit}" stop-opacity="0"/><stop offset="0.5" stop-color="${dark}" stop-opacity="0"/><stop offset="1" stop-color="${dark}" stop-opacity="0.45"/></linearGradient>`;
61209
- const ring = (d) => `<rect x="${num8(inset3 + d)}" y="${num8(inset3 + d)}" width="${num8(w - d * 2)}" height="${num8(h - d * 2)}" fill="none" stroke="url(#${sid}-l)" stroke-width="${num8(rim)}"/>`;
61210
- let body = `<rect x="${inset3}" y="${inset3}" width="${num8(w)}" height="${num8(h)}" fill="${fill3}"/>`;
61935
+ const ring = (d) => `<rect x="${num9(inset3 + d)}" y="${num9(inset3 + d)}" width="${num9(w - d * 2)}" height="${num9(h - d * 2)}" fill="none" stroke="url(#${sid}-l)" stroke-width="${num9(rim)}"/>`;
61936
+ let body = `<rect x="${inset3}" y="${inset3}" width="${num9(w)}" height="${num9(h)}" fill="${fill3}"/>`;
61211
61937
  body += ring(rim / 2);
61212
61938
  if (profile.double) {
61213
61939
  body += ring(rim * 1.6);
@@ -61244,7 +61970,7 @@ function rotationTileSvg(preset2, color, size2) {
61244
61970
  [1, -1],
61245
61971
  [1, 1],
61246
61972
  [-1, 1]
61247
- ].map(([x, y]) => `${num8(cx + (a * x + c * y) * half)},${num8(cy + (b * x + d * y) * half)}`);
61973
+ ].map(([x, y]) => `${num9(cx + (a * x + c * y) * half)},${num9(cy + (b * x + d * y) * half)}`);
61248
61974
  const fill3 = safeColor(color, "#4472c4");
61249
61975
  return svgTile(
61250
61976
  size2.width,
@@ -62947,7 +63673,7 @@ function tableStyleTileOptions(tableData) {
62947
63673
  bandedColumns: Boolean(tableData.bandedColumns)
62948
63674
  };
62949
63675
  }
62950
- function num9(value) {
63676
+ function num10(value) {
62951
63677
  return String(Math.round(value * 100) / 100);
62952
63678
  }
62953
63679
  function cellFill(css) {
@@ -62987,7 +63713,7 @@ function tableStyleTileSvg(styleId, colorScheme, size2, options = DEFAULT_OPTION
62987
63713
  const stroke = tileBorderStroke(value);
62988
63714
  if (stroke) {
62989
63715
  lines.push(
62990
- `<line x1="${num9(x1)}" y1="${num9(y1)}" x2="${num9(x2)}" y2="${num9(y2)}" stroke="${stroke.color}" stroke-width="${num9(stroke.width)}"/>`
63716
+ `<line x1="${num10(x1)}" y1="${num10(y1)}" x2="${num10(x2)}" y2="${num10(y2)}" stroke="${stroke.color}" stroke-width="${num10(stroke.width)}"/>`
62991
63717
  );
62992
63718
  }
62993
63719
  };
@@ -62999,13 +63725,13 @@ function tableStyleTileSvg(styleId, colorScheme, size2, options = DEFAULT_OPTION
62999
63725
  const fill3 = cellFill(css);
63000
63726
  if (fill3 !== "none") {
63001
63727
  fills.push(
63002
- `<rect x="${num9(x)}" y="${num9(y)}" width="${num9(cw)}" height="${num9(rh)}" fill="${fill3}"/>`
63728
+ `<rect x="${num10(x)}" y="${num10(y)}" width="${num10(cw)}" height="${num10(rh)}" fill="${fill3}"/>`
63003
63729
  );
63004
63730
  }
63005
63731
  const text4 = safeColor(typeof css.color === "string" ? css.color : void 0, "#000000");
63006
63732
  const bold = css.fontWeight === 700;
63007
63733
  fills.push(
63008
- `<rect x="${num9(x + cw * 0.25)}" y="${num9(y + rh * 0.42)}" width="${num9(cw * 0.5)}" height="${num9(Math.max(rh * 0.16, 0.8))}" fill="${text4}" opacity="${bold ? "0.9" : "0.55"}"/>`
63734
+ `<rect x="${num10(x + cw * 0.25)}" y="${num10(y + rh * 0.42)}" width="${num10(cw * 0.5)}" height="${num10(Math.max(rh * 0.16, 0.8))}" fill="${text4}" opacity="${bold ? "0.9" : "0.55"}"/>`
63009
63735
  );
63010
63736
  edge(x, y, x + cw, y, css.borderTop);
63011
63737
  edge(x, y + rh, x + cw, y + rh, css.borderBottom);
@@ -63419,7 +64145,7 @@ var THEME_COLORS_GALLERY = {
63419
64145
  };
63420
64146
  var TILE8 = { width: 52, height: 36 };
63421
64147
  var LABEL_KEY = "pptx.gallery.themeBackgrounds.style";
63422
- function num10(value) {
64148
+ function num11(value) {
63423
64149
  return String(Math.round(value * 100) / 100);
63424
64150
  }
63425
64151
  function presetSlot(preset2) {
@@ -63440,7 +64166,7 @@ function backgroundPaint(id, style, fallback) {
63440
64166
  const stops = style?.fillGradientStops ?? [];
63441
64167
  if (style?.fillMode === "gradient" && stops.length > 1) {
63442
64168
  const body = stops.map(
63443
- (stop) => `<stop offset="${num10(stop.position)}%" stop-color="${safeColor(stop.color, fallback)}"/>`
64169
+ (stop) => `<stop offset="${num11(stop.position)}%" stop-color="${safeColor(stop.color, fallback)}"/>`
63444
64170
  ).join("");
63445
64171
  if (style.fillGradientType === "radial") {
63446
64172
  return {
@@ -63452,7 +64178,7 @@ function backgroundPaint(id, style, fallback) {
63452
64178
  const x = Math.cos(rad) / 2;
63453
64179
  const y = Math.sin(rad) / 2;
63454
64180
  return {
63455
- defs: `<linearGradient id="${id}" x1="${num10(0.5 - x)}" y1="${num10(0.5 - y)}" x2="${num10(0.5 + x)}" y2="${num10(0.5 + y)}">${body}</linearGradient>`,
64181
+ defs: `<linearGradient id="${id}" x1="${num11(0.5 - x)}" y1="${num11(0.5 - y)}" x2="${num11(0.5 + x)}" y2="${num11(0.5 + y)}">${body}</linearGradient>`,
63456
64182
  fill: `url(#${id})`
63457
64183
  };
63458
64184
  }
@@ -63546,7 +64272,7 @@ var THEME_BACKGROUNDS_GALLERY = {
63546
64272
  var TILE9 = { width: 76, height: 42 };
63547
64273
  var SCHEME_LABEL_KEY2 = "pptx.gallery.themeEffects.scheme";
63548
64274
  var CELLS = [0, 1, 2];
63549
- function num11(value) {
64275
+ function num12(value) {
63550
64276
  return String(Math.round(value * 100) / 100);
63551
64277
  }
63552
64278
  function styleXml(idx, accent) {
@@ -63571,7 +64297,7 @@ function sampleShape(id, style, x, size2) {
63571
64297
  fillId
63572
64298
  );
63573
64299
  const strokeWidth = Math.min(Math.max(style.strokeWidth ?? 0, 0), 4);
63574
- const stroke = strokeWidth > 0 && style.strokeColor && style.strokeColor !== "transparent" ? ` stroke="${safeColor(style.strokeColor, "#000000")}" stroke-width="${num11(Math.max(1, strokeWidth))}"` : "";
64300
+ const stroke = strokeWidth > 0 && style.strokeColor && style.strokeColor !== "transparent" ? ` stroke="${safeColor(style.strokeColor, "#000000")}" stroke-width="${num12(Math.max(1, strokeWidth))}"` : "";
63575
64301
  let defs = paint.defs;
63576
64302
  let filter = "";
63577
64303
  if (style.shadowColor) {
@@ -63579,11 +64305,11 @@ function sampleShape(id, style, x, size2) {
63579
64305
  const dx = Math.max(-3, Math.min(3, style.shadowOffsetX ?? 0));
63580
64306
  const dy = Math.max(-3, Math.min(3, style.shadowOffsetY ?? 2));
63581
64307
  const blur = Math.min(style.shadowBlur ?? 3, 4) / 2;
63582
- defs += `<filter id="${shadowId}" x="-30%" y="-30%" width="160%" height="170%"><feDropShadow dx="${num11(dx)}" dy="${num11(dy)}" stdDeviation="${num11(blur)}" flood-color="${safeColor(style.shadowColor, "#000000")}" flood-opacity="${num11(style.shadowOpacity ?? 0.4)}"/></filter>`;
64308
+ defs += `<filter id="${shadowId}" x="-30%" y="-30%" width="160%" height="170%"><feDropShadow dx="${num12(dx)}" dy="${num12(dy)}" stdDeviation="${num12(blur)}" flood-color="${safeColor(style.shadowColor, "#000000")}" flood-opacity="${num12(style.shadowOpacity ?? 0.4)}"/></filter>`;
63583
64309
  filter = ` filter="url(#${shadowId})"`;
63584
64310
  }
63585
- const fillOpacity = !gradient && style.fillOpacity !== void 0 && style.fillOpacity < 1 ? ` fill-opacity="${num11(style.fillOpacity)}"` : "";
63586
- const rect3 = `<rect x="${num11(x)}" y="${num11(TILE9.height / 2 - size2 / 2 - 2)}" width="${num11(size2)}" height="${num11(size2)}" rx="3" fill="${paint.fill}"${fillOpacity}${stroke}${filter}/>`;
64311
+ const fillOpacity = !gradient && style.fillOpacity !== void 0 && style.fillOpacity < 1 ? ` fill-opacity="${num12(style.fillOpacity)}"` : "";
64312
+ const rect3 = `<rect x="${num12(x)}" y="${num12(TILE9.height / 2 - size2 / 2 - 2)}" width="${num12(size2)}" height="${num12(size2)}" rx="3" fill="${paint.fill}"${fillOpacity}${stroke}${filter}/>`;
63587
64313
  return `${defs ? `<defs>${defs}</defs>` : ""}${rect3}`;
63588
64314
  }
63589
64315
  function effectSchemeTileSvg(schemeId, ctx, accent = "accent1") {
@@ -64005,7 +64731,7 @@ var THEME_FONTS_GALLERY = {
64005
64731
  };
64006
64732
 
64007
64733
  // src/pptx/render/ribbon-galleries/wordart-preview-svg.ts
64008
- function num12(value) {
64734
+ function num13(value) {
64009
64735
  return String(Math.round(value * 100) / 100);
64010
64736
  }
64011
64737
  function paintOf(style) {
@@ -64030,9 +64756,9 @@ function effectFilter(style, id) {
64030
64756
  if (style.textGlowColor) {
64031
64757
  const r = Math.min(3, (style.textGlowRadius ?? 4) / 2);
64032
64758
  parts.push(
64033
- `<feMorphology in="SourceAlpha" operator="dilate" radius="${num12(r / 2)}" result="gd"/>`,
64034
- `<feGaussianBlur in="gd" stdDeviation="${num12(r / 2)}" result="gb"/>`,
64035
- `<feFlood flood-color="${safeColor(style.textGlowColor, "#000000")}" flood-opacity="${num12(Math.min(0.8, (style.textGlowOpacity ?? 0.4) + 0.2))}"/>`,
64759
+ `<feMorphology in="SourceAlpha" operator="dilate" radius="${num13(r / 2)}" result="gd"/>`,
64760
+ `<feGaussianBlur in="gd" stdDeviation="${num13(r / 2)}" result="gb"/>`,
64761
+ `<feFlood flood-color="${safeColor(style.textGlowColor, "#000000")}" flood-opacity="${num13(Math.min(0.8, (style.textGlowOpacity ?? 0.4) + 0.2))}"/>`,
64036
64762
  '<feComposite in2="gb" operator="in" result="glow"/>'
64037
64763
  );
64038
64764
  merge.push('<feMergeNode in="glow"/>');
@@ -64040,7 +64766,7 @@ function effectFilter(style, id) {
64040
64766
  if (style.textShadowColor) {
64041
64767
  const clamp12 = (v) => Math.max(-2, Math.min(2, (v ?? 0) / 2));
64042
64768
  parts.push(
64043
- `<feDropShadow dx="${num12(clamp12(style.textShadowOffsetX))}" dy="${num12(clamp12(style.textShadowOffsetY))}" stdDeviation="${num12(Math.min(1.5, (style.textShadowBlur ?? 2) / 4))}" flood-color="${safeColor(style.textShadowColor, "#000000")}" flood-opacity="${num12(style.textShadowOpacity ?? 1)}" result="shadow"/>`
64769
+ `<feDropShadow dx="${num13(clamp12(style.textShadowOffsetX))}" dy="${num13(clamp12(style.textShadowOffsetY))}" stdDeviation="${num13(Math.min(1.5, (style.textShadowBlur ?? 2) / 4))}" flood-color="${safeColor(style.textShadowColor, "#000000")}" flood-opacity="${num13(style.textShadowOpacity ?? 1)}" result="shadow"/>`
64044
64770
  );
64045
64771
  merge.push('<feMergeNode in="shadow"/>');
64046
64772
  } else {
@@ -64058,13 +64784,13 @@ function wordArtTileSvg(rawId, style, size2) {
64058
64784
  const id = svgId(rawId);
64059
64785
  const paint = paintDefs(paintOf(style), `${id}-f`);
64060
64786
  const filter = effectFilter(style, `${id}-x`);
64061
- const stroke = style.textOutlineColor && (style.textOutlineWidth ?? 1) > 0 ? ` stroke="${safeColor(style.textOutlineColor, "#000000")}" stroke-width="${num12(Math.min(1.2, Math.max(0.4, (style.textOutlineWidth ?? 1) / 2)))}"` : "";
64787
+ const stroke = style.textOutlineColor && (style.textOutlineWidth ?? 1) > 0 ? ` stroke="${safeColor(style.textOutlineColor, "#000000")}" stroke-width="${num13(Math.min(1.2, Math.max(0.4, (style.textOutlineWidth ?? 1) / 2)))}"` : "";
64062
64788
  const fontSize = Math.round(size2.height * 0.46);
64063
64789
  const baseline = style.textReflection ? size2.height * 0.56 : size2.height * 0.66;
64064
- const text4 = (attrs) => `<text x="${num12(size2.width / 2)}" y="${num12(baseline)}" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="${fontSize}"${style.bold ? ' font-weight="bold"' : ""} fill="${paint.fill}"${stroke}${attrs}>${style.textCaps === "all" ? "ABC" : "Abc"}</text>`;
64790
+ const text4 = (attrs) => `<text x="${num13(size2.width / 2)}" y="${num13(baseline)}" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="${fontSize}"${style.bold ? ' font-weight="bold"' : ""} fill="${paint.fill}"${stroke}${attrs}>${style.textCaps === "all" ? "ABC" : "Abc"}</text>`;
64065
64791
  let body = text4(filter.attr);
64066
64792
  if (style.textReflection) {
64067
- body += `<g opacity="${num12(Math.min(0.5, style.textReflectionStartOpacity ?? 0.4))}" transform="translate(0 ${num12(baseline * 2 + 2)}) scale(1 -1)">${text4("")}</g>`;
64793
+ body += `<g opacity="${num13(Math.min(0.5, style.textReflectionStartOpacity ?? 0.4))}" transform="translate(0 ${num13(baseline * 2 + 2)}) scale(1 -1)">${text4("")}</g>`;
64068
64794
  }
64069
64795
  return svgTile(size2.width, size2.height, paint.defs + filter.defs, body);
64070
64796
  }
@@ -65269,23 +65995,47 @@ function previewGalleryResult(result, base2, handler, target) {
65269
65995
  return void 0;
65270
65996
  }
65271
65997
  }
65998
+ function commitsThroughDeckStyle(result) {
65999
+ switch (result.kind) {
66000
+ case "theme":
66001
+ case "themeColorScheme":
66002
+ case "themeFontScheme":
66003
+ case "themeEffects":
66004
+ case "backgroundStyle":
66005
+ case "sequence":
66006
+ return true;
66007
+ default:
66008
+ return false;
66009
+ }
66010
+ }
65272
66011
  async function commitGalleryResult(result, base2, handler, target) {
65273
66012
  if (!handler) {
65274
66013
  return void 0;
65275
66014
  }
65276
66015
  switch (result.kind) {
65277
66016
  case "theme": {
65278
- await handler.applyTheme(result.colorScheme, result.fontScheme, result.name);
66017
+ await queueThemeWrite(
66018
+ handler,
66019
+ () => handler.applyTheme(result.colorScheme, result.fontScheme, result.name)
66020
+ );
65279
66021
  return previewGalleryResult(result, base2, handler, target);
65280
66022
  }
65281
66023
  case "themeColorScheme":
65282
- await handler.updateThemeColorScheme(result.colorScheme);
66024
+ await queueThemeWrite(handler, () => handler.updateThemeColorScheme(result.colorScheme));
65283
66025
  return previewGalleryResult(result, base2, handler, target);
65284
66026
  case "themeFontScheme":
65285
- await handler.updateThemeFontScheme(result.fontScheme);
66027
+ await queueThemeWrite(handler, () => handler.updateThemeFontScheme(result.fontScheme));
65286
66028
  return previewGalleryResult(result, base2, handler, target);
65287
66029
  case "themeEffects": {
65288
- const scheme = result.schemeId ? await handler.applyThemeEffectScheme(result.schemeId) : result.fmtSchemeXml ? await handler.applyThemeFormatSchemeXml(result.fmtSchemeXml) : void 0;
66030
+ const scheme = await queueThemeWrite(handler, async () => {
66031
+ if (result.schemeId) {
66032
+ return handler.applyThemeEffectScheme(result.schemeId);
66033
+ }
66034
+ if (result.fmtSchemeXml) {
66035
+ return handler.applyThemeFormatSchemeXml(result.fmtSchemeXml);
66036
+ }
66037
+ return void 0;
66038
+ });
65289
66039
  if (!scheme) {
65290
66040
  return void 0;
65291
66041
  }
@@ -65429,6 +66179,111 @@ function createDeckStyleHost(options) {
65429
66179
  }
65430
66180
  };
65431
66181
  }
66182
+ function layoutsOf(master) {
66183
+ return master.layoutPaths ?? master.layouts?.map((layout) => layout.path) ?? [];
66184
+ }
66185
+ function withPartTheme(theme, part) {
66186
+ const next = {
66187
+ ...theme,
66188
+ colorScheme: part.colorScheme,
66189
+ fontScheme: part.fontScheme
66190
+ };
66191
+ for (const key of ["formatScheme", "name"]) {
66192
+ if (part[key]) {
66193
+ next[key] = part[key];
66194
+ } else {
66195
+ delete next[key];
66196
+ }
66197
+ }
66198
+ return next;
66199
+ }
66200
+ function reResolveElements(elements, from, to) {
66201
+ const colored = reResolveElementColors(
66202
+ elements,
66203
+ buildThemeColorMap(from.colorScheme),
66204
+ to.colorScheme
66205
+ );
66206
+ return reResolveElementFonts(colored, from.fontScheme, to.fontScheme);
66207
+ }
66208
+ function reResolveSlide(slide, from, to) {
66209
+ const [colored] = reResolveSlideColors(
66210
+ [slide],
66211
+ buildThemeColorMap(from.colorScheme),
66212
+ to.colorScheme
66213
+ );
66214
+ const [themed] = reResolveSlideFonts([colored ?? slide], from.fontScheme, to.fontScheme);
66215
+ return themed ?? slide;
66216
+ }
66217
+ function applyThemeByPath(handler, input) {
66218
+ const { themePath, slideMasters } = input;
66219
+ const candidates = input.applyToAllMasters ? slideMasters : slideMasters.slice(0, 1);
66220
+ const targets = candidates.filter((master) => master.themePath !== themePath);
66221
+ if (!handler || targets.length === 0) {
66222
+ return Promise.resolve(void 0);
66223
+ }
66224
+ return queueThemeWrite(handler, async () => {
66225
+ const next = await handler.getThemePartSchemes(themePath);
66226
+ if (!next) {
66227
+ return void 0;
66228
+ }
66229
+ const previous = /* @__PURE__ */ new Map();
66230
+ for (const master of targets) {
66231
+ previous.set(
66232
+ master.path,
66233
+ master.themePath ? await handler.getThemePartSchemes(master.themePath) : void 0
66234
+ );
66235
+ await handler.setSlideMasterTheme(master.path, themePath);
66236
+ }
66237
+ const masterOfLayout = /* @__PURE__ */ new Map();
66238
+ for (const master of slideMasters) {
66239
+ for (const layout of layoutsOf(master)) {
66240
+ masterOfLayout.set(layout, master.path);
66241
+ }
66242
+ }
66243
+ const fromOf = (slide) => {
66244
+ const layoutMaster = slide.layoutPath ? masterOfLayout.get(slide.layoutPath) : void 0;
66245
+ const masterPath = layoutMaster ?? slideMasters[0]?.path;
66246
+ return masterPath ? previous.get(masterPath) : void 0;
66247
+ };
66248
+ const templates = input.templateElementsBySlideId ?? {};
66249
+ const moved = [];
66250
+ const movedTemplates = {};
66251
+ const recoloured = input.slides.map((slide) => {
66252
+ const from = fromOf(slide);
66253
+ if (!from) {
66254
+ return slide;
66255
+ }
66256
+ const layer = templates[slide.id];
66257
+ if (layer) {
66258
+ movedTemplates[slide.id] = reResolveElements(layer, from, next);
66259
+ }
66260
+ const themed = reResolveSlide(slide, from, next);
66261
+ moved.push(themed);
66262
+ return themed;
66263
+ });
66264
+ const styled = handler.reResolveThemeStyleReferences(moved, movedTemplates);
66265
+ const styledById = new Map(styled.slides.map((slide) => [slide.id, slide]));
66266
+ const slides = recoloured.map((slide) => styledById.get(slide.id) ?? slide);
66267
+ const templateElementsBySlideId = {
66268
+ ...templates,
66269
+ ...styled.templateElementsBySlideId
66270
+ };
66271
+ const first = slideMasters[0];
66272
+ const change = {
66273
+ slides,
66274
+ templateElementsBySlideId,
66275
+ slideMasters: slideMasters.map(
66276
+ (master) => previous.has(master.path) ? { ...master, themePath } : master
66277
+ )
66278
+ };
66279
+ if (!first || !previous.has(first.path)) {
66280
+ return change;
66281
+ }
66282
+ const adopted = await handler.getThemePartSchemes(themePath) ?? next;
66283
+ const theme = withPartTheme(input.theme, adopted);
66284
+ return { ...change, deckTheme: { theme, themeColorMap: buildThemeColorMap(next.colorScheme) } };
66285
+ });
66286
+ }
65432
66287
  var RIBBON_ADD_IN_TAB_ATTR = "data-ribbon-add-in-tab";
65433
66288
  var RIBBON_RESERVED_TAB_IDS = [
65434
66289
  ...TOOLBAR_TABS.map((tab) => tab.id),
@@ -67234,8 +68089,8 @@ function fractionalAxis(client, offset, rect3, borderStart, borderEnd, cssSize,
67234
68089
  }
67235
68090
  const local = bordersKnown ? localBorderBox(cssSize, boxSizing, borders, paddingStart, paddingEnd) : void 0;
67236
68091
  if (local) {
67237
- const plain = !zoomed && Number.isFinite(rect3) && rect3 >= local.low && rect3 <= local.high;
67238
- if (plain) {
68092
+ const plain2 = !zoomed && Number.isFinite(rect3) && rect3 >= local.low && rect3 <= local.high;
68093
+ if (plain2) {
67239
68094
  const size2 = local.exact ? Math.min(rect3, local.floor + LAYOUT_UNIT) : local.floor;
67240
68095
  return Math.max(0, size2 - borders);
67241
68096
  }
@@ -68219,7 +69074,7 @@ var EDIT_POINTS_STYLE = {
68219
69074
  handleSize: 7,
68220
69075
  hitStrokeWidth: 10
68221
69076
  };
68222
- function num13(value) {
69077
+ function num14(value) {
68223
69078
  return String(Math.round(value * 100) / 100);
68224
69079
  }
68225
69080
  function segmentD(frame, geometry, s, i) {
@@ -68228,17 +69083,17 @@ function segmentD(frame, geometry, s, i) {
68228
69083
  const p0 = editLocalToSlide(frame, sub.nodes[i]);
68229
69084
  const p3 = editLocalToSlide(frame, sub.nodes[segmentEndIndex(sub, i)]);
68230
69085
  if (seg.kind === "line") {
68231
- return `M ${num13(p0.x)} ${num13(p0.y)} L ${num13(p3.x)} ${num13(p3.y)}`;
69086
+ return `M ${num14(p0.x)} ${num14(p0.y)} L ${num14(p3.x)} ${num14(p3.y)}`;
68232
69087
  }
68233
69088
  const c1 = editLocalToSlide(frame, seg.c1);
68234
69089
  const c2 = editLocalToSlide(frame, seg.c2);
68235
- return `M ${num13(p0.x)} ${num13(p0.y)} C ${num13(c1.x)} ${num13(c1.y)} ${num13(c2.x)} ${num13(c2.y)} ${num13(p3.x)} ${num13(p3.y)}`;
69090
+ return `M ${num14(p0.x)} ${num14(p0.y)} C ${num14(c1.x)} ${num14(c1.y)} ${num14(c2.x)} ${num14(c2.y)} ${num14(p3.x)} ${num14(p3.y)}`;
68236
69091
  }
68237
69092
  function editGeometryToSlidePath(frame, geometry) {
68238
69093
  const parts = [];
68239
69094
  const at = (p) => {
68240
69095
  const s = editLocalToSlide(frame, p);
68241
- return `${num13(s.x)} ${num13(s.y)}`;
69096
+ return `${num14(s.x)} ${num14(s.y)}`;
68242
69097
  };
68243
69098
  for (const sub of geometry.subpaths) {
68244
69099
  if (sub.nodes.length === 0) {
@@ -68999,7 +69854,7 @@ var HANDLE_ANCHORS = [
68999
69854
  ["sw", 0, 1],
69000
69855
  ["w", 0, 0.5]
69001
69856
  ];
69002
- function fmt5(n) {
69857
+ function fmt6(n) {
69003
69858
  return String(Math.round(n * 1e3) / 1e3);
69004
69859
  }
69005
69860
  function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
@@ -69008,7 +69863,7 @@ function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
69008
69863
  const height = fy === 0.5 ? len : isCorner ? len : thick;
69009
69864
  const left = fx2 === 0 ? 0 : fx2 === 1 ? frameW - width : frameW / 2 - width / 2;
69010
69865
  const top = fy === 0 ? 0 : fy === 1 ? frameH - height : frameH / 2 - height / 2;
69011
- let path = `M0 0 H${fmt5(width)} V${fmt5(height)} H0 Z`;
69866
+ let path = `M0 0 H${fmt6(width)} V${fmt6(height)} H0 Z`;
69012
69867
  if (isCorner) {
69013
69868
  const x0 = fx2 === 0 ? 0 : len;
69014
69869
  const y0 = fy === 0 ? 0 : len;
@@ -69022,7 +69877,7 @@ function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
69022
69877
  [x0 + sx * thick, y0 + sy * len],
69023
69878
  [x0, y0 + sy * len]
69024
69879
  ];
69025
- path = `M${pts.map(([x, y]) => `${fmt5(x)} ${fmt5(y)}`).join(" L")} Z`;
69880
+ path = `M${pts.map(([x, y]) => `${fmt6(x)} ${fmt6(y)}`).join(" L")} Z`;
69026
69881
  }
69027
69882
  return { id, left, top, width, height, path, cursor: CURSORS[id] };
69028
69883
  }
@@ -69040,8 +69895,8 @@ function buildCropOverlay(el, zoom = 1) {
69040
69895
  };
69041
69896
  const hx = frame.x - image.x;
69042
69897
  const hy = frame.y - image.y;
69043
- const outer3 = `M0 0 H${fmt5(image.width)} V${fmt5(image.height)} H0 Z`;
69044
- const hole = `M${fmt5(hx)} ${fmt5(hy)} H${fmt5(hx + frame.width)} V${fmt5(hy + frame.height)} H${fmt5(hx)} Z`;
69898
+ const outer3 = `M0 0 H${fmt6(image.width)} V${fmt6(image.height)} H0 Z`;
69899
+ const hole = `M${fmt6(hx)} ${fmt6(hy)} H${fmt6(hx + frame.width)} V${fmt6(hy + frame.height)} H${fmt6(hx)} Z`;
69045
69900
  const flips = [
69046
69901
  start.flipHorizontal ? "scaleX(-1)" : "",
69047
69902
  start.flipVertical ? "scaleY(-1)" : ""
@@ -72650,6 +73505,14 @@ function sorterPasteInsertAt(indexes, active2, slideCount) {
72650
73505
  return Math.min(slideCount, Math.max(0, (indexes.at(-1) ?? active2) + 1));
72651
73506
  }
72652
73507
 
73508
+ // src/pptx/render/inserted-slide-layout.ts
73509
+ function insertedLayoutCompletion(current, placed) {
73510
+ if (current === placed) {
73511
+ return "replace";
73512
+ }
73513
+ return current?.id === placed.id ? "artwork" : "none";
73514
+ }
73515
+
72653
73516
  // src/pptx/render/viewer-root-options.ts
72654
73517
  var VIEWER_ROOT_OPTION_DEFAULTS = Object.freeze({
72655
73518
  initialSlide: 0,
@@ -81243,7 +82106,7 @@ function definePptxInsertSmartArtDialog(registry2) {
81243
82106
  if (this.#live || this.#draw) {
81244
82107
  return;
81245
82108
  }
81246
- this.#live = import('./smartart-insert-preview-TJEN4WYF.mjs').then((module) => {
82109
+ this.#live = import('./smartart-insert-preview-CGAZP5JP.mjs').then((module) => {
81247
82110
  if (this.#draw || !this.#picker) {
81248
82111
  return;
81249
82112
  }
@@ -87890,6 +88753,119 @@ function openPrintWindow(htmlDocument) {
87890
88753
  return true;
87891
88754
  }
87892
88755
 
88756
+ // src/pptx/export/print-job.ts
88757
+ var PRINT_WHAT = ["slides", "handouts", "notes", "outline"];
88758
+ var SLIDE_RANGES = ["all", "current", "custom"];
88759
+ function printJobTitle(settings) {
88760
+ if (settings.printWhat === "notes") {
88761
+ return { key: "pptx.print.notesPages" };
88762
+ }
88763
+ if (settings.printWhat === "outline") {
88764
+ return { key: "pptx.print.outline" };
88765
+ }
88766
+ if (settings.printWhat === "handouts") {
88767
+ return { key: "pptx.print.handoutPerPageTitle", params: { count: settings.slidesPerPage } };
88768
+ }
88769
+ return { key: "pptx.sections.slides" };
88770
+ }
88771
+ function definedSettings(settings) {
88772
+ return Object.fromEntries(
88773
+ Object.entries(settings).filter(([, value]) => value !== void 0)
88774
+ );
88775
+ }
88776
+ function planPrintJob(settings, deck) {
88777
+ const slideCount = deck.slides.length;
88778
+ const validated = validatePrintSettings(definedSettings(settings), slideCount);
88779
+ if (!PRINT_WHAT.includes(validated.printWhat) || !SLIDE_RANGES.includes(validated.slideRange)) {
88780
+ return { ok: false, reason: "invalid-settings" };
88781
+ }
88782
+ const inDeck = computeSlideIndices(
88783
+ validated.slideRange,
88784
+ deck.activeSlideIndex,
88785
+ slideCount,
88786
+ validated.customRangeFrom,
88787
+ validated.customRangeTo
88788
+ ).filter((index) => Number.isInteger(index) && index >= 0 && index < slideCount);
88789
+ const slideIndices = filterHiddenSlideIndices(
88790
+ inDeck,
88791
+ deck.slides,
88792
+ deck.includeHiddenSlides ?? false
88793
+ );
88794
+ if (slideIndices.length === 0) {
88795
+ return { ok: false, reason: "empty-selection" };
88796
+ }
88797
+ let output = "raster";
88798
+ if (validated.printWhat === "outline") {
88799
+ output = "outline";
88800
+ } else if (validated.printWhat === "slides") {
88801
+ output = "vector";
88802
+ }
88803
+ return {
88804
+ ok: true,
88805
+ settings: validated,
88806
+ printWhat: validated.printWhat,
88807
+ slideIndices,
88808
+ output,
88809
+ openWindowFirst: output === "raster",
88810
+ orientation: validated.orientation,
88811
+ title: printJobTitle(validated)
88812
+ };
88813
+ }
88814
+ function printJobRasterFallback(plan) {
88815
+ if (plan.output !== "vector") {
88816
+ return plan;
88817
+ }
88818
+ return { ...plan, output: "raster", openWindowFirst: true };
88819
+ }
88820
+ function frameSlideSvg(svg2, width, height) {
88821
+ const end = svg2.lastIndexOf("</svg>");
88822
+ if (end < 0) {
88823
+ return svg2;
88824
+ }
88825
+ const frameWidth = Math.max(0, sanitizePixelDimension(width) - 2);
88826
+ const frameHeight = Math.max(0, sanitizePixelDimension(height) - 2);
88827
+ const frame = `<rect x="1" y="1" width="${frameWidth}" height="${frameHeight}" fill="none" stroke="#000" stroke-width="2" />`;
88828
+ return `${svg2.slice(0, end)}${frame}${svg2.slice(end)}`;
88829
+ }
88830
+ function buildOutlinePrintJobDocument(plan, title, slides) {
88831
+ const outline = buildOutlineHtml([...plan.slideIndices], slides);
88832
+ return buildPrintHtmlDocument({
88833
+ title,
88834
+ bodyHtml: `<div class="outline-page">${outline}</div>`,
88835
+ orientation: plan.orientation,
88836
+ colorFilter: computeColorFilter(plan.settings.colorMode),
88837
+ frameSlides: plan.settings.frameSlides,
88838
+ scaleToFit: plan.settings.scaleToFit ?? true
88839
+ });
88840
+ }
88841
+ function buildVectorPrintJobDocument(plan, title, svgs, size2) {
88842
+ const pages = plan.settings.frameSlides ? svgs.map((svg2) => frameSlideSvg(svg2, size2.width, size2.height)) : [...svgs];
88843
+ return buildPrintDocument(pages, size2.width, size2.height, {
88844
+ title,
88845
+ orientation: plan.orientation,
88846
+ colorFilter: computeColorFilter(plan.settings.colorMode),
88847
+ scaleToFit: plan.settings.scaleToFit ?? true
88848
+ });
88849
+ }
88850
+ function buildRasterPrintJobDocument(plan, title, captures, slides, handoutMaster) {
88851
+ const images = captures.map((capture) => capture.dataUrl);
88852
+ const indices = captures.map((capture) => capture.slideIndex);
88853
+ let bodyHtml = buildSlidesHtml(images, indices);
88854
+ if (plan.printWhat === "notes") {
88855
+ bodyHtml = buildNotesHtml(images, indices, slides);
88856
+ } else if (plan.printWhat === "handouts") {
88857
+ bodyHtml = buildHandoutsHtml(images, indices, plan.settings.slidesPerPage, handoutMaster);
88858
+ }
88859
+ return buildPrintHtmlDocument({
88860
+ title,
88861
+ bodyHtml,
88862
+ orientation: plan.orientation,
88863
+ colorFilter: computeColorFilter(plan.settings.colorMode),
88864
+ frameSlides: plan.settings.frameSlides,
88865
+ scaleToFit: plan.settings.scaleToFit ?? true
88866
+ });
88867
+ }
88868
+
87893
88869
  // src/pptx/export/png-crc32.ts
87894
88870
  var table;
87895
88871
  function getTable() {
@@ -88567,4 +89543,4 @@ async function rasterizeElementToDataUrl(node, naturalWidth, naturalHeight, doc,
88567
89543
  // src/pptx/index.ts
88568
89544
  registerPptxWebControls();
88569
89545
 
88570
- export { ACCESSIBILITY_TAB, ACTION_AFFORDANCE_CSS, ACTION_BUTTON_DEFAULT_ACTIONS, ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ADD_INS_TAB, ADVANCED_TAB, AI_OPTIONS_CATEGORY, ALIGN_OPTIONS, ALL_CLASSIFIED_PRESETS, ANGLE_UNITS_PER_RADIAN, ANGLE_UNITS_PER_TURN, ANIMATION_COLOR_BASE_PROPERTIES, ANIMATION_KEYFRAMES_CSS, ARTISTIC_EFFECTS, AUDIENCE_FULLSCREEN_BOUNCE_MS, AUDIENCE_HASH, AUTOFIT_MIN_SHAPE_HEIGHT_PX, AUTOFIT_MODE_OPTIONS, AUTOSAVE_DB_NAME, AUTOSAVE_DB_VERSION, AUTOSAVE_DEFAULT_INTERVAL_MS, AUTOSAVE_DEFAULT_INTERVAL_SECONDS, AUTOSAVE_MIN_INTERVAL_SECONDS, AUTOSAVE_RECOVERY_WINDOW_MS, AUTOSAVE_STORE_NAME, AUTO_HIDE_DELAY_MS, AVATAR_COLOR_SWATCHES, AnimationSequencer, BACKSTAGE_BACK_CLASSES, BACKSTAGE_CARDS, BACKSTAGE_CARD_IDS, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_PAGE_CARDS, BACKSTAGE_PAGE_IDS, BACKSTAGE_SEARCH_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BARN_FILTER_TOKEN_TO_SUBTYPE, BASELINE_FONT_SCALE, BEVEL_PRESETS, BI_LEVEL_THRESHOLDS, BOTTOM_TRIGGER_FRACTION, BRIGHTNESS_CONTRAST_STEPS, BROADCAST_THROTTLE_MS, CANVAS_CONTEXT_MENU_COMMAND_IDS, CANVAS_DIMENSION_CANDIDATES, CATEGORIES, CHART_3D_TYPES, CHART_AXIS_TYPE_LABEL_KEYS, CHART_DATA_LABEL_POSITION_LABEL_KEYS, CHART_ERROR_BAR_DIRECTION_LABEL_KEYS, CHART_ERROR_BAR_VALTYPE_LABEL_KEYS, CHART_GRIDLINE_DASH_LABEL_KEYS, CHART_GROUPING_LABEL_KEYS, CHART_MARKER_SYMBOL_LABEL_KEYS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_SELECTION_ELEMENTS, CHART_SELECTION_FAMILY, CHART_SELECTION_FORMAT, CHART_SELECTION_RESET, CHART_TRENDLINE_LABEL_KEYS, CHART_TYPE_LABEL_KEYS, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, CLOSED_READING_VIEW, COLLABORATION_OFF, COLLAB_LEAVE_MESSAGE, COMBO_SERIES_TYPE_OPTIONS, COMBO_SUPPORTED_TYPES, COMMAND_SEARCH_ENTRIES, COMMENT_ACTIVE_ATTR, COMMENT_ID_ATTR, COMMENT_MARKER_COLOR, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMPAT_TOAST_METRICS, COMPAT_TOAST_VISIBLE_LIMIT, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_ARROW_CONTROLS, CONNECTOR_ARROW_SIZE_VALUES, CONNECTOR_ARROW_VALUES, CONNECTOR_HIT_MIN_WIDTH, CONNECTOR_SITE_SNAP_PX, CONTEXTUAL_TAB_GROUPS, CONTEXT_MENU_EDITOR_LAYER, CONTEXT_MENU_PRESENTATION_LAYER, CROP_ASPECT_GROUP_LABEL_KEYS, CROP_ASPECT_LABEL_KEY, CROP_ASPECT_PRESETS, CROP_FILL_LABEL_KEY, CROP_FIT_LABEL_KEY, CROP_GHOST_OPACITY, CROP_HANDLE_ARIA_KEY, CROP_HANDLE_LENGTH_PX, CROP_HANDLE_THICKNESS_PX, CROP_LABEL_KEY, CROP_MODE_HINT_KEY, CURSOR_PALETTE, DATA_LABEL_CONTENT_OPTIONS, DATA_LABEL_POSITION_OPTIONS, DEBOUNCE_MS, DEFAULT_ANIMATION_TIMING_CURVE, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_BUILD_LEVEL, DEFAULT_CHART_GLOW, DEFAULT_CHART_SHADOW, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_CURSOR_COLOR, DEFAULT_DENSE_BUTTON_PX, DEFAULT_INSERT_CHART_KIND, DEFAULT_INSERT_CHART_TYPE, DEFAULT_LINE_HEIGHT, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_DURATION_MS, DEFAULT_NOTES_FONT_SIZE_PT, DEFAULT_OWNED_USER_NAME, DEFAULT_PALETTE, DEFAULT_POINTER_PRESSURE, DEFAULT_PREVIEW_ELEMENT_CAP, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_RIBBON_TRANSITION_DURATION_SEC, DEFAULT_ROUND_RECT_ADJUSTMENT, DEFAULT_ROW_HEIGHT, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_WIDTH, DEFAULT_TAG_COLLECTION_PATH, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIEWER_SETTINGS, DEFAULT_VIEWER_ZOOM_STATE, DEFAULT_VIRTUAL_OVERSCAN, DESIGN_RIBBON_COMMANDS, DESIGN_RIBBON_GROUPS, DIALOG_ENTRY_POINTS, DISPLAY_UNITS_OPTIONS, DRAWING_TOOL_IDS, DRAW_RIBBON_TOOLS, DRAW_WIDTH_PRESETS, DUOTONE_PRESETS, EASE, EDITABLE_AXIS_ROWS, EDITOR_CHROME_CSS, EDITOR_SHORTCUT_ACTION_IDS, EDITOR_SHORTCUT_DESCRIPTIONS, EDITOR_SLIDE_RAIL_WIDTH, EDITOR_THUMBNAIL_GAP, EDITOR_THUMBNAIL_NUMBER_HEIGHT, EDITOR_THUMBNAIL_ROW_CHROME, EDITOR_THUMBNAIL_WIDTH, EDITOR_VIEWPORT_FIT, EDIT_LAYER_MARKER_ATTRS, EDIT_POINTS_COMMAND_IDS, EDIT_POINTS_DRAG_THRESHOLD_PX, EDIT_POINTS_MENU_COMMAND_IDS, EDIT_POINTS_PATH_SCALE, EDIT_POINTS_STYLE, EDIT_POINTS_TARGET_ATTR, EDIT_POINT_COINCIDENT_EPSILON, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, ELEMENT_CLIPBOARD_MARKER, ELEMENT_CLIPBOARD_MIME_TYPE, ELEMENT_CLIPBOARD_VERSION, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ELEMENT_GEOMETRY_SECTION, ELEMENT_GEOMETRY_SECTIONS, EMPH_FILTER_PRESETS, EMPTY_RESOLVED_CUSTOMIZATION, EMPTY_RIBBON_TRANSITION_DRAFT, EQUATION_TEMPLATES, ERASER_HIT_RADIUS, ERROR_BAR_SUPPORTED_TYPES, ERROR_BAR_TYPE_OPTIONS, ERROR_BAR_VALTYPE_OPTIONS, ERROR_BAR_VALUE_TYPES, EXCLUDED_STYLE_PROPERTIES, EXPANDED_MAX_HEIGHT, EXPLOSION_SUPPORTED_TYPES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EditGeometryPen, EditPointsSession, FEATURE_ENTRY_POINTS, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, FIXED_SPACING_RUN_LINE_HEIGHT, FIXED_TAB_GALLERIES, FLY_SUBTYPE_TO_EDGE, FONT_EMBEDDING_UNAVAILABLE_KEY, FOREIGN_OBJECT_SVG_DATA_URL_PREFIX, FRAGMENT_TRANSITION_KEYFRAMES, FREEFORM_CLOSE_TOLERANCE_FACTOR, FREEFORM_CLOSE_TOLERANCE_MIN_PX, FREEFORM_COORD_SCALE, FREEFORM_FREEHAND_TOLERANCE_PX, FREEFORM_MIN_POINTS, FREEFORM_TOOL_IDS, FREEFORM_TOOL_LABEL_KEYS, FREEFORM_TOOL_STYLE, ForeignObjectRasterError, FreeformToolSession, GENERAL_TAB, GENERIC_FALLBACK_FILTER_FAMILIES, GEOMETRY_MORPH_STEPS, GIF_POST_CAPTURE_MAX_SIDE, GLYPH_ENVELOPE_PRESETS, GOOGLE_FONTS_CSS2_BASE, GOOGLE_WEBFONT_AXIS, GRADIENT_TYPE_OPTIONS, GRIDLINE_DASH_OPTIONS, GROUPED_INSERT_CHART_KINDS, GROUPING_OPTIONS, GROUPING_SUPPORTED_TYPES, GlyphOutlineFontCache, HELP_RIBBON_COMMANDS, HIDDEN_SLIDE_ATTRIBUTE, HIDDEN_SLIDE_DIM_OPACITY, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, HIGHLIGHT_CLEAR_STYLE, HIGHLIGHT_CLICK_FLASH_DURATION_MS, HIGHLIGHT_CLICK_STYLE, HIGHLIGHT_HOVER_STYLE, HOLLOW_HIT_MIN_WIDTH, HOME_CHANGE_CASE_ITEMS, HOME_CHARACTER_SPACING_ITEMS, HOME_COLOUR_KEYS, HOME_COLUMN_ITEMS, HOME_CROP_ITEMS, HOME_DRAWING_ARRANGE_ITEMS, HOME_FONT_SIZE_ITEMS, HOME_HIGHLIGHT_PRESETS, HOME_LAUNCHER_GROUPS, HOME_LINE_SPACING_ITEMS, HOME_MERGE_ITEMS, HOME_SELECT_ITEMS, HOME_SHAPE_ITEMS, HOME_TEXT_DIRECTION_ITEMS, INDENT_PX, INITIAL_READ_ONLY_SESSION, INITIAL_SYNC_GRACE_MS, INLINE_GALLERY_TILE_COUNT, INSERT_CHART_GROUPINGS, INSERT_CHART_TYPES, INSERT_COMMANDS, INSERT_FIELDS, INSERT_GROUPS, INSERT_GROUP_CAPTIONS, INSERT_GROUP_SCALING, INSERT_TABLE_MAX, INSPECTOR_CARD_IDS, INSPECTOR_GALLERIES, INSPECTOR_PANEL_DEFAULT_WIDTH, INSPECTOR_RESET_ACTION_KEYS, INSPECTOR_SECTION_ATTRIBUTE, INSTANT, KEYBOARD_OPEN_THRESHOLD, LANGUAGE_TAB, LAYOUT_FAMILY_MAP, LBL, LEGEND_POSITION_OPTIONS, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINE_PITCH_EM, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LIVE_PATCH_THROTTLE_MS, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, MARKER_SUPPORTED_TYPES, MARKER_SYMBOL_OPTIONS, MATERIAL_PRESETS, MAX_COLOR_DISTANCE, MAX_ENVELOPE_GLYPH_SLICES, MAX_HEIGHT, MAX_INDENT_LEVEL, MAX_LABEL_CHARS, MAX_PARAGRAPH_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MEDIA_FALLBACK_ICONS, MEDIA_FULLSCREEN_OVERLAY_STYLE, MERGE_CURVE_SEGMENTS, MERGE_SHAPES_HINT_KEY, MERGE_SHAPES_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, MERGE_SHAPE_OPERATIONS, MIN_COLUMN_PROPORTION, MIN_COLUMN_WIDTH_FRACTION, MIN_CROP_FRAME_PX, MIN_ELEMENT_SIZE4 as MIN_ELEMENT_SIZE, MIN_ROW_HEIGHT, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOBILE_LANDSCAPE_MAX_HEIGHT, MOBILE_NEXT_THUMB_WIDTH, MODAL_FOCUSABLE_SELECTOR, MORPH_CROSSFADE_EASING, MORPH_CROSSFADE_GROUP_CSS_TEXT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_BLEND_MODE, MORPH_CROSSFADE_HALF_CSS_TEXT, MORPH_CROSSFADE_HALF_STYLE, MORPH_EASING, MORPH_EASING_POINTS, MORPH_FADE_IN_EASING, MORPH_FADE_IN_START_PERCENT, MORPH_FADE_OUT_END_PERCENT, MORPH_FADE_OUT_HOLD_PERCENT, NEUTRAL_SATURATION_PERCENT, NEUTRAL_TEMPERATURE_K, NOMINAL_ENVELOPE_BAND, NORM_AUTOFIT_STEPS, NOTES_BORDER_WIDTH, NOTES_CONTINUATION_HEADER_SIZE, NOTES_FONT_SIZE, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NOTES_GAP, NOTES_LINE_HEIGHT, NOTES_MARGIN, NOTES_PAGE_H, NOTES_PAGE_W, NOTES_SLIDE_FRACTION, NOTES_TOOLBAR_DEFAULT_STATE, NO_ADVANCE_AFTER_TEXT, NUDGE_LARGE, NUDGE_SMALL, NUDGE_STEP, NUDGE_STEP_LARGE, NUM, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, ONLINE_VIDEO_IFRAME_ALLOW, ONLINE_VIDEO_IFRAME_SANDBOX, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SAMPLE_COUNT, OUTLINE_SLIDE_ATTR, OUTLINE_TITLE_ELEMENT_NAME, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PALETTES, PANEL_ENTRY_POINTS, PASTE_OFFSET_PX, PASTE_SPECIAL_OPTIONS, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PICTURE_ADJUST_TILE, PICTURE_ARTISTIC_EFFECTS_GALLERY, PICTURE_ARTISTIC_EFFECT_NAMES, PICTURE_COLOR_GALLERY, PICTURE_CORRECTIONS_GALLERY, PIXELATE_FILTER_VALUES, PIXELATE_IN_KEYFRAMES, PIXELATE_LEVELS, PIXELATE_OUT_KEYFRAMES, PNG_COLOR_TYPE_RGBA, PNG_SIGNATURE, POWERPOINT_BROADCAST_PREFIX, PPTX_OPEN_ACCEPT, PRESENCE_HEARTBEAT_MS, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_INERT_CLICK_SELECTOR, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_CONSOLE_LABEL_KEYS, PRESENTER_CONSOLE_ORDER, PRESENTER_LAYOUT_METRICS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENTER_RAIL_CONTROLS, PRESENTER_RAIL_LABEL_KEYS, PRESENTER_TIMER_SEGMENT_MS, PRESENTER_ZOOM_MAX, PRESENTER_ZOOM_MIN, PRESENTER_ZOOM_STEP, PRESENT_ANNOTATION_OVER_BLACKOUT_Z, PRESENT_ANNOTATION_Z, PRESENT_BLACKOUT_Z, PRESENT_TOOLBAR_CLASSES, PRESENT_TOOLBAR_CONTROLS, PRESENT_TOOLBAR_LABEL_KEYS, PRESENT_TOOLBAR_METRICS, PRESENT_TOOLBAR_ORDER, PRESETS, PRESET_ID_TO_EFFECT, PROOFING_TAB, PROXIMITY_SIZE_RATIO_LIMIT, PROXIMITY_THRESHOLD, PX_PER_CM, PX_PER_INCH, PX_TO_PT, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, QUICK_ACCESS_TAB, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, RASTER_STRATEGY_FALLBACK_WARNING, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RECENT_COLOR_LIMIT, RECENT_SHAPES_HEADING_KEY, RECENT_SHAPES_KEY, RECENT_SHAPES_MAX, RECOLOR_ACCENTS, RECORD_COMMAND_GROUPS, REVIEW_COMMENT_COMMAND_IDS, RGBA_BYTES_PER_PIXEL, RIBBON_ADD_IN_TAB_ATTR, RIBBON_CONTEXTUAL_TABS, RIBBON_CONTEXTUAL_TAB_ATTR, RIBBON_CONTROL_ALIASES, RIBBON_CONTROL_ATTR, RIBBON_CONTROL_CATALOG, RIBBON_CONTROL_ICONS, RIBBON_CONTROL_IDS, RIBBON_GALLERY_ATTR, RIBBON_GALLERY_IDS, RIBBON_GALLERY_ITEM_ATTR, RIBBON_GALLERY_POPUP_ATTR, RIBBON_GROUPS, RIBBON_GROUP_ATTR, RIBBON_GROUP_IDS, RIBBON_HOME_FAMILIES, RIBBON_HOME_INDENT_STEP, RIBBON_MENU_COMMAND_IDS, RIBBON_RESERVED_TAB_IDS, RIBBON_SCOPE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TAB, RIBBON_TAB_IDS, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, RUN_HYPERLINK_ATTR, RUN_PROGRAM_NOTICE_METRICS, SATURATION_PERCENTS, SAVE_FAILED_TOAST, SAVE_FAILED_TOAST_CODE, SAVE_TAB, SCREEN_TIP_CHOICES, SECTION_HEADING, SEL, SELECTION_CONTROL_CSS_VARS, SEPIA_DUOTONE, SETTING_TOGGLES, SEVERITY_GROUPS, SEVERITY_LABELS, SEVERITY_LABEL_KEYS, SHAPE_ADJUSTMENT_MAX, SHAPE_ADJUSTMENT_MIN, SHAPE_BEVEL_OPTIONS, SHAPE_EFFECT_SECTIONS, SHAPE_GALLERY_ITEMS, SHAPE_LINE_SECTION, SHAPE_LINE_SECTIONS, SHAPE_PRESET_DEFS, SHAPE_PRESET_ROWS, SHAPE_PRESET_STYLE_ROWS, SHAPE_QUICK_STYLES, SHAPE_STYLE_COLUMNS, SHAPE_THEME_STYLE_ROWS, SHAPE_THUMB_VIEW_BOX, SHARPEN_SOFTEN_PERCENTS, SHORTCUT_REFERENCE_ITEMS, SLIDE_RAIL_FOOTER_ACTIONS, SLIDE_SHOW_COMMAND_GROUPS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_SORTER_MENU_LABEL_KEYS, SLIDE_TEMPLATES, SLIDE_TEMPLATES_ENTRY_ID, SLIDE_TEMPLATES_ENTRY_KEY, SLIDE_TEMPLATE_IDS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_LABEL_KEYS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_3D_EDIT_LAYER_ATTRIBUTE, SMARTART_CONNECTOR_OPACITY, SMARTART_CONNECTOR_STROKE, SMARTART_CONNECTOR_WIDTH, SMARTART_LABEL_COLOR, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_PREVIEW_FALLBACK_ITEMS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SPLIT_SUBTYPE_TO_VARIANT, STALE_PRESENCE_MS, STATUS_BAR_CLASSES, STATUS_BAR_METRICS, STROKE_DASH_OPTIONS, SUBTITLE_LANGUAGES, SURFACE_WIREFRAME_OPTIONS, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, TABLET_BREAKPOINT, TABLE_CELL_TEXT_DEFAULTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEMPERATURES_K, TEMPLATE_REF_HEIGHT_EMU, TEMPLATE_REF_WIDTH_EMU, TEXT_3D_DEFAULT_EXTRUSION_PT, TEXT_3D_EMU_PER_PT, TEXT_3D_MAX_BEVEL_PT, TEXT_3D_MAX_EXTRUSION_PT, TEXT_BOX_SECTION, TEXT_BOX_SECTIONS, TEXT_BUILD_ID_SEP, TEXT_DIRECTION_OPTIONS, TEXT_WARP_PRESETS, TEXT_WRAP_OPTIONS, THREE_VIEW_EVENTS, TICK_LABEL_POSITION_OPTIONS, TITLE_BAR_CLASSES, TITLE_BAR_DEDICATED_IDS, TITLE_BAR_DEFAULT_FILE_KEY, TITLE_BAR_METRICS, TOOLBAR_BUTTON_DESCRIPTIONS, TOOLBAR_BUTTON_IDS, TOOLBAR_TABS, TRACE_SIZE_PX, TRANSITION_DIR_ARROWS, TRANSITION_DIR_GRID_POSITIONS, TRANSITION_DURATION_MAX_SEC, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PREVIEW_ATTR, TRANSITION_SOUND_CURRENT_VALUE, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRENDLINE_SUPPORTED_TYPES, TRENDLINE_TYPE_OPTIONS, TRUST_TAB, TYPE_LABELS2 as TYPE_LABELS, TYPE_LABEL_KEYS, TimelineEngine, VALIGN_OPTIONS, VIEWER_ADDIN_CATALOG, VIEWER_BACKSTAGE_REGION_IDS, VIEWER_CAPABILITY_DESCRIPTIONS, VIEWER_CAPABILITY_IDS, VIEWER_DIALOG_DESCRIPTIONS, VIEWER_DIALOG_IDS, VIEWER_DIALOG_REGION_DESCRIPTIONS, VIEWER_DIALOG_REGION_IDS, VIEWER_EXPORT_FORMAT_DESCRIPTIONS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_DESCRIPTIONS, VIEWER_FEATURE_IDS, VIEWER_OPTIONS_TABS, VIEWER_PANEL_DESCRIPTIONS, VIEWER_PANEL_IDS, VIEWER_PANEL_REGION_DESCRIPTIONS, VIEWER_PANEL_REGION_IDS, VIEWER_PREFERENCE_TOGGLES, VIEWER_PREFS_STORAGE_KEY, VIEWER_REGION_ATTRIBUTE, VIEWER_REGION_IDS, VIEWER_ROOT_OPTION_DEFAULTS, VIEWER_SHORTCUT_REFERENCE, VIEW_EDITABLE_COMMANDS, ViewerRegionHost, WARP_PATH_GENERATORS, WARP_PRESET_DEFINITIONS, WASHOUT_LUM, WHEEL_SPOKE_COUNTS, WIPE_FILTER_TOKEN_TO_SUBTYPE, WIPE_SUBTYPE_TO_EDGE, ZOOM_MAX_PERCENT, ZOOM_MIN_PERCENT, ZOOM_STEP, _resetCanvasDimensionCache, _resetNativeImageSizeCacheForTests, accentDuotone, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, actionButtonLabelKey, actionTypeNeedsTarget, activateModalFocus, addCommentToList, addEditPoint, addGradientStopPatch, addQuickAccessCommand, addSiblingAfter, addTagToCollections, adjacentComment, adjustGalleryModule, adjustmentRange, advanceChartMarkDrag, advanceMainSequence, advanceStep, alignPatch, angularAdjustmentKeys, annotationCapturesPointer, annotationOverlayZIndex, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationGroupSteps, applyAnimationOpacity, applyAnimationTimelineOrder, applyAutoCorrect, applyChart3DDrag, applyChart3DSelect, applyChartBuildReveal, applyChartElementToggle, applyChartFormatEdit, applyChartFormatField, applyChartRevealDescriptor, applyChartStylePreset, applyColorChange, applyDiagramRevealDescriptor, applyDrawingColorTransforms, applyDuotone, applyElementActionAffordances, applyFontAlignmentFallback, applyHighlightClickStyle, applyInlineCommand, applyInlineTextDraft, applyListStyleUpdate, applyLockedOptions, applyMasterViewCrudAction, applyMediaCommandVerb, applyMediaEndedStep, applyMediaPlaybackAttributes, applyMergeShapesPlan, applyMotionPathPreset, applyNotesLevelDefaults, applyOutlineEdit, applyParagraphCommand, applyPasteSpecialFormat, applyPreferenceToOptions, applyReadOnlySessionEvent, applyReadingViewCommand, applyRehearsalTimings, applyRenderedElementAccessibility, applyReroutedConnectors, applyRibbonGalleryItem, applyRibbonTransitionDraft, applySlideTransitionSound, applySmartArtTextPaneRequest, applySorterAction, applySpatialLayout, applyStepBuildMetadata, applyStyleToSelectedSegments, applyTableCellFontWeight, applyTableStylePreset, applyTextStyleUpdate, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, applyUniformCellPaddingPatch, armEditorKeyboard, arrangeAlignAction, arrangeHomeControls, arrangePainterHomeControls, arrangeShapeHomeControls, asSelectionIds, assemblePng, assertElementUpdateTarget, assignUserColor, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachOverlayKeyboard, attachPresentationVisibilityPause, attachRibbonOverflow, attachRotateHandlePlacement, attachViewerHyperlinks, authorConnectorBetweenSites, authoredLetterSpacingPx, autoFitModeOf, autoFitModePatch, autosaveDisabledReasonKey, autosaveIntervalMs, autosaveRecoveryPrompt, autosaveSnapshotMark, autosaveSourcesChanged, autosaveStatusKind, availableQuickAccessCommands, backstageCardsFor, backstageNavEntries, bar3DShapePatch, beginChartMarkDrag, beginCropDrag, beginShapeAdjustment, beginZoomExcursion, bendEditSegment, bindInlineListParagraph, bindInlineListRun, bindPptxOptionsDialog, blindsDecl, bookmarkOptionValue, bookmarkTriggerPatch, booleanRegions, borrowExternalCollaborationAwareness, boundsOf, boxForAnimation, boxOverlapRatio, boxesOverlap, build3DExtrusionData, buildAbsoluteRotationKeyframe, buildAbsoluteScaleKeyframe, buildActionButtonElement, buildAnimationRibbonPreview, buildAnimationTimelineRows, buildBarActions, buildBehaviorPreview, buildBroadcastConfig, buildBroadcastViewerUrl, buildCacheKey, buildCanvasContextMenuEntries, buildChart3DSpecForElement, buildChartExInsertData, buildChartFormatPaneModel, buildChartQuickActionsDescriptor, buildChartStylePresets, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationShareUrl, buildCollaborationState, buildColorAnimationKeyframes, buildColorInterpolationProps, buildColorTavKeyframe, buildCommentMarkers, buildConnectorElementLookup, buildConnectorGeometry, buildConnectorPathD, buildContextMenuEntries, buildCreateCollaborationConfig, buildCropOverlay, buildCustomGeometryClipPath, buildCustomPathMarkers, buildDeckJson, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildDynamicKeyframe, buildDynamicKeyframes, buildEditPointsMenu, buildEditPointsView, buildElementClipboardPayload, buildEmbeddedFontStyles, buildFieldSubstitutionContext, buildFontFaceRule, buildForeignObjectSvgBody, buildFreeformShapeElement, buildFreeformStrokeGeometry, buildFreeformToolElement, buildFreeformToolGeometry, buildGlowBoxShadow, buildGlyphEnvelope, buildGlyphEnvelopeBlock, buildGoogleFontsFragment, buildGoogleFontsHref, buildHelpRibbon, buildHollowHitOutline, buildHyperlinkPatch, buildIdatChunk, buildIendChunk, buildIhdrChunk, buildImageBiLevelTable, buildImageFitTransform, buildImageLuminanceTransfer, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineStyleText, buildInlineTextCommitPatch, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildLineGlowFilter, buildLineShadowCss, buildLiveInkStrokeView, buildMirrorTiledBackground, buildMorphAnimationRules, buildMorphIncomingAnchoredOrder, buildMorphMergedOrder, buildMorphScopedCss, buildMorphTransitionPlan, buildMotionPathKeyframes, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesPdfBytes, buildNotesPrintHtml, buildNotesTextStream, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOpacityTavKeyframe, buildOptionsBaseline, buildOutline, buildParagraphs, buildPngChunk, buildPptxOptionCategories, buildPresentationAudienceUrl, buildPresentationClickGroups, buildPresentationTouchControlState, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintStyleSheet, buildQueryLinkUrl, buildQuickStylesGallery, buildRasterPictureElement, buildRecordRibbon, buildReviewRibbon, buildRibbonGallery, buildRunEffectStyle, buildRunProgramNotice, buildRunTabLines, buildSectionContextMenuEntries, buildShadowCssFromShapeStyle, buildShareConfig, buildShareUrl, buildSlideOverflowMap, buildSlidePaneContextMenuEntries, buildSlideSorterContextMenuEntries, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArt3DSpecForElement, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPresetNodes, buildSmartArtPreviewElement, buildStepCommand, buildStrokeInterpolationProps, buildStrokeOutline, buildStrokePathD, buildSummaryZoomView, buildSurfaceGeometry, buildSurfaceLabels, buildSvgGradientDef, buildSvgStrokeGradientDef, buildSvgStrokePatternDef, buildTabContext, buildTabRowActionsState, buildTableDataGrid, buildTextBlockStyle, buildTextBlurFilter, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextFillCss, buildTextGlowFilter, buildTextHslFilter, buildTextInnerShadowCss, buildTextRunFilterChain, buildTextShadowCss, buildTextSoftEdgeFilter, buildTextStyleHoldKeyframe, buildTextStyleOverrideCss, buildTextWarpGallery, buildTiledSlidesPdfBytes, buildTimeline, buildTitleBarState, buildTokenMorphAnimations, buildUserFontFaceStyles, buildWarpPath, buildWarpedGlyphOutlinePathD, buildWrapperStyle, buildZoomTransitionOverride, builtinTableStyleMap, calculateContinuationPageMaxLines, calculateNotesPageLayout, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canCreateCollaborationSession, canCropElement, canEditElementPoints, canGoNext, canGoPrevious, canGroupSelection, canJoinCollaborationSession, canMergeShapes, canRemoveTopLevelNode, canRequestDraw, canRequestHome, canRequestInsert, canRequestTransitions, canRequestView, canSetStrokeWidth, canStartBroadcast, canStartShare, canSweepAutosaveSnapshots, canUngroupSelection, canUseClipboard, cancelBuildReveal, cancelCropUpdate, canvasContextMenuLabelKey, canvasToJpegData, captionDisplayText, carryBuildState, cascadeDownPath, cascadeUpPath, cell3DBevelCss, cellImageFillCss, cellParagraphBlocks, cellPatternFillCss, cellRunStyle, cellStyleToCss, centeredSvgTextLines, characterSpacingPatch, chartAxesVisibilityPatch, chartAxesVisibilityState, chartAxisTitlesPatch, chartAxisTitlesState, chartDataLabelsTogglePatch, chartDataSheetLabels, chartEventPathElements, chartFormatContextMenuLabelKey, chartFormatPaneTitle2 as chartFormatPaneTitle, chartFormatTabs, chartFormatTargetAtPoint, chartFormatTargetFromEvent, chartFormatTargetLabel2 as chartFormatTargetLabel, chartPlaceholderLabel, chartSelectionHomeControls, chartStylePresetPalette, chartThreeViewSpec, checkModifyPassword, checkerboardDecl, choices2 as choices, circleOutline, clampCursorPosition, clampFlyoutPosition, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2 as clampPercent, clampPresenterZoom, clampScale, clampShapeAdjustmentValue, clampSorterZoom, clampStep, clampText3dPt, clampZoomScale, classifyExtraConnections, classifyMediaType, classifyTextWarp, clearActiveAnimationGroup, clearAllComments, clearAllLocalViewerData, clearAudienceContent, clearAutosaveRecoveryAcknowledgement, clearAutosaveSnapshots, clearColorChangeCache, clearDuotoneCache, clearLocalAwareness, clearMotionPath, clearNativeImageSizeCache, clearPlaybackTimers, clearPresentationDeck, clearSeriesColor, clearSlideComments, clearStoredViewerPrefs, clearTransitionSound, clientPointToViewBox, clientToChartPoint, clientToSlidePoint, clipPathToPolygon, clipboardHomeControls, cloneElementForPaste, cloneElementUpdates, cloneHeaderFooterDraft, cloneOptions, closeEditPath, closeReadingView, coerceInspectorFieldValue, collaborationStatesEqual, collectAccessibilityIssues, collectChartBuildInfo, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectDiagramBuildInfo, collectExternalFontFaceCss, collectFontFaceCss, collectFontsFromElement, collectReferencedFontFamilies, collectUsedFonts, colorDistance, columnHandleSegments, columnIndexAtFraction, combineTileRowPixels, commentCounts, commentMarkerTitle, commentMentionQuery, commentTextSegments, commitElementUpdateBatch, commitGalleryResult, commitSmartArtNodeFill, commitSmartArtNodeText, comparePresentation, compareSlide, compareSlides, compatToastStackStyle, compatToastStackStyleAttr, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeAutoFitShapeHeightPx, computeAutoFitTextStyle, computeBendingLayout, computeBuildProgress, computeCameraPlacement, computeColumnBoundaries, computeConnectorGeometry, computeCycleLayout, computeDocumentStatistics, computeDrawingViewBox, computeEntranceAnimationDelay, computeExportTilePlan, computeFunnelLayout, computeGearLayout, computeGridExtent, computeGridSpacingPx, computeHierarchyLayout, computeInlineEditorRect, computeKeyboardInset, computeListLayout, computeMarqueeHitIds, computeMatrixLayout, computeMoveFrame, computeNormAutofitShrink, computeNotesPageLayout, computeProcessLayout, computePyramidLayout, computeRadialLayout, computeReadingOrder, computeResizeFrame, computeResizedColumnWidths, computeResizedRowHeight, computeRotateFrame, computeScrollDelta, computeShadeToTitleFillToRect, computeSmartArtElementLayout, computeSmartArtLayout, computeTabSize, computeTabbedLayout, computeTableMergeCrossings, computeTargetLayout, computeTimelineLayout, computeTrendlinePoints, computeVennLayout, computeVirtualRange, computeZOrderSwaps, connectorAdjustmentFraction, connectorArrowPatch, connectorArrowValue, connectorBendFraction, connectorEndpointId, connectorEndpointPoint, connectorHitStrokeWidth, connectorKind, connectorNeedsPath, connectorPresetForSpan, connectorWrapperTransform, contextMenuInspectorAnchor, contextMenuLabelKey, contextMenuViewItems, contextualTabLabelKey, contextualTabsForElement, coordinatesAt, correspondingChildren, countAccessibilityIssues, countTextSegments, countTopLevel, countWords, crc32, createActiveAnimationGroup, createAutosaveController, createAutosaveRecoveryController, createBackstagePresentation, createCollabProvider, createCollaborationLivePatcher, createCollaborationSessionController, createCollaborationStateReporter, createCustomShow, createCustomizationController, createDeckStyleHost, createDefaultChartElement, createDefaultChartUserShapeGroupChild, createEditorHistoryController, createEnvelopeWarp, createGalleryPreviewController, createGestureController, createGlyphOutlineLookup, createGuide, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresencePublisher, createPresentationKeyBuffer, createPresentationSessionId, createPresenterPointer, createPresenterShowGuard, createPresenterTimer, createPreviewEditGuard, createRibbonControlIcon, createSheetDismissGesture, createSlidePackageClipboard, createSlideSorterState, createSyncGate, createTouchGestureRecognizer, createViewerCommandStore, createViewerOptionsStore, createViewerStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, createYjsFactories, cropControlSpec, cropFill, cropFit, cropFrameOf, cropHomeControls, cropModeKeyAction, cropResetPatch, cropResetState, cropSessionChanged, cropToAspectRatio, cropUpdateFromRects, cssCdata, cssEasingForAccelDecel, cssEasingForTimingCurve, cssFontWeightNumber, cssKeyframeName, cubicBounds, cubicPointAt, cursorForTool, customizeBackstageCards, customizeBackstageNav, customizeCanvasContextMenuEntries, customizeContextMenuEntries, customizeOptionsTabs, cycleSelectableElement, dataUrlToBlob, deckJsonFileName, defaultDuration, defaultGradientState, defaultMentionId, defaultRichEnabled, deleteAutosaveSnapshot, deleteEditPoint, deleteEditSegment, deleteMasterViewElements, deleteOldestAutosaveEntry, deleteTagFromCollections, deliverSavedPresentation, demote, derivePresenceList, derivePresetAdjustmentHandles, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeElementChange, describeFontEmbedding, describePptxChart, describeSmartArtBounds, describeSmartArtDiagram, deserializeElementClipboard, designCommandState, detectOrientation, detectTouchDevice, diffOptionsAgainstBaseline, diffSlideElements, diffTokens, diffViewerOptions, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, discardAutosaveRecovery, dispatchChartSelectionRequest, dispatchCropRequest, dispatchEditorKey, dispatchReadOnlyBannerIntent, dispatchStatusBarIntent, dominantDisplacement, downloadBlob, downloadDataUrl, dragCropHandle, drawLabel, drawingHomeControls, drawingShapeLabelColor, drawingShapesLayoutResult, driveBuildReveal, durationOf, eastAsianBreaksForRun, editCommentInList, editFrameFromElement, editGeometryBounds, editGeometryFromElement, editGeometryToElementPatch, editGeometryToPaths, editGeometryToSlidePath, editLocalToSlide, editPointsCommandLabelKey, editPointsElementSignature, editSlideToLocal, editingHomeControls, editorNudgeDelta, editorSlideStep, editorThumbnailHeight, editorThumbnailStep, editorThumbnailWidth, editorViewportFitFor, effectSoundCatalogueEntry, effectiveTextBuildType, effectiveTimingCurve, effectiveZoomScale, effectsStateOf, elementContainerHeightStyle, elementHasTextHyperlink, elementHitTargetStyle, elementIdSelector, elementInLocalFrame, elementOutlineLoops, elementPictureFilename, ellipseArcToCubics, embedImagesOnClone, embeddedFontSaveOptions, emphasisFilterKeyframeCss, emptyGalleryModule, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, encodePngFromPixels, encodePngFromRowBands, endAudienceDisplay, ensureActionAffordanceStyles, envelopeCurveAt, equalizePaths, erasePresentationInkAt, escapeCssAttributeValue2 as escapeCssAttributeValue, escapePdfText, escapeSvgAttr, escapeSvgText, escapeXml, evenColumnWidths, evenRowHeights, executeMediaCommandInDom, expandCapabilities, expandTextBuildAnimations, expandTextRangeAnimations, exportAbortError, exportDeckJson, externalSessionFromCollabSession, extraConnectionCount, extraQuickAccessCommands, extractCssUrl, extractGlyphOutlineCommands, extractStepGraphicElement, eyedropperAvailable, feedSvgPath, fetchAsDataUrl, fetchGoogleWebfontOutlineBytes, fillLeader, fillLeaderWithMeasure, fillModeForClass, filterCommands, filterMenuEntries, filterPixelBlock, filterRenderedElements, filterRowNone, filterVisibleTabs, finalizeClickGroup, findCanvasElementNode, findChartPartElementInEvent, findChartPartInEvent, findChartUserShapeNode, findCommentLocation, findConnectorSiteNear, findEffectSoundCatalogueEntry, findEraserHitElementId, findGoogleFontsFamily, findHighlightClickTarget, findMediaBookmarkGatedSteps, findMediaElementByElementId, findMediaEndGatedSteps, findMetricCompatibleGoogleFontsFamily, findOutlineRow, findPresentationActionTarget, findRibbonAddIn, findSlideStage, findSmartArtNodeText, finishAnimationGroupSteps, finishCropUpdate, finishDomAnimationsForGroup, finishPrintWindow, firstShowSlideIndex, fitGlyphEnvelopeAffine, fitTransformsFromInsets, flattenMorphElements, flattenOutline, flattenSlideElements, flattenTagCollections, flattenViewerOptions, followingText, fontAlignmentVerticalAlign, fontFamilyItems, fontHomeControls, fontMimeForFormat, fontPickerHomeControls, fontStyleShorthand, fontWeightAttribute, fontWeightShorthand, foreignObjectSvgToDataUrl, forgetSessionDeck, formatAdvanceAfterText, formatBackstageDate, formatBackstageSize, formatBytes, formatCursorLabel, formatEditPointsTarget, formatElapsed, formatIsoDate, formatMediaTime, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatSnapshotSize, formatTime, formatVersionTimestamp, fractionalClientSize, freeformCloseTolerance, galleryDeckView, galleryHasItems, galleryItemLabel, galleryTextLabel, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generateElementId, generateFullMorphTransition, generateGeometryMorphAnimation, generateImageCropGhostAnimations, generateImageCropMorphAnimations, generateMorphAnimations, generateMorphGhostAnimations, generateTextMorphAnimations, generateTicks, generateUnmatchedFadeInAnimations, generateUnmatchedFadeOutAnimations, get3DBevelShadow, get3DMaterialFilter, get3DTransformStyle, get3dTransformCss, getAcknowledgedAutosaveRecoveryTimestamp, getActiveInlineListSelection, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAnimationOpacity, getAriaLabel, getAriaRole, getAriaRoleDescription, getArtisticFilterId, getArtisticImageFilter, getAutosaveSnapshot, getBackgroundAnimationLayers, getBackgroundAnimationState, getBevelLightingFilterId, getBevelLightingFilterMarkup, getBevelLightingSvgFilter, getBevelStyle, getBoxShadowCss, getBuiltinTableStyle, getBuiltinTableStyleName, getCachedNativeImageSize, getCachedResult, getCameraTransform, getCellDiagonalBorders, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompositeOuterShadowFilterCss, getCompoundLineOffsets, getCompoundLineWidths, getComputed3dStyle, getComputedEffectStyle, getComputedImageStyle, getComputedStrokeStyle, getConnectionSites, getConnectorEndpointHandles, getContainerStyle, getContourBoxShadow, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetBox, getDensePanelTouchTargetPx, getDiagonalBorders, getDraggedShapeAdjustmentValue, getDraggedShapeAdjustments, getDuotoneCachedResult, getDuotoneFilterId, getDuotoneImageFilter, getDuotoneSvgFilter, getDuotoneSvgFilterMarkup, getEffectDagBlendMode, getEffectDagCssFilter, getEffectDagFillOverlay, getEffectDagFilter, getEffectDagOpacity, getEffectFilterCss, getEffectKeyframes, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementCreationId, getElementMorphName, getEnvelopeCssTransform, getExtrusionBoxShadow, getExtrusionShadow, getFragmentedTransitionDescriptor, getFrameEffectStyle, getFrameInverseTransform, getGlowBoxShadowCss, getGroupChildParentFill, getImageAlphaFilter, getImageAlphaFilterId, getImageBackgroundRemoval, getImageColorWashStyle, getImageCorrectionsFilterTokens, getImageDuotoneFilterId, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFillOverlayFilter, getImageFillOverlayFilterId, getImageFilterCss, getImageFitStyle, getImageOverflow, getImageSharpenFilter, getImageSharpenFilterId, getImageSrc, getImageSvgFilters, getImageTilingStyle, getInitialStyleForEffect, getInlineEditorSelection, getInlineEditorSelectionResult, getInnerShadowCss, getKinsokuLineBreakStyles, getLightAngleFromCamera, getLightRigCss, getLineGlowFilterCss, getLineShadowCss, getLineShadowParams, getLocalStorageUsageSummary, getMaterialCssOverrides, getMaterialFilter, getMaterialGradientOverlay, getMaxCanvasDimension, getMultiLayerShadowCss, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleIconShapes, getOleTypeColor, getOleTypeLabel, getOnlineVideoEmbed, getOuterShadowCss, getOverflowSegments, getP14TransitionAnimations, getPasswordStrength, getPendingSelectionRestore, getPictureFrameLayers, getPictureShadowFilter, getPlaceholderStyle, getPresentationContextMenuSections, getPresetShapeVectorGeometry, getQuickAccessCommand, getReducedMotionStyles, getReflectionWrapperStyle, getRegionRenderer, getResizeHandleHitAreaStyle, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getRoundRectAdjustmentValue, getRoundRectRadiusPx2 as getRoundRectRadiusPx, getSectionLayoutPlan, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSessionTabId, getShapeAdjustmentHandleDescriptor, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getShapeEffectAnimationLayerStyle, getShapeEffectLayerPlacement, getShapeFillOverlay, getSimpleCssTransform, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSpeechRecognitionCtor, getStrokeOnlyPresetPaths, getTableCellBandStyle, getTableResizeScale, getTextAlphaOpacity, getTextBodyRotationTransform, getTextReflectionWrapperStyle, getTouchDistance, getUnrotatedShapeConnectionSites, getViewerOptionsTab, getWarpCssTransform, getWarpPath, ghostMorphPairsHiddenByGhosts, glowStateOf, glowStyle, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, groupDrillChain, groupElementParagraphs, groupIntoParagraphs, groupIssuesBySeverity, groupParagraphsByBuildLevel, groupTilesByRow, handleEditorAnchorClick, handlePresentationStageClick, handleReadingViewKey, handleThreeViewChartEvent, hasAdvancedImageAlphaEffects, hasCommentMentions, hasCrop, hasEffectDagProperties, hasExistingLink, hasGlyphEnvelope, hasGradientFill, hasImageEffects, hasImageFillOverlayEffect, hasImageOverrides, hasMotionPath, hasMultipleSelectedTableCells, hasPersistentAudio, hasPictureFrame, hasShowSlideAfter, hasStrokePaint, hasText3dExtrusion, hasTextWarp, hasTiltData, hasWarpPresetDefinition, hexToRgb, hiddenSlideCue, hiddenSlideLabelId, hideChartSeries, hollowTextFillStyle, homeColourState, homeControlKey, homeFamilyControls, homeFamilyKeys, homeGalleryApply, homeGalleryControls, homeLabel, homeLaunchers, homeShapeGalleryItems, homeShapeValue, homeSnapshotTranslator, hostMenuLabel, hslToRgb, imageAdjustmentsPatch, imageAdjustmentsStateOf, imageCropPatch, imageCropStateOf, imageRectFromCrop, imageResetPatch, imageResetState, incomingSegmentIndex, inferNodeTypes, initialHiddenStyle, initialInspectorOpen, initializeInlineListDom, inkGroupViewBox, inlineComputedStylesOnClone, inlineElementPointerEvents, inlineGalleryItems, innerShadowStateOf, innerShadowStyle, insertChartPreviewSvg, insertCommentMention, insertControlStatus, insertEntryEnabled, insertHyperlinkAtSelection, insertLabel, inspectorFieldPatch, inspectorNumber, inspectorTogglePatch, interpolateColor, interpolateOutline, interpolatePaths, interpolateSmartArtPalette, isActionButton, isActionHidden, isAdditiveSelectionPress, isArrowedCustomPath, isArtisticEffectRendered, isAudienceDisplayHash, isAudienceDisplayTab, isAudienceTab, isBackstagePageVisible, isBlackboardActive, isBookmarkGated, isBrowserOpenableMime, isChart3DViewEnabled, isChartTitleEvent, isClickAdvanceAllowed, isColumnBoundaryMergedAt, isCornerHandle, isDensePanelCompact, isDialogAvailable, isDrawingToolVisible, isEastAsianChar, isEditPointsCandidate, isEditPointsEnabled, isEditableMotionPath, isEditingAllowed, isEditorControlTarget, isEditorTextInputTarget, isElementActionable, isElementHidden, isElementMarkedDecorative, isElementRendered, isEquationOnlyText, isExportAbortError, isFeatureEnabled, isFontFamilyAvailable, isFontFamilyInstalledLocally, isForwardedEditLayerEvent, isFreeformStrokeClosed, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isIdentityRectClip, isImageTiled, isInBottomTriggerZone, isInertMorphPair, isInjectableUrl, isKeyboardOpen, isKoreanLanguage, isLegacyBinaryPresentation, isLinkedTextBox, isLinkedTextBoxHead, isMasterViewEditable, isMediaCommandAnimation, isMediaEndGated, isMediaFullscreenActive, isMergeableElement, isMixedContentBlocked, isMobileViewport, isNavigationAction, isNoOpPresentationAction, isOptionLocked, isOptionsPageVisible, isOutlineViewDismissKey, isPanelVisible, isPatternPaint, isPeerToPeerShare, isPictureElement, isPointInRegion, isPresenceFresh, isPresentationAdvanceClick, isPresentationAudience, isPresentationSessionMessage, isRegionReplaced, isReviewCommentCommand, isRibbonControlId, isRibbonControlVisible, isRibbonGroupId, isRibbonGroupVisible, isRoutedToLegacyBevelShadow, isRowBoundaryMergedAt, isRunHyperlinkClickable, isSafeSvgMarkup, isSameArtisticEffect, isSameBrowserRoom, isSeriesUsingSecondaryAxis, isSettingLocked, isSettingVisible, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTabletViewport, isValidRoomId, isVerticalTextDirection, isWedgeCalloutPresetShape, issueTrackKey, issueTypeLabel, lastShowSlideIndex, latexToMathMl, layoutEnvelopeBlock, leaderGlyph, lerpColor, lineHeightToPx, lineSpacingPatch, listAutosaveSnapshots, listBackstageRecentFiles, listChartFormatTargets, listChartUserShapeRows, listCommentLocations, listMediaBookmarkOptions, listenForOutlineViewDismiss, loadAudienceContent, loadPresentationDeck, loadSessionDeck, lockResizeAspect, makeCloneId, mapAwarenessCursors, mapCustomizedEditorKey, mapDuotonePixels, mapEditingWheel, mapEditorKey, mapInlineEditorChord, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapReadingViewKey, mapSlideShowStartKey, mapSlideSorterKey, markAnimationGroupActive, markerPath, maskEdgeDecl, maskEdgeInitialStyle, maskEdgePartialDecl, maskShapeDecl, maskShapeInitialStyle, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewOwnerElementId, masterViewPartForElement, masterViewParts, masterViewPseudoSlide, matchCommentMentionAuthors, matchGoogleWebfontFragments, matchMorphElements, matchMorphElementsFull, matchSlideSizePreset, matchTextTokens, matchesShortcutChord, mayLeaveSlideShow, measureAutoFitContentHeightPx, measureGlyphAdvances, measureNormAutofitStepHeightPx, measurePreviewGeometry, measureSvgViewportRect, measureTextWidth, measureViewportClientSize, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaSurfaceOf, mediaTimeFromPointer, mediaTimelineGeometry, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mediaTrimRangeForDrag, mediaTrimResetPatch, mediaTrimResetState, mergeAdditiveSelection, mergeCaptionResults, mergeCoincidentHandles, mergeCustomization, mergeImageEffects, mergeOperationForCommand, mergePresentationSnapshot, mergeSegments, mergeText3d, mergeTextStyleOnStart, mergeViewerOptions, mixHex, mobileElapsedSince, mobileNextThumbSize, mobileSlideCounter, modalActiveElement, modalFocusableElements, morphGroupChildPairs, morphImageCropChanged, morphOptionToMode, morphPairIncomingFadesIn, morphPairNeedsCrossfade, morphTextReplacedInSlot, motionPathEndFraction, motionPathEndPixel, motionPathFor, motionPathFractionPoints, motionPathNativeAnimations, motionPathToSvgD, moveAnimationTimelineRowBy, moveEditHandle, moveEditNode, moveGuide, movePresenterPointer, moveQuickAccessCommand, moveSelection, mruColorsPatch, msToFrameDelayCs, nearestCubicParam, nearestLineParam, needsMorphFlattening, needsOwnedSession, needsSvgArtisticFilter, nestedTextDecorationStyle, newEquationElement, newFieldElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextAutosaveDelayMs, nextPresentedSlide, nextShowSlideIndex, normalizeAccelDecel, normalizeArrow, normalizeFontFormat, normalizeNotesLinkUrl, normalizeOutlinePair, normalizeRegion, normalizeSegments, normalizeSubtitleSettings, normalizeWheelDelta, notesSegmentsToSpans, nudgeDelta, numberControl, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeViewportClientSize, officeColorSwatchLabel, oleActionsVisible, ooxmlDashToCssBorderStyle, openAutosaveDb, openBoundaryRuns, openCollaborationYSession, openEditPathAtNode, openFilePicker, openNativeEyeDropper, openOwnedCollaboration, openPendingPrintWindow, openPptxFile, openPrintWindow, openReadingView, openUrlInNewTab, optionValueKey, optionsBlockSlot, optionsPaneSlot, optionsSettingIdOf, outerShadowStateOf, outerShadowStyle, outgoingSegmentIndex, outlineBounds, outlinePathData, outlineRowKey, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, overlayPointerInput, paintDefs, paintedElementSize, paintedStrokeWidth, paletteColour, panCropImage, paragraphGroupText, paragraphHomeAction, paragraphHomeAlign, paragraphHomeControls, paragraphsToSegments, parseAdvanceAfterMs, parseAudienceNonce, parseBookmarkOptionValue, parseCropValue, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseEditPointsTarget, parseFontWeightName, parseGradientCssStops, parseHexColor, parseHexToRgb, parseMediaCommand, parseOoxmlBezierCurve, parseOptionValueKey, parseOptionsSettingId, parsePathPoints, parsePolygonPoints, parsePresentationSessionId, parsePt, parseSegmentsFromRichEditor, parseShortcutChord, parseSvgPath, parseViewBox, partitionMasterViewElements, pasteElementHasText, patchChartData, patchHeaderFooterDraft, pathCoordinates, pauseAllPersistentAudio, pendingElementStyles, pickColorByClickFallback, pictureAdjustTileSvg, pictureArtisticSections, pictureColorSections, pictureCorrectionsSections, pictureEffects, pictureSizeHomeControls, pieceLetterSpacing, placeAudienceWindow, placeCaretAt, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, planGifFrames, planMergeShapes, playAnimationRibbonPreview, playFeedbackSound, playGroup, playSlideTransitionPreview, pointFromPointerEvent, pointsToSvgPathD, polygonRegionBounds, powerPointAccelDecelProgress, pptxChartFormatKey, pptxChartFormatSource, pptxOptionsLabels, prefersReducedMotion, prepareElementForInsertion, prepareElementUpdateBatch, prepareElementsForPaste, presenceEntriesEqual, presenceListsEqual, presenceToCursors, presentToolbarBlackboardActive, presentToolbarCssVars, presentToolbarStyleAttr, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presentationSaveMimeType, presentationSnapshotsEqual, presentationViewItems, presenterConsoleAction, presenterConsoleCssVars, presenterConsoleStyleAttr, presenterConsoleViewState, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previewGalleryResult, previousShowSlideIndex, primaryMasterViewPart, probeAutosaveRecovery, probeMaxCanvasDimension, probeNativeImageSize, projectDrawingShapes, projectSmartArtViewBoxRect, promote, proportionalLineHeight, pruneExpiredAutosaveSnapshots, publishLiveGeometry, publishLiveInlineText, pushRecentColor, pushRecentShape, px2 as px, quadToCubicControls, quickStyleShapeStyle, quickStyleSwatchCss, quickStyleSwatchStyleAttr, radarStylePatch, randomBarsBandDecl, rasterResultToPngBlob, rasterResultToPngDataUrl, rasterizeElement, rasterizeElementClampedToCanvas, rasterizeElementTiledToCanvas, rasterizeElementTiles, rasterizeElementToDataUrl, rasterizeForeignObjectSvg, rasterizeWindow, readBackstageRecentFile, readCropInsets, readEditPointsTarget, readEditableText, readEditorSegments, readElementParagraphs, readFontFileStyle, readInlineListNativeSnapshot, readInlineListSelection, readInlineListSnapshot, readListActivationSelection, readOnlyBannerState, readOnlyBannerVisible, readOnlyLocked, readOnlyRecommendation, readOnlySessionActions, readRecentShapes, readRibbonTransitionDraft, readSlideShowOption, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, reanchorEditFrame, rebaseOptions, rebuildDrawingShapesIfCleared, recentColorsGridView, recolorInheritedText, reconcileInlineListFormatting, reconcileInlineListSnapshot, recordProgressPercent, recordTableCellBold, redirectExitShapeByDirection, redirectMaskEffectByFilterSubtype, redistributeColumnWidth, reduceReadOnlySession, reduceViewerZoom, reflectionStateOf, reflectionStyle, reflowRibbon, reflowSmartArtData, reflowToDrawingShapes, regionArea, registerCollaborationTeardown, registerCrossSlideAudio, registerInlineListParagraphFormat, registerInlineListRunStyle, registerPersistentAudio, registerPptxWebControls, releasePptxRenderCaches, rememberSessionDeck, removeCommentFromList, removeCommentFromSlides, removeEmptyNode, removeGradientStopPatch, removeGuide, removeQuickAccessCommand, renderSparklineSvg, renderedImageCorrections, reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replacePixels, replyToCommentInList, reportInlineTextDraft, rerouteConnectorsForMovedElements, resamplePolygon, resetChartFormatTarget, resetGlyphEnvelopeMeasureCache, resetGlyphTraceCache, resetGoogleWebfontSessionCache, resetMetricTrackingCache, resetPresenterTimer, resetSlideLayoutPath, resizeSelection, resolve3DRenderingFlags, resolveAccentHex, resolveActionType, resolveActiveRibbonAddIn, resolveActiveRibbonTab, resolveAnimationCss, resolveAnimationEnd, resolveAnimationStart, resolveAnimationWheelSpokeCount, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveFileKey, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartBuildMode, resolveChartFormatTarget, resolveChartRevealDescriptor, resolveChartThreeViewSpec, resolveCollaborationConfig, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveColorAnimationTargets, resolveColorChangedImageSource, resolveConnectorEndpointUpdate, resolveCssProperties, resolveCssTextAlign, resolveCustomization, resolveDefaultPrintSettings, resolveDiagramBuildMode, resolveDiagramRevealDescriptor, resolveDirection, resolveDirection8, resolveDisplaySlideNumber, resolveDrawingShapeNodeId, resolveEastAsianBreakOptions, resolveEditPointsAvailability, resolveEffect, resolveEffectiveEndCondition, resolveEffectiveHiddenActions, resolveEffectiveStartCondition, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementOutline, resolveEmbeddedFontClearBytes, resolveExpiredAutosaveSnapshots, resolveExportBaseName, resolveExportCaptureDecision, resolveFieldDateText, resolveFilterEffect, resolveFilterPresetSubtype, resolveFontItalic, resolveFontKerning, resolveFontRefIdx, resolveFontVariant, resolveFontWeight, resolveForwardSlideWithZoomReturn, resolveGoogleFontsFace, resolveGoogleWebfontHref, resolveGroupChildFill, resolveGroupDoubleClickTarget, resolveGroupPressTarget, resolveHighlightClickForElementId, resolveHistoryDepth, resolveHyperlinkTargetAttrs, resolveImageResolutionPpi, resolveImageResolutionScale, resolveInitialSlideIndex, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveInsertSlideLayout, resolveInsertedFieldText, resolveInspectorSections, resolveKeyboardCustomization, resolveLayoutFamily, resolveLineHeight, resolveLiveCustomGeometryPath, resolveMediaBookmarkTimesMs, resolveMediaTimeNodeElementIds, resolveMetricTracking, resolveMetricTrackingPx, resolveMorphCrossfadeGroups, resolveMorphGhostIds, resolveMorphOverlayArrivals, resolveMorphOverlayLayers, resolveNotesLevelStyle, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleEditorKind, resolveOleType, resolveOleVerbTarget, resolveOnlineVideoEmbed, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphSpacing, resolveParagraphStrutFontSize, resolvePresentationAction, resolvePresentationClick, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveRunEquation, resolveRunFont, resolveRunHyperlink, resolveRunRuby, resolveSchemeColor, resolveScreenTip, resolveScriptFontSet, resolveSecondaryAxisId, resolveSelectionPaneRename, resolveShadeToTitleBackgroundImage, resolveShadeToTitleRect, resolveShapeGeometry, resolveShowBackward, resolveShowForward, resolveShowSlideIndexes, resolveSlideOutlineElements, resolveSlidePaneClick, resolveSlideSizeSelection, resolveSlideTitle, resolveSlideTransition, resolveSmartArt3DLayout, resolveSmartArtThreeViewSpec, resolveStatusBarSave, resolveStepBuildDescriptor, resolveStyleDiagonalBorders, resolveSummaryZoomNavigation, resolveSummaryZoomTileNavigationTarget, resolveTableStyleCell3D, resolveTableStyleEntry, resolveTemplateBackgroundRows, resolveTextAlignLast, resolveTextBodyColumns, resolveTextBodyRectPadding, resolveTextOutlineDashCss, resolveTextOverflowClip, resolveTextStyleAnimation, resolveTextStyleOnCleanup, resolveTitleBarStatusKey, resolveTitleBarStrip, resolveTrackedTextWidth, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveUnderlineLineDecoration, resolveUnlistedChartFormatTarget, resolveVertOverflowEllipsisStyle, resolveVerticalAnchorJustifyContent, resolveViewerAddinRows, resolveViewerAddinStatus, resolveViewerRootOptions, resolveViewportFitOptions, resolveVisibleRibbonTabs, resolveWheelSpokeCount, resolveZoomExcursionEndIndex, resolveZoomNavigationTarget, restoreEditorKeyboardFocus, restoreFilteredSeries, restoreInlineListBodySelection, restoreParagraphMetadata, restoreSegmentSelection, restoreSessionDeck, resumeAllPersistentAudio, revealComment, revealedElementStyles, revealedSmartArtNodeCount, revealedStageCount, rgbToHex, rgbToHsl, rgbaToHex, ribbonAddInControlId, ribbonAddInGroupViews, ribbonControlAttrs, ribbonCustomizationCss, ribbonGroupAttrs, ribbonGroupOfControl, ribbonGroupViews, ribbonTransitionStockSoundUrl, ribbonTransitionTargets, ribbonTransitionUpdates, ribbonTransitionsDraftPatch, ribbonTransitionsSoundChange, roundedRectOutline, routeEditLayerPointerToNodes, rowHandleSegments, rowIndexAtOffset, rulerDragToGuidePosition, runEditPointsCommand, runEquationMathMl, runMediaCommand, runPresentationAction, runProgramNoticeStackStyle, runProgramNoticeStackStyleAttr, runReadOnlyPasswordCheck, runReviewCommentCommand, runRibbonAddInCommand, safeColor, sameArray, sameHex, sameRegionContext2 as sameRegionContext, sameRenderer2 as sameRenderer, sampleColorFromSlide, sampleImageCropMorphSteps, sampleWarpPresetCurve, sanitizeAvatarUrl, sanitizeColor, sanitizeCssDeclaration, sanitizeDownloadFilename, sanitizeMathMl, sanitizeOrientation, sanitizePixelDimension, sanitizePresence, sanitizeSlideIndex, sanitizeUserName, saveAutosaveSnapshot, saveElementAsPicture, saveFailureMessage, saveViewerProfile, savedPresentationFileName, scaleFontSizeForAutoFit, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, scrollInspectorSectionIntoView, sectionAddAfterSlideIndex, sectionContextMenuLabelKey, secureRandomToken, secureRandomUuid, seedBroadcastFields, seedHyperlinkDraft, seedRecentColors, seedShareFields, seedShareSessionFields, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, select, selectGoogleWebfontFamilies, selectSorterSlide, selectTrustedEmbeddedFonts, selectedBookmarkOptionValue, selectedParagraphBulletKind, selectionBounds, selectionBulletKind, serializeElementClipboard, serializeShapeAdjustments, serializeSvgPath, seriesColorClearState, seriesSecondaryAxisPatch, setCachedResult, setDataLabelsRangeCache, setDuotoneCachedResult, setEditNodeType, setEditSegmentKind, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingCaretPoint, setPendingSelectionRestore, setSelectionBullets, setTriggerBookmark, shapeFillChange, shapeGalleryItem, shapeGalleryItemForValue, shapeGallerySections, shapeOutlineChange, shapeQuickStyleLabel, shapeQuickStylePatch, shapeStyleWithoutFormatting, shapeThumbnailPath, shapeTileSvg, sheetAfterNavigate, shortestRotationTarget, shouldAutoFollowBroadcaster, shouldAutoHide, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldGeometryMorph, shouldLoopContinuously, shouldOpenInProtectedView, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldSeekAnimationGroup, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, signedLoopArea, signedPercent, simplifyFreeformVertices, simplifyLoop, slideBackgroundClearPatch, slideBackgroundClearState, slideClipboardLabels, slidePaneContextMenuLabelKey, slidePaneViewItems, slideProgressPercent, slideShowOptionChange, slideSizeFromCanvasPx, slideSizeFromPreset, slideSizeOrientation, slideSizeToCanvasPx, slideSorterContextMenuLabel, slideSorterPasteIndexes, slideStatusLabel, slidesHomeControls, smartArtCategoryDescriptionKey, smartArtCategoryLabelKey, smartArtConnectorPaint, smartArtLayoutLabel, smartArtLayoutSwitchPatch, smartArtNodeAriaLabel, smartArtNodeAtPoint, smartArtNodeLabel, smartArtPresetLabelKey, smartArtTextPaneLabels, smartArtTextPaneView, smartArtThreeViewSpec, snapBoxToGrid, snapMoveToSpanGuides, softEdgeStateOf, solveShapeAdjustmentValue, solveShapeAdjustments, sortEntranceAnimations, sorterGridColumns, sorterMenuContext, sorterPasteInsertAt, sorterSelectionIndexes, splitCubic, splitEastAsianBreaks, splitEastAsianRunPieces, splitRegionComponents, splitRunByScriptFont, splitRunForMetrics, splitStyledRun, splitWordsForUnderline, splitsUnderlineIntoWords, startCropSession, startMediaAutoplay, startRotationFrame, statusBarState, statusBarViewMode, stepPresenterZoom, stitchContinuousGradientFill, stopAllPersistentAudio, storeAudienceContent, storePresentationDeck, straddlingStrokeWidth, stripEditLayerMarkers, stripUnderlineDecoration, strokeOnlyPresetPathData, strokeOutlineViewBox, strokeToInkElement, strokeWidthOf, styleShadowFilter, substituteFieldText, subtitleLanguageLabel, subtitleRecognitionLanguage, subtitleSettingsFromOptions, subtitleSettingsLabels, supportsAltTextField, supportsCssLinearEasing, supportsTitleField, suppressesCssBorder, surfaceVertexWorldPosition, surfaceWireframePatch, svgArcToCubics, svgGradientFillRef, svgGradientId, svgGradientMarkup, svgId, svgLineCap, svgTile, svgToDataUrl, swapPresentationWindows, switchSmartArtLayoutData, syncGoogleWebfontStylesheet, tabRowActionsAttributes, tableCellCss, tableCellFillColorCommitPatch, tableCellPointerIntent, tableCellTextColorCommitPatch, tableContainerCss, tableInspectorPatch, tableInspectorStateOf, tableLayoutCells, takePendingCaretPoint, templateSchemeFromTheme, text3dEmuToPt, text3dFieldsPatch, text3dInheritsFromTemplate, text3dPtToEmu, text3dStylePatch, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textBuildSpanStyle, textControl, textDirectionPatch, textWarpStyle, textWrapOf, textWrapPatch, themeColorGridCommit, themeColorGridView, themeShapeStyleXml, threeViewStateOf, tileRectToSourceRect, tileSpecFromShapeStyle, timingCurveToCss, titleBarCssVars, titleBarStyleAttr, titleBarTone, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toElementAxes, toGestureTransform, toSlideIndex, toggle, toggleBlackboard, toggleCommentResolvedInList, toggleInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, toggleText3dExtrusionPatch, tokenizeText, toleranceToThreshold, traceGlyphOutlineCommands, trackActiveComment, transformConnectionSite, transformInlineListCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, transitionsLabel, translateChartFormatText2 as translateChartFormatText, translateMotionPath, travelledBox, trimmedMediaDurationMs, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateMasterViewElement, updateOuterShadowPatch, updateReflectionPatch, updateSubtitleSettings, updateTagInCollections, updateViewerPreference, vAlignPatch, validateMediaTrimRange, validatePasswordPair, validateRoomId, viewLabel, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, viewerZoomPercent, visibleContextualTabs, visibleRibbonAddIns, warpPreviewPath, wasWrittenByThisPage, wheelDecl, wireMediaBookmarkSteps, wireMediaEndedSteps, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withHomeGalleries, withInlineListDecorationDefaults, withNodeAtPath, withRecordEntry, withSaveFailureToast, withSlideSizeOrientation, wrapForeignObjectSvg, wrapNotesText, writeBackReport, writeElementParagraphs, writeStoredViewerPrefs, zeroDelayCssAnimation, zoomInPercent, zoomInScale, zoomOutPercent, zoomOutScale };
89546
+ export { ACCESSIBILITY_TAB, ACTION_AFFORDANCE_CSS, ACTION_BUTTON_DEFAULT_ACTIONS, ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ADD_INS_TAB, ADVANCED_TAB, AI_OPTIONS_CATEGORY, ALIGN_OPTIONS, ALL_CLASSIFIED_PRESETS, ANGLE_UNITS_PER_RADIAN, ANGLE_UNITS_PER_TURN, ANIMATION_COLOR_BASE_PROPERTIES, ANIMATION_KEYFRAMES_CSS, ARTISTIC_EFFECTS, AUDIENCE_FULLSCREEN_BOUNCE_MS, AUDIENCE_HASH, AUTOFIT_MIN_SHAPE_HEIGHT_PX, AUTOFIT_MODE_OPTIONS, AUTOSAVE_DB_NAME, AUTOSAVE_DB_VERSION, AUTOSAVE_DEFAULT_INTERVAL_MS, AUTOSAVE_DEFAULT_INTERVAL_SECONDS, AUTOSAVE_MIN_INTERVAL_SECONDS, AUTOSAVE_RECOVERY_WINDOW_MS, AUTOSAVE_STORE_NAME, AUTO_HIDE_DELAY_MS, AVATAR_COLOR_SWATCHES, AnimationSequencer, BACKSTAGE_BACK_CLASSES, BACKSTAGE_CARDS, BACKSTAGE_CARD_IDS, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_PAGE_CARDS, BACKSTAGE_PAGE_IDS, BACKSTAGE_SEARCH_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BARN_FILTER_TOKEN_TO_SUBTYPE, BASELINE_FONT_SCALE, BEVEL_PRESETS, BI_LEVEL_THRESHOLDS, BOTTOM_TRIGGER_FRACTION, BRIGHTNESS_CONTRAST_STEPS, BROADCAST_THROTTLE_MS, CANVAS_CONTEXT_MENU_COMMAND_IDS, CANVAS_DIMENSION_CANDIDATES, CATEGORIES, CHART_3D_TYPES, CHART_AXIS_TYPE_LABEL_KEYS, CHART_DATA_LABEL_POSITION_LABEL_KEYS, CHART_ERROR_BAR_DIRECTION_LABEL_KEYS, CHART_ERROR_BAR_VALTYPE_LABEL_KEYS, CHART_GRIDLINE_DASH_LABEL_KEYS, CHART_GROUPING_LABEL_KEYS, CHART_MARKER_SYMBOL_LABEL_KEYS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_SELECTION_ELEMENTS, CHART_SELECTION_FAMILY, CHART_SELECTION_FORMAT, CHART_SELECTION_RESET, CHART_TRENDLINE_LABEL_KEYS, CHART_TYPE_LABEL_KEYS, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, CLOSED_READING_VIEW, COLLABORATION_OFF, COLLAB_LEAVE_MESSAGE, COMBO_SERIES_TYPE_OPTIONS, COMBO_SUPPORTED_TYPES, COMMAND_SEARCH_ENTRIES, COMMENT_ACTIVE_ATTR, COMMENT_ID_ATTR, COMMENT_MARKER_COLOR, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMPAT_TOAST_METRICS, COMPAT_TOAST_VISIBLE_LIMIT, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_ARROW_CONTROLS, CONNECTOR_ARROW_SIZE_VALUES, CONNECTOR_ARROW_VALUES, CONNECTOR_HIT_MIN_WIDTH, CONNECTOR_SITE_SNAP_PX, CONTEXTUAL_TAB_GROUPS, CONTEXT_MENU_EDITOR_LAYER, CONTEXT_MENU_PRESENTATION_LAYER, CROP_ASPECT_GROUP_LABEL_KEYS, CROP_ASPECT_LABEL_KEY, CROP_ASPECT_PRESETS, CROP_FILL_LABEL_KEY, CROP_FIT_LABEL_KEY, CROP_GHOST_OPACITY, CROP_HANDLE_ARIA_KEY, CROP_HANDLE_LENGTH_PX, CROP_HANDLE_THICKNESS_PX, CROP_LABEL_KEY, CROP_MODE_HINT_KEY, CURSOR_PALETTE, DATA_LABEL_CONTENT_OPTIONS, DATA_LABEL_POSITION_OPTIONS, DEBOUNCE_MS, DEFAULT_ANIMATION_TIMING_CURVE, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_BUILD_LEVEL, DEFAULT_CHART_GLOW, DEFAULT_CHART_SHADOW, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_CURSOR_COLOR, DEFAULT_DENSE_BUTTON_PX, DEFAULT_INSERT_CHART_KIND, DEFAULT_INSERT_CHART_TYPE, DEFAULT_LINE_HEIGHT, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_DURATION_MS, DEFAULT_NOTES_FONT_SIZE_PT, DEFAULT_OWNED_USER_NAME, DEFAULT_PALETTE, DEFAULT_POINTER_PRESSURE, DEFAULT_PREVIEW_ELEMENT_CAP, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_RIBBON_TRANSITION_DURATION_SEC, DEFAULT_ROUND_RECT_ADJUSTMENT, DEFAULT_ROW_HEIGHT, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_WIDTH, DEFAULT_TAG_COLLECTION_PATH, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIEWER_SETTINGS, DEFAULT_VIEWER_ZOOM_STATE, DEFAULT_VIRTUAL_OVERSCAN, DESIGN_RIBBON_COMMANDS, DESIGN_RIBBON_GROUPS, DIALOG_ENTRY_POINTS, DISPLAY_UNITS_OPTIONS, DRAWING_TOOL_IDS, DRAW_RIBBON_TOOLS, DRAW_WIDTH_PRESETS, DUOTONE_PRESETS, EASE, EDITABLE_AXIS_ROWS, EDITOR_CHROME_CSS, EDITOR_SHORTCUT_ACTION_IDS, EDITOR_SHORTCUT_DESCRIPTIONS, EDITOR_SLIDE_RAIL_WIDTH, EDITOR_THUMBNAIL_GAP, EDITOR_THUMBNAIL_NUMBER_HEIGHT, EDITOR_THUMBNAIL_ROW_CHROME, EDITOR_THUMBNAIL_WIDTH, EDITOR_VIEWPORT_FIT, EDIT_LAYER_MARKER_ATTRS, EDIT_POINTS_COMMAND_IDS, EDIT_POINTS_DRAG_THRESHOLD_PX, EDIT_POINTS_MENU_COMMAND_IDS, EDIT_POINTS_PATH_SCALE, EDIT_POINTS_STYLE, EDIT_POINTS_TARGET_ATTR, EDIT_POINT_COINCIDENT_EPSILON, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, ELEMENT_CLIPBOARD_MARKER, ELEMENT_CLIPBOARD_MIME_TYPE, ELEMENT_CLIPBOARD_VERSION, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ELEMENT_GEOMETRY_SECTION, ELEMENT_GEOMETRY_SECTIONS, EMPH_FILTER_PRESETS, EMPTY_RESOLVED_CUSTOMIZATION, EMPTY_RIBBON_TRANSITION_DRAFT, EQUATION_TEMPLATES, ERASER_HIT_RADIUS, ERROR_BAR_SUPPORTED_TYPES, ERROR_BAR_TYPE_OPTIONS, ERROR_BAR_VALTYPE_OPTIONS, ERROR_BAR_VALUE_TYPES, EXCLUDED_STYLE_PROPERTIES, EXPANDED_MAX_HEIGHT, EXPLOSION_SUPPORTED_TYPES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EditGeometryPen, EditPointsSession, FEATURE_ENTRY_POINTS, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, FIXED_SPACING_RUN_LINE_HEIGHT, FIXED_TAB_GALLERIES, FLY_SUBTYPE_TO_EDGE, FONT_EMBEDDING_UNAVAILABLE_KEY, FOREIGN_OBJECT_SVG_DATA_URL_PREFIX, FRAGMENT_TRANSITION_KEYFRAMES, FREEFORM_CLOSE_TOLERANCE_FACTOR, FREEFORM_CLOSE_TOLERANCE_MIN_PX, FREEFORM_COORD_SCALE, FREEFORM_FREEHAND_TOLERANCE_PX, FREEFORM_MIN_POINTS, FREEFORM_TOOL_IDS, FREEFORM_TOOL_LABEL_KEYS, FREEFORM_TOOL_STYLE, ForeignObjectRasterError, FreeformToolSession, GENERAL_TAB, GENERIC_FALLBACK_FILTER_FAMILIES, GEOMETRY_MORPH_STEPS, GIF_POST_CAPTURE_MAX_SIDE, GLYPH_ENVELOPE_PRESETS, GOOGLE_FONTS_CSS2_BASE, GOOGLE_WEBFONT_AXIS, GRADIENT_TYPE_OPTIONS, GRIDLINE_DASH_OPTIONS, GROUPED_INSERT_CHART_KINDS, GROUPING_OPTIONS, GROUPING_SUPPORTED_TYPES, GlyphOutlineFontCache, HELP_RIBBON_COMMANDS, HIDDEN_SLIDE_ATTRIBUTE, HIDDEN_SLIDE_DIM_OPACITY, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, HIGHLIGHT_CLEAR_STYLE, HIGHLIGHT_CLICK_FLASH_DURATION_MS, HIGHLIGHT_CLICK_STYLE, HIGHLIGHT_HOVER_STYLE, HOLLOW_HIT_MIN_WIDTH, HOME_CHANGE_CASE_ITEMS, HOME_CHARACTER_SPACING_ITEMS, HOME_COLOUR_KEYS, HOME_COLUMN_ITEMS, HOME_CROP_ITEMS, HOME_DRAWING_ARRANGE_ITEMS, HOME_FONT_SIZE_ITEMS, HOME_HIGHLIGHT_PRESETS, HOME_LAUNCHER_GROUPS, HOME_LINE_SPACING_ITEMS, HOME_MERGE_ITEMS, HOME_SELECT_ITEMS, HOME_SHAPE_ITEMS, HOME_TEXT_DIRECTION_ITEMS, INDENT_PX, INITIAL_READ_ONLY_SESSION, INITIAL_SYNC_GRACE_MS, INLINE_GALLERY_TILE_COUNT, INSERT_CHART_GROUPINGS, INSERT_CHART_TYPES, INSERT_COMMANDS, INSERT_FIELDS, INSERT_GROUPS, INSERT_GROUP_CAPTIONS, INSERT_GROUP_SCALING, INSERT_TABLE_MAX, INSPECTOR_CARD_IDS, INSPECTOR_GALLERIES, INSPECTOR_PANEL_DEFAULT_WIDTH, INSPECTOR_RESET_ACTION_KEYS, INSPECTOR_SECTION_ATTRIBUTE, INSTANT, KEYBOARD_OPEN_THRESHOLD, LANGUAGE_TAB, LAYOUT_FAMILY_MAP, LBL, LEGEND_POSITION_OPTIONS, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINE_PITCH_EM, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LIVE_PATCH_THROTTLE_MS, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, MARKER_SUPPORTED_TYPES, MARKER_SYMBOL_OPTIONS, MATERIAL_PRESETS, MAX_COLOR_DISTANCE, MAX_ENVELOPE_GLYPH_SLICES, MAX_HEIGHT, MAX_INDENT_LEVEL, MAX_LABEL_CHARS, MAX_PARAGRAPH_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MEDIA_FALLBACK_ICONS, MEDIA_FULLSCREEN_OVERLAY_STYLE, MERGE_CURVE_SEGMENTS, MERGE_SHAPES_HINT_KEY, MERGE_SHAPES_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, MERGE_SHAPE_OPERATIONS, MIN_COLUMN_PROPORTION, MIN_COLUMN_WIDTH_FRACTION, MIN_CROP_FRAME_PX, MIN_ELEMENT_SIZE4 as MIN_ELEMENT_SIZE, MIN_ROW_HEIGHT, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOBILE_LANDSCAPE_MAX_HEIGHT, MOBILE_NEXT_THUMB_WIDTH, MODAL_FOCUSABLE_SELECTOR, MORPH_CROSSFADE_EASING, MORPH_CROSSFADE_GROUP_CSS_TEXT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_BLEND_MODE, MORPH_CROSSFADE_HALF_CSS_TEXT, MORPH_CROSSFADE_HALF_STYLE, MORPH_EASING, MORPH_EASING_POINTS, MORPH_FADE_IN_EASING, MORPH_FADE_IN_START_PERCENT, MORPH_FADE_OUT_END_PERCENT, MORPH_FADE_OUT_HOLD_PERCENT, NEUTRAL_SATURATION_PERCENT, NEUTRAL_TEMPERATURE_K, NOMINAL_ENVELOPE_BAND, NORM_AUTOFIT_STEPS, NOTES_BORDER_WIDTH, NOTES_CONTINUATION_HEADER_SIZE, NOTES_FONT_SIZE, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NOTES_GAP, NOTES_LINE_HEIGHT, NOTES_MARGIN, NOTES_PAGE_H, NOTES_PAGE_W, NOTES_SLIDE_FRACTION, NOTES_TOOLBAR_DEFAULT_STATE, NO_ADVANCE_AFTER_TEXT, NUDGE_LARGE, NUDGE_SMALL, NUDGE_STEP, NUDGE_STEP_LARGE, NUM, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, ONLINE_VIDEO_IFRAME_ALLOW, ONLINE_VIDEO_IFRAME_SANDBOX, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SAMPLE_COUNT, OUTLINE_SLIDE_ATTR, OUTLINE_TITLE_ELEMENT_NAME, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PALETTES, PANEL_ENTRY_POINTS, PASTE_OFFSET_PX, PASTE_SPECIAL_OPTIONS, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PICTURE_ADJUST_TILE, PICTURE_ARTISTIC_EFFECTS_GALLERY, PICTURE_ARTISTIC_EFFECT_NAMES, PICTURE_COLOR_GALLERY, PICTURE_CORRECTIONS_GALLERY, PIXELATE_FILTER_VALUES, PIXELATE_IN_KEYFRAMES, PIXELATE_LEVELS, PIXELATE_OUT_KEYFRAMES, PNG_COLOR_TYPE_RGBA, PNG_SIGNATURE, POWERPOINT_BROADCAST_PREFIX, PPTX_OPEN_ACCEPT, PRESENCE_HEARTBEAT_MS, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_INERT_CLICK_SELECTOR, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_CONSOLE_LABEL_KEYS, PRESENTER_CONSOLE_ORDER, PRESENTER_LAYOUT_METRICS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENTER_RAIL_CONTROLS, PRESENTER_RAIL_LABEL_KEYS, PRESENTER_TIMER_SEGMENT_MS, PRESENTER_ZOOM_MAX, PRESENTER_ZOOM_MIN, PRESENTER_ZOOM_STEP, PRESENT_ANNOTATION_OVER_BLACKOUT_Z, PRESENT_ANNOTATION_Z, PRESENT_BLACKOUT_Z, PRESENT_TOOLBAR_CLASSES, PRESENT_TOOLBAR_CONTROLS, PRESENT_TOOLBAR_LABEL_KEYS, PRESENT_TOOLBAR_METRICS, PRESENT_TOOLBAR_ORDER, PRESETS, PRESET_ID_TO_EFFECT, PROOFING_TAB, PROXIMITY_SIZE_RATIO_LIMIT, PROXIMITY_THRESHOLD, PX_PER_CM, PX_PER_INCH, PX_TO_PT, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, QUICK_ACCESS_TAB, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, RASTER_STRATEGY_FALLBACK_WARNING, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RECENT_COLOR_LIMIT, RECENT_SHAPES_HEADING_KEY, RECENT_SHAPES_KEY, RECENT_SHAPES_MAX, RECOLOR_ACCENTS, RECORD_COMMAND_GROUPS, REVIEW_COMMENT_COMMAND_IDS, RGBA_BYTES_PER_PIXEL, RIBBON_ADD_IN_TAB_ATTR, RIBBON_CONTEXTUAL_TABS, RIBBON_CONTEXTUAL_TAB_ATTR, RIBBON_CONTROL_ALIASES, RIBBON_CONTROL_ATTR, RIBBON_CONTROL_CATALOG, RIBBON_CONTROL_ICONS, RIBBON_CONTROL_IDS, RIBBON_GALLERY_ATTR, RIBBON_GALLERY_IDS, RIBBON_GALLERY_ITEM_ATTR, RIBBON_GALLERY_POPUP_ATTR, RIBBON_GROUPS, RIBBON_GROUP_ATTR, RIBBON_GROUP_IDS, RIBBON_HOME_FAMILIES, RIBBON_HOME_INDENT_STEP, RIBBON_MENU_COMMAND_IDS, RIBBON_RESERVED_TAB_IDS, RIBBON_SCOPE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TAB, RIBBON_TAB_IDS, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, RUN_HYPERLINK_ATTR, RUN_PROGRAM_NOTICE_METRICS, SATURATION_PERCENTS, SAVE_FAILED_TOAST, SAVE_FAILED_TOAST_CODE, SAVE_TAB, SCREEN_TIP_CHOICES, SECTION_HEADING, SEL, SELECTION_CONTROL_CSS_VARS, SEPIA_DUOTONE, SETTING_TOGGLES, SEVERITY_GROUPS, SEVERITY_LABELS, SEVERITY_LABEL_KEYS, SHAPE_ADJUSTMENT_MAX, SHAPE_ADJUSTMENT_MIN, SHAPE_BEVEL_OPTIONS, SHAPE_EFFECT_SECTIONS, SHAPE_GALLERY_ITEMS, SHAPE_LINE_SECTION, SHAPE_LINE_SECTIONS, SHAPE_PRESET_DEFS, SHAPE_PRESET_ROWS, SHAPE_PRESET_STYLE_ROWS, SHAPE_QUICK_STYLES, SHAPE_STYLE_COLUMNS, SHAPE_THEME_STYLE_ROWS, SHAPE_THUMB_VIEW_BOX, SHARPEN_SOFTEN_PERCENTS, SHORTCUT_REFERENCE_ITEMS, SLIDE_RAIL_FOOTER_ACTIONS, SLIDE_SHOW_COMMAND_GROUPS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_SORTER_MENU_LABEL_KEYS, SLIDE_TEMPLATES, SLIDE_TEMPLATES_ENTRY_ID, SLIDE_TEMPLATES_ENTRY_KEY, SLIDE_TEMPLATE_IDS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_LABEL_KEYS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_3D_EDIT_LAYER_ATTRIBUTE, SMARTART_CONNECTOR_OPACITY, SMARTART_CONNECTOR_STROKE, SMARTART_CONNECTOR_WIDTH, SMARTART_LABEL_COLOR, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_PREVIEW_FALLBACK_ITEMS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SPLIT_SUBTYPE_TO_VARIANT, STALE_PRESENCE_MS, STATUS_BAR_CLASSES, STATUS_BAR_METRICS, STROKE_DASH_OPTIONS, SUBTITLE_LANGUAGES, SURFACE_WIREFRAME_OPTIONS, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, TABLET_BREAKPOINT, TABLE_CELL_TEXT_DEFAULTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEMPERATURES_K, TEMPLATE_REF_HEIGHT_EMU, TEMPLATE_REF_WIDTH_EMU, TEXT_3D_DEFAULT_EXTRUSION_PT, TEXT_3D_EMU_PER_PT, TEXT_3D_MAX_BEVEL_PT, TEXT_3D_MAX_EXTRUSION_PT, TEXT_BOX_SECTION, TEXT_BOX_SECTIONS, TEXT_BUILD_ID_SEP, TEXT_DIRECTION_OPTIONS, TEXT_EFFECT_SECTIONS, TEXT_WARP_PRESETS, TEXT_WRAP_OPTIONS, THREE_VIEW_EVENTS, TICK_LABEL_POSITION_OPTIONS, TITLE_BAR_CLASSES, TITLE_BAR_DEDICATED_IDS, TITLE_BAR_DEFAULT_FILE_KEY, TITLE_BAR_METRICS, TOOLBAR_BUTTON_DESCRIPTIONS, TOOLBAR_BUTTON_IDS, TOOLBAR_TABS, TRACE_SIZE_PX, TRANSITION_DIR_ARROWS, TRANSITION_DIR_GRID_POSITIONS, TRANSITION_DURATION_MAX_SEC, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PREVIEW_ATTR, TRANSITION_SOUND_CURRENT_VALUE, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRENDLINE_SUPPORTED_TYPES, TRENDLINE_TYPE_OPTIONS, TRUST_TAB, TYPE_LABELS2 as TYPE_LABELS, TYPE_LABEL_KEYS, TimelineEngine, VALIGN_OPTIONS, VIEWER_ADDIN_CATALOG, VIEWER_BACKSTAGE_REGION_IDS, VIEWER_CAPABILITY_DESCRIPTIONS, VIEWER_CAPABILITY_IDS, VIEWER_DIALOG_DESCRIPTIONS, VIEWER_DIALOG_IDS, VIEWER_DIALOG_REGION_DESCRIPTIONS, VIEWER_DIALOG_REGION_IDS, VIEWER_EXPORT_FORMAT_DESCRIPTIONS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_DESCRIPTIONS, VIEWER_FEATURE_IDS, VIEWER_OPTIONS_TABS, VIEWER_PANEL_DESCRIPTIONS, VIEWER_PANEL_IDS, VIEWER_PANEL_REGION_DESCRIPTIONS, VIEWER_PANEL_REGION_IDS, VIEWER_PREFERENCE_TOGGLES, VIEWER_PREFS_STORAGE_KEY, VIEWER_REGION_ATTRIBUTE, VIEWER_REGION_IDS, VIEWER_ROOT_OPTION_DEFAULTS, VIEWER_SHORTCUT_REFERENCE, VIEW_EDITABLE_COMMANDS, ViewerRegionHost, WARP_PATH_GENERATORS, WARP_PRESET_DEFINITIONS, WASHOUT_LUM, WHEEL_SPOKE_COUNTS, WIPE_FILTER_TOKEN_TO_SUBTYPE, WIPE_SUBTYPE_TO_EDGE, ZOOM_MAX_PERCENT, ZOOM_MIN_PERCENT, ZOOM_STEP, _resetCanvasDimensionCache, _resetNativeImageSizeCacheForTests, accentDuotone, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, actionButtonLabelKey, actionTypeNeedsTarget, activateModalFocus, addCommentToList, addEditPoint, addGradientStopPatch, addQuickAccessCommand, addSiblingAfter, addTagToCollections, adjacentComment, adjustGalleryModule, adjustmentRange, advanceChartMarkDrag, advanceMainSequence, advanceStep, alignPatch, angularAdjustmentKeys, annotationCapturesPointer, annotationOverlayZIndex, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationGroupSteps, applyAnimationOpacity, applyAnimationTimelineOrder, applyAutoCorrect, applyChart3DDrag, applyChart3DSelect, applyChartBuildReveal, applyChartElementToggle, applyChartFormatEdit, applyChartFormatField, applyChartRevealDescriptor, applyChartStylePreset, applyColorChange, applyDiagramRevealDescriptor, applyDrawingColorTransforms, applyDuotone, applyElementActionAffordances, applyFontAlignmentFallback, applyHighlightClickStyle, applyInlineCommand, applyInlineTextDraft, applyListStyleUpdate, applyLockedOptions, applyMasterViewCrudAction, applyMediaCommandVerb, applyMediaEndedStep, applyMediaPlaybackAttributes, applyMergeShapesPlan, applyMotionPathPreset, applyNotesLevelDefaults, applyOutlineEdit, applyParagraphCommand, applyPasteSpecialFormat, applyPreferenceToOptions, applyReadOnlySessionEvent, applyReadingViewCommand, applyRehearsalTimings, applyRenderedElementAccessibility, applyReroutedConnectors, applyRibbonGalleryItem, applyRibbonTransitionDraft, applySlideTransitionSound, applySmartArtTextPaneRequest, applySorterAction, applySpatialLayout, applyStepBuildMetadata, applyStyleToSelectedSegments, applyTableCellFontWeight, applyTableStylePreset, applyTextStyleUpdate, applyThemeByPath, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, applyUniformCellPaddingPatch, armEditorKeyboard, arrangeAlignAction, arrangeHomeControls, arrangePainterHomeControls, arrangeShapeHomeControls, asSelectionIds, assemblePng, assertElementUpdateTarget, assignUserColor, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachOverlayKeyboard, attachPresentationVisibilityPause, attachRibbonOverflow, attachRotateHandlePlacement, attachViewerHyperlinks, authorConnectorBetweenSites, authoredLetterSpacingPx, autoFitModeOf, autoFitModePatch, autosaveDisabledReasonKey, autosaveIntervalMs, autosaveRecoveryPrompt, autosaveSnapshotMark, autosaveSourcesChanged, autosaveStatusKind, availableQuickAccessCommands, backstageCardsFor, backstageNavEntries, bar3DShapePatch, beginChartMarkDrag, beginCropDrag, beginShapeAdjustment, beginZoomExcursion, bendEditSegment, bindInlineListParagraph, bindInlineListRun, bindPptxOptionsDialog, blindsDecl, bookmarkOptionValue, bookmarkTriggerPatch, booleanRegions, borrowExternalCollaborationAwareness, boundsOf, boxForAnimation, boxOverlapRatio, boxesOverlap, build3DExtrusionData, buildAbsoluteRotationKeyframe, buildAbsoluteScaleKeyframe, buildActionButtonElement, buildAnimationRibbonPreview, buildAnimationTimelineRows, buildBarActions, buildBehaviorPreview, buildBroadcastConfig, buildBroadcastViewerUrl, buildCacheKey, buildCanvasContextMenuEntries, buildChart3DSpecForElement, buildChartExInsertData, buildChartFormatPaneModel, buildChartQuickActionsDescriptor, buildChartStylePresets, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationShareUrl, buildCollaborationState, buildColorAnimationKeyframes, buildColorInterpolationProps, buildColorTavKeyframe, buildCommentMarkers, buildConnectorElementLookup, buildConnectorGeometry, buildConnectorPathD, buildContextMenuEntries, buildCreateCollaborationConfig, buildCropOverlay, buildCustomGeometryClipPath, buildCustomPathMarkers, buildDeckJson, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildDynamicKeyframe, buildDynamicKeyframes, buildEditPointsMenu, buildEditPointsView, buildElementClipboardPayload, buildEmbeddedFontStyles, buildFieldSubstitutionContext, buildFontFaceRule, buildForeignObjectSvgBody, buildFreeformShapeElement, buildFreeformStrokeGeometry, buildFreeformToolElement, buildFreeformToolGeometry, buildGlowBoxShadow, buildGlyphEnvelope, buildGlyphEnvelopeBlock, buildGoogleFontsFragment, buildGoogleFontsHref, buildHelpRibbon, buildHollowHitOutline, buildHyperlinkPatch, buildIdatChunk, buildIendChunk, buildIhdrChunk, buildImageBiLevelTable, buildImageFitTransform, buildImageLuminanceTransfer, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineStyleText, buildInlineTextCommitPatch, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildLineGlowFilter, buildLineShadowCss, buildLiveInkStrokeView, buildMirrorTiledBackground, buildMorphAnimationRules, buildMorphIncomingAnchoredOrder, buildMorphMergedOrder, buildMorphScopedCss, buildMorphTransitionPlan, buildMotionPathKeyframes, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesPdfBytes, buildNotesPrintHtml, buildNotesTextStream, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOpacityTavKeyframe, buildOptionsBaseline, buildOutline, buildOutlinePrintJobDocument, buildParagraphs, buildPngChunk, buildPptxOptionCategories, buildPresentationAudienceUrl, buildPresentationClickGroups, buildPresentationTouchControlState, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintStyleSheet, buildQueryLinkUrl, buildQuickStylesGallery, buildRasterPictureElement, buildRasterPrintJobDocument, buildRecordRibbon, buildReviewRibbon, buildRibbonGallery, buildRunEffectStyle, buildRunProgramNotice, buildRunTabLines, buildSectionContextMenuEntries, buildShadowCssFromShapeStyle, buildShareConfig, buildShareUrl, buildSlideOverflowMap, buildSlidePaneContextMenuEntries, buildSlideSorterContextMenuEntries, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArt3DSpecForElement, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPresetNodes, buildSmartArtPreviewElement, buildStepCommand, buildStrokeInterpolationProps, buildStrokeOutline, buildStrokePathD, buildSummaryZoomView, buildSurfaceGeometry, buildSurfaceLabels, buildSvgGradientDef, buildSvgStrokeGradientDef, buildSvgStrokePatternDef, buildTabContext, buildTabRowActionsState, buildTableDataGrid, buildTextBlockStyle, buildTextBlurFilter, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextFillCss, buildTextGlowFilter, buildTextHslFilter, buildTextInnerShadowCss, buildTextRunFilterChain, buildTextShadowCss, buildTextSoftEdgeFilter, buildTextStyleHoldKeyframe, buildTextStyleOverrideCss, buildTextWarpGallery, buildTiledSlidesPdfBytes, buildTimeline, buildTitleBarState, buildTokenMorphAnimations, buildUserFontFaceStyles, buildVectorPrintJobDocument, buildWarpPath, buildWarpedGlyphOutlinePathD, buildWrapperStyle, buildZoomTransitionOverride, builtinTableStyleMap, calculateContinuationPageMaxLines, calculateNotesPageLayout, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canCreateCollaborationSession, canCropElement, canEditElementPoints, canGoNext, canGoPrevious, canGroupSelection, canJoinCollaborationSession, canMergeShapes, canRemoveTopLevelNode, canRequestDraw, canRequestHome, canRequestInsert, canRequestTransitions, canRequestView, canSetStrokeWidth, canStartBroadcast, canStartShare, canSweepAutosaveSnapshots, canUngroupSelection, canUseClipboard, cancelBuildReveal, cancelCropUpdate, canvasContextMenuLabelKey, canvasToJpegData, captionDisplayText, carryBuildState, cascadeDownPath, cascadeUpPath, cell3DBevelCss, cellImageFillCss, cellParagraphBlocks, cellPatternFillCss, cellRunStyle, cellStyleToCss, centeredSvgTextLines, characterSpacingPatch, chartAxesVisibilityPatch, chartAxesVisibilityState, chartAxisTitlesPatch, chartAxisTitlesState, chartDataLabelsTogglePatch, chartDataSheetLabels, chartEventPathElements, chartFormatContextMenuLabelKey, chartFormatPaneTitle2 as chartFormatPaneTitle, chartFormatTabs, chartFormatTargetAtPoint, chartFormatTargetFromEvent, chartFormatTargetLabel2 as chartFormatTargetLabel, chartPlaceholderLabel, chartSelectionHomeControls, chartStylePresetPalette, chartThreeViewSpec, checkModifyPassword, checkerboardDecl, choices2 as choices, circleOutline, clampCursorPosition, clampFlyoutPosition, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2 as clampPercent, clampPresenterZoom, clampScale, clampShapeAdjustmentValue, clampSorterZoom, clampStep, clampText3dPt, clampZoomScale, classifyExtraConnections, classifyMediaType, classifyTextWarp, clearActiveAnimationGroup, clearAllComments, clearAllLocalViewerData, clearAudienceContent, clearAutosaveRecoveryAcknowledgement, clearAutosaveSnapshots, clearColorChangeCache, clearDuotoneCache, clearLocalAwareness, clearMotionPath, clearNativeImageSizeCache, clearPlaybackTimers, clearPresentationDeck, clearSeriesColor, clearSlideComments, clearStoredViewerPrefs, clearTransitionSound, clientPointToViewBox, clientToChartPoint, clientToSlidePoint, clipPathToPolygon, clipboardHomeControls, cloneElementForPaste, cloneElementUpdates, cloneHeaderFooterDraft, cloneOptions, closeEditPath, closeReadingView, coerceInspectorFieldValue, collaborationStatesEqual, collectAccessibilityIssues, collectChartBuildInfo, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectDiagramBuildInfo, collectExternalFontFaceCss, collectFontFaceCss, collectFontsFromElement, collectReferencedFontFamilies, collectUsedFonts, colorDistance, columnHandleSegments, columnIndexAtFraction, combineTileRowPixels, commentCounts, commentMarkerTitle, commentMentionQuery, commentTextSegments, commitElementUpdateBatch, commitGalleryResult, commitSmartArtNodeFill, commitSmartArtNodeText, commitsThroughDeckStyle, comparePresentation, compareSlide, compareSlides, compatToastStackStyle, compatToastStackStyleAttr, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeAutoFitShapeHeightPx, computeAutoFitTextStyle, computeBendingLayout, computeBuildProgress, computeCameraPlacement, computeColumnBoundaries, computeConnectorGeometry, computeCycleLayout, computeDocumentStatistics, computeDrawingViewBox, computeEntranceAnimationDelay, computeExportTilePlan, computeFunnelLayout, computeGearLayout, computeGridExtent, computeGridSpacingPx, computeHierarchyLayout, computeInlineEditorRect, computeKeyboardInset, computeListLayout, computeMarqueeHitIds, computeMatrixLayout, computeMoveFrame, computeNormAutofitShrink, computeNotesPageLayout, computeProcessLayout, computePyramidLayout, computeRadialLayout, computeReadingOrder, computeResizeFrame, computeResizedColumnWidths, computeResizedRowHeight, computeRotateFrame, computeScrollDelta, computeShadeToTitleFillToRect, computeSmartArtElementLayout, computeSmartArtLayout, computeTabSize, computeTabbedLayout, computeTableMergeCrossings, computeTargetLayout, computeTimelineLayout, computeTrendlinePoints, computeVennLayout, computeVirtualRange, computeZOrderSwaps, connectorAdjustmentFraction, connectorArrowPatch, connectorArrowValue, connectorBendFraction, connectorEndpointId, connectorEndpointPoint, connectorHitStrokeWidth, connectorKind, connectorNeedsPath, connectorPresetForSpan, connectorWrapperTransform, contextMenuInspectorAnchor, contextMenuLabelKey, contextMenuViewItems, contextualTabLabelKey, contextualTabsForElement, coordinatesAt, correspondingChildren, countAccessibilityIssues, countTextSegments, countTopLevel, countWords, crc32, createActiveAnimationGroup, createAutosaveController, createAutosaveRecoveryController, createBackstagePresentation, createCollabProvider, createCollaborationLivePatcher, createCollaborationSessionController, createCollaborationStateReporter, createCustomShow, createCustomizationController, createDeckStyleHost, createDefaultChartElement, createDefaultChartUserShapeGroupChild, createEditorHistoryController, createEnvelopeWarp, createGalleryPreviewController, createGestureController, createGlyphOutlineLookup, createGuide, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresencePublisher, createPresentationKeyBuffer, createPresentationSessionId, createPresenterPointer, createPresenterShowGuard, createPresenterTimer, createPreviewEditGuard, createRibbonControlIcon, createSheetDismissGesture, createSlidePackageClipboard, createSlideSorterState, createSyncGate, createTouchGestureRecognizer, createViewerCommandStore, createViewerOptionsStore, createViewerStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, createYjsFactories, cropControlSpec, cropFill, cropFit, cropFrameOf, cropHomeControls, cropModeKeyAction, cropResetPatch, cropResetState, cropSessionChanged, cropToAspectRatio, cropUpdateFromRects, crossedHistoryTheme, cssCdata, cssEasingForAccelDecel, cssEasingForTimingCurve, cssFontWeightNumber, cssKeyframeName, cubicBounds, cubicPointAt, cursorForTool, customizeBackstageCards, customizeBackstageNav, customizeCanvasContextMenuEntries, customizeContextMenuEntries, customizeOptionsTabs, cycleSelectableElement, dataUrlToBlob, deckJsonFileName, defaultDuration, defaultGradientState, defaultMentionId, defaultRichEnabled, deleteAutosaveSnapshot, deleteEditPoint, deleteEditSegment, deleteMasterViewElements, deleteOldestAutosaveEntry, deleteTagFromCollections, deliverSavedPresentation, demote, derivePresenceList, derivePresetAdjustmentHandles, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeElementChange, describeFontEmbedding, describePptxChart, describeSmartArtBounds, describeSmartArtDiagram, deserializeElementClipboard, designCommandState, detectOrientation, detectTouchDevice, diffOptionsAgainstBaseline, diffSlideElements, diffTokens, diffViewerOptions, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, discardAutosaveRecovery, dispatchChartSelectionRequest, dispatchCropRequest, dispatchEditorKey, dispatchReadOnlyBannerIntent, dispatchStatusBarIntent, dominantDisplacement, downloadBlob, downloadDataUrl, dragCropHandle, drawLabel, drawingHomeControls, drawingShapeLabelColor, drawingShapesLayoutResult, driveBuildReveal, durationOf, eastAsianBreaksForRun, editCommentInList, editFrameFromElement, editGeometryBounds, editGeometryFromElement, editGeometryToElementPatch, editGeometryToPaths, editGeometryToSlidePath, editLocalToSlide, editPointsCommandLabelKey, editPointsElementSignature, editSlideToLocal, editingHomeControls, editorNudgeDelta, editorSlideStep, editorThumbnailHeight, editorThumbnailStep, editorThumbnailWidth, editorViewportFitFor, effectSoundCatalogueEntry, effectiveTextBuildType, effectiveTimingCurve, effectiveZoomScale, effectsStateOf, elementContainerHeightStyle, elementHasTextHyperlink, elementHitTargetStyle, elementIdSelector, elementInLocalFrame, elementOutlineLoops, elementPictureFilename, ellipseArcToCubics, embedImagesOnClone, embeddedFontSaveOptions, emphasisFilterKeyframeCss, emptyGalleryModule, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, encodePngFromPixels, encodePngFromRowBands, endAudienceDisplay, ensureActionAffordanceStyles, envelopeCurveAt, equalizePaths, erasePresentationInkAt, escapeCssAttributeValue2 as escapeCssAttributeValue, escapePdfText, escapeSvgAttr, escapeSvgText, escapeXml, evenColumnWidths, evenRowHeights, executeMediaCommandInDom, expandCapabilities, expandTextBuildAnimations, expandTextRangeAnimations, exportAbortError, exportDeckJson, externalSessionFromCollabSession, extraConnectionCount, extraQuickAccessCommands, extractCssUrl, extractGlyphOutlineCommands, extractStepGraphicElement, eyedropperAvailable, feedSvgPath, fetchAsDataUrl, fetchGoogleWebfontOutlineBytes, fillLeader, fillLeaderWithMeasure, fillModeForClass, filterCommands, filterMenuEntries, filterPixelBlock, filterRenderedElements, filterRowNone, filterVisibleTabs, finalizeClickGroup, findCanvasElementNode, findChartPartElementInEvent, findChartPartInEvent, findChartUserShapeNode, findCommentLocation, findConnectorSiteNear, findEffectSoundCatalogueEntry, findEraserHitElementId, findGoogleFontsFamily, findHighlightClickTarget, findMediaBookmarkGatedSteps, findMediaElementByElementId, findMediaEndGatedSteps, findMetricCompatibleGoogleFontsFamily, findOutlineRow, findPresentationActionTarget, findRibbonAddIn, findSlideStage, findSmartArtNodeText, finishAnimationGroupSteps, finishCropUpdate, finishDomAnimationsForGroup, finishPrintWindow, firstShowSlideIndex, fitGlyphEnvelopeAffine, fitTransformsFromInsets, flattenMorphElements, flattenOutline, flattenSlideElements, flattenTagCollections, flattenViewerOptions, followingText, fontAlignmentVerticalAlign, fontFamilyItems, fontHomeControls, fontMimeForFormat, fontPickerHomeControls, fontStyleShorthand, fontWeightAttribute, fontWeightShorthand, foreignObjectSvgToDataUrl, forgetSessionDeck, forgetStepsUsingRemovedParts, formatAdvanceAfterText, formatBackstageDate, formatBackstageSize, formatBytes, formatCursorLabel, formatEditPointsTarget, formatElapsed, formatIsoDate, formatMediaTime, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatSnapshotSize, formatTime, formatVersionTimestamp, fractionalClientSize, frameSlideSvg, freeformCloseTolerance, galleryDeckView, galleryHasItems, galleryItemLabel, galleryTextLabel, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generateElementId, generateFullMorphTransition, generateGeometryMorphAnimation, generateImageCropGhostAnimations, generateImageCropMorphAnimations, generateMorphAnimations, generateMorphGhostAnimations, generateTextMorphAnimations, generateTicks, generateUnmatchedFadeInAnimations, generateUnmatchedFadeOutAnimations, get3DBevelShadow, get3DMaterialFilter, get3DTransformStyle, get3dTransformCss, getAcknowledgedAutosaveRecoveryTimestamp, getActiveInlineListSelection, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAnimationOpacity, getAriaLabel, getAriaRole, getAriaRoleDescription, getArtisticFilterId, getArtisticImageFilter, getAutosaveSnapshot, getBackgroundAnimationLayers, getBackgroundAnimationState, getBevelLightingFilterId, getBevelLightingFilterMarkup, getBevelLightingSvgFilter, getBevelStyle, getBoxShadowCss, getBuiltinTableStyle, getBuiltinTableStyleName, getCachedNativeImageSize, getCachedResult, getCameraTransform, getCellDiagonalBorders, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompositeOuterShadowFilterCss, getCompoundLineOffsets, getCompoundLineWidths, getComputed3dStyle, getComputedEffectStyle, getComputedImageStyle, getComputedStrokeStyle, getConnectionSites, getConnectorEndpointHandles, getContainerStyle, getContourBoxShadow, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetBox, getDensePanelTouchTargetPx, getDiagonalBorders, getDraggedShapeAdjustmentValue, getDraggedShapeAdjustments, getDuotoneCachedResult, getDuotoneFilterId, getDuotoneImageFilter, getDuotoneSvgFilter, getDuotoneSvgFilterMarkup, getEffectDagBlendMode, getEffectDagCssFilter, getEffectDagFillOverlay, getEffectDagFilter, getEffectDagOpacity, getEffectFilterCss, getEffectKeyframes, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementCreationId, getElementMorphName, getEnvelopeCssTransform, getExtrusionBoxShadow, getExtrusionShadow, getFragmentedTransitionDescriptor, getFrameEffectStyle, getFrameInverseTransform, getGlowBoxShadowCss, getGroupChildParentFill, getImageAlphaFilter, getImageAlphaFilterId, getImageBackgroundRemoval, getImageColorWashStyle, getImageCorrectionsFilterTokens, getImageDuotoneFilterId, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFillOverlayFilter, getImageFillOverlayFilterId, getImageFilterCss, getImageFitStyle, getImageOverflow, getImageSharpenFilter, getImageSharpenFilterId, getImageSrc, getImageSvgFilters, getImageTilingStyle, getInitialStyleForEffect, getInlineEditorSelection, getInlineEditorSelectionResult, getInnerShadowCss, getKinsokuLineBreakStyles, getLightAngleFromCamera, getLightRigCss, getLineGlowFilterCss, getLineShadowCss, getLineShadowParams, getLocalStorageUsageSummary, getMaterialCssOverrides, getMaterialFilter, getMaterialGradientOverlay, getMaxCanvasDimension, getMultiLayerShadowCss, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleIconShapes, getOleTypeColor, getOleTypeLabel, getOnlineVideoEmbed, getOuterShadowCss, getOverflowSegments, getP14TransitionAnimations, getPasswordStrength, getPendingSelectionRestore, getPictureFrameLayers, getPictureShadowFilter, getPlaceholderStyle, getPresentationContextMenuSections, getPresetShapeVectorGeometry, getQuickAccessCommand, getReducedMotionStyles, getReflectionWrapperStyle, getRegionRenderer, getResizeHandleHitAreaStyle, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getRoundRectAdjustmentValue, getRoundRectRadiusPx2 as getRoundRectRadiusPx, getSectionLayoutPlan, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSessionTabId, getShapeAdjustmentHandleDescriptor, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getShapeEffectAnimationLayerStyle, getShapeEffectLayerPlacement, getShapeFillOverlay, getSimpleCssTransform, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSpeechRecognitionCtor, getStrokeOnlyPresetPaths, getTableCellBandStyle, getTableResizeScale, getTextAlphaOpacity, getTextBodyRotationTransform, getTextReflectionWrapperStyle, getTouchDistance, getUnrotatedShapeConnectionSites, getViewerOptionsTab, getWarpCssTransform, getWarpPath, ghostMorphPairsHiddenByGhosts, glowStateOf, glowStyle, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, groupDrillChain, groupElementParagraphs, groupIntoParagraphs, groupIssuesBySeverity, groupParagraphsByBuildLevel, groupShortcutReference, groupTilesByRow, handleEditorAnchorClick, handlePresentationStageClick, handleReadingViewKey, handleThreeViewChartEvent, hasAdvancedImageAlphaEffects, hasCommentMentions, hasCrop, hasEffectDagProperties, hasExistingLink, hasGlyphEnvelope, hasGradientFill, hasImageEffects, hasImageFillOverlayEffect, hasImageOverrides, hasMotionPath, hasMultipleSelectedTableCells, hasPersistentAudio, hasPictureFrame, hasShowSlideAfter, hasStrokePaint, hasText3dExtrusion, hasTextWarp, hasTiltData, hasWarpPresetDefinition, hexToRgb, hiddenSlideCue, hiddenSlideLabelId, hideChartSeries, historyStepUsesParts, historyTheme, hollowTextFillStyle, homeColourState, homeControlKey, homeFamilyControls, homeFamilyKeys, homeGalleryApply, homeGalleryControls, homeLabel, homeLaunchers, homeShapeGalleryItems, homeShapeValue, homeSnapshotTranslator, hostMenuLabel, hslToRgb, imageAdjustmentsPatch, imageAdjustmentsStateOf, imageCropPatch, imageCropStateOf, imageRectFromCrop, imageResetPatch, imageResetState, incomingSegmentIndex, inferNodeTypes, initialHiddenStyle, initialInspectorOpen, initializeInlineListDom, inkGroupViewBox, inlineComputedStylesOnClone, inlineElementPointerEvents, inlineGalleryItems, innerShadowStateOf, innerShadowStyle, insertChartPreviewSvg, insertCommentMention, insertControlStatus, insertEntryEnabled, insertHyperlinkAtSelection, insertLabel, insertedLayoutCompletion, inspectorFieldPatch, inspectorNumber, inspectorTogglePatch, interpolateColor, interpolateOutline, interpolatePaths, interpolateSmartArtPalette, isActionButton, isActionHidden, isAdditiveSelectionPress, isArrowedCustomPath, isArtisticEffectRendered, isAudienceDisplayHash, isAudienceDisplayTab, isAudienceTab, isBackstagePageVisible, isBlackboardActive, isBookmarkGated, isBrowserOpenableMime, isChart3DViewEnabled, isChartTitleEvent, isClickAdvanceAllowed, isColumnBoundaryMergedAt, isCornerHandle, isDensePanelCompact, isDialogAvailable, isDrawingToolVisible, isEastAsianChar, isEditPointsCandidate, isEditPointsEnabled, isEditableMotionPath, isEditingAllowed, isEditorControlTarget, isEditorTextInputTarget, isElementActionable, isElementHidden, isElementMarkedDecorative, isElementRendered, isEquationOnlyText, isExportAbortError, isFeatureEnabled, isFontFamilyAvailable, isFontFamilyInstalledLocally, isForwardedEditLayerEvent, isFreeformStrokeClosed, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isIdentityRectClip, isImageTiled, isInBottomTriggerZone, isInertMorphPair, isInjectableUrl, isKeyboardOpen, isKoreanLanguage, isLegacyBinaryPresentation, isLinkedTextBox, isLinkedTextBoxHead, isMasterViewEditable, isMediaCommandAnimation, isMediaEndGated, isMediaFullscreenActive, isMergeableElement, isMixedContentBlocked, isMobileViewport, isNavigationAction, isNoOpPresentationAction, isOptionLocked, isOptionsPageVisible, isOutlineViewDismissKey, isPanelVisible, isPatternPaint, isPeerToPeerShare, isPictureElement, isPointInRegion, isPresenceFresh, isPresentationAdvanceClick, isPresentationAudience, isPresentationSessionMessage, isRegionReplaced, isReviewCommentCommand, isRibbonControlId, isRibbonControlVisible, isRibbonGroupId, isRibbonGroupVisible, isRoutedToLegacyBevelShadow, isRowBoundaryMergedAt, isRunHyperlinkClickable, isSafeSvgMarkup, isSameArtisticEffect, isSameBrowserRoom, isSeriesUsingSecondaryAxis, isSettingLocked, isSettingVisible, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTabletViewport, isValidRoomId, isVerticalTextDirection, isWedgeCalloutPresetShape, issueTrackKey, issueTypeLabel, lastShowSlideIndex, latexToMathMl, layoutEnvelopeBlock, leaderGlyph, lerpColor, lineHeightToPx, lineSpacingPatch, listAutosaveSnapshots, listBackstageRecentFiles, listChartFormatTargets, listChartUserShapeRows, listCommentLocations, listMediaBookmarkOptions, listenForOutlineViewDismiss, loadAudienceContent, loadPresentationDeck, loadSessionDeck, loadedThemeName, lockResizeAspect, makeCloneId, mapAwarenessCursors, mapCustomizedEditorKey, mapDuotonePixels, mapEditingWheel, mapEditorKey, mapInlineEditorChord, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapReadingViewKey, mapSlideShowStartKey, mapSlideSorterKey, markAnimationGroupActive, markerPath, maskEdgeDecl, maskEdgeInitialStyle, maskEdgePartialDecl, maskShapeDecl, maskShapeInitialStyle, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewOwnerElementId, masterViewPartForElement, masterViewParts, masterViewPseudoSlide, matchCommentMentionAuthors, matchGoogleWebfontFragments, matchMorphElements, matchMorphElementsFull, matchSlideSizePreset, matchTextTokens, matchesShortcutChord, mayLeaveSlideShow, measureAutoFitContentHeightPx, measureGlyphAdvances, measureNormAutofitStepHeightPx, measurePreviewGeometry, measureSvgViewportRect, measureTextWidth, measureViewportClientSize, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaSurfaceOf, mediaTimeFromPointer, mediaTimelineGeometry, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mediaTrimRangeForDrag, mediaTrimResetPatch, mediaTrimResetState, mergeAdditiveSelection, mergeCaptionResults, mergeCoincidentHandles, mergeCustomization, mergeImageEffects, mergeOperationForCommand, mergePresentationSnapshot, mergeSegments, mergeText3d, mergeTextStyleOnStart, mergeViewerOptions, mixHex, mobileElapsedSince, mobileNextThumbSize, mobileSlideCounter, modalActiveElement, modalFocusableElements, morphGroupChildPairs, morphImageCropChanged, morphOptionToMode, morphPairIncomingFadesIn, morphPairNeedsCrossfade, morphTextReplacedInSlot, motionPathEndFraction, motionPathEndPixel, motionPathFor, motionPathFractionPoints, motionPathNativeAnimations, motionPathToSvgD, moveAnimationTimelineRowBy, moveEditHandle, moveEditNode, moveGuide, movePresenterPointer, moveQuickAccessCommand, moveSelection, mruColorsPatch, msToFrameDelayCs, nearestCubicParam, nearestLineParam, needsMorphFlattening, needsOwnedSession, needsSvgArtisticFilter, nestedTextDecorationStyle, newEquationElement, newFieldElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextAutosaveDelayMs, nextPresentedSlide, nextShowSlideIndex, normalizeAccelDecel, normalizeArrow, normalizeFontFormat, normalizeGoogleFontsBaseUrl, normalizeNotesLinkUrl, normalizeOutlinePair, normalizeRegion, normalizeSegments, normalizeSubtitleSettings, normalizeWheelDelta, notesSegmentsToSpans, nudgeDelta, numberControl, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeViewportClientSize, officeColorSwatchLabel, oleActionsVisible, ooxmlDashToCssBorderStyle, openAutosaveDb, openBoundaryRuns, openCollaborationYSession, openEditPathAtNode, openFilePicker, openNativeEyeDropper, openOwnedCollaboration, openPendingPrintWindow, openPptxFile, openPrintWindow, openReadingView, openUrlInNewTab, optionValueKey, optionsBlockSlot, optionsPaneSlot, optionsSettingIdOf, outerShadowStateOf, outerShadowStyle, outgoingSegmentIndex, outlineBounds, outlinePathData, outlineRowKey, outlineStrokeJoin, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, overlayPointerInput, paintDefs, paintedElementSize, paintedStrokeWidth, paletteColour, panCropImage, paragraphGroupText, paragraphHomeAction, paragraphHomeAlign, paragraphHomeControls, paragraphsToSegments, parseAdvanceAfterMs, parseAudienceNonce, parseBookmarkOptionValue, parseCropValue, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseEditPointsTarget, parseFontWeightName, parseGradientCssStops, parseHexColor, parseHexToRgb, parseMediaCommand, parseOoxmlBezierCurve, parseOptionValueKey, parseOptionsSettingId, parsePathPoints, parsePolygonPoints, parsePresentationSessionId, parsePt, parseSegmentsFromRichEditor, parseShortcutChord, parseSvgPath, parseViewBox, partitionMasterViewElements, pasteElementHasText, patchChartData, patchHeaderFooterDraft, pathCoordinates, pauseAllPersistentAudio, pendingElementStyles, pickColorByClickFallback, pictureAdjustTileSvg, pictureArtisticSections, pictureColorSections, pictureCorrectionsSections, pictureEffects, pictureSizeHomeControls, pieceLetterSpacing, placeAudienceWindow, placeCaretAt, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, planGifFrames, planMergeShapes, planPrintJob, playAnimationRibbonPreview, playFeedbackSound, playGroup, playSlideTransitionPreview, pointFromPointerEvent, pointsToSvgPathD, polygonRegionBounds, powerPointAccelDecelProgress, pptxChartFormatKey, pptxChartFormatSource, pptxOptionsLabels, prefersReducedMotion, prepareElementForInsertion, prepareElementUpdateBatch, prepareElementsForPaste, presenceEntriesEqual, presenceListsEqual, presenceToCursors, presentToolbarBlackboardActive, presentToolbarCssVars, presentToolbarStyleAttr, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presentationSaveMimeType, presentationSnapshotsEqual, presentationViewItems, presenterConsoleAction, presenterConsoleCssVars, presenterConsoleStyleAttr, presenterConsoleViewState, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previewGalleryResult, previousShowSlideIndex, primaryMasterViewPart, printJobRasterFallback, probeAutosaveRecovery, probeMaxCanvasDimension, probeNativeImageSize, projectDrawingShapes, projectSmartArtViewBoxRect, promote, proportionalLineHeight, pruneExpiredAutosaveSnapshots, publishLiveGeometry, publishLiveInlineText, pushRecentColor, pushRecentShape, px2 as px, quadToCubicControls, queueThemeWrite, quickStyleShapeStyle, quickStyleSwatchCss, quickStyleSwatchStyleAttr, radarStylePatch, randomBarsBandDecl, rasterResultToPngBlob, rasterResultToPngDataUrl, rasterizeElement, rasterizeElementClampedToCanvas, rasterizeElementTiledToCanvas, rasterizeElementTiles, rasterizeElementToDataUrl, rasterizeForeignObjectSvg, rasterizeWindow, readBackstageRecentFile, readCropInsets, readEditPointsTarget, readEditableText, readEditorSegments, readElementParagraphs, readFontFileStyle, readInlineListNativeSnapshot, readInlineListSelection, readInlineListSnapshot, readListActivationSelection, readOnlyBannerState, readOnlyBannerVisible, readOnlyLocked, readOnlyRecommendation, readOnlySessionActions, readRecentShapes, readRibbonTransitionDraft, readSlideShowOption, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, reanchorEditFrame, rebaseOptions, rebuildDrawingShapesIfCleared, recentColorsGridView, recolorInheritedText, reconcileInlineListFormatting, reconcileInlineListSnapshot, recordProgressPercent, recordTableCellBold, redirectExitShapeByDirection, redirectMaskEffectByFilterSubtype, redistributeColumnWidth, reduceReadOnlySession, reduceViewerZoom, reflectionStateOf, reflectionStyle, reflowRibbon, reflowSmartArtData, reflowToDrawingShapes, regionArea, registerCollaborationTeardown, registerCrossSlideAudio, registerInlineListParagraphFormat, registerInlineListRunStyle, registerPersistentAudio, registerPptxWebControls, releasePptxRenderCaches, rememberSessionDeck, removeCommentFromList, removeCommentFromSlides, removeEmptyNode, removeGradientStopPatch, removeGuide, removeQuickAccessCommand, removedSlideMasterParts, renderSparklineSvg, renderedImageCorrections, reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replacePixels, replyToCommentInList, reportInlineTextDraft, rerouteConnectorsForMovedElements, resamplePolygon, resetChartFormatTarget, resetGlyphEnvelopeMeasureCache, resetGlyphTraceCache, resetGoogleWebfontSessionCache, resetMetricTrackingCache, resetPresenterTimer, resetSlideLayoutPath, resizeSelection, resolve3DRenderingFlags, resolveAccentHex, resolveActionType, resolveActiveRibbonAddIn, resolveActiveRibbonTab, resolveAnimationCss, resolveAnimationEnd, resolveAnimationStart, resolveAnimationWheelSpokeCount, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveFileKey, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartBuildMode, resolveChartFormatTarget, resolveChartRevealDescriptor, resolveChartThreeViewSpec, resolveCollaborationConfig, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveColorAnimationTargets, resolveColorChangedImageSource, resolveConnectorEndpointUpdate, resolveCssProperties, resolveCssTextAlign, resolveCustomization, resolveDefaultPrintSettings, resolveDiagramBuildMode, resolveDiagramRevealDescriptor, resolveDirection, resolveDirection8, resolveDisplaySlideNumber, resolveDrawingShapeNodeId, resolveEastAsianBreakOptions, resolveEditPointsAvailability, resolveEffect, resolveEffectiveEndCondition, resolveEffectiveHiddenActions, resolveEffectiveStartCondition, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementOutline, resolveEmbeddedFontClearBytes, resolveExpiredAutosaveSnapshots, resolveExportBaseName, resolveExportCaptureDecision, resolveFieldDateText, resolveFilterEffect, resolveFilterPresetSubtype, resolveFontItalic, resolveFontKerning, resolveFontRefIdx, resolveFontVariant, resolveFontWeight, resolveForwardSlideWithZoomReturn, resolveGoogleFontsCss2Base, resolveGoogleFontsFace, resolveGoogleWebfontHref, resolveGroupChildFill, resolveGroupDoubleClickTarget, resolveGroupPressTarget, resolveHighlightClickForElementId, resolveHistoryDepth, resolveHyperlinkTargetAttrs, resolveImageResolutionPpi, resolveImageResolutionScale, resolveInitialSlideIndex, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveInsertSlideLayout, resolveInsertedFieldText, resolveInspectorSections, resolveKeyboardCustomization, resolveLayoutFamily, resolveLineHeight, resolveLiveCustomGeometryPath, resolveMediaBookmarkTimesMs, resolveMediaTimeNodeElementIds, resolveMetricTracking, resolveMetricTrackingPx, resolveMorphCrossfadeGroups, resolveMorphGhostIds, resolveMorphOverlayArrivals, resolveMorphOverlayLayers, resolveNotesLevelStyle, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleEditorKind, resolveOleType, resolveOleVerbTarget, resolveOnlineVideoEmbed, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphSpacing, resolveParagraphStrutFontSize, resolvePresentationAction, resolvePresentationClick, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveRunEquation, resolveRunFont, resolveRunHyperlink, resolveRunRuby, resolveSchemeColor, resolveScreenTip, resolveScriptFontSet, resolveSecondaryAxisId, resolveSelectionPaneRename, resolveShadeToTitleBackgroundImage, resolveShadeToTitleRect, resolveShapeGeometry, resolveShowBackward, resolveShowForward, resolveShowSlideIndexes, resolveSlideOutlineElements, resolveSlidePaneClick, resolveSlideSizeSelection, resolveSlideTitle, resolveSlideTransition, resolveSmartArt3DLayout, resolveSmartArtThreeViewSpec, resolveStatusBarSave, resolveStepBuildDescriptor, resolveStyleDiagonalBorders, resolveSummaryZoomNavigation, resolveSummaryZoomTileNavigationTarget, resolveTableStyleCell3D, resolveTableStyleEntry, resolveTemplateBackgroundRows, resolveTextAlignLast, resolveTextBodyColumns, resolveTextBodyRectPadding, resolveTextOutlineDashCss, resolveTextOverflowClip, resolveTextStyleAnimation, resolveTextStyleOnCleanup, resolveTitleBarStatusKey, resolveTitleBarStrip, resolveTrackedTextWidth, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveUnderlineLineDecoration, resolveUnlistedChartFormatTarget, resolveVertOverflowEllipsisStyle, resolveVerticalAnchorJustifyContent, resolveViewerAddinRows, resolveViewerAddinStatus, resolveViewerRootOptions, resolveViewportFitOptions, resolveVisibleRibbonTabs, resolveWheelSpokeCount, resolveZoomExcursionEndIndex, resolveZoomNavigationTarget, restoreCrossedTheme, restoreEditorKeyboardFocus, restoreFilteredSeries, restoreInlineListBodySelection, restoreParagraphMetadata, restoreSegmentSelection, restoreSessionDeck, resumeAllPersistentAudio, revealComment, revealedElementStyles, revealedSmartArtNodeCount, revealedStageCount, rgbToHex, rgbToHsl, rgbaToHex, ribbonAddInControlId, ribbonAddInGroupViews, ribbonControlAttrs, ribbonCustomizationCss, ribbonGroupAttrs, ribbonGroupOfControl, ribbonGroupViews, ribbonTransitionStockSoundUrl, ribbonTransitionTargets, ribbonTransitionUpdates, ribbonTransitionsDraftPatch, ribbonTransitionsSoundChange, roundedRectOutline, routeEditLayerPointerToNodes, rowHandleSegments, rowIndexAtOffset, rulerDragToGuidePosition, runEditPointsCommand, runEquationMathMl, runMediaCommand, runPresentationAction, runProgramNoticeStackStyle, runProgramNoticeStackStyleAttr, runReadOnlyPasswordCheck, runReviewCommentCommand, runRibbonAddInCommand, safeColor, sameArray, sameHex, sameRegionContext2 as sameRegionContext, sameRenderer2 as sameRenderer, sampleColorFromSlide, sampleImageCropMorphSteps, sampleWarpPresetCurve, sanitizeAvatarUrl, sanitizeColor, sanitizeCssDeclaration, sanitizeDownloadFilename, sanitizeMathMl, sanitizeOrientation, sanitizePixelDimension, sanitizePresence, sanitizeSlideIndex, sanitizeUserName, saveAutosaveSnapshot, saveDeckWithPassword, saveElementAsPicture, saveFailureMessage, saveViewerProfile, savedPresentationFileName, scaleFontSizeForAutoFit, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, scrollInspectorSectionIntoView, sectionAddAfterSlideIndex, sectionContextMenuLabelKey, secureRandomToken, secureRandomUuid, seedBroadcastFields, seedHyperlinkDraft, seedRecentColors, seedShareFields, seedShareSessionFields, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, select, selectGoogleWebfontFamilies, selectSorterSlide, selectTrustedEmbeddedFonts, selectedBookmarkOptionValue, selectedParagraphBulletKind, selectionBounds, selectionBulletKind, serializeElementClipboard, serializeShapeAdjustments, serializeSvgPath, seriesColorClearState, seriesSecondaryAxisPatch, setCachedResult, setDataLabelsRangeCache, setDuotoneCachedResult, setEditNodeType, setEditSegmentKind, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingCaretPoint, setPendingSelectionRestore, setSelectionBullets, setTriggerBookmark, settleThemeWrites, shapeFillChange, shapeGalleryItem, shapeGalleryItemForValue, shapeGallerySections, shapeOutlineChange, shapeQuickStyleLabel, shapeQuickStylePatch, shapeStyleWithoutFormatting, shapeThumbnailPath, shapeTileSvg, sheetAfterNavigate, shortestRotationTarget, shouldAutoFollowBroadcaster, shouldAutoHide, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldGeometryMorph, shouldLoopContinuously, shouldOpenInProtectedView, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldSeekAnimationGroup, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, signedLoopArea, signedPercent, simplifyFreeformVertices, simplifyLoop, slideBackgroundClearPatch, slideBackgroundClearState, slideClipboardLabels, slidePaneContextMenuLabelKey, slidePaneViewItems, slideProgressPercent, slideShowOptionChange, slideSizeFromCanvasPx, slideSizeFromPreset, slideSizeOrientation, slideSizeToCanvasPx, slideSorterContextMenuLabel, slideSorterPasteIndexes, slideStatusLabel, slidesHomeControls, smartArtCategoryDescriptionKey, smartArtCategoryLabelKey, smartArtConnectorPaint, smartArtLayoutLabel, smartArtLayoutSwitchPatch, smartArtNodeAriaLabel, smartArtNodeAtPoint, smartArtNodeLabel, smartArtPresetLabelKey, smartArtTextPaneLabels, smartArtTextPaneView, smartArtThreeViewSpec, snapBoxToGrid, snapMoveToSpanGuides, softEdgeStateOf, solveShapeAdjustmentValue, solveShapeAdjustments, sortEntranceAnimations, sorterGridColumns, sorterMenuContext, sorterPasteInsertAt, sorterSelectionIndexes, splitCubic, splitEastAsianBreaks, splitEastAsianRunPieces, splitRegionComponents, splitRunByScriptFont, splitRunForMetrics, splitStyledRun, splitWordsForUnderline, splitsUnderlineIntoWords, startCropSession, startMediaAutoplay, startRotationFrame, statusBarState, statusBarViewMode, stepPresenterZoom, stitchContinuousGradientFill, stopAllPersistentAudio, storeAudienceContent, storePresentationDeck, straddlingStrokeWidth, stripEditLayerMarkers, stripUnderlineDecoration, strokeMiterLimit, strokeOnlyPresetPathData, strokeOutlineViewBox, strokeToInkElement, strokeWidthOf, styleShadowFilter, substituteFieldText, subtitleLanguageLabel, subtitleRecognitionLanguage, subtitleSettingsFromOptions, subtitleSettingsLabels, supportsAltTextField, supportsCssLinearEasing, supportsTitleField, suppressesCssBorder, surfaceVertexWorldPosition, surfaceWireframePatch, svgArcToCubics, svgGradientFillRef, svgGradientId, svgGradientMarkup, svgId, svgLineCap, svgTile, svgToDataUrl, swapPresentationWindows, switchSmartArtLayoutData, syncGoogleWebfontStylesheet, tabRowActionsAttributes, tableCellCss, tableCellFillColorCommitPatch, tableCellPointerIntent, tableCellTextColorCommitPatch, tableContainerCss, tableInspectorPatch, tableInspectorStateOf, tableLayoutCells, takePendingCaretPoint, templateSchemeFromTheme, text3dEmuToPt, text3dFieldsPatch, text3dInheritsFromTemplate, text3dPtToEmu, text3dStylePatch, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textBuildSpanStyle, textControl, textDirectionPatch, textWarpStyle, textWrapOf, textWrapPatch, themeColorGridCommit, themeColorGridView, themePartWrites, themeShapeStyleXml, threeViewStateOf, tileRectToSourceRect, tileSpecFromShapeStyle, timingCurveToCss, titleBarCssVars, titleBarStyleAttr, titleBarTone, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toElementAxes, toGestureTransform, toSlideIndex, toggle, toggleBlackboard, toggleCommentResolvedInList, toggleInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, toggleText3dExtrusionPatch, tokenizeText, toleranceToThreshold, traceGlyphOutlineCommands, trackActiveComment, transformConnectionSite, transformInlineListCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, transitionsLabel, translateChartFormatText2 as translateChartFormatText, translateMotionPath, travelledBox, trimmedMediaDurationMs, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateMasterViewElement, updateOuterShadowPatch, updateReflectionPatch, updateSubtitleSettings, updateTagInCollections, updateViewerPreference, vAlignPatch, validateMediaTrimRange, validatePasswordPair, validateRoomId, viewLabel, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, viewerZoomPercent, visibleContextualTabs, visibleRibbonAddIns, warpPreviewPath, wasWrittenByThisPage, wheelDecl, wireMediaBookmarkSteps, wireMediaEndedSteps, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withHistoryMasterThemes, withHistoryTheme, withHomeGalleries, withInlineListDecorationDefaults, withNodeAtPath, withRecordEntry, withSaveFailureToast, withSlideSizeOrientation, wrapForeignObjectSvg, wrapNotesText, writeBackReport, writeElementParagraphs, writeStoredViewerPrefs, writeThemeParts, zeroDelayCssAnimation, zoomInPercent, zoomInScale, zoomOutPercent, zoomOutScale };