@marimo-team/islands 0.23.14-dev6 → 0.23.14-dev61

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 (171) hide show
  1. package/dist/{ConnectedDataExplorerComponent-Du3_nUzI.js → ConnectedDataExplorerComponent-CU4fZJzG.js} +4 -4
  2. package/dist/assets/__vite-browser-external-BQCLNwri.js +1 -0
  3. package/dist/assets/{worker-DEDLIQQV.js → worker-DAWRHcPq.js} +2 -2
  4. package/dist/{chat-ui-BZxLHwyD.js → chat-ui-DinOvbWu.js} +3248 -3044
  5. package/dist/{click-outside-container-BDd67_1U.js → click-outside-container-BLPjMamz.js} +141 -113
  6. package/dist/{code-visibility-C90Am97q.js → code-visibility-EvXXzjfW.js} +1169 -960
  7. package/dist/data-grid-overlay-editor-C6lxUJp-.js +136 -0
  8. package/dist/{dist-D_bzzWBm.js → dist-Bf9f8MuT.js} +3 -3
  9. package/dist/{formats-d6MhLuQ9.js → formats-Dzx4J_z1.js} +1 -1
  10. package/dist/{glide-data-editor-DkzAInWG.js → glide-data-editor-CjTu7ukN.js} +2084 -1889
  11. package/dist/{html-to-image-CGp_08St.js → html-to-image-_wGfk8V-.js} +2389 -2322
  12. package/dist/{input-CbEz_aj_.js → input-DtsN7xm-.js} +1 -1
  13. package/dist/main.js +3630 -1801
  14. package/dist/{mermaid-CJW9vIyO.js → mermaid-BYqXy_NE.js} +2 -2
  15. package/dist/{number-overlay-editor-D-a0qCT8.js → number-overlay-editor-BLJXvX9c.js} +1 -1
  16. package/dist/{process-output-R6JsYrv3.js → process-output-Mh4UrjwM.js} +1 -1
  17. package/dist/{reveal-component-C_u9FY4_.js → reveal-component-CKfV5wlk.js} +600 -596
  18. package/dist/{spec-Bv-XlYiv.js → spec-Cz-Bj1JI.js} +1 -1
  19. package/dist/style.css +1 -1
  20. package/dist/{toDate-D-l5s8nn.js → toDate-CWNNlFEX.js} +15 -7
  21. package/dist/{useAsyncData-1Dhzjfwf.js → useAsyncData-KfHB8wQR.js} +1 -1
  22. package/dist/{useDeepCompareMemoize-CDWT3BDz.js → useDeepCompareMemoize-nJMtxhm4.js} +1 -1
  23. package/dist/{useLifecycle-AHlswLw-.js → useLifecycle-DegSo0lV.js} +1 -1
  24. package/dist/{useTheme-BrYvK-_A.js → useTheme-6eZ3GOTS.js} +31 -26
  25. package/dist/{vega-component-Pk6lyc_a.js → vega-component-DzyyM9fc.js} +5 -5
  26. package/package.json +4 -4
  27. package/src/__mocks__/requests.ts +1 -0
  28. package/src/__tests__/CellStatus.test.tsx +1 -2
  29. package/src/components/app-config/user-config-form.tsx +52 -0
  30. package/src/components/chat/acp/agent-panel.tsx +35 -1
  31. package/src/components/chat/chat-panel.tsx +68 -29
  32. package/src/components/data-table/__tests__/column-explorer.test.tsx +25 -0
  33. package/src/components/data-table/__tests__/column-visibility-dropdown.test.tsx +60 -3
  34. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +24 -0
  35. package/src/components/data-table/charts/__tests__/merge-index-fields.test.ts +33 -0
  36. package/src/components/data-table/charts/chart-spec/altair-generator.ts +4 -1
  37. package/src/components/data-table/charts/charts.tsx +23 -1
  38. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +33 -12
  39. package/src/components/data-table/column-visibility-dropdown.tsx +15 -0
  40. package/src/components/debugger/debugger-code.tsx +7 -2
  41. package/src/components/editor/actions/useNotebookActions.tsx +2 -2
  42. package/src/components/editor/cell/CellStatus.tsx +1 -20
  43. package/src/components/editor/cell/PendingDeleteConfirmation.tsx +1 -1
  44. package/src/components/editor/cell/cell-context-menu.tsx +2 -2
  45. package/src/components/editor/chrome/panels/snippets-panel.tsx +3 -3
  46. package/src/components/editor/chrome/wrapper/__tests__/useOpenAiAssistant.test.ts +36 -0
  47. package/src/components/editor/chrome/wrapper/footer-items/pyodide-status.tsx +6 -36
  48. package/src/components/editor/chrome/wrapper/useAiPanel.ts +3 -1
  49. package/src/components/editor/chrome/wrapper/useOpenAiAssistant.ts +88 -0
  50. package/src/components/editor/code/__tests__/readonly-python-code.test.tsx +79 -0
  51. package/src/components/editor/code/readonly-python-code.tsx +60 -33
  52. package/src/components/editor/errors/__tests__/auto-fix.test.ts +23 -0
  53. package/src/components/editor/errors/auto-fix.tsx +88 -34
  54. package/src/components/editor/errors/fix-mode.ts +1 -1
  55. package/src/components/editor/notebook-cell.tsx +7 -0
  56. package/src/components/editor/output/ImageOutput.tsx +20 -6
  57. package/src/components/editor/output/MarimoTracebackOutput.tsx +28 -2
  58. package/src/components/editor/output/__tests__/ImageOutput.test.tsx +53 -0
  59. package/src/components/editor/output/__tests__/traceback.test.tsx +14 -6
  60. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +7 -2
  61. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +7 -3
  62. package/src/components/lifecycle/ProgressiveBoundary.tsx +42 -0
  63. package/src/components/lifecycle/RuntimeStatusBadge.tsx +59 -0
  64. package/src/components/lifecycle/__tests__/ProgressiveBoundary.test.tsx +147 -0
  65. package/src/components/lifecycle/__tests__/RuntimeStatusBadge.test.tsx +72 -0
  66. package/src/components/slides/__tests__/slide.test.tsx +33 -0
  67. package/src/components/slides/minimap.tsx +7 -1
  68. package/src/components/slides/reveal-component.tsx +3 -0
  69. package/src/components/slides/slide-cell-view.tsx +10 -6
  70. package/src/components/slides/slide.tsx +16 -13
  71. package/src/components/tracing/tracing.tsx +2 -1
  72. package/src/core/ai/config.ts +2 -2
  73. package/src/core/ai/context/__tests__/registry.test.ts +133 -3
  74. package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -1
  75. package/src/core/ai/context/providers/__tests__/error.test.ts +200 -15
  76. package/src/core/ai/context/providers/datasource.ts +27 -2
  77. package/src/core/ai/context/providers/error.ts +226 -36
  78. package/src/core/ai/context/registry.ts +77 -43
  79. package/src/core/ai/state.ts +11 -0
  80. package/src/core/cells/__tests__/cell.test.ts +39 -0
  81. package/src/core/cells/__tests__/readonly-code-display.test.ts +46 -0
  82. package/src/core/cells/cell.ts +5 -3
  83. package/src/core/cells/readonly-code-display.ts +35 -0
  84. package/src/core/codemirror/__tests__/setup.test.ts +33 -1
  85. package/src/core/codemirror/ai/resources.ts +15 -10
  86. package/src/core/codemirror/cells/__tests__/debugger-decorations.test.ts +185 -0
  87. package/src/core/codemirror/cells/__tests__/debugger-state.test.ts +224 -0
  88. package/src/core/codemirror/cells/__tests__/line-timing-decorations.test.ts +126 -0
  89. package/src/core/codemirror/cells/debugger-decorations.ts +188 -0
  90. package/src/core/codemirror/cells/debugger-state.ts +133 -0
  91. package/src/core/codemirror/cells/extensions.ts +32 -4
  92. package/src/core/codemirror/cells/line-timing-decorations.ts +165 -0
  93. package/src/core/codemirror/go-to-definition/__tests__/utils.test.ts +75 -3
  94. package/src/core/codemirror/go-to-definition/extension.ts +3 -3
  95. package/src/core/codemirror/go-to-definition/underline.ts +5 -14
  96. package/src/core/codemirror/go-to-definition/utils.ts +49 -1
  97. package/src/core/codemirror/utils.ts +15 -0
  98. package/src/core/config/__tests__/config-schema.test.ts +17 -0
  99. package/src/core/config/config-schema.ts +1 -0
  100. package/src/core/config/config.ts +10 -0
  101. package/src/core/config/feature-flag.tsx +4 -0
  102. package/src/core/edit-app.tsx +8 -5
  103. package/src/core/errors/errors.ts +2 -1
  104. package/src/core/islands/bootstrap.ts +4 -3
  105. package/src/core/islands/bridge.ts +1 -0
  106. package/src/core/lifecycle/__tests__/render-policy.test.ts +247 -0
  107. package/src/core/lifecycle/render-policy.ts +125 -0
  108. package/src/core/mime.ts +11 -4
  109. package/src/core/network/__tests__/api.test.ts +17 -0
  110. package/src/core/network/__tests__/requests-toasting.test.tsx +46 -0
  111. package/src/core/network/api.ts +17 -6
  112. package/src/core/network/requests-lazy.ts +1 -0
  113. package/src/core/network/requests-network.ts +8 -0
  114. package/src/core/network/requests-static.ts +1 -0
  115. package/src/core/network/requests-toasting.tsx +10 -1
  116. package/src/core/network/types.ts +2 -0
  117. package/src/core/run-app.tsx +27 -23
  118. package/src/core/runtime/__tests__/adapter.test.ts +160 -0
  119. package/src/core/runtime/__tests__/runtime.test.ts +45 -0
  120. package/src/core/runtime/adapter.ts +182 -0
  121. package/src/core/runtime/runtime.ts +30 -16
  122. package/src/core/wasm/PyodideLoader.tsx +20 -62
  123. package/src/core/wasm/bridge.ts +13 -4
  124. package/src/core/wasm/state.ts +8 -19
  125. package/src/core/websocket/__tests__/useMarimoKernelConnection.test.ts +4 -0
  126. package/src/core/websocket/__tests__/useWebSocket.test.ts +49 -0
  127. package/src/core/websocket/transports/__tests__/sse.test.ts +338 -0
  128. package/src/core/websocket/transports/sse.ts +308 -0
  129. package/src/core/websocket/useMarimoKernelConnection.tsx +58 -7
  130. package/src/core/websocket/useWebSocket.tsx +12 -2
  131. package/src/css/app/codemirror.css +14 -0
  132. package/src/hooks/__tests__/useDelayElapsed.test.tsx +55 -0
  133. package/src/hooks/useDelayElapsed.ts +27 -0
  134. package/src/mount.tsx +3 -3
  135. package/src/plugins/core/RenderHTML.tsx +35 -1
  136. package/src/plugins/core/__test__/RenderHTML.test.ts +44 -0
  137. package/src/plugins/impl/DataTablePlugin.tsx +1 -0
  138. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +33 -254
  139. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +116 -174
  140. package/src/plugins/impl/anywidget/__tests__/host.test.ts +313 -0
  141. package/src/plugins/impl/anywidget/__tests__/model-proxy.test.ts +158 -0
  142. package/src/plugins/impl/anywidget/__tests__/model.test.ts +8 -177
  143. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +708 -0
  144. package/src/plugins/impl/anywidget/__tests__/resolve-widget.test.ts +132 -0
  145. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +305 -133
  146. package/src/plugins/impl/anywidget/__tests__/widget-ref.test.ts +28 -0
  147. package/src/plugins/impl/anywidget/host.ts +54 -0
  148. package/src/plugins/impl/anywidget/model-proxy.ts +70 -0
  149. package/src/plugins/impl/anywidget/model.ts +59 -239
  150. package/src/plugins/impl/anywidget/registry.ts +268 -0
  151. package/src/plugins/impl/anywidget/resolve-widget.ts +138 -0
  152. package/src/plugins/impl/anywidget/runtime.ts +422 -0
  153. package/src/plugins/impl/anywidget/types.ts +14 -0
  154. package/src/plugins/impl/anywidget/widget-binding.ts +280 -119
  155. package/src/plugins/impl/anywidget/widget-ref.ts +29 -0
  156. package/src/plugins/impl/data-editor/__tests__/glide-data-editor.test.tsx +187 -0
  157. package/src/plugins/impl/data-editor/glide-data-editor.tsx +6 -0
  158. package/src/plugins/impl/data-editor/glide-portal.tsx +73 -0
  159. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +3 -2
  160. package/src/plugins/impl/mpl-interactive/__tests__/MplInteractivePlugin.test.tsx +16 -13
  161. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +1 -1
  162. package/src/utils/errors.ts +15 -0
  163. package/src/utils/time.ts +20 -0
  164. package/dist/assets/__vite-browser-external-DAm_YW43.js +0 -1
  165. package/dist/data-grid-overlay-editor-mfEJ5475.js +0 -128
  166. package/src/components/editor/chrome/panels/__tests__/snippet-display.test.ts +0 -22
  167. package/src/components/editor/chrome/panels/snippet-display.ts +0 -27
  168. package/src/core/ai/context/providers/__tests__/__snapshots__/error.test.ts.snap +0 -3
  169. package/src/core/wasm/__tests__/PyodideLoader.test.ts +0 -72
  170. package/src/core/wasm/__tests__/state.test.ts +0 -124
  171. package/src/plugins/impl/anywidget/schemas.ts +0 -32
@@ -6,17 +6,17 @@ import { s as __toESM } from "./chunk-BNovOVIE.js";
6
6
  import { _ as Logger, g as cn, h as Events, l as useEventListener, t as Button } from "./button-BacYv-bE.js";
7
7
  import { t as require_react } from "./react-DA-nE2FX.js";
8
8
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
9
- import { lt as kioskModeAtom } from "./html-to-image-CGp_08St.js";
9
+ import { lt as kioskModeAtom, pt as outputIsStale } from "./html-to-image-_wGfk8V-.js";
10
10
  import "./chunk-5FQGJX7Z-BbqSm5gU.js";
11
11
  import { u as createLucideIcon } from "./dist--2Bqjvs0.js";
12
- import { a as DEFAULT_SLIDE_TYPE, an as EyeOff, c as Slide, ct as PanelResizeHandle, i as DEFAULT_DECK_TRANSITION, ln as Code, on as Expand, ot as Panel, s as SlideSidebar, st as PanelGroup, t as useNotebookCodeAvailable } from "./code-visibility-C90Am97q.js";
13
- import { X as useDebouncedCallback } from "./input-CbEz_aj_.js";
14
- import "./toDate-D-l5s8nn.js";
12
+ import { a as DEFAULT_SLIDE_TYPE, c as Slide, ct as PanelGroup, i as DEFAULT_DECK_TRANSITION, lt as PanelResizeHandle, on as EyeOff, s as SlideSidebar, sn as Expand, st as Panel, t as useNotebookCodeAvailable, un as Code } from "./code-visibility-EvXXzjfW.js";
13
+ import { X as useDebouncedCallback } from "./input-DtsN7xm-.js";
14
+ import "./toDate-CWNNlFEX.js";
15
15
  import "./react-dom-BTJzcVJ9.js";
16
16
  import { t as require_jsx_runtime } from "./jsx-runtime-DebpN0FN.js";
17
17
  import { X as useFullScreenElement } from "./zod-CijjQh4u.js";
18
18
  import { t as Tooltip } from "./tooltip-Czds6Qr8.js";
19
- import { T as useEvent_default, _ as useAtomValue, m as isIslands } from "./useTheme-BrYvK-_A.js";
19
+ import { D as useEvent_default, g as isIslands, y as useAtomValue } from "./useTheme-6eZ3GOTS.js";
20
20
  import "./dist-U4F-tbMs.js";
21
21
  import "./main-Tj_-QTyF.js";
22
22
  import "./dist-Dv_Y15yk.js";
@@ -151,52 +151,52 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
151
151
  return !e7.styleComputed;
152
152
  })).forEach((function(e7) {
153
153
  e7.styleComputed = p(e7);
154
- })), e6.filter(ao).forEach(oo);
155
- var t2 = e6.filter(io);
156
- t2.forEach(ro), t2.forEach((function(e7) {
157
- oo(e7), f(e7);
158
- })), t2.forEach(so);
154
+ })), e6.filter(oo).forEach(so);
155
+ var t2 = e6.filter(ao);
156
+ t2.forEach(io), t2.forEach((function(e7) {
157
+ so(e7), f(e7);
158
+ })), t2.forEach(co);
159
159
  }, f = function(e6) {
160
160
  return e6.dirty = n;
161
- }, ro = function(e6) {
162
- e6.availableWidth = e6.element.parentNode.clientWidth, e6.currentWidth = e6.element.scrollWidth, e6.previousFontSize = e6.currentFontSize, e6.currentFontSize = Math.min(Math.max(e6.minSize, e6.availableWidth / e6.currentWidth * e6.previousFontSize), e6.maxSize), e6.whiteSpace = e6.multiLine && e6.currentFontSize === e6.minSize ? "normal" : "nowrap";
163
161
  }, io = function(e6) {
162
+ e6.availableWidth = e6.element.parentNode.clientWidth, e6.currentWidth = e6.element.scrollWidth, e6.previousFontSize = e6.currentFontSize, e6.currentFontSize = Math.min(Math.max(e6.minSize, e6.availableWidth / e6.currentWidth * e6.previousFontSize), e6.maxSize), e6.whiteSpace = e6.multiLine && e6.currentFontSize === e6.minSize ? "normal" : "nowrap";
163
+ }, ao = function(e6) {
164
164
  return e6.dirty !== i || e6.dirty === i && e6.element.parentNode.clientWidth !== e6.availableWidth;
165
165
  }, p = function(t2) {
166
166
  var n2 = e5.getComputedStyle(t2.element, null);
167
167
  return t2.currentFontSize = parseFloat(n2.getPropertyValue("font-size")), t2.display = n2.getPropertyValue("display"), t2.whiteSpace = n2.getPropertyValue("white-space"), true;
168
- }, ao = function(e6) {
168
+ }, oo = function(e6) {
169
169
  var t2 = false;
170
170
  return !e6.preStyleTestCompleted && (/inline-/.test(e6.display) || (t2 = true, e6.display = "inline-block"), e6.whiteSpace !== "nowrap" && (t2 = true, e6.whiteSpace = "nowrap"), e6.preStyleTestCompleted = true, t2);
171
- }, oo = function(e6) {
172
- e6.element.style.whiteSpace = e6.whiteSpace, e6.element.style.display = e6.display, e6.element.style.fontSize = e6.currentFontSize + "px";
173
171
  }, so = function(e6) {
172
+ e6.element.style.whiteSpace = e6.whiteSpace, e6.element.style.display = e6.display, e6.element.style.fontSize = e6.currentFontSize + "px";
173
+ }, co = function(e6) {
174
174
  e6.element.dispatchEvent(new CustomEvent("fit", { detail: {
175
175
  oldValue: e6.previousFontSize,
176
176
  newValue: e6.currentFontSize,
177
177
  scaleFactor: e6.currentFontSize / e6.previousFontSize
178
178
  } }));
179
- }, co = function(e6, t2) {
179
+ }, lo = function(e6, t2) {
180
180
  return function(n2) {
181
181
  e6.dirty = t2, e6.active && c(n2);
182
182
  };
183
- }, lo = function(e6) {
183
+ }, uo = function(e6) {
184
184
  return function() {
185
185
  o = o.filter((function(t2) {
186
186
  return t2.element !== e6.element;
187
187
  })), e6.observeMutations && e6.observer.disconnect(), e6.element.style.whiteSpace = e6.originalStyle.whiteSpace, e6.element.style.display = e6.originalStyle.display, e6.element.style.fontSize = e6.originalStyle.fontSize;
188
188
  };
189
- }, uo = function(e6) {
189
+ }, fo = function(e6) {
190
190
  return function() {
191
191
  e6.active || (e6.active = true, c());
192
192
  };
193
- }, fo = function(e6) {
193
+ }, po = function(e6) {
194
194
  return function() {
195
195
  return e6.active = false;
196
196
  };
197
- }, po = function(e6) {
198
- e6.observeMutations && (e6.observer = new MutationObserver(co(e6, r)), e6.observer.observe(e6.element, e6.observeMutations));
199
- }, mo = {
197
+ }, mo = function(e6) {
198
+ e6.observeMutations && (e6.observer = new MutationObserver(lo(e6, r)), e6.observer.observe(e6.element, e6.observeMutations));
199
+ }, ho = {
200
200
  minSize: 16,
201
201
  maxSize: 512,
202
202
  multiLine: true,
@@ -205,18 +205,18 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
205
205
  childList: true,
206
206
  characterData: true
207
207
  }
208
- }, ho = null, go = function() {
209
- e5.clearTimeout(ho), ho = e5.setTimeout(l(i), yo.observeWindowDelay);
210
- }, _o = ["resize", "orientationchange"];
211
- return Object.defineProperty(yo, "observeWindow", { set: function(t2) {
208
+ }, go = null, _o = function() {
209
+ e5.clearTimeout(go), go = e5.setTimeout(l(i), bo.observeWindowDelay);
210
+ }, vo = ["resize", "orientationchange"];
211
+ return Object.defineProperty(bo, "observeWindow", { set: function(t2) {
212
212
  var n2 = `${t2 ? "add" : "remove"}EventListener`;
213
- _o.forEach((function(t3) {
214
- e5[n2](t3, go);
213
+ vo.forEach((function(t3) {
214
+ e5[n2](t3, _o);
215
215
  }));
216
- } }), yo.observeWindow = true, yo.observeWindowDelay = 100, yo.fitAll = l(a), yo;
216
+ } }), bo.observeWindow = true, bo.observeWindowDelay = 100, bo.fitAll = l(a), bo;
217
217
  }
218
- function vo(e6, t2) {
219
- var n2 = Object.assign({}, mo, t2), r2 = e6.map((function(e7) {
218
+ function yo(e6, t2) {
219
+ var n2 = Object.assign({}, ho, t2), r2 = e6.map((function(e7) {
220
220
  var t3 = Object.assign({}, n2, {
221
221
  element: e7,
222
222
  active: true
@@ -226,20 +226,20 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
226
226
  whiteSpace: e8.element.style.whiteSpace,
227
227
  display: e8.element.style.display,
228
228
  fontSize: e8.element.style.fontSize
229
- }, po(e8), e8.newbie = true, e8.dirty = true, o.push(e8);
229
+ }, mo(e8), e8.newbie = true, e8.dirty = true, o.push(e8);
230
230
  })(t3), {
231
231
  element: e7,
232
- fit: co(t3, a),
233
- unfreeze: uo(t3),
234
- freeze: fo(t3),
235
- unsubscribe: lo(t3)
232
+ fit: lo(t3, a),
233
+ unfreeze: fo(t3),
234
+ freeze: po(t3),
235
+ unsubscribe: uo(t3)
236
236
  };
237
237
  }));
238
238
  return c(), r2;
239
239
  }
240
- function yo(e6) {
240
+ function bo(e6) {
241
241
  var n2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
242
- return typeof e6 == "string" ? vo(t(document.querySelectorAll(e6)), n2) : vo([e6], n2)[0];
242
+ return typeof e6 == "string" ? yo(t(document.querySelectorAll(e6)), n2) : yo([e6], n2)[0];
243
243
  }
244
244
  })(typeof window > "u" ? null : window), Ci = class {
245
245
  constructor(e5) {
@@ -671,8 +671,8 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
671
671
  r.length === 1 ? i = a = parseInt(r[0], 10) : (i = parseInt(r[0], 10), a = parseInt(r[1], 10));
672
672
  let o = this.element.offsetWidth, s = t.length, c, l;
673
673
  c = typeof this.Reveal.getConfig().parallaxBackgroundHorizontal == "number" ? this.Reveal.getConfig().parallaxBackgroundHorizontal : s > 1 ? (i - o) / (s - 1) : 0, l = c * e5.h * -1;
674
- let u = this.element.offsetHeight, f = n.length, ro, io;
675
- ro = typeof this.Reveal.getConfig().parallaxBackgroundVertical == "number" ? this.Reveal.getConfig().parallaxBackgroundVertical : (a - u) / (f - 1), io = f > 0 ? ro * e5.v : 0, this.element.style.backgroundPosition = l + "px " + -io + "px";
674
+ let u = this.element.offsetHeight, f = n.length, io, ao;
675
+ io = typeof this.Reveal.getConfig().parallaxBackgroundVertical == "number" ? this.Reveal.getConfig().parallaxBackgroundVertical : (a - u) / (f - 1), ao = f > 0 ? io * e5.v : 0, this.element.style.backgroundPosition = l + "px " + -ao + "px";
676
676
  }
677
677
  }
678
678
  destroy() {
@@ -1078,32 +1078,32 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
1078
1078
  e6 && e6.background && (l = e6.background);
1079
1079
  }
1080
1080
  yield new Promise(requestAnimationFrame), this.Reveal.layoutSlideContents(o, s), yield new Promise(requestAnimationFrame);
1081
- let u = t.map((e6) => e6.scrollHeight), f = [], ro = t[0].parentNode, io = 1;
1081
+ let u = t.map((e6) => e6.scrollHeight), f = [], io = t[0].parentNode, ao = 1;
1082
1082
  t.forEach(function(t2, r2) {
1083
1083
  if (t2.classList.contains("stack") === false) {
1084
- let c2 = (i - o) / 2, ro2 = (a - s) / 2, p = u[r2], ao = Math.max(Math.ceil(p / a), 1);
1085
- ao = Math.min(ao, e5.pdfMaxPagesPerSlide), (ao === 1 && e5.center || t2.classList.contains("center")) && (ro2 = Math.max((a - p) / 2, 0));
1086
- let oo = document.createElement("div");
1087
- if (f.push(oo), oo.className = "pdf-page", oo.style.height = (a + e5.pdfPageHeightOffset) * ao + "px", l && (oo.style.background = l), oo.appendChild(t2), t2.style.left = c2 + "px", t2.style.top = ro2 + "px", t2.style.width = o + "px", this.Reveal.slideContent.layout(t2), t2.slideBackgroundElement && oo.insertBefore(t2.slideBackgroundElement, t2), e5.showNotes) {
1084
+ let c2 = (i - o) / 2, io2 = (a - s) / 2, p = u[r2], oo = Math.max(Math.ceil(p / a), 1);
1085
+ oo = Math.min(oo, e5.pdfMaxPagesPerSlide), (oo === 1 && e5.center || t2.classList.contains("center")) && (io2 = Math.max((a - p) / 2, 0));
1086
+ let so = document.createElement("div");
1087
+ if (f.push(so), so.className = "pdf-page", so.style.height = (a + e5.pdfPageHeightOffset) * oo + "px", l && (so.style.background = l), so.appendChild(t2), t2.style.left = c2 + "px", t2.style.top = io2 + "px", t2.style.width = o + "px", this.Reveal.slideContent.layout(t2), t2.slideBackgroundElement && so.insertBefore(t2.slideBackgroundElement, t2), e5.showNotes) {
1088
1088
  let n2 = this.Reveal.getSlideNotes(t2);
1089
1089
  if (n2) {
1090
1090
  let t3 = typeof e5.showNotes == "string" ? e5.showNotes : "inline", r3 = document.createElement("div");
1091
- r3.classList.add("speaker-notes"), r3.classList.add("speaker-notes-pdf"), r3.setAttribute("data-layout", t3), r3.innerHTML = n2, t3 === "separate-page" ? f.push(r3) : (r3.style.left = "8px", r3.style.bottom = "8px", r3.style.width = i - 16 + "px", oo.appendChild(r3));
1091
+ r3.classList.add("speaker-notes"), r3.classList.add("speaker-notes-pdf"), r3.setAttribute("data-layout", t3), r3.innerHTML = n2, t3 === "separate-page" ? f.push(r3) : (r3.style.left = "8px", r3.style.bottom = "8px", r3.style.width = i - 16 + "px", so.appendChild(r3));
1092
1092
  }
1093
1093
  }
1094
1094
  if (n) {
1095
1095
  let e6 = document.createElement("div");
1096
- e6.classList.add("slide-number"), e6.classList.add("slide-number-pdf"), e6.innerHTML = io++, oo.appendChild(e6);
1096
+ e6.classList.add("slide-number"), e6.classList.add("slide-number-pdf"), e6.innerHTML = ao++, so.appendChild(e6);
1097
1097
  }
1098
1098
  if (e5.pdfSeparateFragments) {
1099
- let e6 = this.Reveal.fragments.sort(oo.querySelectorAll(".fragment"), true), t3;
1099
+ let e6 = this.Reveal.fragments.sort(so.querySelectorAll(".fragment"), true), t3;
1100
1100
  e6.forEach(function(e7, r3) {
1101
1101
  t3 && t3.forEach(function(e8) {
1102
1102
  e8.classList.remove("current-fragment");
1103
1103
  }), e7.forEach(function(e8) {
1104
1104
  e8.classList.add("visible", "current-fragment");
1105
1105
  }, this);
1106
- let i2 = oo.cloneNode(true);
1106
+ let i2 = so.cloneNode(true);
1107
1107
  if (n) {
1108
1108
  let e8 = i2.querySelector(".slide-number-pdf"), t4 = r3 + 1;
1109
1109
  e8.innerHTML += "." + t4;
@@ -1114,11 +1114,11 @@ var StickyNote = createLucideIcon("sticky-note", [["path", {
1114
1114
  e8.classList.remove("visible", "current-fragment");
1115
1115
  });
1116
1116
  });
1117
- } else E$2(oo, ".fragment:not(.fade-out)").forEach(function(e6) {
1117
+ } else E$2(so, ".fragment:not(.fade-out)").forEach(function(e6) {
1118
1118
  e6.classList.add("visible");
1119
1119
  });
1120
1120
  }
1121
- }, this), yield new Promise(requestAnimationFrame), f.forEach((e6) => ro.appendChild(e6)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.dispatchEvent({ type: "pdf-ready" }), c.classList.remove("loading-scroll-mode");
1121
+ }, this), yield new Promise(requestAnimationFrame), f.forEach((e6) => io.appendChild(e6)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.dispatchEvent({ type: "pdf-ready" }), c.classList.remove("loading-scroll-mode");
1122
1122
  });
1123
1123
  }
1124
1124
  isActive() {
@@ -2100,22 +2100,22 @@ function Ut$1(e5, t) {
2100
2100
  let n = {}, r = {}, i = false, a = false, o, s, c, l, u = {
2101
2101
  hasNavigatedHorizontally: false,
2102
2102
  hasNavigatedVertically: false
2103
- }, f = [], ro = 1, io = {
2103
+ }, f = [], io = 1, ao = {
2104
2104
  layout: "",
2105
2105
  overview: ""
2106
- }, p = {}, ao = "idle", oo = 0, so, co = 0, lo = -1, uo = false, fo = new Ci(n), po = new Ii(n), mo = new Mi(n), ho = new Hi(n), go = new Bi(n), _o = new Oi(n), vo = new Ui(n), yo = new qi(n), bo = new Wi(n), xo = new ji(n), So = new Ki(n), Co = new _i(n), wo = new $i(n), To = new Xi(n), Eo = new Yi(n), Do = new Gi(n), Oo = new Qi(n), jo = new Ji(n), Mo = new Zi(n);
2107
- function Ro(a2) {
2106
+ }, p = {}, oo = "idle", so = 0, co, lo = 0, uo = -1, fo = false, po = new Ci(n), mo = new Ii(n), ho = new Mi(n), go = new Hi(n), _o = new Bi(n), vo = new Oi(n), yo = new Ui(n), bo = new qi(n), xo = new Wi(n), So = new ji(n), Co = new Ki(n), wo = new _i(n), To = new $i(n), Eo = new Xi(n), Do = new Yi(n), Oo = new Gi(n), ko = new Qi(n), Ao = new Ji(n), No = new Zi(n);
2107
+ function Po(a2) {
2108
2108
  if (!e5) throw 'Unable to find presentation root (<div class="reveal">).';
2109
2109
  if (i) throw "Reveal.js has already been initialized.";
2110
2110
  if (i = true, p.wrapper = e5, p.slides = e5.querySelector(".slides"), !p.slides) throw 'Unable to find slides container (<div class="slides">).';
2111
- return r = Q$2(Q$2(Q$2(Q$2(Q$2({}, ts), r), t), a2), Mt$1()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Bo(), window.addEventListener("load", ys, false), Eo.load(r.plugins, r.dependencies).then(Ho), new Promise((e6) => n.on("ready", e6));
2111
+ return r = Q$2(Q$2(Q$2(Q$2(Q$2({}, ts), r), t), a2), Mt$1()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Bo(), window.addEventListener("load", bs, false), Do.load(r.plugins, r.dependencies).then(Ho), new Promise((e6) => n.on("ready", e6));
2112
2112
  }
2113
2113
  function Bo() {
2114
2114
  r.embedded === true ? p.viewport = V$1(e5, ".reveal-viewport") || e5 : (p.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), p.viewport.classList.add("reveal-viewport");
2115
2115
  }
2116
2116
  function Ho() {
2117
- i !== false && (a = true, Ko(), qo(), cs(), os(), ss(), Hs(), ls(), go.update(true), Go(), So.readURL(), setTimeout(() => {
2118
- p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), gs({
2117
+ i !== false && (a = true, qo(), Jo(), ls(), os(), cs(), Us(), us(), _o.update(true), Wo(), Co.readURL(), setTimeout(() => {
2118
+ p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), _s({
2119
2119
  type: "ready",
2120
2120
  data: {
2121
2121
  indexh: o,
@@ -2125,27 +2125,27 @@ function Ut$1(e5, t) {
2125
2125
  });
2126
2126
  }, 1));
2127
2127
  }
2128
- function Go() {
2128
+ function Wo() {
2129
2129
  let e6 = r.view === "print", t2 = r.view === "scroll" || r.view === "reader";
2130
- (e6 || t2) && (e6 ? ds() : jo.unbind(), p.viewport.classList.add("loading-scroll-mode"), e6 ? document.readyState === "complete" ? vo.activate() : window.addEventListener("load", () => vo.activate()) : _o.activate());
2130
+ (e6 || t2) && (e6 ? fs() : Ao.unbind(), p.viewport.classList.add("loading-scroll-mode"), e6 ? document.readyState === "complete" ? yo.activate() : window.addEventListener("load", () => yo.activate()) : vo.activate());
2131
2131
  }
2132
- function Ko() {
2132
+ function qo() {
2133
2133
  r.showHiddenSlides || E$2(p.wrapper, 'section[data-visibility="hidden"]').forEach((e6) => {
2134
2134
  let t2 = e6.parentNode;
2135
2135
  t2.childElementCount === 1 && /section/i.test(t2.nodeName) ? t2.remove() : e6.remove();
2136
2136
  });
2137
2137
  }
2138
- function qo() {
2139
- p.slides.classList.add("no-transition"), le$2 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), go.render(), po.render(), mo.render(), Co.render(), wo.render(), Mo.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = Jo(), p.wrapper.setAttribute("role", "application");
2140
- }
2141
2138
  function Jo() {
2139
+ p.slides.classList.add("no-transition"), le$2 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), _o.render(), mo.render(), ho.render(), wo.render(), To.render(), No.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = Yo(), p.wrapper.setAttribute("role", "application");
2140
+ }
2141
+ function Yo() {
2142
2142
  let e6 = p.wrapper.querySelector(".aria-status");
2143
2143
  return e6 || (e6 = document.createElement("div"), e6.style.position = "absolute", e6.style.height = "1px", e6.style.width = "1px", e6.style.overflow = "hidden", e6.style.clip = "rect( 1px, 1px, 1px, 1px )", e6.classList.add("aria-status"), e6.setAttribute("aria-live", "polite"), e6.setAttribute("aria-atomic", "true"), p.wrapper.appendChild(e6)), e6;
2144
2144
  }
2145
2145
  function Xo(e6) {
2146
2146
  p.statusElement.textContent = e6;
2147
2147
  }
2148
- function Zo(e6) {
2148
+ function Qo(e6) {
2149
2149
  let t2 = "";
2150
2150
  if (e6.nodeType === 3) t2 += e6.textContent.trim();
2151
2151
  else if (e6.nodeType === 1) {
@@ -2153,10 +2153,10 @@ function Ut$1(e5, t) {
2153
2153
  if (n2 !== "true" && !r2) {
2154
2154
  if (e6.tagName === "IMG" || e6.tagName === "VIDEO") {
2155
2155
  let n3 = e6.getAttribute("alt");
2156
- n3 && (t2 += is(n3));
2156
+ n3 && (t2 += $o(n3));
2157
2157
  }
2158
2158
  Array.from(e6.childNodes).forEach((e7) => {
2159
- t2 += Zo(e7);
2159
+ t2 += Qo(e7);
2160
2160
  }), [
2161
2161
  "P",
2162
2162
  "DIV",
@@ -2170,58 +2170,58 @@ function Ut$1(e5, t) {
2170
2170
  "H5",
2171
2171
  "H6",
2172
2172
  "BLOCKQUOTE"
2173
- ].includes(e6.tagName) && t2.trim() !== "" && (t2 = is(t2));
2173
+ ].includes(e6.tagName) && t2.trim() !== "" && (t2 = $o(t2));
2174
2174
  }
2175
2175
  }
2176
2176
  return t2 = t2.trim(), t2 === "" ? "" : t2 + " ";
2177
2177
  }
2178
- function is(e6) {
2178
+ function $o(e6) {
2179
2179
  let t2 = e6.trim();
2180
2180
  return t2 === "" ? e6 : /[.!?]$/.test(t2) ? t2 : t2 + ".";
2181
2181
  }
2182
2182
  function os() {
2183
2183
  setInterval(() => {
2184
- (!_o.isActive() && p.wrapper.scrollTop !== 0 || p.wrapper.scrollLeft !== 0) && (p.wrapper.scrollTop = 0, p.wrapper.scrollLeft = 0);
2184
+ (!vo.isActive() && p.wrapper.scrollTop !== 0 || p.wrapper.scrollLeft !== 0) && (p.wrapper.scrollTop = 0, p.wrapper.scrollLeft = 0);
2185
2185
  }, 1e3);
2186
2186
  }
2187
- function ss() {
2188
- document.addEventListener("fullscreenchange", Ec), document.addEventListener("webkitfullscreenchange", Ec);
2189
- }
2190
2187
  function cs() {
2191
- r.postMessage && window.addEventListener("message", xc, false);
2188
+ document.addEventListener("fullscreenchange", Dc), document.addEventListener("webkitfullscreenchange", Dc);
2189
+ }
2190
+ function ls() {
2191
+ r.postMessage && window.addEventListener("message", Sc, false);
2192
2192
  }
2193
- function ls(e6) {
2193
+ function us(e6) {
2194
2194
  let t2 = Q$2({}, r);
2195
2195
  if (typeof e6 == "object" && ge$1(r, e6), n.isReady() === false) return;
2196
2196
  let i2 = p.wrapper.querySelectorAll(de$1).length;
2197
- p.wrapper.classList.remove(t2.transition), p.wrapper.classList.add(r.transition), p.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), p.wrapper.setAttribute("data-background-transition", r.backgroundTransition), p.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), p.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && Us(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && js(), ho.reset(), so && (so = (so.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (so = new es(p.wrapper, () => Math.min(Math.max((Date.now() - lo) / oo, 0), 1)), so.on("click", Dc), uo = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), Mo.configure(r, t2), Oo.configure(r, t2), To.configure(r, t2), Co.configure(r, t2), wo.configure(r, t2), xo.configure(r, t2), yo.configure(r, t2), po.configure(r, t2), Bs();
2198
- }
2199
- function us() {
2200
- window.addEventListener("resize", wc, false), r.touch && jo.bind(), r.keyboard && xo.bind(), r.progress && wo.bind(), r.respondToHashChanges && So.bind(), Co.bind(), Oo.bind(), p.slides.addEventListener("click", Cc, false), p.slides.addEventListener("transitionend", Sc, false), p.pauseOverlay.addEventListener("click", js, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", Tc, false);
2197
+ p.wrapper.classList.remove(t2.transition), p.wrapper.classList.add(r.transition), p.wrapper.setAttribute("data-transition-speed", r.transitionSpeed), p.wrapper.setAttribute("data-background-transition", r.backgroundTransition), p.viewport.style.setProperty("--slide-width", typeof r.width == "string" ? r.width : r.width + "px"), p.viewport.style.setProperty("--slide-height", typeof r.height == "string" ? r.height : r.height + "px"), r.shuffle && Ws(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && Ms(), go.reset(), co && (co = (co.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (co = new es(p.wrapper, () => Math.min(Math.max((Date.now() - uo) / so, 0), 1)), co.on("click", Oc), fo = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), No.configure(r, t2), ko.configure(r, t2), Eo.configure(r, t2), wo.configure(r, t2), To.configure(r, t2), So.configure(r, t2), bo.configure(r, t2), mo.configure(r, t2), Vs();
2201
2198
  }
2202
2199
  function ds() {
2203
- jo.unbind(), Oo.unbind(), xo.unbind(), Co.unbind(), wo.unbind(), So.unbind(), window.removeEventListener("resize", wc, false), p.slides.removeEventListener("click", Cc, false), p.slides.removeEventListener("transitionend", Sc, false), p.pauseOverlay.removeEventListener("click", js, false);
2200
+ window.addEventListener("resize", Tc, false), r.touch && Ao.bind(), r.keyboard && So.bind(), r.progress && To.bind(), r.respondToHashChanges && Co.bind(), wo.bind(), ko.bind(), p.slides.addEventListener("click", wc, false), p.slides.addEventListener("transitionend", Cc, false), p.pauseOverlay.addEventListener("click", Ms, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", Ec, false);
2204
2201
  }
2205
2202
  function fs() {
2206
- i = false, a !== false && (ds(), dc(), Mo.destroy(), Oo.destroy(), Do.destroy(), Eo.destroy(), To.destroy(), Co.destroy(), wo.destroy(), go.destroy(), po.destroy(), mo.destroy(), document.removeEventListener("fullscreenchange", Ec), document.removeEventListener("webkitfullscreenchange", Ec), document.removeEventListener("visibilitychange", Tc, false), window.removeEventListener("message", xc, false), window.removeEventListener("load", ys, false), p.pauseOverlay && p.pauseOverlay.remove(), p.statusElement && p.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), p.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), p.wrapper.removeAttribute("data-transition-speed"), p.wrapper.removeAttribute("data-background-transition"), p.viewport.classList.remove("reveal-viewport"), p.viewport.style.removeProperty("--slide-width"), p.viewport.style.removeProperty("--slide-height"), p.slides.style.removeProperty("width"), p.slides.style.removeProperty("height"), p.slides.style.removeProperty("zoom"), p.slides.style.removeProperty("left"), p.slides.style.removeProperty("top"), p.slides.style.removeProperty("bottom"), p.slides.style.removeProperty("right"), p.slides.style.removeProperty("transform"), Array.from(p.wrapper.querySelectorAll(de$1)).forEach((e6) => {
2203
+ Ao.unbind(), ko.unbind(), So.unbind(), wo.unbind(), To.unbind(), Co.unbind(), window.removeEventListener("resize", Tc, false), p.slides.removeEventListener("click", wc, false), p.slides.removeEventListener("transitionend", Cc, false), p.pauseOverlay.removeEventListener("click", Ms, false);
2204
+ }
2205
+ function ps() {
2206
+ i = false, a !== false && (fs(), fc(), No.destroy(), ko.destroy(), Oo.destroy(), Do.destroy(), Eo.destroy(), wo.destroy(), To.destroy(), _o.destroy(), mo.destroy(), ho.destroy(), document.removeEventListener("fullscreenchange", Dc), document.removeEventListener("webkitfullscreenchange", Dc), document.removeEventListener("visibilitychange", Ec, false), window.removeEventListener("message", Sc, false), window.removeEventListener("load", bs, false), p.pauseOverlay && p.pauseOverlay.remove(), p.statusElement && p.statusElement.remove(), document.documentElement.classList.remove("reveal-full-page"), p.wrapper.classList.remove("ready", "center", "has-horizontal-slides", "has-vertical-slides"), p.wrapper.removeAttribute("data-transition-speed"), p.wrapper.removeAttribute("data-background-transition"), p.viewport.classList.remove("reveal-viewport"), p.viewport.style.removeProperty("--slide-width"), p.viewport.style.removeProperty("--slide-height"), p.slides.style.removeProperty("width"), p.slides.style.removeProperty("height"), p.slides.style.removeProperty("zoom"), p.slides.style.removeProperty("left"), p.slides.style.removeProperty("top"), p.slides.style.removeProperty("bottom"), p.slides.style.removeProperty("right"), p.slides.style.removeProperty("transform"), Array.from(p.wrapper.querySelectorAll(de$1)).forEach((e6) => {
2207
2207
  e6.style.removeProperty("display"), e6.style.removeProperty("top"), e6.removeAttribute("hidden"), e6.removeAttribute("aria-hidden");
2208
2208
  }));
2209
2209
  }
2210
- function ps(t2, n2, r2) {
2210
+ function ms(t2, n2, r2) {
2211
2211
  e5.addEventListener(t2, n2, r2);
2212
2212
  }
2213
- function ms(t2, n2, r2) {
2213
+ function hs(t2, n2, r2) {
2214
2214
  e5.removeEventListener(t2, n2, r2);
2215
2215
  }
2216
- function hs(e6) {
2217
- typeof e6.layout == "string" && (io.layout = e6.layout), typeof e6.overview == "string" && (io.overview = e6.overview), io.layout ? ae$2(p.slides, io.layout + " " + io.overview) : ae$2(p.slides, io.overview);
2216
+ function gs(e6) {
2217
+ typeof e6.layout == "string" && (ao.layout = e6.layout), typeof e6.overview == "string" && (ao.overview = e6.overview), ao.layout ? ae$2(p.slides, ao.layout + " " + ao.overview) : ae$2(p.slides, ao.overview);
2218
2218
  }
2219
- function gs({ target: e6 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2219
+ function _s({ target: e6 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2220
2220
  let i2 = document.createEvent("HTMLEvents", 1, 2);
2221
- return i2.initEvent(t2, r2, true), ge$1(i2, n2), e6.dispatchEvent(i2), e6 === p.wrapper && vs(t2), i2;
2221
+ return i2.initEvent(t2, r2, true), ge$1(i2, n2), e6.dispatchEvent(i2), e6 === p.wrapper && ys(t2), i2;
2222
2222
  }
2223
- function _s(e6) {
2224
- gs({
2223
+ function vs(e6) {
2224
+ _s({
2225
2225
  type: "slidechanged",
2226
2226
  data: {
2227
2227
  indexh: o,
@@ -2232,41 +2232,41 @@ function Ut$1(e5, t) {
2232
2232
  }
2233
2233
  });
2234
2234
  }
2235
- function vs(e6, t2) {
2235
+ function ys(e6, t2) {
2236
2236
  if (r.postMessageEvents && window.parent !== window.self) {
2237
2237
  let n2 = {
2238
2238
  namespace: "reveal",
2239
2239
  eventName: e6,
2240
- state: cc()
2240
+ state: lc()
2241
2241
  };
2242
2242
  ge$1(n2, t2), window.parent.postMessage(JSON.stringify(n2), "*");
2243
2243
  }
2244
2244
  }
2245
- function ys() {
2246
- if (p.wrapper && !vo.isActive()) {
2245
+ function bs() {
2246
+ if (p.wrapper && !yo.isActive()) {
2247
2247
  let e6 = p.viewport.offsetWidth, t2 = p.viewport.offsetHeight;
2248
2248
  if (!r.disableLayout) {
2249
2249
  le$2 && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * 0.01 + "px");
2250
- let n2 = _o.isActive() ? Ss(e6, t2) : Ss(), i2 = ro;
2251
- bs(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", ro = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), ro = Math.max(ro, r.minScale), ro = Math.min(ro, r.maxScale), ro === 1 || _o.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", hs({ layout: "" })) : (p.slides.style.zoom = "", p.slides.style.left = "50%", p.slides.style.top = "50%", p.slides.style.bottom = "auto", p.slides.style.right = "auto", hs({ layout: "translate(-50%, -50%) scale(" + ro + ")" }));
2250
+ let n2 = vo.isActive() ? Cs(e6, t2) : Cs(), i2 = io;
2251
+ xs(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", io = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), io = Math.max(io, r.minScale), io = Math.min(io, r.maxScale), io === 1 || vo.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", gs({ layout: "" })) : (p.slides.style.zoom = "", p.slides.style.left = "50%", p.slides.style.top = "50%", p.slides.style.bottom = "auto", p.slides.style.right = "auto", gs({ layout: "translate(-50%, -50%) scale(" + io + ")" }));
2252
2252
  let a2 = Array.from(p.wrapper.querySelectorAll(de$1));
2253
2253
  for (let e7 = 0, t3 = a2.length; e7 < t3; e7++) {
2254
2254
  let t4 = a2[e7];
2255
2255
  t4.style.display !== "none" && (r.center || t4.classList.contains("center") ? t4.classList.contains("stack") ? t4.style.top = 0 : t4.style.top = Math.max((n2.height - t4.scrollHeight) / 2, 0) + "px" : t4.style.top = "");
2256
2256
  }
2257
- i2 !== ro && gs({
2257
+ i2 !== io && _s({
2258
2258
  type: "resize",
2259
2259
  data: {
2260
2260
  oldScale: i2,
2261
- scale: ro,
2261
+ scale: io,
2262
2262
  size: n2
2263
2263
  }
2264
2264
  });
2265
2265
  }
2266
- xs(), p.viewport.style.setProperty("--slide-scale", ro), p.viewport.style.setProperty("--viewport-width", e6 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), _o.layout(), wo.update(), go.updateParallax(), bo.isActive() && bo.update();
2266
+ Ss(), p.viewport.style.setProperty("--slide-scale", io), p.viewport.style.setProperty("--viewport-width", e6 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), vo.layout(), To.update(), _o.updateParallax(), xo.isActive() && xo.update();
2267
2267
  }
2268
2268
  }
2269
- function bs(e6, t2) {
2269
+ function xs(e6, t2) {
2270
2270
  E$2(p.slides, "section > .stretch, section > .r-stretch").forEach((n2) => {
2271
2271
  let r2 = Ei(n2, t2);
2272
2272
  if (/(img|video)/gi.test(n2.nodeName)) {
@@ -2275,13 +2275,13 @@ function Ut$1(e5, t) {
2275
2275
  } else n2.style.width = e6 + "px", n2.style.height = r2 + "px";
2276
2276
  });
2277
2277
  }
2278
- function xs() {
2279
- if (p.wrapper && !r.disableLayout && !vo.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2280
- let e6 = Ss();
2281
- e6.presentationWidth > 0 && e6.presentationWidth <= r.scrollActivationWidth ? _o.isActive() || (go.create(), _o.activate()) : _o.isActive() && _o.deactivate();
2278
+ function Ss() {
2279
+ if (p.wrapper && !r.disableLayout && !yo.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2280
+ let e6 = Cs();
2281
+ e6.presentationWidth > 0 && e6.presentationWidth <= r.scrollActivationWidth ? vo.isActive() || (_o.create(), vo.activate()) : vo.isActive() && vo.deactivate();
2282
2282
  }
2283
2283
  }
2284
- function Ss(e6, t2) {
2284
+ function Cs(e6, t2) {
2285
2285
  let n2 = r.width, i2 = r.height;
2286
2286
  r.disableLayout && (n2 = p.slides.offsetWidth, i2 = p.slides.offsetHeight);
2287
2287
  let a2 = {
@@ -2292,58 +2292,58 @@ function Ut$1(e5, t) {
2292
2292
  };
2293
2293
  return a2.presentationWidth -= a2.presentationWidth * r.margin, a2.presentationHeight -= a2.presentationHeight * r.margin, typeof a2.width == "string" && /%$/.test(a2.width) && (a2.width = parseInt(a2.width, 10) / 100 * a2.presentationWidth), typeof a2.height == "string" && /%$/.test(a2.height) && (a2.height = parseInt(a2.height, 10) / 100 * a2.presentationHeight), a2;
2294
2294
  }
2295
- function Cs(e6, t2) {
2295
+ function ws(e6, t2) {
2296
2296
  typeof e6 == "object" && typeof e6.setAttribute == "function" && e6.setAttribute("data-previous-indexv", t2 || 0);
2297
2297
  }
2298
- function ws(e6) {
2298
+ function Ts(e6) {
2299
2299
  if (typeof e6 == "object" && typeof e6.setAttribute == "function" && e6.classList.contains("stack")) {
2300
2300
  let t2 = e6.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
2301
2301
  return parseInt(e6.getAttribute(t2) || 0, 10);
2302
2302
  }
2303
2303
  return 0;
2304
2304
  }
2305
- function Ts(e6 = l) {
2305
+ function Es(e6 = l) {
2306
2306
  return e6 && e6.parentNode && !!e6.parentNode.nodeName.match(/section/i);
2307
2307
  }
2308
- function Es(e6 = l) {
2308
+ function Ds(e6 = l) {
2309
2309
  return e6.classList.contains(".stack") || e6.querySelector("section") !== null;
2310
2310
  }
2311
- function Ds() {
2312
- return l && Ts(l) ? !l.nextElementSibling : false;
2313
- }
2314
2311
  function Os() {
2315
- return o === 0 && s === 0;
2312
+ return l && Es(l) ? !l.nextElementSibling : false;
2316
2313
  }
2317
2314
  function ks() {
2318
- return l ? !(l.nextElementSibling || Ts(l) && l.parentNode.nextElementSibling) : false;
2315
+ return o === 0 && s === 0;
2319
2316
  }
2320
2317
  function As() {
2318
+ return l ? !(l.nextElementSibling || Es(l) && l.parentNode.nextElementSibling) : false;
2319
+ }
2320
+ function js() {
2321
2321
  if (r.pause) {
2322
2322
  let e6 = p.wrapper.classList.contains("paused");
2323
- dc(), p.wrapper.classList.add("paused"), e6 === false && gs({ type: "paused" });
2323
+ fc(), p.wrapper.classList.add("paused"), e6 === false && _s({ type: "paused" });
2324
2324
  }
2325
2325
  }
2326
- function js() {
2326
+ function Ms() {
2327
2327
  let e6 = p.wrapper.classList.contains("paused");
2328
- p.wrapper.classList.remove("paused"), uc(), e6 && gs({ type: "resumed" });
2328
+ p.wrapper.classList.remove("paused"), dc(), e6 && _s({ type: "resumed" });
2329
2329
  }
2330
- function Ms(e6) {
2331
- typeof e6 == "boolean" ? e6 ? As() : js() : Ns() ? js() : As();
2330
+ function Ns(e6) {
2331
+ typeof e6 == "boolean" ? e6 ? js() : Ms() : Ps() ? Ms() : js();
2332
2332
  }
2333
- function Ns() {
2333
+ function Ps() {
2334
2334
  return p.wrapper.classList.contains("paused");
2335
2335
  }
2336
- function Ps(e6) {
2337
- typeof e6 == "boolean" ? e6 ? mo.show() : mo.hide() : mo.isVisible() ? mo.hide() : mo.show();
2338
- }
2339
2336
  function Fs(e6) {
2340
- typeof e6 == "boolean" ? e6 ? pc() : fc() : uo ? pc() : fc();
2337
+ typeof e6 == "boolean" ? e6 ? ho.show() : ho.hide() : ho.isVisible() ? ho.hide() : ho.show();
2341
2338
  }
2342
- function Is() {
2343
- return !!(oo && !uo);
2339
+ function Is(e6) {
2340
+ typeof e6 == "boolean" ? e6 ? mc() : pc() : fo ? mc() : pc();
2344
2341
  }
2345
- function Ls(t2, n2, i2, a2) {
2346
- if (gs({
2342
+ function Ls() {
2343
+ return !!(so && !fo);
2344
+ }
2345
+ function Rs(t2, n2, i2, a2) {
2346
+ if (_s({
2347
2347
  type: "beforeslidechange",
2348
2348
  data: {
2349
2349
  indexh: t2 === void 0 ? o : t2,
@@ -2353,90 +2353,90 @@ function Ut$1(e5, t) {
2353
2353
  }).defaultPrevented) return;
2354
2354
  c = l;
2355
2355
  let u2 = p.wrapper.querySelectorAll(te$2);
2356
- if (_o.isActive()) {
2357
- let e6 = _o.getSlideByIndices(t2, n2);
2358
- e6 && _o.scrollToSlide(e6);
2356
+ if (vo.isActive()) {
2357
+ let e6 = vo.getSlideByIndices(t2, n2);
2358
+ e6 && vo.scrollToSlide(e6);
2359
2359
  return;
2360
2360
  }
2361
2361
  if (u2.length === 0) return;
2362
- n2 === void 0 && !bo.isActive() && (n2 = ws(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && Cs(c.parentNode, s);
2363
- let ro2 = f.concat();
2362
+ n2 === void 0 && !xo.isActive() && (n2 = Ts(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && ws(c.parentNode, s);
2363
+ let io2 = f.concat();
2364
2364
  f.length = 0;
2365
- let io2 = o || 0, oo2 = s || 0;
2366
- o = Ws(te$2, t2 === void 0 ? o : t2), s = Ws(_e$1, n2 === void 0 ? s : n2);
2367
- let so2 = o !== io2 || s !== oo2;
2368
- so2 || (c = null);
2369
- let co2 = u2[o], lo2 = co2.querySelectorAll("section");
2370
- e5.classList.toggle("is-vertical-slide", lo2.length > 1), l = lo2[s] || co2;
2371
- let uo2 = false;
2372
- so2 && c && l && !bo.isActive() && (ao = "running", uo2 = Rs(c, l, io2, oo2), uo2 && p.slides.classList.add("disable-slide-transitions")), qs(), ys(), bo.isActive() && bo.update(), i2 !== void 0 && yo.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), Os() && setTimeout(() => {
2373
- tc().forEach((e6) => {
2374
- Cs(e6, 0);
2365
+ let ao2 = o || 0, so2 = s || 0;
2366
+ o = Gs(te$2, t2 === void 0 ? o : t2), s = Gs(_e$1, n2 === void 0 ? s : n2);
2367
+ let co2 = o !== ao2 || s !== so2;
2368
+ co2 || (c = null);
2369
+ let lo2 = u2[o], uo2 = lo2.querySelectorAll("section");
2370
+ e5.classList.toggle("is-vertical-slide", uo2.length > 1), l = uo2[s] || lo2;
2371
+ let fo2 = false;
2372
+ co2 && c && l && !xo.isActive() && (oo = "running", fo2 = zs(c, l, ao2, so2), fo2 && p.slides.classList.add("disable-slide-transitions")), Js(), bs(), xo.isActive() && xo.update(), i2 !== void 0 && bo.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), ks() && setTimeout(() => {
2373
+ nc().forEach((e6) => {
2374
+ ws(e6, 0);
2375
2375
  });
2376
2376
  }, 0));
2377
2377
  e: for (let e6 = 0, t3 = f.length; e6 < t3; e6++) {
2378
- for (let t4 = 0; t4 < ro2.length; t4++) if (ro2[t4] === f[e6]) {
2379
- ro2.splice(t4, 1);
2378
+ for (let t4 = 0; t4 < io2.length; t4++) if (io2[t4] === f[e6]) {
2379
+ io2.splice(t4, 1);
2380
2380
  continue e;
2381
2381
  }
2382
- p.viewport.classList.add(f[e6]), gs({ type: f[e6] });
2382
+ p.viewport.classList.add(f[e6]), _s({ type: f[e6] });
2383
2383
  }
2384
- for (; ro2.length; ) p.viewport.classList.remove(ro2.pop());
2385
- so2 && (fo.afterSlideChanged(), _s(a2)), (so2 || !c) && (fo.stopEmbeddedContent(c), fo.startEmbeddedContent(l)), requestAnimationFrame(() => {
2386
- Xo(Zo(l));
2387
- }), wo.update(), Co.update(), Mo.update(), go.update(), go.updateParallax(), po.update(), yo.update(), So.writeURL(), uc(), uo2 && (setTimeout(() => {
2384
+ for (; io2.length; ) p.viewport.classList.remove(io2.pop());
2385
+ co2 && (po.afterSlideChanged(), vs(a2)), (co2 || !c) && (po.stopEmbeddedContent(c), po.startEmbeddedContent(l)), requestAnimationFrame(() => {
2386
+ Xo(Qo(l));
2387
+ }), To.update(), wo.update(), No.update(), _o.update(), _o.updateParallax(), mo.update(), bo.update(), Co.writeURL(), dc(), fo2 && (setTimeout(() => {
2388
2388
  p.slides.classList.remove("disable-slide-transitions");
2389
- }, 0), r.autoAnimate && ho.run(c, l));
2389
+ }, 0), r.autoAnimate && go.run(c, l));
2390
2390
  }
2391
- function Rs(e6, t2, n2, r2) {
2391
+ function zs(e6, t2, n2, r2) {
2392
2392
  return e6.hasAttribute("data-auto-animate") && t2.hasAttribute("data-auto-animate") && e6.getAttribute("data-auto-animate-id") === t2.getAttribute("data-auto-animate-id") && !(o > n2 || s > r2 ? t2 : e6).hasAttribute("data-auto-animate-restart");
2393
2393
  }
2394
- function zs(e6, t2, n2) {
2394
+ function Bs(e6, t2, n2) {
2395
2395
  let i2 = o || 0;
2396
2396
  o = t2, s = n2;
2397
2397
  let a2 = l !== e6;
2398
- c = l, l = e6, l && c && r.autoAnimate && Rs(c, l, i2, s) && ho.run(c, l), a2 && (fo.afterSlideChanged(), c && (fo.stopEmbeddedContent(c), fo.stopEmbeddedContent(c.slideBackgroundElement)), fo.startEmbeddedContent(l), fo.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2399
- Xo(Zo(l));
2400
- }), _s();
2398
+ c = l, l = e6, l && c && r.autoAnimate && zs(c, l, i2, s) && go.run(c, l), a2 && (po.afterSlideChanged(), c && (po.stopEmbeddedContent(c), po.stopEmbeddedContent(c.slideBackgroundElement)), po.startEmbeddedContent(l), po.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2399
+ Xo(Qo(l));
2400
+ }), vs();
2401
2401
  }
2402
- function Bs() {
2403
- ds(), us(), ys(), oo = r.autoSlide, uc(), go.create(), So.writeURL(), r.sortFragmentsOnSync === true && yo.sortAll(), o !== void 0 && (o = Ws(te$2, o), s = Ws(_e$1, s)), Co.update(), wo.update(), qs(), Mo.update(), Mo.updateVisibility(), Do.update(), go.update(true), po.update(), fo.formatEmbeddedContent(), r.autoPlayMedia === false ? fo.stopEmbeddedContent(l, { unloadIframes: false }) : fo.startEmbeddedContent(l), bo.isActive() && bo.layout(), gs({ type: "sync" });
2402
+ function Vs() {
2403
+ fs(), ds(), bs(), so = r.autoSlide, dc(), _o.create(), Co.writeURL(), r.sortFragmentsOnSync === true && bo.sortAll(), o !== void 0 && (o = Gs(te$2, o), s = Gs(_e$1, s)), wo.update(), To.update(), Js(), No.update(), No.updateVisibility(), Oo.update(), _o.update(true), mo.update(), po.formatEmbeddedContent(), r.autoPlayMedia === false ? po.stopEmbeddedContent(l, { unloadIframes: false }) : po.startEmbeddedContent(l), xo.isActive() && xo.layout(), _s({ type: "sync" });
2404
2404
  }
2405
- function Vs(e6 = l) {
2406
- go.sync(e6), yo.sync(e6), fo.load(e6), go.update(), Mo.update(), gs({
2405
+ function Hs(e6 = l) {
2406
+ _o.sync(e6), bo.sync(e6), po.load(e6), _o.update(), No.update(), _s({
2407
2407
  type: "slidesync",
2408
2408
  data: { slide: e6 }
2409
2409
  });
2410
2410
  }
2411
- function Hs() {
2412
- $s().forEach((e6) => {
2411
+ function Us() {
2412
+ ec().forEach((e6) => {
2413
2413
  E$2(e6, "section").forEach((e7, t2) => {
2414
2414
  t2 > 0 && (e7.classList.remove("present"), e7.classList.remove("past"), e7.classList.add("future"), e7.setAttribute("aria-hidden", "true"));
2415
2415
  });
2416
2416
  });
2417
2417
  }
2418
- function Us(e6 = $s()) {
2418
+ function Ws(e6 = ec()) {
2419
2419
  e6.forEach((t2, n2) => {
2420
2420
  let r2 = e6[Math.floor(Math.random() * e6.length)];
2421
2421
  r2.parentNode === t2.parentNode && t2.parentNode.insertBefore(t2, r2);
2422
2422
  let i2 = t2.querySelectorAll("section");
2423
- i2.length && Us(i2);
2423
+ i2.length && Ws(i2);
2424
2424
  });
2425
2425
  }
2426
- function Ws(e6, t2) {
2427
- let n2 = E$2(p.wrapper, e6), i2 = n2.length, a2 = _o.isActive() || vo.isActive(), o2 = false, s2 = false;
2426
+ function Gs(e6, t2) {
2427
+ let n2 = E$2(p.wrapper, e6), i2 = n2.length, a2 = vo.isActive() || yo.isActive(), o2 = false, s2 = false;
2428
2428
  if (i2) {
2429
2429
  r.loop && (t2 >= i2 && (o2 = true), t2 %= i2, t2 < 0 && (t2 = i2 + t2, s2 = true)), t2 = Math.max(Math.min(t2, i2 - 1), 0);
2430
2430
  for (let e8 = 0; e8 < i2; e8++) {
2431
- let i3 = n2[e8], c3 = r.rtl && !Ts(i3);
2431
+ let i3 = n2[e8], c3 = r.rtl && !Es(i3);
2432
2432
  if (i3.classList.remove("past"), i3.classList.remove("present"), i3.classList.remove("future"), i3.setAttribute("hidden", ""), i3.setAttribute("aria-hidden", "true"), i3.querySelector("section") && i3.classList.add("stack"), a2) {
2433
2433
  i3.classList.add("present");
2434
2434
  continue;
2435
2435
  }
2436
- e8 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && Gs(i3)) : e8 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && Ks(i3)) : e8 === t2 && r.fragments && (o2 ? Ks(i3) : s2 && Gs(i3));
2436
+ e8 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && Ks(i3)) : e8 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && qs(i3)) : e8 === t2 && r.fragments && (o2 ? qs(i3) : s2 && Ks(i3));
2437
2437
  }
2438
2438
  let e7 = n2[t2], c2 = e7.classList.contains("present");
2439
- e7.classList.add("present"), e7.removeAttribute("hidden"), e7.removeAttribute("aria-hidden"), c2 || gs({
2439
+ e7.classList.add("present"), e7.removeAttribute("hidden"), e7.removeAttribute("aria-hidden"), c2 || _s({
2440
2440
  target: e7,
2441
2441
  type: "visible",
2442
2442
  bubbles: false
@@ -2446,35 +2446,35 @@ function Ut$1(e5, t) {
2446
2446
  } else t2 = 0;
2447
2447
  return t2;
2448
2448
  }
2449
- function Gs(e6) {
2449
+ function Ks(e6) {
2450
2450
  E$2(e6, ".fragment").forEach((e7) => {
2451
2451
  e7.classList.add("visible"), e7.classList.remove("current-fragment");
2452
2452
  });
2453
2453
  }
2454
- function Ks(e6) {
2454
+ function qs(e6) {
2455
2455
  E$2(e6, ".fragment.visible").forEach((e7) => {
2456
2456
  e7.classList.remove("visible", "current-fragment");
2457
2457
  });
2458
2458
  }
2459
- function qs() {
2460
- let e6 = $s(), t2 = e6.length, n2, i2;
2459
+ function Js() {
2460
+ let e6 = ec(), t2 = e6.length, n2, i2;
2461
2461
  if (t2 && o !== void 0) {
2462
- let a2 = bo.isActive(), c2 = a2 ? 10 : r.viewDistance;
2463
- le$2 && (c2 = a2 ? 6 : r.mobileViewDistance), vo.isActive() && (c2 = Number.MAX_VALUE);
2462
+ let a2 = xo.isActive(), c2 = a2 ? 10 : r.viewDistance;
2463
+ le$2 && (c2 = a2 ? 6 : r.mobileViewDistance), yo.isActive() && (c2 = Number.MAX_VALUE);
2464
2464
  for (let l2 = 0; l2 < t2; l2++) {
2465
- let u2 = e6[l2], f2 = E$2(u2, "section"), ro2 = f2.length;
2466
- if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? fo.load(u2) : fo.unload(u2), ro2) {
2467
- let e7 = a2 ? 0 : ws(u2);
2468
- for (let t3 = 0; t3 < ro2; t3++) {
2465
+ let u2 = e6[l2], f2 = E$2(u2, "section"), io2 = f2.length;
2466
+ if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? po.load(u2) : po.unload(u2), io2) {
2467
+ let e7 = a2 ? 0 : Ts(u2);
2468
+ for (let t3 = 0; t3 < io2; t3++) {
2469
2469
  let r2 = f2[t3];
2470
- i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e7), n2 + i2 < c2 ? fo.load(r2) : fo.unload(r2);
2470
+ i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e7), n2 + i2 < c2 ? po.load(r2) : po.unload(r2);
2471
2471
  }
2472
2472
  }
2473
2473
  }
2474
- rc() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), nc() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2474
+ ic() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), rc() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2475
2475
  }
2476
2476
  }
2477
- function Js({ includeFragments: e6 = false } = {}) {
2477
+ function Ys({ includeFragments: e6 = false } = {}) {
2478
2478
  let t2 = p.wrapper.querySelectorAll(te$2), n2 = p.wrapper.querySelectorAll(_e$1), i2 = {
2479
2479
  left: o > 0,
2480
2480
  right: o < t2.length - 1,
@@ -2482,7 +2482,7 @@ function Ut$1(e5, t) {
2482
2482
  down: s < n2.length - 1
2483
2483
  };
2484
2484
  if (r.loop && (t2.length > 1 && (i2.left = true, i2.right = true), n2.length > 1 && (i2.up = true, i2.down = true)), t2.length > 1 && r.navigationMode === "linear" && (i2.right = i2.right || i2.down, i2.left = i2.left || i2.up), e6 === true) {
2485
- let e7 = yo.availableRoutes();
2485
+ let e7 = bo.availableRoutes();
2486
2486
  i2.left = i2.left || e7.prev, i2.up = i2.up || e7.prev, i2.down = i2.down || e7.next, i2.right = i2.right || e7.next;
2487
2487
  }
2488
2488
  if (r.rtl) {
@@ -2491,8 +2491,8 @@ function Ut$1(e5, t) {
2491
2491
  }
2492
2492
  return i2;
2493
2493
  }
2494
- function Ys(e6 = l) {
2495
- let t2 = $s(), n2 = 0;
2494
+ function Xs(e6 = l) {
2495
+ let t2 = ec(), n2 = 0;
2496
2496
  e: for (let r2 = 0; r2 < t2.length; r2++) {
2497
2497
  let i2 = t2[r2], a2 = i2.querySelectorAll("section");
2498
2498
  for (let t3 = 0; t3 < a2.length; t3++) {
@@ -2504,8 +2504,8 @@ function Ut$1(e5, t) {
2504
2504
  }
2505
2505
  return n2;
2506
2506
  }
2507
- function Xs() {
2508
- let e6 = ac(), t2 = Ys();
2507
+ function Zs() {
2508
+ let e6 = oc(), t2 = Xs();
2509
2509
  if (l) {
2510
2510
  let e7 = l.querySelectorAll(".fragment");
2511
2511
  if (e7.length > 0) {
@@ -2515,11 +2515,11 @@ function Ut$1(e5, t) {
2515
2515
  }
2516
2516
  return Math.min(t2 / (e6 - 1), 1);
2517
2517
  }
2518
- function Zs(e6) {
2518
+ function Qs(e6) {
2519
2519
  let t2 = o, n2 = s, r2;
2520
- if (e6) if (_o.isActive()) t2 = parseInt(e6.getAttribute("data-index-h"), 10), e6.getAttribute("data-index-v") && (n2 = parseInt(e6.getAttribute("data-index-v"), 10));
2520
+ if (e6) if (vo.isActive()) t2 = parseInt(e6.getAttribute("data-index-h"), 10), e6.getAttribute("data-index-v") && (n2 = parseInt(e6.getAttribute("data-index-v"), 10));
2521
2521
  else {
2522
- let r3 = Ts(e6), i2 = r3 ? e6.parentNode : e6, a2 = $s();
2522
+ let r3 = Es(e6), i2 = r3 ? e6.parentNode : e6, a2 = ec();
2523
2523
  t2 = Math.max(a2.indexOf(i2), 0), n2 = void 0, r3 && (n2 = Math.max(E$2(e6.parentNode, "section").indexOf(e6), 0));
2524
2524
  }
2525
2525
  if (!e6 && l && l.querySelectorAll(".fragment").length > 0) {
@@ -2532,26 +2532,26 @@ function Ut$1(e5, t) {
2532
2532
  f: r2
2533
2533
  };
2534
2534
  }
2535
- function Qs() {
2536
- return E$2(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2537
- }
2538
2535
  function $s() {
2539
- return E$2(p.wrapper, te$2);
2536
+ return E$2(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2540
2537
  }
2541
2538
  function ec() {
2542
- return E$2(p.wrapper, ".slides>section>section");
2539
+ return E$2(p.wrapper, te$2);
2543
2540
  }
2544
2541
  function tc() {
2545
- return E$2(p.wrapper, te$2 + ".stack");
2542
+ return E$2(p.wrapper, ".slides>section>section");
2546
2543
  }
2547
2544
  function nc() {
2548
- return $s().length > 1;
2545
+ return E$2(p.wrapper, te$2 + ".stack");
2549
2546
  }
2550
2547
  function rc() {
2551
2548
  return ec().length > 1;
2552
2549
  }
2553
2550
  function ic() {
2554
- return Qs().map((e6) => {
2551
+ return tc().length > 1;
2552
+ }
2553
+ function ac() {
2554
+ return $s().map((e6) => {
2555
2555
  let t2 = {};
2556
2556
  for (let n2 = 0; n2 < e6.attributes.length; n2++) {
2557
2557
  let r2 = e6.attributes[n2];
@@ -2560,102 +2560,102 @@ function Ut$1(e5, t) {
2560
2560
  return t2;
2561
2561
  });
2562
2562
  }
2563
- function ac() {
2564
- return Qs().length;
2563
+ function oc() {
2564
+ return $s().length;
2565
2565
  }
2566
- function oc(e6, t2) {
2567
- let n2 = $s()[e6], r2 = n2 && n2.querySelectorAll("section");
2566
+ function sc(e6, t2) {
2567
+ let n2 = ec()[e6], r2 = n2 && n2.querySelectorAll("section");
2568
2568
  return r2 && r2.length && typeof t2 == "number" ? r2 ? r2[t2] : void 0 : n2;
2569
2569
  }
2570
- function sc(e6, t2) {
2571
- let n2 = typeof e6 == "number" ? oc(e6, t2) : e6;
2570
+ function cc(e6, t2) {
2571
+ let n2 = typeof e6 == "number" ? sc(e6, t2) : e6;
2572
2572
  if (n2) return n2.slideBackgroundElement;
2573
2573
  }
2574
- function cc() {
2575
- let e6 = Zs();
2574
+ function lc() {
2575
+ let e6 = Qs();
2576
2576
  return Q$2({
2577
2577
  indexh: e6.h,
2578
2578
  indexv: e6.v,
2579
2579
  indexf: e6.f,
2580
- paused: Ns(),
2581
- overview: bo.isActive()
2582
- }, Do.getState());
2580
+ paused: Ps(),
2581
+ overview: xo.isActive()
2582
+ }, Oo.getState());
2583
2583
  }
2584
- function lc(e6) {
2584
+ function uc(e6) {
2585
2585
  if (typeof e6 == "object") {
2586
- Ls(fe$1(e6.indexh), fe$1(e6.indexv), fe$1(e6.indexf));
2586
+ Rs(fe$1(e6.indexh), fe$1(e6.indexv), fe$1(e6.indexf));
2587
2587
  let t2 = fe$1(e6.paused), n2 = fe$1(e6.overview);
2588
- typeof t2 == "boolean" && t2 !== Ns() && Ms(t2), typeof n2 == "boolean" && n2 !== bo.isActive() && bo.toggle(n2), Do.setState(e6);
2588
+ typeof t2 == "boolean" && t2 !== Ps() && Ns(t2), typeof n2 == "boolean" && n2 !== xo.isActive() && xo.toggle(n2), Oo.setState(e6);
2589
2589
  }
2590
2590
  }
2591
- function uc() {
2592
- if (dc(), l && r.autoSlide !== false) {
2591
+ function dc() {
2592
+ if (fc(), l && r.autoSlide !== false) {
2593
2593
  let e6 = l.querySelector(".current-fragment[data-autoslide]"), t2 = e6 ? e6.getAttribute("data-autoslide") : null, n2 = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i2 = l.getAttribute("data-autoslide");
2594
- t2 ? oo = parseInt(t2, 10) : i2 ? oo = parseInt(i2, 10) : n2 ? oo = parseInt(n2, 10) : (oo = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$2(l, "video, audio").forEach((e7) => {
2595
- e7.hasAttribute("data-autoplay") && oo && e7.duration * 1e3 / e7.playbackRate > oo && (oo = e7.duration * 1e3 / e7.playbackRate + 1e3);
2596
- })), oo && !uo && !Ns() && !bo.isActive() && (!ks() || yo.availableRoutes().next || r.loop === true) && (co = setTimeout(() => {
2597
- typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : yc(), uc();
2598
- }, oo), lo = Date.now()), so && so.setPlaying(co !== -1);
2594
+ t2 ? so = parseInt(t2, 10) : i2 ? so = parseInt(i2, 10) : n2 ? so = parseInt(n2, 10) : (so = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$2(l, "video, audio").forEach((e7) => {
2595
+ e7.hasAttribute("data-autoplay") && so && e7.duration * 1e3 / e7.playbackRate > so && (so = e7.duration * 1e3 / e7.playbackRate + 1e3);
2596
+ })), so && !fo && !Ps() && !xo.isActive() && (!As() || bo.availableRoutes().next || r.loop === true) && (lo = setTimeout(() => {
2597
+ typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : bc(), dc();
2598
+ }, so), uo = Date.now()), co && co.setPlaying(lo !== -1);
2599
2599
  }
2600
2600
  }
2601
- function dc() {
2602
- clearTimeout(co), co = -1;
2603
- }
2604
2601
  function fc() {
2605
- oo && !uo && (uo = true, gs({ type: "autoslidepaused" }), clearTimeout(co), so && so.setPlaying(false));
2602
+ clearTimeout(lo), lo = -1;
2606
2603
  }
2607
2604
  function pc() {
2608
- oo && uo && (uo = false, gs({ type: "autoslideresumed" }), uc());
2605
+ so && !fo && (fo = true, _s({ type: "autoslidepaused" }), clearTimeout(lo), co && co.setPlaying(false));
2609
2606
  }
2610
- function mc({ skipFragments: e6 = false } = {}) {
2611
- if (u.hasNavigatedHorizontally = true, _o.isActive()) return _o.prev();
2612
- r.rtl ? (bo.isActive() || e6 || yo.next() === false) && Js().left && Ls(o + 1, r.navigationMode === "grid" ? s : void 0) : (bo.isActive() || e6 || yo.prev() === false) && Js().left && Ls(o - 1, r.navigationMode === "grid" ? s : void 0);
2607
+ function mc() {
2608
+ so && fo && (fo = false, _s({ type: "autoslideresumed" }), dc());
2613
2609
  }
2614
2610
  function hc({ skipFragments: e6 = false } = {}) {
2615
- if (u.hasNavigatedHorizontally = true, _o.isActive()) return _o.next();
2616
- r.rtl ? (bo.isActive() || e6 || yo.prev() === false) && Js().right && Ls(o - 1, r.navigationMode === "grid" ? s : void 0) : (bo.isActive() || e6 || yo.next() === false) && Js().right && Ls(o + 1, r.navigationMode === "grid" ? s : void 0);
2611
+ if (u.hasNavigatedHorizontally = true, vo.isActive()) return vo.prev();
2612
+ r.rtl ? (xo.isActive() || e6 || bo.next() === false) && Ys().left && Rs(o + 1, r.navigationMode === "grid" ? s : void 0) : (xo.isActive() || e6 || bo.prev() === false) && Ys().left && Rs(o - 1, r.navigationMode === "grid" ? s : void 0);
2617
2613
  }
2618
2614
  function gc({ skipFragments: e6 = false } = {}) {
2619
- if (_o.isActive()) return _o.prev();
2620
- (bo.isActive() || e6 || yo.prev() === false) && Js().up && Ls(o, s - 1);
2615
+ if (u.hasNavigatedHorizontally = true, vo.isActive()) return vo.next();
2616
+ r.rtl ? (xo.isActive() || e6 || bo.prev() === false) && Ys().right && Rs(o - 1, r.navigationMode === "grid" ? s : void 0) : (xo.isActive() || e6 || bo.next() === false) && Ys().right && Rs(o + 1, r.navigationMode === "grid" ? s : void 0);
2621
2617
  }
2622
2618
  function _c({ skipFragments: e6 = false } = {}) {
2623
- if (u.hasNavigatedVertically = true, _o.isActive()) return _o.next();
2624
- (bo.isActive() || e6 || yo.next() === false) && Js().down && Ls(o, s + 1);
2619
+ if (vo.isActive()) return vo.prev();
2620
+ (xo.isActive() || e6 || bo.prev() === false) && Ys().up && Rs(o, s - 1);
2625
2621
  }
2626
2622
  function vc({ skipFragments: e6 = false } = {}) {
2627
- if (_o.isActive()) return _o.prev();
2628
- if (e6 || yo.prev() === false) if (Js().up) gc({ skipFragments: e6 });
2623
+ if (u.hasNavigatedVertically = true, vo.isActive()) return vo.next();
2624
+ (xo.isActive() || e6 || bo.next() === false) && Ys().down && Rs(o, s + 1);
2625
+ }
2626
+ function yc({ skipFragments: e6 = false } = {}) {
2627
+ if (vo.isActive()) return vo.prev();
2628
+ if (e6 || bo.prev() === false) if (Ys().up) _c({ skipFragments: e6 });
2629
2629
  else {
2630
2630
  let t2;
2631
2631
  if (t2 = r.rtl ? E$2(p.wrapper, te$2 + ".future").pop() : E$2(p.wrapper, te$2 + ".past").pop(), t2 && t2.classList.contains("stack")) {
2632
2632
  let e7 = t2.querySelectorAll("section").length - 1 || void 0;
2633
- Ls(o - 1, e7);
2634
- } else r.rtl ? hc({ skipFragments: e6 }) : mc({ skipFragments: e6 });
2633
+ Rs(o - 1, e7);
2634
+ } else r.rtl ? gc({ skipFragments: e6 }) : hc({ skipFragments: e6 });
2635
2635
  }
2636
2636
  }
2637
- function yc({ skipFragments: e6 = false } = {}) {
2638
- if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, _o.isActive()) return _o.next();
2639
- if (e6 || yo.next() === false) {
2640
- let t2 = Js();
2641
- t2.down && t2.right && r.loop && Ds() && (t2.down = false), t2.down ? _c({ skipFragments: e6 }) : r.rtl ? mc({ skipFragments: e6 }) : hc({ skipFragments: e6 });
2637
+ function bc({ skipFragments: e6 = false } = {}) {
2638
+ if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, vo.isActive()) return vo.next();
2639
+ if (e6 || bo.next() === false) {
2640
+ let t2 = Ys();
2641
+ t2.down && t2.right && r.loop && Os() && (t2.down = false), t2.down ? vc({ skipFragments: e6 }) : r.rtl ? hc({ skipFragments: e6 }) : gc({ skipFragments: e6 });
2642
2642
  }
2643
2643
  }
2644
- function bc(e6) {
2645
- r.autoSlideStoppable && fc();
2646
- }
2647
2644
  function xc(e6) {
2645
+ r.autoSlideStoppable && pc();
2646
+ }
2647
+ function Sc(e6) {
2648
2648
  let t2 = e6.data;
2649
2649
  if (typeof t2 == "string" && t2.charAt(0) === "{" && t2.charAt(t2.length - 1) === "}" && (t2 = JSON.parse(t2), t2.method && typeof n[t2.method] == "function")) if (Li.test(t2.method) === false) {
2650
2650
  let e7 = n[t2.method].apply(n, t2.args);
2651
- vs("callback", {
2651
+ ys("callback", {
2652
2652
  method: t2.method,
2653
2653
  result: e7
2654
2654
  });
2655
2655
  } else console.warn('reveal.js: "' + t2.method + '" is is blacklisted from the postMessage API');
2656
2656
  }
2657
- function Sc(e6) {
2658
- ao === "running" && /section/gi.test(e6.target.nodeName) && (ao = "idle", gs({
2657
+ function Cc(e6) {
2658
+ oo === "running" && /section/gi.test(e6.target.nodeName) && (oo = "idle", _s({
2659
2659
  type: "slidetransitionend",
2660
2660
  data: {
2661
2661
  indexh: o,
@@ -2665,153 +2665,153 @@ function Ut$1(e5, t) {
2665
2665
  }
2666
2666
  }));
2667
2667
  }
2668
- function Cc(e6) {
2668
+ function wc(e6) {
2669
2669
  let t2 = V$1(e6.target, 'a[href^="#"]');
2670
2670
  if (t2) {
2671
- let r2 = t2.getAttribute("href"), i2 = So.getIndicesFromHash(r2);
2671
+ let r2 = t2.getAttribute("href"), i2 = Co.getIndicesFromHash(r2);
2672
2672
  i2 && (n.slide(i2.h, i2.v, i2.f), e6.preventDefault());
2673
2673
  }
2674
2674
  }
2675
- function wc(e6) {
2676
- ys();
2677
- }
2678
2675
  function Tc(e6) {
2679
- document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2676
+ bs();
2680
2677
  }
2681
2678
  function Ec(e6) {
2679
+ document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2680
+ }
2681
+ function Dc(e6) {
2682
2682
  (document.fullscreenElement || document.webkitFullscreenElement) === p.wrapper && (e6.stopImmediatePropagation(), setTimeout(() => {
2683
2683
  n.layout(), n.focus.focus();
2684
2684
  }, 1));
2685
2685
  }
2686
- function Dc(e6) {
2687
- ks() && r.loop === false ? (Ls(0, 0), pc()) : uo ? pc() : fc();
2686
+ function Oc(e6) {
2687
+ As() && r.loop === false ? (Rs(0, 0), mc()) : fo ? mc() : pc();
2688
2688
  }
2689
- let Oc = {
2689
+ let kc = {
2690
2690
  VERSION: Ot$1,
2691
- initialize: Ro,
2692
- configure: ls,
2693
- destroy: fs,
2694
- sync: Bs,
2695
- syncSlide: Vs,
2696
- syncFragments: yo.sync.bind(yo),
2697
- slide: Ls,
2698
- left: mc,
2699
- right: hc,
2700
- up: gc,
2701
- down: _c,
2702
- prev: vc,
2703
- next: yc,
2704
- navigateLeft: mc,
2705
- navigateRight: hc,
2706
- navigateUp: gc,
2707
- navigateDown: _c,
2708
- navigatePrev: vc,
2709
- navigateNext: yc,
2710
- navigateFragment: yo.goto.bind(yo),
2711
- prevFragment: yo.prev.bind(yo),
2712
- nextFragment: yo.next.bind(yo),
2713
- on: ps,
2714
- off: ms,
2715
- addEventListener: ps,
2716
- removeEventListener: ms,
2717
- layout: ys,
2718
- shuffle: Us,
2719
- availableRoutes: Js,
2720
- availableFragments: yo.availableRoutes.bind(yo),
2721
- toggleHelp: Do.toggleHelp.bind(Do),
2722
- toggleOverview: bo.toggle.bind(bo),
2723
- toggleScrollView: _o.toggle.bind(_o),
2724
- togglePause: Ms,
2725
- toggleAutoSlide: Fs,
2726
- toggleJumpToSlide: Ps,
2727
- isFirstSlide: Os,
2728
- isLastSlide: ks,
2729
- isLastVerticalSlide: Ds,
2730
- isVerticalSlide: Ts,
2731
- isVerticalStack: Es,
2732
- isPaused: Ns,
2733
- isAutoSliding: Is,
2734
- isSpeakerNotes: Mo.isSpeakerNotesWindow.bind(Mo),
2735
- isOverview: bo.isActive.bind(bo),
2736
- isFocused: Oo.isFocused.bind(Oo),
2737
- isOverlayOpen: Do.isOpen.bind(Do),
2738
- isScrollView: _o.isActive.bind(_o),
2739
- isPrintView: vo.isActive.bind(vo),
2691
+ initialize: Po,
2692
+ configure: us,
2693
+ destroy: ps,
2694
+ sync: Vs,
2695
+ syncSlide: Hs,
2696
+ syncFragments: bo.sync.bind(bo),
2697
+ slide: Rs,
2698
+ left: hc,
2699
+ right: gc,
2700
+ up: _c,
2701
+ down: vc,
2702
+ prev: yc,
2703
+ next: bc,
2704
+ navigateLeft: hc,
2705
+ navigateRight: gc,
2706
+ navigateUp: _c,
2707
+ navigateDown: vc,
2708
+ navigatePrev: yc,
2709
+ navigateNext: bc,
2710
+ navigateFragment: bo.goto.bind(bo),
2711
+ prevFragment: bo.prev.bind(bo),
2712
+ nextFragment: bo.next.bind(bo),
2713
+ on: ms,
2714
+ off: hs,
2715
+ addEventListener: ms,
2716
+ removeEventListener: hs,
2717
+ layout: bs,
2718
+ shuffle: Ws,
2719
+ availableRoutes: Ys,
2720
+ availableFragments: bo.availableRoutes.bind(bo),
2721
+ toggleHelp: Oo.toggleHelp.bind(Oo),
2722
+ toggleOverview: xo.toggle.bind(xo),
2723
+ toggleScrollView: vo.toggle.bind(vo),
2724
+ togglePause: Ns,
2725
+ toggleAutoSlide: Is,
2726
+ toggleJumpToSlide: Fs,
2727
+ isFirstSlide: ks,
2728
+ isLastSlide: As,
2729
+ isLastVerticalSlide: Os,
2730
+ isVerticalSlide: Es,
2731
+ isVerticalStack: Ds,
2732
+ isPaused: Ps,
2733
+ isAutoSliding: Ls,
2734
+ isSpeakerNotes: No.isSpeakerNotesWindow.bind(No),
2735
+ isOverview: xo.isActive.bind(xo),
2736
+ isFocused: ko.isFocused.bind(ko),
2737
+ isOverlayOpen: Oo.isOpen.bind(Oo),
2738
+ isScrollView: vo.isActive.bind(vo),
2739
+ isPrintView: yo.isActive.bind(yo),
2740
2740
  isReady: () => a,
2741
- loadSlide: fo.load.bind(fo),
2742
- unloadSlide: fo.unload.bind(fo),
2743
- startEmbeddedContent: () => fo.startEmbeddedContent(l),
2744
- stopEmbeddedContent: () => fo.stopEmbeddedContent(l, { unloadIframes: false }),
2745
- previewIframe: Do.previewIframe.bind(Do),
2746
- previewImage: Do.previewImage.bind(Do),
2747
- previewVideo: Do.previewVideo.bind(Do),
2748
- showPreview: Do.previewIframe.bind(Do),
2749
- hidePreview: Do.close.bind(Do),
2750
- addEventListeners: us,
2751
- removeEventListeners: ds,
2752
- dispatchEvent: gs,
2753
- getState: cc,
2754
- setState: lc,
2755
- getProgress: Xs,
2756
- getIndices: Zs,
2757
- getSlidesAttributes: ic,
2758
- getSlidePastCount: Ys,
2759
- getTotalSlides: ac,
2760
- getSlide: oc,
2741
+ loadSlide: po.load.bind(po),
2742
+ unloadSlide: po.unload.bind(po),
2743
+ startEmbeddedContent: () => po.startEmbeddedContent(l),
2744
+ stopEmbeddedContent: () => po.stopEmbeddedContent(l, { unloadIframes: false }),
2745
+ previewIframe: Oo.previewIframe.bind(Oo),
2746
+ previewImage: Oo.previewImage.bind(Oo),
2747
+ previewVideo: Oo.previewVideo.bind(Oo),
2748
+ showPreview: Oo.previewIframe.bind(Oo),
2749
+ hidePreview: Oo.close.bind(Oo),
2750
+ addEventListeners: ds,
2751
+ removeEventListeners: fs,
2752
+ dispatchEvent: _s,
2753
+ getState: lc,
2754
+ setState: uc,
2755
+ getProgress: Zs,
2756
+ getIndices: Qs,
2757
+ getSlidesAttributes: ac,
2758
+ getSlidePastCount: Xs,
2759
+ getTotalSlides: oc,
2760
+ getSlide: sc,
2761
2761
  getPreviousSlide: () => c,
2762
2762
  getCurrentSlide: () => l,
2763
- getSlideBackground: sc,
2764
- getSlideNotes: Mo.getSlideNotes.bind(Mo),
2765
- getSlides: Qs,
2766
- getHorizontalSlides: $s,
2767
- getVerticalSlides: ec,
2768
- hasHorizontalSlides: nc,
2769
- hasVerticalSlides: rc,
2763
+ getSlideBackground: cc,
2764
+ getSlideNotes: No.getSlideNotes.bind(No),
2765
+ getSlides: $s,
2766
+ getHorizontalSlides: ec,
2767
+ getVerticalSlides: tc,
2768
+ hasHorizontalSlides: rc,
2769
+ hasVerticalSlides: ic,
2770
2770
  hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
2771
2771
  hasNavigatedVertically: () => u.hasNavigatedVertically,
2772
- shouldAutoAnimateBetween: Rs,
2773
- addKeyBinding: xo.addKeyBinding.bind(xo),
2774
- removeKeyBinding: xo.removeKeyBinding.bind(xo),
2775
- triggerKey: xo.triggerKey.bind(xo),
2776
- registerKeyboardShortcut: xo.registerKeyboardShortcut.bind(xo),
2777
- getComputedSlideSize: Ss,
2778
- setCurrentScrollPage: zs,
2779
- removeHiddenSlides: Ko,
2780
- getScale: () => ro,
2772
+ shouldAutoAnimateBetween: zs,
2773
+ addKeyBinding: So.addKeyBinding.bind(So),
2774
+ removeKeyBinding: So.removeKeyBinding.bind(So),
2775
+ triggerKey: So.triggerKey.bind(So),
2776
+ registerKeyboardShortcut: So.registerKeyboardShortcut.bind(So),
2777
+ getComputedSlideSize: Cs,
2778
+ setCurrentScrollPage: Bs,
2779
+ removeHiddenSlides: qo,
2780
+ getScale: () => io,
2781
2781
  getConfig: () => r,
2782
2782
  getQueryHash: Mt$1,
2783
- getSlidePath: So.getHash.bind(So),
2783
+ getSlidePath: Co.getHash.bind(Co),
2784
2784
  getRevealElement: () => e5,
2785
2785
  getSlidesElement: () => p.slides,
2786
2786
  getViewportElement: () => p.viewport,
2787
- getBackgroundsElement: () => go.element,
2788
- registerPlugin: Eo.registerPlugin.bind(Eo),
2789
- hasPlugin: Eo.hasPlugin.bind(Eo),
2790
- getPlugin: Eo.getPlugin.bind(Eo),
2791
- getPlugins: Eo.getRegisteredPlugins.bind(Eo)
2787
+ getBackgroundsElement: () => _o.element,
2788
+ registerPlugin: Do.registerPlugin.bind(Do),
2789
+ hasPlugin: Do.hasPlugin.bind(Do),
2790
+ getPlugin: Do.getPlugin.bind(Do),
2791
+ getPlugins: Do.getRegisteredPlugins.bind(Do)
2792
2792
  };
2793
- return ge$1(n, We$1(Q$2({}, Oc), {
2793
+ return ge$1(n, We$1(Q$2({}, kc), {
2794
2794
  announceStatus: Xo,
2795
- getStatusText: Zo,
2796
- focus: Oo,
2797
- scroll: _o,
2798
- progress: wo,
2799
- controls: Co,
2800
- location: So,
2801
- overview: bo,
2802
- keyboard: xo,
2803
- fragments: yo,
2804
- backgrounds: go,
2805
- slideContent: fo,
2806
- slideNumber: po,
2807
- onUserInput: bc,
2808
- closeOverlay: Do.close.bind(Do),
2809
- updateSlidesVisibility: qs,
2810
- layoutSlideContents: bs,
2811
- transformSlides: hs,
2812
- cueAutoSlide: uc,
2813
- cancelAutoSlide: dc
2814
- })), Oc;
2795
+ getStatusText: Qo,
2796
+ focus: ko,
2797
+ scroll: vo,
2798
+ progress: To,
2799
+ controls: wo,
2800
+ location: Co,
2801
+ overview: xo,
2802
+ keyboard: So,
2803
+ fragments: bo,
2804
+ backgrounds: _o,
2805
+ slideContent: po,
2806
+ slideNumber: mo,
2807
+ onUserInput: xc,
2808
+ closeOverlay: Oo.close.bind(Oo),
2809
+ updateSlidesVisibility: Js,
2810
+ layoutSlideContents: xs,
2811
+ transformSlides: gs,
2812
+ cueAutoSlide: dc,
2813
+ cancelAutoSlide: fc
2814
+ })), kc;
2815
2815
  }
2816
2816
  var ce$1 = Ut$1, qt$1 = [];
2817
2817
  ce$1.initialize = (e5) => {
@@ -2856,36 +2856,36 @@ function v$1(e5, t, n) {
2856
2856
  function y(e5, t, n) {
2857
2857
  return e5 ? JSON.stringify(v$1(e5, t, n)) : "[]";
2858
2858
  }
2859
- function b({ config: e5, plugins: t = ee$1, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: f, onResumed: ro, deckRef: io, className: p, style: ao, children: oo }) {
2860
- let so = (0, import_react.useRef)(null), co = (0, import_react.useRef)(null), lo = (0, import_react.useRef)(null), [uo, fo] = (0, import_react.useState)(null), po = (0, import_react.useRef)(t), mo = (0, import_react.useRef)(false), ho = (0, import_react.useRef)(e5), go = (0, import_react.useRef)(null), _o = (0, import_react.useRef)(/* @__PURE__ */ new WeakMap()), vo = (0, import_react.useRef)(1), yo = (0, import_react.useRef)(false), bo = (0, import_react.useRef)(0);
2859
+ function b({ config: e5, plugins: t = ee$1, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: f, onResumed: io, deckRef: ao, className: p, style: oo, children: so }) {
2860
+ let co = (0, import_react.useRef)(null), lo = (0, import_react.useRef)(null), uo = (0, import_react.useRef)(null), [fo, po] = (0, import_react.useState)(null), mo = (0, import_react.useRef)(t), ho = (0, import_react.useRef)(false), go = (0, import_react.useRef)(e5), _o = (0, import_react.useRef)(null), vo = (0, import_react.useRef)(/* @__PURE__ */ new WeakMap()), yo = (0, import_react.useRef)(1), bo = (0, import_react.useRef)(false), xo = (0, import_react.useRef)(0);
2861
2861
  return (0, import_react.useEffect)(() => {
2862
- if (yo.current = true, bo.current += 1, lo.current) lo.current.isReady() && fo(lo.current);
2862
+ if (bo.current = true, xo.current += 1, uo.current) uo.current.isReady() && po(uo.current);
2863
2863
  else {
2864
- let t2 = new ce$1(so.current, {
2864
+ let t2 = new ce$1(co.current, {
2865
2865
  ...e5,
2866
- plugins: po.current
2866
+ plugins: mo.current
2867
2867
  });
2868
- ho.current = e5, lo.current = t2, t2.initialize().then(() => {
2869
- !yo.current || lo.current !== t2 || (fo(t2), n == null ? void 0 : n(t2));
2868
+ go.current = e5, uo.current = t2, t2.initialize().then(() => {
2869
+ !bo.current || uo.current !== t2 || (po(t2), n == null ? void 0 : n(t2));
2870
2870
  });
2871
2871
  }
2872
2872
  return () => {
2873
- yo.current = false;
2874
- let e6 = lo.current;
2873
+ bo.current = false;
2874
+ let e6 = uo.current;
2875
2875
  if (!e6) return;
2876
- let t2 = ++bo.current;
2876
+ let t2 = ++xo.current;
2877
2877
  Promise.resolve().then(() => {
2878
- if (!(yo.current || bo.current !== t2) && lo.current === e6) {
2878
+ if (!(bo.current || xo.current !== t2) && uo.current === e6) {
2879
2879
  try {
2880
2880
  e6.destroy();
2881
2881
  } catch {
2882
2882
  }
2883
- lo.current === e6 && (lo.current = null);
2883
+ uo.current === e6 && (uo.current = null);
2884
2884
  }
2885
2885
  });
2886
2886
  };
2887
- }, []), (0, import_react.useEffect)(() => (g(io, uo), () => g(io, null)), [io, uo]), (0, import_react.useEffect)(() => {
2888
- if (!uo) return;
2887
+ }, []), (0, import_react.useEffect)(() => (g(ao, fo), () => g(ao, null)), [ao, fo]), (0, import_react.useEffect)(() => {
2888
+ if (!fo) return;
2889
2889
  let e6 = [
2890
2890
  ["sync", r],
2891
2891
  ["slidesync", i],
@@ -2896,14 +2896,14 @@ function b({ config: e5, plugins: t = ee$1, onReady: n, onSync: r, onSlideSync:
2896
2896
  ["overviewshown", l],
2897
2897
  ["overviewhidden", u],
2898
2898
  ["paused", f],
2899
- ["resumed", ro]
2899
+ ["resumed", io]
2900
2900
  ].filter((e7) => e7[1] != null);
2901
- for (let [t2, n2] of e6) uo.on(t2, n2);
2901
+ for (let [t2, n2] of e6) fo.on(t2, n2);
2902
2902
  return () => {
2903
- for (let [t2, n2] of e6) uo.off(t2, n2);
2903
+ for (let [t2, n2] of e6) fo.off(t2, n2);
2904
2904
  };
2905
2905
  }, [
2906
- uo,
2906
+ fo,
2907
2907
  r,
2908
2908
  i,
2909
2909
  a,
@@ -2913,30 +2913,30 @@ function b({ config: e5, plugins: t = ee$1, onReady: n, onSync: r, onSlideSync:
2913
2913
  l,
2914
2914
  u,
2915
2915
  f,
2916
- ro
2916
+ io
2917
2917
  ]), (0, import_react.useLayoutEffect)(() => {
2918
2918
  var _a2;
2919
- !uo || !((_a2 = lo.current) == null ? void 0 : _a2.isReady()) || te$1(ho.current, e5) && (mo.current = true, lo.current.configure(e5 ?? {}), ho.current = e5);
2920
- }, [uo, e5]), (0, import_react.useLayoutEffect)(() => {
2919
+ !fo || !((_a2 = uo.current) == null ? void 0 : _a2.isReady()) || te$1(go.current, e5) && (ho.current = true, uo.current.configure(e5 ?? {}), go.current = e5);
2920
+ }, [fo, e5]), (0, import_react.useLayoutEffect)(() => {
2921
2921
  var _a2;
2922
- let e6 = mo.current;
2923
- mo.current = false;
2924
- let t2 = y(co.current, _o.current, vo);
2922
+ let e6 = ho.current;
2923
+ ho.current = false;
2924
+ let t2 = y(lo.current, vo.current, yo);
2925
2925
  if (e6) {
2926
- go.current = t2;
2926
+ _o.current = t2;
2927
2927
  return;
2928
2928
  }
2929
- ((_a2 = lo.current) == null ? void 0 : _a2.isReady()) && go.current !== t2 && (lo.current.sync(), go.current = t2);
2929
+ ((_a2 = uo.current) == null ? void 0 : _a2.isReady()) && _o.current !== t2 && (uo.current.sync(), _o.current = t2);
2930
2930
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(h.Provider, {
2931
- value: uo,
2931
+ value: fo,
2932
2932
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2933
2933
  className: p ? `reveal ${p}` : "reveal",
2934
- style: ao,
2935
- ref: so,
2934
+ style: oo,
2935
+ ref: co,
2936
2936
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2937
2937
  className: "slides",
2938
- ref: co,
2939
- children: oo
2938
+ ref: lo,
2939
+ children: so
2940
2940
  })
2941
2941
  })
2942
2942
  });
@@ -2988,8 +2988,8 @@ function C$1(e5, t) {
2988
2988
  }
2989
2989
  return n;
2990
2990
  }
2991
- function w({ children: e5, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: f, backgroundOpacity: ro, backgroundTransition: io, visibility: p, autoAnimate: ao, autoAnimateId: oo, autoAnimateRestart: so, autoAnimateUnmatched: co, autoAnimateEasing: lo, autoAnimateDuration: uo, autoAnimateDelay: fo, transition: po, transitionSpeed: mo, autoSlide: ho, notes: go, backgroundInteractive: _o, preload: vo, ...yo }) {
2992
- let bo = (0, import_react.useContext)(h), So = (0, import_react.useRef)(null), Co = (0, import_react.useRef)(null), wo = (0, import_react.useRef)(null), To = C$1(yo, {
2991
+ function w({ children: e5, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: f, backgroundOpacity: io, backgroundTransition: ao, visibility: p, autoAnimate: oo, autoAnimateId: so, autoAnimateRestart: co, autoAnimateUnmatched: lo, autoAnimateEasing: uo, autoAnimateDuration: fo, autoAnimateDelay: po, transition: mo, transitionSpeed: ho, autoSlide: go, notes: _o, backgroundInteractive: vo, preload: yo, ...bo }) {
2992
+ let xo = (0, import_react.useContext)(h), So = (0, import_react.useRef)(null), wo = (0, import_react.useRef)(null), To = (0, import_react.useRef)(null), Eo = C$1(bo, {
2993
2993
  background: t,
2994
2994
  backgroundImage: n,
2995
2995
  backgroundVideo: r,
@@ -3001,36 +3001,36 @@ function w({ children: e5, background: t, backgroundImage: n, backgroundVideo: r
3001
3001
  backgroundSize: l,
3002
3002
  backgroundPosition: u,
3003
3003
  backgroundRepeat: f,
3004
- backgroundOpacity: ro,
3005
- backgroundTransition: io,
3004
+ backgroundOpacity: io,
3005
+ backgroundTransition: ao,
3006
3006
  visibility: p,
3007
- autoAnimate: ao,
3008
- autoAnimateId: oo,
3009
- autoAnimateRestart: so,
3010
- autoAnimateUnmatched: co,
3011
- autoAnimateEasing: lo,
3012
- autoAnimateDuration: uo,
3013
- autoAnimateDelay: fo,
3014
- transition: po,
3015
- transitionSpeed: mo,
3016
- autoSlide: ho,
3017
- notes: go,
3018
- backgroundInteractive: _o,
3019
- preload: vo
3020
- }), Eo = S$1(To);
3007
+ autoAnimate: oo,
3008
+ autoAnimateId: so,
3009
+ autoAnimateRestart: co,
3010
+ autoAnimateUnmatched: lo,
3011
+ autoAnimateEasing: uo,
3012
+ autoAnimateDuration: fo,
3013
+ autoAnimateDelay: po,
3014
+ transition: mo,
3015
+ transitionSpeed: ho,
3016
+ autoSlide: go,
3017
+ notes: _o,
3018
+ backgroundInteractive: vo,
3019
+ preload: yo
3020
+ }), Do = S$1(Eo);
3021
3021
  return (0, import_react.useLayoutEffect)(() => {
3022
3022
  let e6 = So.current;
3023
- if (!bo || !e6 || typeof bo.syncSlide != "function") return;
3024
- if (Co.current !== bo) {
3025
- Co.current = bo, wo.current = Eo;
3023
+ if (!xo || !e6 || typeof xo.syncSlide != "function") return;
3024
+ if (wo.current !== xo) {
3025
+ wo.current = xo, To.current = Do;
3026
3026
  return;
3027
3027
  }
3028
- if (Eo === "[]") return;
3029
- let t2 = Co.current === bo, n2 = wo.current === Eo;
3030
- t2 && n2 || (bo.syncSlide(e6), Co.current = bo, wo.current = Eo);
3031
- }, [bo, Eo]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3028
+ if (Do === "[]") return;
3029
+ let t2 = wo.current === xo, n2 = To.current === Do;
3030
+ t2 && n2 || (xo.syncSlide(e6), wo.current = xo, To.current = Do);
3031
+ }, [xo, Do]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3032
3032
  ref: So,
3033
- ...To,
3033
+ ...Eo,
3034
3034
  children: e5
3035
3035
  });
3036
3036
  }
@@ -3412,16 +3412,16 @@ ${c}` : c;
3412
3412
  r2 = t[0], e5 = e5.substring(r2.length);
3413
3413
  let c = Qe(t[2].split("\n", 1)[0], t[1].length), l = e5.split("\n", 1)[0], u = !c.trim(), f = 0;
3414
3414
  if (this.options.pedantic ? (f = 2, s2 = c.trimStart()) : u ? f = t[1].length + 1 : (f = c.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, s2 = c.slice(f), f += t[1].length), u && this.rules.other.blankLine.test(l) && (r2 += l + "\n", e5 = e5.substring(l.length + 1), n2 = true), !n2) {
3415
- let t2 = this.rules.other.nextBulletRegex(f), n3 = this.rules.other.hrRegex(f), i2 = this.rules.other.fencesBeginRegex(f), a2 = this.rules.other.headingBeginRegex(f), o2 = this.rules.other.htmlBeginRegex(f), ro = this.rules.other.blockquoteBeginRegex(f);
3415
+ let t2 = this.rules.other.nextBulletRegex(f), n3 = this.rules.other.hrRegex(f), i2 = this.rules.other.fencesBeginRegex(f), a2 = this.rules.other.headingBeginRegex(f), o2 = this.rules.other.htmlBeginRegex(f), io = this.rules.other.blockquoteBeginRegex(f);
3416
3416
  for (; e5; ) {
3417
- let io = e5.split("\n", 1)[0], p;
3418
- if (l = io, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), p = l) : p = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || ro.test(l) || t2.test(l) || n3.test(l)) break;
3417
+ let ao = e5.split("\n", 1)[0], p;
3418
+ if (l = ao, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), p = l) : p = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || io.test(l) || t2.test(l) || n3.test(l)) break;
3419
3419
  if (p.search(this.rules.other.nonSpaceChar) >= f || !l.trim()) s2 += "\n" + p.slice(f);
3420
3420
  else {
3421
3421
  if (u || c.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || i2.test(c) || a2.test(c) || n3.test(c)) break;
3422
3422
  s2 += "\n" + l;
3423
3423
  }
3424
- u = !l.trim(), r2 += io + "\n", e5 = e5.substring(io.length + 1), c = p.slice(f);
3424
+ u = !l.trim(), r2 += ao + "\n", e5 = e5.substring(ao.length + 1), c = p.slice(f);
3425
3425
  }
3426
3426
  }
3427
3427
  i.loose || (o ? i.loose = true : this.rules.other.doubleBlankLine.test(r2) && (o = true)), i.items.push({
@@ -4620,8 +4620,8 @@ const SlideCellView = (e5) => (Logger.warn("SlideCellView islands stub rendered;
4620
4620
  var PERSIST_DELAY_MS = 300;
4621
4621
  const SlideNotesEditor = (e5) => {
4622
4622
  var _a2;
4623
- let t = (0, import_compiler_runtime$1.c)(25), { layout: i, setLayout: a, cellId: o, className: s } = e5, c = o ? ((_a2 = i.cells.get(o)) == null ? void 0 : _a2.speakerNotes) ?? "" : "", [l, u] = (0, import_react.useState)(c), f = (0, import_react.useRef)(false), ro;
4624
- t[0] !== i || t[1] !== a ? (ro = (e6, t2) => {
4623
+ let t = (0, import_compiler_runtime$1.c)(25), { layout: i, setLayout: a, cellId: o, className: s } = e5, c = o ? ((_a2 = i.cells.get(o)) == null ? void 0 : _a2.speakerNotes) ?? "" : "", [l, u] = (0, import_react.useState)(c), f = (0, import_react.useRef)(false), io;
4624
+ t[0] !== i || t[1] !== a ? (io = (e6, t2) => {
4625
4625
  f.current = false;
4626
4626
  let n = i.cells.get(e6);
4627
4627
  if (((n == null ? void 0 : n.speakerNotes) ?? "") === t2) return;
@@ -4633,41 +4633,41 @@ const SlideNotesEditor = (e5) => {
4633
4633
  ...i,
4634
4634
  cells: r
4635
4635
  });
4636
- }, t[0] = i, t[1] = a, t[2] = ro) : ro = t[2];
4637
- let io = useDebouncedCallback(useEvent_default(ro), PERSIST_DELAY_MS), p = (0, import_react.useRef)(o), ao, oo;
4638
- t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== io ? (ao = () => {
4636
+ }, t[0] = i, t[1] = a, t[2] = io) : io = t[2];
4637
+ let ao = useDebouncedCallback(useEvent_default(io), PERSIST_DELAY_MS), p = (0, import_react.useRef)(o), oo, so;
4638
+ t[3] !== o || t[4] !== l || t[5] !== c || t[6] !== ao ? (oo = () => {
4639
4639
  if (p.current !== o) {
4640
- io.flush(), f.current = false, u(c), p.current = o;
4640
+ ao.flush(), f.current = false, u(c), p.current = o;
4641
4641
  return;
4642
4642
  }
4643
4643
  !f.current && c !== l && u(c);
4644
- }, oo = [
4644
+ }, so = [
4645
4645
  o,
4646
4646
  c,
4647
4647
  l,
4648
- io
4649
- ], t[3] = o, t[4] = l, t[5] = c, t[6] = io, t[7] = ao, t[8] = oo) : (ao = t[7], oo = t[8]), (0, import_react.useEffect)(ao, oo);
4650
- let so, co;
4651
- t[9] === io ? (so = t[10], co = t[11]) : (so = () => () => {
4652
- io.flush();
4653
- }, co = [io], t[9] = io, t[10] = so, t[11] = co), (0, import_react.useEffect)(so, co);
4654
- let lo;
4655
- t[12] !== o || t[13] !== io ? (lo = (e6) => {
4656
- u(e6), o && (f.current = true, io(o, e6));
4657
- }, t[12] = o, t[13] = io, t[14] = lo) : lo = t[14];
4658
- let uo = lo, po;
4648
+ ao
4649
+ ], t[3] = o, t[4] = l, t[5] = c, t[6] = ao, t[7] = oo, t[8] = so) : (oo = t[7], so = t[8]), (0, import_react.useEffect)(oo, so);
4650
+ let co, lo;
4651
+ t[9] === ao ? (co = t[10], lo = t[11]) : (co = () => () => {
4652
+ ao.flush();
4653
+ }, lo = [ao], t[9] = ao, t[10] = co, t[11] = lo), (0, import_react.useEffect)(co, lo);
4654
+ let uo;
4655
+ t[12] !== o || t[13] !== ao ? (uo = (e6) => {
4656
+ u(e6), o && (f.current = true, ao(o, e6));
4657
+ }, t[12] = o, t[13] = ao, t[14] = uo) : uo = t[14];
4658
+ let fo = uo, po;
4659
4659
  t[15] === s ? po = t[16] : (po = cn("h-full min-h-0 flex flex-col bg-muted/40 dark:bg-muted/20 border-t", s), t[15] = s, t[16] = po);
4660
- let mo;
4661
- t[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (mo = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("header", {
4660
+ let ho;
4661
+ t[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ho = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("header", {
4662
4662
  className: "flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",
4663
4663
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StickyNote, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Speaker notes" })]
4664
- }), t[17] = mo) : mo = t[17];
4665
- let ho;
4666
- t[18] !== o || t[19] !== l || t[20] !== uo ? (ho = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4664
+ }), t[17] = ho) : ho = t[17];
4665
+ let go;
4666
+ t[18] !== o || t[19] !== l || t[20] !== fo ? (go = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4667
4667
  className: "flex-1 min-h-0 p-2",
4668
4668
  children: o ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("textarea", {
4669
4669
  value: l,
4670
- onChange: (e6) => uo(e6.target.value),
4670
+ onChange: (e6) => fo(e6.target.value),
4671
4671
  onClick: Events.stopPropagation(),
4672
4672
  placeholder: "Add notes for this slide. Visible to you in speaker view (press S during presentation).",
4673
4673
  className: cn("h-full w-full resize-none rounded-sm border border-input/25 bg-background", "px-3 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground", "ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:border-accent"),
@@ -4676,14 +4676,14 @@ const SlideNotesEditor = (e5) => {
4676
4676
  className: "h-full flex items-center justify-center text-xs text-muted-foreground",
4677
4677
  children: "Select a slide to add notes."
4678
4678
  })
4679
- }), t[18] = o, t[19] = l, t[20] = uo, t[21] = ho) : ho = t[21];
4679
+ }), t[18] = o, t[19] = l, t[20] = fo, t[21] = go) : go = t[21];
4680
4680
  let _o;
4681
- return t[22] !== po || t[23] !== ho ? (_o = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
4681
+ return t[22] !== po || t[23] !== go ? (_o = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
4682
4682
  className: po,
4683
4683
  "aria-label": "Speaker notes",
4684
4684
  onKeyDown: _temp$1,
4685
- children: [mo, ho]
4686
- }), t[22] = po, t[23] = ho, t[24] = _o) : _o = t[24], _o;
4685
+ children: [ho, go]
4686
+ }), t[22] = po, t[23] = go, t[24] = _o) : _o = t[24], _o;
4687
4687
  };
4688
4688
  function _temp$1(e5) {
4689
4689
  return e5.stopPropagation();
@@ -5982,16 +5982,16 @@ ${c}` : c;
5982
5982
  r2 = t[0], e5 = e5.substring(r2.length);
5983
5983
  let c = ie(t[2].split("\n", 1)[0], t[1].length), l = e5.split("\n", 1)[0], u = !c.trim(), f = 0;
5984
5984
  if (this.options.pedantic ? (f = 2, s2 = c.trimStart()) : u ? f = t[1].length + 1 : (f = c.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, s2 = c.slice(f), f += t[1].length), u && this.rules.other.blankLine.test(l) && (r2 += l + "\n", e5 = e5.substring(l.length + 1), n2 = true), !n2) {
5985
- let t2 = this.rules.other.nextBulletRegex(f), n3 = this.rules.other.hrRegex(f), i2 = this.rules.other.fencesBeginRegex(f), a2 = this.rules.other.headingBeginRegex(f), o2 = this.rules.other.htmlBeginRegex(f), ro = this.rules.other.blockquoteBeginRegex(f);
5985
+ let t2 = this.rules.other.nextBulletRegex(f), n3 = this.rules.other.hrRegex(f), i2 = this.rules.other.fencesBeginRegex(f), a2 = this.rules.other.headingBeginRegex(f), o2 = this.rules.other.htmlBeginRegex(f), io = this.rules.other.blockquoteBeginRegex(f);
5986
5986
  for (; e5; ) {
5987
- let io = e5.split("\n", 1)[0], p;
5988
- if (l = io, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), p = l) : p = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || ro.test(l) || t2.test(l) || n3.test(l)) break;
5987
+ let ao = e5.split("\n", 1)[0], p;
5988
+ if (l = ao, this.options.pedantic ? (l = l.replace(this.rules.other.listReplaceNesting, " "), p = l) : p = l.replace(this.rules.other.tabCharGlobal, " "), i2.test(l) || a2.test(l) || o2.test(l) || io.test(l) || t2.test(l) || n3.test(l)) break;
5989
5989
  if (p.search(this.rules.other.nonSpaceChar) >= f || !l.trim()) s2 += "\n" + p.slice(f);
5990
5990
  else {
5991
5991
  if (u || c.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || i2.test(c) || a2.test(c) || n3.test(c)) break;
5992
5992
  s2 += "\n" + l;
5993
5993
  }
5994
- u = !l.trim(), r2 += io + "\n", e5 = e5.substring(io.length + 1), c = p.slice(f);
5994
+ u = !l.trim(), r2 += ao + "\n", e5 = e5.substring(ao.length + 1), c = p.slice(f);
5995
5995
  }
5996
5996
  }
5997
5997
  i.loose || (o ? i.loose = true : this.rules.other.doubleBlankLine.test(r2) && (o = true)), i.items.push({
@@ -7208,35 +7208,35 @@ function useParkedPreview(e5) {
7208
7208
  activeCellId: a,
7209
7209
  cellId: null
7210
7210
  }, t[3] = a, t[4] = l);
7211
- let [u, f] = (0, import_react.useState)(l), ro = u.cellId;
7212
- u.activeCellId === a ? s && ro !== a && (ro = a, f({
7211
+ let [u, f] = (0, import_react.useState)(l), io = u.cellId;
7212
+ u.activeCellId === a ? s && io !== a && (io = a, f({
7213
7213
  activeCellId: a,
7214
- cellId: ro
7215
- })) : (ro = s ? a : null, f({
7214
+ cellId: io
7215
+ })) : (io = s ? a : null, f({
7216
7216
  activeCellId: a,
7217
- cellId: ro
7217
+ cellId: io
7218
7218
  }));
7219
- let io = !c && a != null && ro === a, p = io ? ro : null, ao;
7220
- t[5] === p ? ao = t[6] : (ao = {
7219
+ let ao = !c && a != null && io === a, p = ao ? io : null, oo;
7220
+ t[5] === p ? oo = t[6] : (oo = {
7221
7221
  cellId: p,
7222
7222
  show: true
7223
- }, t[5] = p, t[6] = ao);
7224
- let [oo, so] = (0, import_react.useState)(ao), co = oo.show;
7225
- oo.cellId !== p && (co = true, so({
7223
+ }, t[5] = p, t[6] = oo);
7224
+ let [so, co] = (0, import_react.useState)(oo), lo = so.show;
7225
+ so.cellId !== p && (lo = true, co({
7226
7226
  cellId: p,
7227
7227
  show: true
7228
7228
  }));
7229
- let lo;
7230
- t[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (lo = () => so(_temp), t[7] = lo) : lo = t[7];
7231
- let uo = useEvent_default(lo), fo = c || io ? n ?? null : null, po;
7232
- return t[8] !== p || t[9] !== co || t[10] !== io || t[11] !== s || t[12] !== fo || t[13] !== uo ? (po = {
7233
- parkedPreviewCell: fo,
7234
- isHeldEdit: io,
7229
+ let uo;
7230
+ t[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (uo = () => co(_temp), t[7] = uo) : uo = t[7];
7231
+ let fo = useEvent_default(uo), po = c || ao ? n ?? null : null, mo;
7232
+ return t[8] !== p || t[9] !== lo || t[10] !== ao || t[11] !== s || t[12] !== po || t[13] !== fo ? (mo = {
7233
+ parkedPreviewCell: po,
7234
+ isHeldEdit: ao,
7235
7235
  isNoOutputPreview: s,
7236
7236
  heldEditCellId: p,
7237
- heldShowsCode: co,
7238
- toggleHeldShowsCode: uo
7239
- }, t[8] = p, t[9] = co, t[10] = io, t[11] = s, t[12] = fo, t[13] = uo, t[14] = po) : po = t[14], po;
7237
+ heldShowsCode: lo,
7238
+ toggleHeldShowsCode: fo
7239
+ }, t[8] = p, t[9] = lo, t[10] = ao, t[11] = s, t[12] = po, t[13] = fo, t[14] = mo) : mo = t[14], mo;
7240
7240
  }
7241
7241
  function _temp(e5) {
7242
7242
  return {
@@ -7245,49 +7245,50 @@ function _temp(e5) {
7245
7245
  };
7246
7246
  }
7247
7247
  var SubslideView = (e5) => {
7248
- let t = (0, import_compiler_runtime.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a } = e5, o, s, c, l, u, f;
7248
+ let t = (0, import_compiler_runtime.c)(24), { subslide: n, resolveShowCode: r, isEditable: i, slideConfigs: a } = e5, o, s, c, u, f, ao;
7249
7249
  if (t[0] !== i || t[1] !== r || t[2] !== a || t[3] !== n) {
7250
- let { slideLevel: e6, cumulativeByBlock: io2 } = buildSubslideNotes(n, a);
7250
+ let { slideLevel: e6, cumulativeByBlock: p2 } = buildSubslideNotes(n, a);
7251
7251
  s = e6;
7252
- let p2 = n.blocks.some((e7) => e7.cells.some((e8) => r(e8.id)));
7253
- o = w, f = "h-full w-full overflow-auto flex", c = p2 ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = { margin: "auto 20px" }, t[10] = l) : l = t[10], u = n.blocks.map((e7, t2) => {
7252
+ let oo2 = n.blocks.some((e7) => e7.cells.some((e8) => r(e8.id)));
7253
+ o = w, ao = "h-full w-full overflow-auto flex", c = oo2 ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content", t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = { margin: "auto 20px" }, t[10] = u) : u = t[10], f = n.blocks.map((e7, t2) => {
7254
7254
  let n2 = e7.cells.map((e8) => r(e8.id) ? i ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellView, { cell: e8 }, e8.id) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellReadOnlyView, { cell: e8 }, e8.id) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
7255
7255
  cellId: e8.id,
7256
7256
  status: e8.status,
7257
- output: e8.output
7257
+ output: e8.output,
7258
+ stale: outputIsStale(e8, false)
7258
7259
  }, e8.id));
7259
7260
  if (e7.isFragment) {
7260
- let e8 = io2.get(t2);
7261
+ let e8 = p2.get(t2);
7261
7262
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Bt, {
7262
7263
  as: "div",
7263
7264
  children: [n2, e8 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NotesAside, { text: e8 })]
7264
7265
  }, t2);
7265
7266
  }
7266
7267
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: n2 }, t2);
7267
- }), t[0] = i, t[1] = r, t[2] = a, t[3] = n, t[4] = o, t[5] = s, t[6] = c, t[7] = l, t[8] = u, t[9] = f;
7268
- } else o = t[4], s = t[5], c = t[6], l = t[7], u = t[8], f = t[9];
7269
- let io;
7270
- t[11] !== c || t[12] !== l || t[13] !== u ? (io = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7271
- className: c,
7272
- style: l,
7273
- children: u
7274
- }), t[11] = c, t[12] = l, t[13] = u, t[14] = io) : io = t[14];
7268
+ }), t[0] = i, t[1] = r, t[2] = a, t[3] = n, t[4] = o, t[5] = s, t[6] = c, t[7] = u, t[8] = f, t[9] = ao;
7269
+ } else o = t[4], s = t[5], c = t[6], u = t[7], f = t[8], ao = t[9];
7275
7270
  let p;
7276
- t[15] !== f || t[16] !== io ? (p = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7277
- className: f,
7278
- children: io
7279
- }), t[15] = f, t[16] = io, t[17] = p) : p = t[17];
7280
- let ao;
7281
- t[18] === s ? ao = t[19] : (ao = s && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NotesAside, { text: s }), t[18] = s, t[19] = ao);
7271
+ t[11] !== c || t[12] !== u || t[13] !== f ? (p = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7272
+ className: c,
7273
+ style: u,
7274
+ children: f
7275
+ }), t[11] = c, t[12] = u, t[13] = f, t[14] = p) : p = t[14];
7282
7276
  let oo;
7283
- return t[20] !== o || t[21] !== p || t[22] !== ao ? (oo = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(o, { children: [p, ao] }), t[20] = o, t[21] = p, t[22] = ao, t[23] = oo) : oo = t[23], oo;
7277
+ t[15] !== ao || t[16] !== p ? (oo = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7278
+ className: ao,
7279
+ children: p
7280
+ }), t[15] = ao, t[16] = p, t[17] = oo) : oo = t[17];
7281
+ let so;
7282
+ t[18] === s ? so = t[19] : (so = s && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NotesAside, { text: s }), t[18] = s, t[19] = so);
7283
+ let co;
7284
+ return t[20] !== o || t[21] !== oo || t[22] !== so ? (co = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(o, { children: [oo, so] }), t[20] = o, t[21] = oo, t[22] = so, t[23] = co) : co = t[23], co;
7284
7285
  };
7285
7286
  function parkedRendersSource(e5) {
7286
7287
  let { isNoOutputPreview: t, isEditable: n, showCode: r } = e5;
7287
7288
  return t && n || r;
7288
7289
  }
7289
7290
  var ParkedPreviewContent = (e5) => {
7290
- let t = (0, import_compiler_runtime.c)(7), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e5;
7291
+ let t = (0, import_compiler_runtime.c)(10), { cell: n, isNoOutputPreview: r, isEditable: i, showCode: a } = e5;
7291
7292
  if (parkedRendersSource({
7292
7293
  isNoOutputPreview: r,
7293
7294
  isEditable: i,
@@ -7296,181 +7297,184 @@ var ParkedPreviewContent = (e5) => {
7296
7297
  let e6;
7297
7298
  return t[0] !== n || t[1] !== i ? (e6 = i ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellView, { cell: n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideCellReadOnlyView, { cell: n }), t[0] = n, t[1] = i, t[2] = e6) : e6 = t[2], e6;
7298
7299
  }
7299
- let o;
7300
- return t[3] !== n.id || t[4] !== n.output || t[5] !== n.status ? (o = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
7301
- cellId: n.id,
7302
- status: n.status,
7303
- output: n.output
7304
- }), t[3] = n.id, t[4] = n.output, t[5] = n.status, t[6] = o) : o = t[6], o;
7305
- }, reveal_component_default = ({ slideCells: e5, layout: o, setLayout: s, noOutputIds: l, activeIndex: u, onSlideChange: ro, mode: p, configWidth: fo, isEditable: po = false }) => {
7300
+ let o = n.id, s = n.status, c = n.output, u;
7301
+ t[3] === n ? u = t[4] : (u = outputIsStale(n, false), t[3] = n, t[4] = u);
7302
+ let f;
7303
+ return t[5] !== n.id || t[6] !== n.output || t[7] !== n.status || t[8] !== u ? (f = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
7304
+ cellId: o,
7305
+ status: s,
7306
+ output: c,
7307
+ stale: u
7308
+ }), t[5] = n.id, t[6] = n.output, t[7] = n.status, t[8] = u, t[9] = f) : f = t[9], f;
7309
+ }, reveal_component_default = ({ slideCells: e5, layout: o, setLayout: s, noOutputIds: l, activeIndex: u, onSlideChange: f, mode: io, configWidth: p, isEditable: mo = false }) => {
7306
7310
  var _a2, _b2;
7307
- let yo = (0, import_react.useRef)(null), bo = (0, import_react.useRef)(null), { width: So, height: Co } = useSlideDimensions(yo), wo = useFullScreenElement() != null, To = useAtomValue(kioskModeAtom), Eo = (0, import_react.useMemo)(() => To ? [] : [ce], [To]), [Do, Oo] = (0, import_react.useState)(() => /* @__PURE__ */ new Set()), ko = useNotebookCodeAvailable(e5), Ao = !isIslands() && ko, jo = u == null ? void 0 : e5[u], Mo = jo ?? e5.at(0), { parkedPreviewCell: No, isHeldEdit: Po, isNoOutputPreview: Fo, heldEditCellId: Io, heldShowsCode: Lo, toggleHeldShowsCode: Ro } = useParkedPreview({
7308
- activeCell: jo,
7311
+ let ho = (0, import_react.useRef)(null), xo = (0, import_react.useRef)(null), { width: So, height: wo } = useSlideDimensions(ho), To = useFullScreenElement() != null, Eo = useAtomValue(kioskModeAtom), Do = (0, import_react.useMemo)(() => Eo ? [] : [ce], [Eo]), [Oo, ko] = (0, import_react.useState)(() => /* @__PURE__ */ new Set()), Ao = useNotebookCodeAvailable(e5), jo = !isIslands() && Ao, Mo = u == null ? void 0 : e5[u], No = Mo ?? e5.at(0), { parkedPreviewCell: Po, isHeldEdit: Fo, isNoOutputPreview: Io, heldEditCellId: Lo, heldShowsCode: Ro, toggleHeldShowsCode: zo } = useParkedPreview({
7312
+ activeCell: Mo,
7309
7313
  slideConfigs: o.cells,
7310
7314
  noOutputIds: l
7311
- }), zo = (e6) => shouldShowCode({
7315
+ }), Bo = (e6) => shouldShowCode({
7312
7316
  cells: o.cells,
7313
7317
  cellId: e6,
7314
- showCodeOverrides: Do,
7315
- codeToggleEnabled: Ao
7316
- }), Bo = (jo == null ? void 0 : jo.id) ?? (Mo == null ? void 0 : Mo.id), Vo = Po ? Lo : zo(Bo), Ho = Ao && Bo != null && (((_a2 = o.cells.get(Bo)) == null ? void 0 : _a2.showCode) ?? false), Uo = (0, import_react.useMemo)(() => composeSlides({
7318
+ showCodeOverrides: Oo,
7319
+ codeToggleEnabled: jo
7320
+ }), Vo = (Mo == null ? void 0 : Mo.id) ?? (No == null ? void 0 : No.id), Ho = Fo ? Ro : Bo(Vo), Uo = jo && Vo != null && (((_a2 = o.cells.get(Vo)) == null ? void 0 : _a2.showCode) ?? false), Wo = (0, import_react.useMemo)(() => composeSlides({
7317
7321
  cells: e5,
7318
7322
  getType: (e6) => deckSlideType({
7319
7323
  cell: e6,
7320
7324
  noOutputIds: l,
7321
- heldEditCellId: Io,
7325
+ heldEditCellId: Lo,
7322
7326
  slideConfigs: o.cells
7323
7327
  })
7324
7328
  }), [
7325
7329
  e5,
7326
7330
  l,
7327
7331
  o.cells,
7328
- Io
7329
- ]), { cellToTarget: Wo, targetToCellIndex: Go } = (0, import_react.useMemo)(() => buildSlideIndices({
7330
- composition: Uo,
7332
+ Lo
7333
+ ]), { cellToTarget: Go, targetToCellIndex: Ko } = (0, import_react.useMemo)(() => buildSlideIndices({
7334
+ composition: Wo,
7331
7335
  cells: e5,
7332
7336
  getId: (e6) => e6.id
7333
- }), [Uo, e5]), Ko = ((_b2 = o.deck) == null ? void 0 : _b2.transition) ?? "slide", qo = (0, import_react.useMemo)(() => {
7337
+ }), [Wo, e5]), qo = ((_b2 = o.deck) == null ? void 0 : _b2.transition) ?? "slide", Jo = (0, import_react.useMemo)(() => {
7334
7338
  let e6 = new URL(window.location.href);
7335
7339
  return e6.searchParams.set("kiosk", "true"), e6.searchParams.set("show-chrome", "false"), e6.toString();
7336
- }, []), Jo = (0, import_react.useMemo)(() => ({
7340
+ }, []), Yo = (0, import_react.useMemo)(() => ({
7337
7341
  embedded: true,
7338
7342
  width: So,
7339
- height: Co,
7343
+ height: wo,
7340
7344
  center: false,
7341
7345
  minScale: 0.2,
7342
7346
  maxScale: 2,
7343
- transition: Ko,
7347
+ transition: qo,
7344
7348
  keyboardCondition: (e6) => !Events.fromInput(e6),
7345
- url: qo
7349
+ url: Jo
7346
7350
  }), [
7347
7351
  So,
7348
- Co,
7349
- Ko,
7350
- qo
7351
- ]), Yo = useEvent_default((t) => {
7352
+ wo,
7353
+ qo,
7354
+ Jo
7355
+ ]), Xo = useEvent_default((t) => {
7352
7356
  let n = resolveDeckNavigationTarget({
7353
7357
  activeIndex: u,
7354
7358
  cells: e5,
7355
- cellToTarget: Wo,
7359
+ cellToTarget: Go,
7356
7360
  getId: (e6) => e6.id
7357
7361
  }), r = n && computeDeckNavigation(t.getIndices(), n);
7358
7362
  r && (t.slide(r.h, r.v, r.f), clearPreviousVerticalIndices(t));
7359
7363
  });
7360
7364
  (0, import_react.useEffect)(() => {
7361
- let e6 = bo.current;
7362
- e6 != null && Yo(e6);
7365
+ let e6 = xo.current;
7366
+ e6 != null && Xo(e6);
7363
7367
  }, [
7364
7368
  u,
7365
- Wo,
7369
+ Go,
7366
7370
  e5,
7367
- Yo
7371
+ Xo
7368
7372
  ]);
7369
- let Xo = useEvent_default(() => {
7370
- if (!(Bo == null || Ho)) {
7371
- if (Po) {
7372
- Ro();
7373
+ let Zo = useEvent_default(() => {
7374
+ if (!(Vo == null || Uo)) {
7375
+ if (Fo) {
7376
+ zo();
7373
7377
  return;
7374
7378
  }
7375
- (0, import_react.startTransition)(() => Oo((e6) => {
7379
+ (0, import_react.startTransition)(() => ko((e6) => {
7376
7380
  let t = new Set(e6);
7377
- return t.has(Bo) ? t.delete(Bo) : t.add(Bo), t;
7381
+ return t.has(Vo) ? t.delete(Vo) : t.add(Vo), t;
7378
7382
  }));
7379
7383
  }
7380
- }), Zo = useEvent_default((e6) => {
7384
+ }), Qo = useEvent_default((e6) => {
7381
7385
  var _a3;
7382
- Yo(e6), Ao && e6.addKeyBinding({
7386
+ Xo(e6), jo && e6.addKeyBinding({
7383
7387
  keyCode: 67,
7384
7388
  key: "C",
7385
7389
  description: "Toggle code editor"
7386
- }, Xo);
7390
+ }, Zo);
7387
7391
  let t = (_a3 = e6.getSlidesElement()) == null ? void 0 : _a3.closest(".reveal");
7388
7392
  t instanceof HTMLElement && (t.tabIndex = -1, t.focus({ preventScroll: true }));
7389
- }), Qo = useEvent_default(() => {
7390
- if (No != null) return;
7391
- let e6 = bo.current;
7393
+ }), $o = useEvent_default(() => {
7394
+ if (Po != null) return;
7395
+ let e6 = xo.current;
7392
7396
  if (!e6) return;
7393
- let t = resolveActiveCellIndex(Go, e6.getIndices());
7394
- t != null && (ro == null ? void 0 : ro(t));
7395
- }), $o = useEvent_default((t) => {
7396
- if (!No || u == null || Events.fromInput(t)) return;
7397
+ let t = resolveActiveCellIndex(Ko, e6.getIndices());
7398
+ t != null && (f == null ? void 0 : f(t));
7399
+ }), ns = useEvent_default((t) => {
7400
+ if (!Po || u == null || Events.fromInput(t)) return;
7397
7401
  let n = classifyNavKey(t);
7398
7402
  if (n === 0) return;
7399
7403
  t.preventDefault(), t.stopPropagation();
7400
7404
  let i = u + n;
7401
- i < 0 || i >= e5.length || (ro == null ? void 0 : ro(i));
7402
- }), ns = useEvent_default(() => {
7403
- Qo(), triggerResize(bo.current);
7405
+ i < 0 || i >= e5.length || (f == null ? void 0 : f(i));
7406
+ }), rs = useEvent_default(() => {
7407
+ $o(), triggerResize(xo.current);
7404
7408
  });
7405
- useEventListener(document, "keydown", $o, { capture: true });
7406
- let rs = Po ? null : Fo ? "Hidden as there is no output" : "Skipped in presentation", is = Po ? Lo : zo(No == null ? void 0 : No.id), as = parkedRendersSource({
7407
- isNoOutputPreview: Fo,
7408
- isEditable: po,
7409
- showCode: is
7410
- }), os = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7411
- ref: yo,
7409
+ useEventListener(document, "keydown", ns, { capture: true });
7410
+ let is = Fo ? null : Io ? "Hidden as there is no output" : "Skipped in presentation", as = Fo ? Ro : Bo(Po == null ? void 0 : Po.id), os = parkedRendersSource({
7411
+ isNoOutputPreview: Io,
7412
+ isEditable: mo,
7413
+ showCode: as
7414
+ }), ss = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7415
+ ref: ho,
7412
7416
  className: "h-full w-full min-w-0 flex items-center justify-center overflow-hidden",
7413
7417
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7414
7418
  className: "group relative",
7415
7419
  style: {
7416
7420
  width: So,
7417
- height: Co
7421
+ height: wo
7418
7422
  },
7419
7423
  children: [
7420
7424
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(b, {
7421
- deckRef: bo,
7425
+ deckRef: xo,
7422
7426
  className: "aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden",
7423
- config: Jo,
7424
- onReady: Zo,
7425
- onSlideChange: ns,
7426
- onFragmentShown: Qo,
7427
- onFragmentHidden: Qo,
7428
- plugins: Eo,
7429
- children: Uo.stacks.map((e6, t) => e6.subslides.length === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, {
7427
+ config: Yo,
7428
+ onReady: Qo,
7429
+ onSlideChange: rs,
7430
+ onFragmentShown: $o,
7431
+ onFragmentHidden: $o,
7432
+ plugins: Do,
7433
+ children: Wo.stacks.map((e6, t) => e6.subslides.length === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, {
7430
7434
  subslide: e6.subslides[0],
7431
- resolveShowCode: zo,
7432
- isEditable: po,
7435
+ resolveShowCode: Bo,
7436
+ isEditable: mo,
7433
7437
  slideConfigs: o.cells
7434
7438
  }, t) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ne, { children: e6.subslides.map((e7, t2) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SubslideView, {
7435
7439
  subslide: e7,
7436
- resolveShowCode: zo,
7437
- isEditable: po,
7440
+ resolveShowCode: Bo,
7441
+ isEditable: mo,
7438
7442
  slideConfigs: o.cells
7439
7443
  }, t2)) }, t))
7440
7444
  }),
7441
- No && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7445
+ Po && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7442
7446
  className: "absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden",
7443
- "aria-label": rs ?? void 0,
7444
- children: [rs && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7447
+ "aria-label": is ?? void 0,
7448
+ children: [is && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7445
7449
  className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",
7446
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EyeOff, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: rs })]
7450
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EyeOff, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: is })]
7447
7451
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7448
7452
  className: "flex-1 overflow-auto flex",
7449
7453
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7450
- className: as ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
7454
+ className: os ? "mo-slide-content flex flex-col gap-3" : "mo-slide-content",
7451
7455
  style: { margin: "auto 20px" },
7452
7456
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ParkedPreviewContent, {
7453
- cell: No,
7454
- isNoOutputPreview: Fo,
7455
- isEditable: po,
7456
- showCode: is
7457
+ cell: Po,
7458
+ isNoOutputPreview: Io,
7459
+ isEditable: mo,
7460
+ showCode: as
7457
7461
  })
7458
7462
  })
7459
7463
  })]
7460
- }, No.id),
7464
+ }, Po.id),
7461
7465
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7462
7466
  className: "absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",
7463
- children: [Ao && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
7464
- content: Ho ? "Code is always shown for this slide" : Vo ? "Hide code (C)" : "Show code (C)",
7467
+ children: [jo && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
7468
+ content: Uo ? "Code is always shown for this slide" : Ho ? "Hide code (C)" : "Show code (C)",
7465
7469
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
7466
7470
  "data-testid": "marimo-plugin-slides-toggle-code",
7467
7471
  variant: "ghost",
7468
7472
  size: "icon",
7469
- className: cn("text-muted-foreground h-7 w-7", Vo && "text-foreground bg-muted", Ho && "opacity-50 cursor-not-allowed"),
7470
- "aria-pressed": Vo,
7471
- "aria-disabled": Ho,
7472
- "aria-label": Ho ? "Code always shown" : Vo ? "Hide code" : "Show code",
7473
- onClick: Xo,
7473
+ className: cn("text-muted-foreground h-7 w-7", Ho && "text-foreground bg-muted", Uo && "opacity-50 cursor-not-allowed"),
7474
+ "aria-pressed": Ho,
7475
+ "aria-disabled": Uo,
7476
+ "aria-label": Uo ? "Code always shown" : Ho ? "Hide code" : "Show code",
7477
+ onClick: Zo,
7474
7478
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Code, { className: "h-4 w-4" })
7475
7479
  })
7476
7480
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
@@ -7483,7 +7487,7 @@ var ParkedPreviewContent = (e5) => {
7483
7487
  "aria-label": "Enter fullscreen",
7484
7488
  onClick: () => {
7485
7489
  var _a3, _b3;
7486
- (_b3 = (_a3 = bo.current) == null ? void 0 : _a3.getViewportElement()) == null ? void 0 : _b3.requestFullscreen().catch((e6) => {
7490
+ (_b3 = (_a3 = xo.current) == null ? void 0 : _a3.getViewportElement()) == null ? void 0 : _b3.requestFullscreen().catch((e6) => {
7487
7491
  Logger.error("Failed to request fullscreen", e6);
7488
7492
  });
7489
7493
  },
@@ -7494,9 +7498,9 @@ var ParkedPreviewContent = (e5) => {
7494
7498
  ]
7495
7499
  })
7496
7500
  });
7497
- return p === "read" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7501
+ return io === "read" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
7498
7502
  className: "flex-1 min-w-0 flex flex-row gap-3",
7499
- children: os
7503
+ children: ss
7500
7504
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
7501
7505
  className: "flex-1 min-w-0 flex flex-row gap-3",
7502
7506
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PanelGroup, {
@@ -7507,7 +7511,7 @@ var ParkedPreviewContent = (e5) => {
7507
7511
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Panel, {
7508
7512
  defaultSize: 92,
7509
7513
  minSize: 60,
7510
- children: os
7514
+ children: ss
7511
7515
  }),
7512
7516
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PanelResizeHandle, {
7513
7517
  className: "mo-slides-notes-resize",
@@ -7515,7 +7519,7 @@ var ParkedPreviewContent = (e5) => {
7515
7519
  coarse: 12,
7516
7520
  fine: 4
7517
7521
  },
7518
- disabled: wo
7522
+ disabled: To
7519
7523
  }),
7520
7524
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Panel, {
7521
7525
  defaultSize: 10,
@@ -7525,15 +7529,15 @@ var ParkedPreviewContent = (e5) => {
7525
7529
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideNotesEditor, {
7526
7530
  layout: o,
7527
7531
  setLayout: s,
7528
- cellId: Mo == null ? void 0 : Mo.id
7532
+ cellId: No == null ? void 0 : No.id
7529
7533
  })
7530
7534
  })
7531
7535
  ]
7532
7536
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlideSidebar, {
7533
- configWidth: fo,
7537
+ configWidth: p,
7534
7538
  layout: o,
7535
7539
  setLayout: s,
7536
- activeConfigCell: Mo
7540
+ activeConfigCell: No
7537
7541
  })]
7538
7542
  });
7539
7543
  };