@marimo-team/islands 0.23.2-dev7 → 0.23.2-dev70

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 (577) hide show
  1. package/dist/{ConnectedDataExplorerComponent-P92i6wYx.js → ConnectedDataExplorerComponent-BS9U2zaC.js} +68 -66
  2. package/dist/ErrorBoundary-Da4UeYxT.js +167 -0
  3. package/dist/{ImageComparisonComponent-HF4AY8_n.js → ImageComparisonComponent-DaocPIse.js} +1 -1
  4. package/dist/{Plot-CK0oVgQL.js → Plot-PIeIvFnD.js} +1 -1
  5. package/dist/{isArrayLikeObject-LXbTYiBa.js → _baseFor-BGiY-cm1.js} +43 -215
  6. package/dist/_baseUniq-CxZRxRRo.js +380 -0
  7. package/dist/{any-language-editor-BCvLfvzI.js → any-language-editor-BVR0l12r.js} +23 -22
  8. package/dist/apl-BKoVld9y.js +4 -0
  9. package/dist/{arc-DLJpPF9M.js → arc-CHF8PiiF.js} +2 -2
  10. package/dist/architecture-7HQA4BMR-D0JB_3hE.js +6 -0
  11. package/dist/{architectureDiagram-VXUJARFQ-B3YQo9At.js → architectureDiagram-VXUJARFQ-BXQEUDtK.js} +19 -19
  12. package/dist/{arrays-beUWo8RF.js → arrays-CldYf7p7.js} +1 -1
  13. package/dist/asciiarmor-DQrKIjoo.js +4 -0
  14. package/dist/asn1-BZvnj0dq.js +4 -0
  15. package/dist/{blockDiagram-VD42YOAC-CpQ3TKEN.js → blockDiagram-VD42YOAC-DhJe-Y9i.js} +53 -53
  16. package/dist/brainfuck-D558nlUv.js +4 -0
  17. package/dist/{button-D1C3g5GI.js → button-CA5pI2YF.js} +2 -2
  18. package/dist/{c4Diagram-YG6GDRKO-CZSU4uqU.js → c4Diagram-YG6GDRKO-9dSfzOFR.js} +6 -6
  19. package/dist/{capabilities-BwpUgo4S.js → capabilities-6laDasij.js} +2 -2
  20. package/dist/{channel-X3JKk8gE.js → channel-MqYIiKgS.js} +1 -1
  21. package/dist/{chat-ui-Bi0ioKDx.js → chat-ui-CTt4WX0V.js} +2803 -2800
  22. package/dist/{check-BgrdTLuv.js → check-CFM2mVDr.js} +1 -1
  23. package/dist/{chunk-4BX2VUAB-C2skOn1Z.js → chunk-4BX2VUAB-BwfrWBqN.js} +1 -1
  24. package/dist/{chunk-4F5CHEZ2-D5mClyDv.js → chunk-4F5CHEZ2-C6tO9vjs.js} +1 -1
  25. package/dist/{chunk-55IACEB6-DRsSqxbU.js → chunk-55IACEB6-D8THf2mi.js} +1 -1
  26. package/dist/{chunk-5FQGJX7Z-VIref9gx.js → chunk-5FQGJX7Z-CO1e63h_.js} +5 -5
  27. package/dist/{chunk-ABZYJK2D-CZYCCtLy.js → chunk-ABZYJK2D-BrBb_0yY.js} +3 -3
  28. package/dist/{chunk-ATLVNIR6-DaOzLLgN.js → chunk-ATLVNIR6-D-0XqNah.js} +2 -2
  29. package/dist/{chunk-B2363JML-Br0eA2T3.js → chunk-B2363JML-Ds8wZXyP.js} +1 -1
  30. package/dist/{chunk-B4BG7PRW-4BjV11Br.js → chunk-B4BG7PRW-8iRKvugR.js} +7 -7
  31. package/dist/{chunk-CVBHYZKI-BXHgce-x.js → chunk-CVBHYZKI-B6xhgaBd.js} +1 -1
  32. package/dist/{chunk-DI55MBZ5-DITY3EyP.js → chunk-DI55MBZ5-C0_2D4m4.js} +6 -6
  33. package/dist/{chunk-EXTU4WIE-jUPSAk3i.js → chunk-EXTU4WIE-Jiw9ca1u.js} +2 -2
  34. package/dist/{chunk-FMBD7UC4-BjIaI-XO.js → chunk-FMBD7UC4-CHdus51S.js} +1 -1
  35. package/dist/{chunk-FRFDVMJY-DnEvEFRR.js → chunk-FRFDVMJY-BgQv1HBE.js} +1 -1
  36. package/dist/{chunk-HN2XXSSU-DAhNp1ig.js → chunk-HN2XXSSU-2Vfbq-kU.js} +1 -1
  37. package/dist/{chunk-JA3XYJ7Z-BcPEfxk_.js → chunk-JA3XYJ7Z-6wbaigKe.js} +3 -3
  38. package/dist/{chunk-JZLCHNYA-2bnLL3xL.js → chunk-JZLCHNYA-_rfptlUP.js} +6 -6
  39. package/dist/{chunk-MI3HLSF2-AKwFNP3m.js → chunk-MI3HLSF2-Do0-KRc0.js} +1 -1
  40. package/dist/{chunk-N4CR4FBY-CpZSuGSU.js → chunk-N4CR4FBY-DIZG9dVD.js} +7 -7
  41. package/dist/{chunk-PL6DKKU2-DnId6G-x.js → chunk-PL6DKKU2-DHfTUHy8.js} +1 -1
  42. package/dist/{chunk-QN33PNHL-B9p5ojHB.js → chunk-QN33PNHL-Cc64y40m.js} +2 -2
  43. package/dist/{chunk-QXUST7PY-Ch6F5Obl.js → chunk-QXUST7PY-BDG0-0Or.js} +10 -10
  44. package/dist/{chunk-QZHKN3VN-BK9tlbfw.js → chunk-QZHKN3VN-B_Mdb8GC.js} +1 -1
  45. package/dist/{chunk-S3R3BYOJ-B0UOFJwq.js → chunk-S3R3BYOJ-DphMP0FA.js} +8 -8
  46. package/dist/{chunk-SJTYNZTY-BsBZnJUj.js → chunk-SJTYNZTY-Diciw4sx.js} +1 -1
  47. package/dist/{chunk-TCCFYFTB-Clbl-fTg.js → chunk-TCCFYFTB-d3HOqL2I.js} +1552 -345
  48. package/dist/{chunk-TQ3KTPDO-CFkSQ30e.js → chunk-TQ3KTPDO-CQfP9npd.js} +1 -1
  49. package/dist/{chunk-TZMSLE5B-D45397J2.js → chunk-TZMSLE5B-C9LUoYkc.js} +3 -3
  50. package/dist/{chunk-UMXZTB3W-D-A834Bq.js → chunk-UMXZTB3W-MSKeGL7W.js} +1 -1
  51. package/dist/classDiagram-2ON5EDUG-CBHMR6ZU.js +30 -0
  52. package/dist/classDiagram-v2-WZHVMYZB-BsUtUGM_.js +30 -0
  53. package/dist/{clike-B90WKs4D.js → clike-sBZrGeF8.js} +1 -1
  54. package/dist/clojure-Cq8mTSrE.js +4 -0
  55. package/dist/{clone-DZFQCtFJ.js → clone-BuIIsfA8.js} +1 -1
  56. package/dist/cmake-D8HCovWK.js +4 -0
  57. package/dist/cobol-UolN-9iU.js +4 -0
  58. package/dist/{code-block-37QAKDTI-FQEoMOU1.js → code-block-37QAKDTI-0JNwiPGv.js} +2 -2
  59. package/dist/coffeescript-VdNuWrt5.js +4 -0
  60. package/dist/commonlisp-ALX7fpDc.js +4 -0
  61. package/dist/{constants-CvyfaCvs.js → constants-D0gkYoE2.js} +4 -4
  62. package/dist/{copy-Bp6CK_Fg.js → copy-TGGAUEWp.js} +2 -2
  63. package/dist/{cose-bilkent-S5V4N54A-DvCk1aXi.js → cose-bilkent-S5V4N54A-DXHZkJKX.js} +2 -2
  64. package/dist/crystal-PbyO9Q_s.js +4 -0
  65. package/dist/css-DFklJkr_.js +4 -0
  66. package/dist/cypher-BifNeYlv.js +4 -0
  67. package/dist/d-BA-JP4PJ.js +4 -0
  68. package/dist/{dagre-6UL2VRFP-OMItEBnY.js → dagre-6UL2VRFP-tH87fkPA.js} +102 -103
  69. package/dist/{dagre-QVd-lCXU.js → dagre-VYEPqXIV.js} +105 -39
  70. package/dist/{data-grid-overlay-editor-C_sKPpLu.js → data-grid-overlay-editor-CWUN78-s.js} +3 -3
  71. package/dist/{diagram-PSM6KHXK-CkKbohWI.js → diagram-PSM6KHXK-2VjPSCDn.js} +22 -22
  72. package/dist/{diagram-QEK2KX5R-DjUMpVcx.js → diagram-QEK2KX5R-CiLmNyta.js} +17 -17
  73. package/dist/{diagram-S2PKOQOG-b-c0d-wZ.js → diagram-S2PKOQOG-Zha_1CLx.js} +17 -17
  74. package/dist/diff-CtkDpav4.js +4 -0
  75. package/dist/dist-B--tLnAP.js +5 -0
  76. package/dist/{dist-tGk0aZ--.js → dist-B52GXZbd.js} +2 -2
  77. package/dist/{dist-Bfp1XXWt.js → dist-B8BjrFUE.js} +5 -5
  78. package/dist/dist-BEOU2g1b.js +8 -0
  79. package/dist/dist-BHnX0ia_.js +8 -0
  80. package/dist/{dist-DJKubHDd.js → dist-BK-3fF4P.js} +1 -1
  81. package/dist/{dist-Ci0CXEFt.js → dist-BTyJtnNg.js} +1 -1
  82. package/dist/{dist-CFKdzOIu.js → dist-BetEKbPG.js} +2 -2
  83. package/dist/{dist-DpkJHKB8.js → dist-BrBucRXs.js} +2 -2
  84. package/dist/{dist-CTwGwcQ8.js → dist-Brkazupz.js} +2 -2
  85. package/dist/dist-BuBwsFva.js +5 -0
  86. package/dist/dist-BzmEQ9u7.js +5 -0
  87. package/dist/{dist-ej6AQKaS.js → dist-C-J0pt5p.js} +1 -1
  88. package/dist/dist-C1Ap5CYU.js +5 -0
  89. package/dist/{dist-LhQNUe5A.js → dist-C474qFoq.js} +3 -3
  90. package/dist/{dist-DlSUOIm9.js → dist-C9fmTOin.js} +1 -1
  91. package/dist/{dist-CxZvoNao.js → dist-CCADb07R.js} +44 -31
  92. package/dist/{dist-BjDuO5JW.js → dist-CGLzXdrt.js} +1 -1
  93. package/dist/dist-CMjD5MQb.js +6 -0
  94. package/dist/{dist-BvhGByxL.js → dist-CNtV21T_.js} +4 -4
  95. package/dist/dist-ChC1BhqM.js +6 -0
  96. package/dist/dist-Cih01ssx.js +5 -0
  97. package/dist/{dist-CNF0QBLR.js → dist-CinA9Enb.js} +1 -1
  98. package/dist/dist-CqfONiY9.js +5 -0
  99. package/dist/{dist-DFK94vuS.js → dist-CtCY55Jf.js} +2 -2
  100. package/dist/{dist-VqF3W_ue.js → dist-CxdUraQr.js} +2 -2
  101. package/dist/{dist-DUFd1bhm.js → dist-CyFFzJTb.js} +1 -1
  102. package/dist/{dist-C4bq5Ioy.js → dist-D029TiHd.js} +2 -2
  103. package/dist/dist-D0iD0Fi9.js +5 -0
  104. package/dist/{dist-m9tsXsFf.js → dist-D9r7Cmw7.js} +2 -2
  105. package/dist/{dist-DD_cYHOl.js → dist-DBLeRrPp.js} +2 -2
  106. package/dist/{dist-DJ9F1eHs.js → dist-DGAfI2rB.js} +2 -2
  107. package/dist/{dist-BrxqmS9Q.js → dist-DZjQ_MBo.js} +4 -4
  108. package/dist/{dist-DLafRu9s.js → dist-DadjmS-4.js} +2 -2
  109. package/dist/{dist-Doy0mQDg.js → dist-DkC6YEo0.js} +2 -2
  110. package/dist/{dist-CIB8w0Fl.js → dist-DquyVv5H.js} +2 -2
  111. package/dist/dist-DtNLXm8d.js +5 -0
  112. package/dist/{dist-CTtLBPLZ.js → dist-ESg7xyoD.js} +4 -4
  113. package/dist/dist-FN0ZA_8F.js +8 -0
  114. package/dist/{dist-CcMfr7jD.js → dist-HVuryI1a.js} +1 -1
  115. package/dist/{dist-DGNtjMZu.js → dist-JEhxD_cn.js} +1 -1
  116. package/dist/{dist-B43sbpd0.js → dist-UcOPnRMa.js} +3 -3
  117. package/dist/dist-YP-G7W0f.js +8 -0
  118. package/dist/{dist-DbnBiLNH.js → dist-Yrfc6L0I.js} +3 -3
  119. package/dist/{dist--6TSlp8H.js → dist-Zn0KNbo9.js} +1 -1
  120. package/dist/{dist-DAfcmt-d.js → dist-nuW5EDYT.js} +2 -2
  121. package/dist/{dockerfile-DfXhjEUG.js → dockerfile-COvlVLcE.js} +1 -1
  122. package/dist/dtd-DW3_UFEG.js +4 -0
  123. package/dist/dylan-pDhodO2N.js +4 -0
  124. package/dist/ecl-BJT8-YD7.js +4 -0
  125. package/dist/eiffel-Dmns-9vS.js +4 -0
  126. package/dist/elm-Da4sO4Bz.js +4 -0
  127. package/dist/{erDiagram-Q2GNP2WA-CDhLaOZ1.js → erDiagram-Q2GNP2WA-biHZS05w.js} +15 -15
  128. package/dist/erlang-C-zBsDi7.js +4 -0
  129. package/dist/{error-banner-B_ioHva3.js → error-banner-DnBPzEWg.js} +3 -3
  130. package/dist/{esm-CD1iby2n.js → esm-CYEyrE3Y.js} +105 -105
  131. package/dist/esm-Dd1z1auZ.js +1171 -0
  132. package/dist/extends-CzJgxo2J.js +1645 -0
  133. package/dist/factor-4xPWlWB5.js +4 -0
  134. package/dist/{factor--4HHM8Rw.js → factor-C2GT7jfQ.js} +1 -1
  135. package/dist/flatten-CzBvFdvC.js +8 -0
  136. package/dist/{flowDiagram-NV44I4VS-BDi4O4CL.js → flowDiagram-NV44I4VS-CWWlUpBR.js} +17 -17
  137. package/dist/formats-Dh5M1ZRs.js +79 -0
  138. package/dist/forth-l-c75zSd.js +4 -0
  139. package/dist/fortran-DIujSODW.js +4 -0
  140. package/dist/{ganttDiagram-JELNMOA3-BpZE6kVp.js → ganttDiagram-JELNMOA3-D7B2c4Z9.js} +10 -10
  141. package/dist/gas-CXnG5g_b.js +4 -0
  142. package/dist/gherkin-VPeqd4-X.js +4 -0
  143. package/dist/{gitGraph-G5XIXVHT-B_c6xFJv.js → gitGraph-G5XIXVHT-BdepdFa_.js} +3 -3
  144. package/dist/{gitGraphDiagram-V2S2FVAM-iQnXzbPM.js → gitGraphDiagram-V2S2FVAM-CtLvNR1S.js} +17 -17
  145. package/dist/{glide-data-editor-BFqEJGJW.js → glide-data-editor-DXti2axL.js} +591 -583
  146. package/dist/graphlib-CVPKjKCS.js +359 -0
  147. package/dist/groovy-CphhZQgg.js +4 -0
  148. package/dist/{hasIn-DnfJcYpY.js → hasIn-COs6vImh.js} +3 -3
  149. package/dist/haskell-CCvlS5Iq.js +4 -0
  150. package/dist/haxe-C_bi66fP.js +5 -0
  151. package/dist/{process-output-H_7QTreh.js → html-to-image-BdsDysfl.js} +2521 -2639
  152. package/dist/idl-1DcP4Dm8.js +4 -0
  153. package/dist/{info-VBDWY6EO-BTyzxmhr.js → info-VBDWY6EO--JNA2rNu.js} +3 -3
  154. package/dist/infoDiagram-HS3SLOUP-BbZyOxsP.js +30 -0
  155. package/dist/{input-CSVEkmaZ.js → input-Drx1pguW.js} +70 -70
  156. package/dist/{isEmpty-B7FX9wKt.js → isEmpty-Dd8mx_WL.js} +9 -9
  157. package/dist/{isSymbol-DCbjQG_U.js → isSymbol-BvIfMnn6.js} +1 -1
  158. package/dist/javascript-DUIGhBvO.js +4 -0
  159. package/dist/{journeyDiagram-XKPGCS4Q-ClPC94aN.js → journeyDiagram-XKPGCS4Q-BU2mjjzl.js} +7 -7
  160. package/dist/julia-Cs2G4PQi.js +4 -0
  161. package/dist/{kanban-definition-3W4ZIXB7-DHEAKdZt.js → kanban-definition-3W4ZIXB7-BlmczUuw.js} +12 -12
  162. package/dist/{katex-CkLtKXwv.js → katex-qPqrBHZ8.js} +1 -1
  163. package/dist/label-BCWi-Oqu.js +31 -0
  164. package/dist/{line-PAEmCpyD.js → line-BWRi3U3S.js} +3 -3
  165. package/dist/{linear-v57w-fIs.js → linear-DnHwODZa.js} +4 -4
  166. package/dist/livescript-DMtVFaAN.js +4 -0
  167. package/dist/{loader-ZFbGsMN1.js → loader-BvW0-YWZ.js} +2 -2
  168. package/dist/lua-BAoLtdJg.js +4 -0
  169. package/dist/main.js +16437 -39681
  170. package/dist/mathematica-C_NoFtbo.js +4 -0
  171. package/dist/mbox-DcFJFYrH.js +4 -0
  172. package/dist/{memoize-CSTI9eOX.js → memoize-C9ltv0Cw.js} +1 -1
  173. package/dist/merge-CHn7Yx0N.js +222 -0
  174. package/dist/mermaid-4DMBBIKO-CG1ECj5W.js +6 -0
  175. package/dist/{mermaid-BbhZNQeB.js → mermaid-BagLPXm9.js} +50 -50
  176. package/dist/{mermaid-parser.core-ntCgyx0x.js → mermaid-parser.core-CleJseNW.js} +8 -8
  177. package/dist/{mhchem-BuY5LDSq.js → mhchem-BwoRNwg_.js} +1 -1
  178. package/dist/min-BNz2lZfk.js +38 -0
  179. package/dist/{mindmap-definition-VGOIOE7T-CxEUZZvY.js → mindmap-definition-VGOIOE7T-CcSYqYP9.js} +14 -14
  180. package/dist/mirc-71dccf_u.js +4 -0
  181. package/dist/mllike-CWcOFVDq.js +6 -0
  182. package/dist/modelica-Ape2VXxx.js +4 -0
  183. package/dist/mscgen-Cc6TwbSN.js +6 -0
  184. package/dist/mumps-h-ZbdkJ9.js +4 -0
  185. package/dist/now-Sgq5m3D-.js +31 -0
  186. package/dist/{nsis-B6EN9LWI.js → nsis-B5K1qoyo.js} +1 -1
  187. package/dist/nsis-C0p3m7JW.js +4 -0
  188. package/dist/ntriples-c9lEeT5w.js +4 -0
  189. package/dist/{number-overlay-editor-B02-t7Ar.js → number-overlay-editor-_GnlYFHC.js} +1 -1
  190. package/dist/octave-DzEgB_74.js +4 -0
  191. package/dist/{once-C_TIu-kR.js → once-rJImu7SE.js} +1 -1
  192. package/dist/{ordinal-D7fa8Sey.js → ordinal-2jIulmcR.js} +1 -1
  193. package/dist/oz-CAxvHkyQ.js +4 -0
  194. package/dist/{packet-DYOGHKS2-BhvnpoGi.js → packet-DYOGHKS2-CBxXGWNr.js} +3 -3
  195. package/dist/pascal-BJzu1sgP.js +4 -0
  196. package/dist/perl--IrOzZ2Z.js +4 -0
  197. package/dist/pick-CRAXxDYn.js +43 -0
  198. package/dist/{pie-VRWISCQL-dILuA3iG.js → pie-VRWISCQL-Bmdnqjip.js} +3 -3
  199. package/dist/{pieDiagram-ADFJNKIX-U3LrUqAS.js → pieDiagram-ADFJNKIX-DNyLF5H2.js} +22 -22
  200. package/dist/pig-CiBKKNhC.js +4 -0
  201. package/dist/powershell-KY0j6Qop.js +4 -0
  202. package/dist/{precisionRound-CGLoV26P.js → precisionRound-CnHPY_5v.js} +1 -1
  203. package/dist/process-output-COL2Pf5I.js +109 -0
  204. package/dist/properties-BW8q3ziV.js +4 -0
  205. package/dist/protobuf-BGaeuTGV.js +4 -0
  206. package/dist/pug-DjOKK-4J.js +4 -0
  207. package/dist/{pug-xrm7jQ2R.js → pug-tjbzJCFk.js} +1 -1
  208. package/dist/puppet-DWm2o6zX.js +4 -0
  209. package/dist/{purify.es-hTCfRGdl.js → purify.es-DT70lfR0.js} +85 -81
  210. package/dist/python-Bp2gezZy.js +4 -0
  211. package/dist/q-DljPshos.js +4 -0
  212. package/dist/{quadrantDiagram-AYHSOK5B-BVWuq-3R.js → quadrantDiagram-AYHSOK5B-rXwjifrj.js} +5 -5
  213. package/dist/r-BajPMnEu.js +4 -0
  214. package/dist/{radar-ZZBFDIW7-DwFrOJDj.js → radar-ZZBFDIW7-BmCWDffL.js} +3 -3
  215. package/dist/{react-vega-DBwal82H.js → react-vega-C2Rtgjb4.js} +19 -19
  216. package/dist/react-vega-jy3CfYys.js +9 -0
  217. package/dist/{requirementDiagram-UZGBJVZJ-D0zpQnKC.js → requirementDiagram-UZGBJVZJ-DBdrMVbs.js} +14 -14
  218. package/dist/reveal-component-Cd5Y35Ny.js +4549 -0
  219. package/dist/rpm-BKx-ZZ62.js +5 -0
  220. package/dist/ruby-DJq_HNKc.js +4 -0
  221. package/dist/{sankeyDiagram-TZEHDZUN-CExy1joT.js → sankeyDiagram-TZEHDZUN-CxmzalGv.js} +5 -5
  222. package/dist/sas-WANvpcOU.js +4 -0
  223. package/dist/scheme-CliBbhGF.js +4 -0
  224. package/dist/{sequenceDiagram-WL72ISMW-D1BJxLjH.js → sequenceDiagram-WL72ISMW-CVCDsJ9h.js} +8 -8
  225. package/dist/shell-BwhrNUvM.js +4 -0
  226. package/dist/sieve-BIVePvMp.js +4 -0
  227. package/dist/slide-BEerfanN.js +23928 -0
  228. package/dist/smalltalk-D6G48JmY.js +4 -0
  229. package/dist/sparql-jjc3BmEP.js +4 -0
  230. package/dist/{spec-3EPbPQZH.js → spec-BKWq0wn2.js} +8 -152
  231. package/dist/{src-DbP20yFZ.js → src-BY0BGg6V.js} +1 -1
  232. package/dist/{stateDiagram-FKZM4ZOC-B1S8jGMn.js → stateDiagram-FKZM4ZOC-D_2djEhW.js} +19 -19
  233. package/dist/stateDiagram-v2-4FDKWEC3-Cv9Av10H.js +29 -0
  234. package/dist/{step-qd10PbTJ.js → step-DGAGWg3y.js} +1 -1
  235. package/dist/stex-ChDHQs3R.js +4 -0
  236. package/dist/{label-BebYlsDV.js → strings-B_FOH6eV.js} +57 -81
  237. package/dist/style.css +1 -1
  238. package/dist/stylus-WPBPQ4PE.js +4 -0
  239. package/dist/swift-O1Qy6iCm.js +4 -0
  240. package/dist/{slides-component-DLxprlqo.js → swiper-component-KkEVUDd3.js} +5 -5
  241. package/dist/tcl-BAFdhvsi.js +4 -0
  242. package/dist/textile-DFuzhNLG.js +4 -0
  243. package/dist/{time-Bdnxi22U.js → time-CMdrp3hw.js} +4 -4
  244. package/dist/{timeline-definition-IT6M3QCI-BDT9JAmn.js → timeline-definition-IT6M3QCI-E4NzxCs3.js} +4 -4
  245. package/dist/{toDate-B1AzlBoW.js → toDate-yqOcZ_tY.js} +4 -4
  246. package/dist/toml-DRSTeely.js +4 -0
  247. package/dist/{tooltip-DwNnFsxZ.js → tooltip-B0mtKTXm.js} +4 -4
  248. package/dist/{treemap-GDKQZRPO-bx2ngsgN.js → treemap-GDKQZRPO-CoKHPxa7.js} +3 -3
  249. package/dist/troff-B_ZjwBW0.js +4 -0
  250. package/dist/ttcn-CAyiB3ic.js +4 -0
  251. package/dist/ttcn-cfg-BS5_BGBJ.js +4 -0
  252. package/dist/turtle-CUBEDy3E.js +4 -0
  253. package/dist/types-DBtDeUKD.js +38 -0
  254. package/dist/{useAsyncData-BL98MPIy.js → useAsyncData-CKYzhCis.js} +2 -2
  255. package/dist/useDateFormatter-B3mCQMP3.js +150 -0
  256. package/dist/useDeepCompareMemoize-je76AJS_.js +11 -0
  257. package/dist/{useIframeCapabilities-CsTUYYj7.js → useIframeCapabilities-DbdLoEDm.js} +1 -1
  258. package/dist/{useLifecycle-DrGGIsgp.js → useLifecycle-smVfjLNI.js} +4 -4
  259. package/dist/{useTheme-CzwDokKe.js → useTheme-CX9pPLUH.js} +3 -3
  260. package/dist/vb-DY9S6-U2.js +4 -0
  261. package/dist/vbscript-gaHC39Jq.js +4 -0
  262. package/dist/{vega-component-KBJXEDZz.js → vega-component-CjMUUeEZ.js} +18 -17
  263. package/dist/{vega-loader.browser-DqEcFOPD.js → vega-loader.browser-3_z8GoFC.js} +3 -3
  264. package/dist/velocity-TfCOtJZ_.js +4 -0
  265. package/dist/verilog-c2JOX8mv.js +4 -0
  266. package/dist/vhdl-dHBirRiO.js +4 -0
  267. package/dist/webidl-Bauj-i07.js +4 -0
  268. package/dist/xquery-CtaEAOt8.js +4 -0
  269. package/dist/{xychartDiagram-PRI3JC2R-CuAZiqHS.js → xychartDiagram-PRI3JC2R-CuxTvjw5.js} +13 -13
  270. package/dist/yacas-BZ85agQP.js +4 -0
  271. package/dist/z80-hCgR-L4U.js +4 -0
  272. package/dist/{zod-W5ZEjzaE.js → zod-BxdsqRPd.js} +3 -3
  273. package/package.json +4 -2
  274. package/src/__mocks__/requests.ts +1 -0
  275. package/src/components/data-table/TableBottomBar.tsx +5 -1
  276. package/src/components/data-table/__tests__/chart-spec-model.test.ts +14 -14
  277. package/src/components/data-table/__tests__/columns.test.tsx +104 -0
  278. package/src/components/data-table/__tests__/filters.test.ts +304 -0
  279. package/src/components/data-table/__tests__/pagination.test.tsx +46 -132
  280. package/src/components/data-table/__tests__/sentinel-cell.test.tsx +171 -0
  281. package/src/components/data-table/__tests__/types.test.ts +34 -1
  282. package/src/components/data-table/__tests__/utils.test.ts +227 -0
  283. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  284. package/src/components/data-table/column-header.tsx +11 -2
  285. package/src/components/data-table/column-summary/chart-spec-model.tsx +6 -3
  286. package/src/components/data-table/column-summary/column-summary.tsx +1 -1
  287. package/src/components/data-table/columns.tsx +48 -5
  288. package/src/components/data-table/export-actions.tsx +62 -23
  289. package/src/components/data-table/filters.ts +87 -33
  290. package/src/components/data-table/pagination.tsx +189 -76
  291. package/src/components/data-table/schemas.ts +8 -1
  292. package/src/components/data-table/sentinel-cell.tsx +118 -0
  293. package/src/components/data-table/types.ts +32 -11
  294. package/src/components/data-table/utils.ts +119 -1
  295. package/src/components/datasources/__tests__/missing-package-prompt.test.tsx +103 -0
  296. package/src/components/datasources/missing-package-prompt.tsx +49 -0
  297. package/src/components/editor/actions/useNotebookActions.tsx +12 -0
  298. package/src/components/editor/cell/code/cell-editor.tsx +1 -0
  299. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +33 -0
  300. package/src/components/editor/file-tree/file-explorer.tsx +8 -33
  301. package/src/components/editor/file-tree/requesting-tree.tsx +41 -0
  302. package/src/components/editor/file-tree/state.tsx +1 -0
  303. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +9 -17
  304. package/src/components/home/components.tsx +7 -0
  305. package/src/components/slides/reveal-component.tsx +109 -0
  306. package/src/components/slides/reveal-slides.css +42 -0
  307. package/src/components/slides/slides.css +0 -65
  308. package/src/components/slides/{slides-component.tsx → swiper-component.tsx} +1 -0
  309. package/src/components/slides/swiper-slides.css +64 -0
  310. package/src/components/static-html/static-banner.tsx +23 -14
  311. package/src/components/ui/toast.tsx +16 -7
  312. package/src/core/cells/__tests__/apply-transaction.test.ts +483 -0
  313. package/src/core/cells/__tests__/cells.test.ts +110 -0
  314. package/src/core/cells/__tests__/logs.test.ts +101 -0
  315. package/src/core/cells/cells.ts +18 -0
  316. package/src/core/cells/document-changes.ts +34 -1
  317. package/src/core/cells/logs.ts +9 -1
  318. package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +4 -14
  319. package/src/core/codemirror/cells/extensions.ts +0 -4
  320. package/src/core/codemirror/keymaps/keymaps.ts +69 -2
  321. package/src/core/constants.ts +1 -0
  322. package/src/core/islands/bridge.ts +1 -0
  323. package/src/core/mode.ts +10 -1
  324. package/src/core/network/requests-lazy.ts +1 -0
  325. package/src/core/network/requests-network.ts +8 -0
  326. package/src/core/network/requests-static.ts +1 -0
  327. package/src/core/network/requests-toasting.tsx +1 -0
  328. package/src/core/network/types.ts +3 -0
  329. package/src/core/wasm/__tests__/bridge.test.ts +113 -0
  330. package/src/core/wasm/bridge.ts +13 -2
  331. package/src/core/wasm/worker/types.ts +3 -0
  332. package/src/core/wasm/worker/worker.ts +1 -0
  333. package/src/plugins/core/__test__/trusted-url.test.ts +45 -1
  334. package/src/plugins/core/trusted-url.ts +27 -2
  335. package/src/plugins/impl/DataEditorPlugin.tsx +7 -3
  336. package/src/plugins/impl/DataTablePlugin.tsx +7 -20
  337. package/src/plugins/impl/FileBrowserPlugin.tsx +81 -81
  338. package/src/plugins/impl/TabsPlugin.tsx +18 -12
  339. package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +147 -149
  340. package/src/plugins/impl/data-editor/data-utils.ts +12 -11
  341. package/src/plugins/impl/data-editor/glide-data-editor.tsx +4 -4
  342. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +4 -4
  343. package/src/plugins/impl/data-frames/schema.ts +41 -9
  344. package/src/plugins/impl/data-frames/utils/operators.ts +2 -0
  345. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +16 -0
  346. package/src/plugins/layout/carousel/CarouselPlugin.tsx +3 -1
  347. package/dist/_basePickBy-Sow3pJjS.js +0 -41
  348. package/dist/_baseUniq-C87CckHL.js +0 -518
  349. package/dist/apl-C1bki_dE.js +0 -4
  350. package/dist/architecture-7HQA4BMR-BHdkAMvZ.js +0 -6
  351. package/dist/asciiarmor-BdlkCCRr.js +0 -4
  352. package/dist/asn1-CvE30hox.js +0 -4
  353. package/dist/brainfuck-BalwWy1a.js +0 -4
  354. package/dist/classDiagram-2ON5EDUG-C8-zE3Zv.js +0 -30
  355. package/dist/classDiagram-v2-WZHVMYZB-DrmbGANl.js +0 -30
  356. package/dist/clojure-CUC2I1hM.js +0 -4
  357. package/dist/cmake-8PcMxXnB.js +0 -4
  358. package/dist/cobol-DkkkDz5v.js +0 -4
  359. package/dist/coffeescript-CCupxOZf.js +0 -4
  360. package/dist/commonlisp-DhUfGX6b.js +0 -4
  361. package/dist/crystal-DSaw6rFQ.js +0 -4
  362. package/dist/css-D4QDewkG.js +0 -4
  363. package/dist/cypher-CrYVqw_F.js +0 -4
  364. package/dist/d-Cr3H3pPx.js +0 -4
  365. package/dist/diff-ODiZJGls.js +0 -4
  366. package/dist/dist-7K5doRvB.js +0 -6
  367. package/dist/dist-B6I_A2-E.js +0 -8
  368. package/dist/dist-BEQsmaZY.js +0 -5
  369. package/dist/dist-BasY2RHp.js +0 -8
  370. package/dist/dist-Bosc00dY.js +0 -5
  371. package/dist/dist-CQMZOn-_.js +0 -8
  372. package/dist/dist-CViQhWZ8.js +0 -5
  373. package/dist/dist-Cz6rLfwY.js +0 -5
  374. package/dist/dist-D8eq8st3.js +0 -6
  375. package/dist/dist-DM1UDXdl.js +0 -5
  376. package/dist/dist-DNrtWPgS.js +0 -5
  377. package/dist/dist-V7q2qnpA.js +0 -5
  378. package/dist/dist-a5_hPgu2.js +0 -8
  379. package/dist/dist-uVyZcV1-.js +0 -5
  380. package/dist/dtd-C-t2Rk7F.js +0 -4
  381. package/dist/dylan-B4ctBLGp.js +0 -4
  382. package/dist/ecl-DqWfymni.js +0 -4
  383. package/dist/eiffel-DjBKKAr7.js +0 -4
  384. package/dist/elm--fxeC0FV.js +0 -4
  385. package/dist/erlang-CaKXCX6H.js +0 -4
  386. package/dist/esm-CDHI9cuO.js +0 -2805
  387. package/dist/factor-DlLO5EFS.js +0 -4
  388. package/dist/forth-rOO6LVj_.js +0 -4
  389. package/dist/fortran-CUg15VGR.js +0 -4
  390. package/dist/gas-BMRJspiW.js +0 -4
  391. package/dist/gherkin-DRxzijZU.js +0 -4
  392. package/dist/graphlib-BV1_gi0C.js +0 -226
  393. package/dist/groovy-BmrQ8pUP.js +0 -4
  394. package/dist/haskell-BuaYfKOz.js +0 -4
  395. package/dist/haxe-DcH9eA0a.js +0 -5
  396. package/dist/idl-DGlcm4Ls.js +0 -4
  397. package/dist/infoDiagram-HS3SLOUP-OYrX6uO3.js +0 -30
  398. package/dist/javascript-CeTk7rzr.js +0 -4
  399. package/dist/julia-BoP_q1gm.js +0 -4
  400. package/dist/livescript-B7IMN-ba.js +0 -4
  401. package/dist/lua-q1InavKb.js +0 -4
  402. package/dist/mathematica-DvR8-_EI.js +0 -4
  403. package/dist/mbox-7h5MNBS_.js +0 -4
  404. package/dist/merge-CVhG7q_o.js +0 -51
  405. package/dist/mermaid-4DMBBIKO-BjtqcdX4.js +0 -6
  406. package/dist/min-Ds3gG0Ff.js +0 -96
  407. package/dist/mirc-D-XM8A5c.js +0 -4
  408. package/dist/mllike-BQGkkbmf.js +0 -6
  409. package/dist/modelica-D_yRj_WU.js +0 -4
  410. package/dist/mscgen-B-rltAjp.js +0 -6
  411. package/dist/mumps-2kh8TU2b.js +0 -4
  412. package/dist/now-nrrrOr01.js +0 -7
  413. package/dist/nsis-CtusEqwb.js +0 -4
  414. package/dist/ntriples-BdAXw6zV.js +0 -4
  415. package/dist/octave-CsNFmVp5.js +0 -4
  416. package/dist/oz-odIXCrKd.js +0 -4
  417. package/dist/pascal-B9Mfk3Fo.js +0 -4
  418. package/dist/perl-C48inLcz.js +0 -4
  419. package/dist/pig-uwRtAssU.js +0 -4
  420. package/dist/powershell-CXqlca-i.js +0 -4
  421. package/dist/properties-D6Zu1rpK.js +0 -4
  422. package/dist/protobuf-BlNNWZaR.js +0 -4
  423. package/dist/pug-DytcK7bv.js +0 -4
  424. package/dist/puppet-lJ8Ok3iY.js +0 -4
  425. package/dist/python-cMaF7kUp.js +0 -4
  426. package/dist/q-Dgt2HYQh.js +0 -4
  427. package/dist/r-Bm4S4awf.js +0 -4
  428. package/dist/range-fJeId9Ri.js +0 -30
  429. package/dist/react-vega-BkjdpVsR.js +0 -9
  430. package/dist/rpm-_8LbzMVc.js +0 -5
  431. package/dist/ruby-Cr8IJ5VZ.js +0 -4
  432. package/dist/sas-CFcSfo2_.js +0 -4
  433. package/dist/scheme-N4XRoKgc.js +0 -4
  434. package/dist/shell-B4L7f_ds.js +0 -4
  435. package/dist/sieve-UI6J3Gm0.js +0 -4
  436. package/dist/smalltalk-BuaPZAZU.js +0 -4
  437. package/dist/sparql-1rKrq463.js +0 -4
  438. package/dist/stateDiagram-v2-4FDKWEC3-BH5ozUbc.js +0 -29
  439. package/dist/stex-CQDv3aS8.js +0 -4
  440. package/dist/stylus-DvSovJEP.js +0 -4
  441. package/dist/swift-D-_E7Yyb.js +0 -4
  442. package/dist/tcl-Di5sAVHN.js +0 -4
  443. package/dist/textile-Benwt66z.js +0 -4
  444. package/dist/toNumber-55tjPCWr.js +0 -28
  445. package/dist/toml-CeOvPOkY.js +0 -4
  446. package/dist/troff-DJN9hfgu.js +0 -4
  447. package/dist/ttcn-DQW2Psjf.js +0 -4
  448. package/dist/ttcn-cfg-zFG_MNpg.js +0 -4
  449. package/dist/turtle-DHRyNlSc.js +0 -4
  450. package/dist/types-pwjdK009.js +0 -202
  451. package/dist/useDeepCompareMemoize-CsyOnnjc.js +0 -85
  452. package/dist/vb-CXWH9DD-.js +0 -4
  453. package/dist/vbscript-qr8qVck5.js +0 -4
  454. package/dist/velocity-C_9pUJRx.js +0 -4
  455. package/dist/verilog-DxBstgBa.js +0 -4
  456. package/dist/vhdl-odUxAbE6.js +0 -4
  457. package/dist/webidl-Dfn5Rku4.js +0 -4
  458. package/dist/xquery-CrJs6SXr.js +0 -4
  459. package/dist/yacas-B-uDDLZe.js +0 -4
  460. package/dist/z80-51gxgAXE.js +0 -4
  461. /package/dist/{apl-Oc3bL26_.js → apl-Dt8GMXYg.js} +0 -0
  462. /package/dist/{array-ByIS7m3B.js → array-B-MVxRIF.js} +0 -0
  463. /package/dist/{asciiarmor-DTbPh2VI.js → asciiarmor-CitDQ85h.js} +0 -0
  464. /package/dist/{asn1-CGhwu1Ri.js → asn1-abrf9SMK.js} +0 -0
  465. /package/dist/{asterisk-BApaB_8m.js → asterisk-BUZwqih-.js} +0 -0
  466. /package/dist/{brainfuck-CA0L8lRq.js → brainfuck-BL-Boof0.js} +0 -0
  467. /package/dist/{chunk-DR5Q36YT-C40cYcy5.js → chunk-DR5Q36YT-CP69aZS_.js} +0 -0
  468. /package/dist/{click-outside-container-D3t6KDni.js → click-outside-container-BZgN7xS_.js} +0 -0
  469. /package/dist/{clike-CEtUBPHD.js → clike-RWg7anhx.js} +0 -0
  470. /package/dist/{clojure-BszjvdGo.js → clojure-DaojKHow.js} +0 -0
  471. /package/dist/{clsx-CwTY0BxM.js → clsx-CyyyQ8Ue.js} +0 -0
  472. /package/dist/{cmake-B2Gvps8b.js → cmake-DN-_v0XE.js} +0 -0
  473. /package/dist/{cobol-DuMch8nn.js → cobol-C3VpMyux.js} +0 -0
  474. /package/dist/{coffeescript-L9aKXVsJ.js → coffeescript-DIkz3Tbt.js} +0 -0
  475. /package/dist/{colors-IJ-2cn2o.js → colors-Cn2p_FA3.js} +0 -0
  476. /package/dist/{common-keywords-CsU75Ked.js → common-keywords-hbLeU7VU.js} +0 -0
  477. /package/dist/{commonlisp-CrtdssxB.js → commonlisp-CB1boOiP.js} +0 -0
  478. /package/dist/{crystal-vvNY0LpY.js → crystal-DI2oCml6.js} +0 -0
  479. /package/dist/{css-B1GdzqT1.js → css-BdEVwQDV.js} +0 -0
  480. /package/dist/{cypher-BtZvV7bW.js → cypher-BNHToqxU.js} +0 -0
  481. /package/dist/{cytoscape.esm-CRfNlsPy.js → cytoscape.esm-WbbDoCfu.js} +0 -0
  482. /package/dist/{d-B0UN3V-Z.js → d-D7we7I1b.js} +0 -0
  483. /package/dist/{defaultLocale-qS7DaAmi.js → defaultLocale-BpsHxBd7.js} +0 -0
  484. /package/dist/{defaultLocale-Bxoo2-30.js → defaultLocale-DoeErsX2.js} +0 -0
  485. /package/dist/{diff-DOpgjj1W.js → diff-Cia6fzjN.js} +0 -0
  486. /package/dist/{dist-BjWd_Ei9.js → dist-C89sHDXk.js} +0 -0
  487. /package/dist/{dtd-Ctnjxrle.js → dtd-H4Hubdwp.js} +0 -0
  488. /package/dist/{duckdb-keywords-DjrZdCO2.js → duckdb-keywords-CZ_ZTscu.js} +0 -0
  489. /package/dist/{dylan-DFXkoaZy.js → dylan-fVO6rnq3.js} +0 -0
  490. /package/dist/{ebnf-XJCIl_em.js → ebnf-WEXPLEWb.js} +0 -0
  491. /package/dist/{ecl-C1NExZip.js → ecl-B94VPjNR.js} +0 -0
  492. /package/dist/{eiffel-uXVGgleg.js → eiffel-C_R6TusS.js} +0 -0
  493. /package/dist/{elm-CBOFnnib.js → elm-DzCHbO2g.js} +0 -0
  494. /package/dist/{emotion-is-prop-valid.esm-CJVjyntJ.js → emotion-is-prop-valid.esm-DtW2o230.js} +0 -0
  495. /package/dist/{erlang-DMnrT8XK.js → erlang-BGNkx6JU.js} +0 -0
  496. /package/dist/{esm-D4gzqVRq.js → esm-Bb_hbWan.js} +0 -0
  497. /package/dist/{fcl-fh4Mj0bc.js → fcl-B_Gv5Jfx.js} +0 -0
  498. /package/dist/{forth-DDpxS4nw.js → forth-Bybw0cJ7.js} +0 -0
  499. /package/dist/{fortran-B6uYqQMz.js → fortran-C6PoCLkI.js} +0 -0
  500. /package/dist/{gas-BKnWzuFz.js → gas-BBlhenj4.js} +0 -0
  501. /package/dist/{gherkin-pBt0wT4X.js → gherkin-NXtNG85X.js} +0 -0
  502. /package/dist/{groovy-DKsn4ppB.js → groovy-BoFYK9xM.js} +0 -0
  503. /package/dist/{haskell-BJVBJQcy.js → haskell-BtBdvQ1n.js} +0 -0
  504. /package/dist/{haxe-rLN5UZU5.js → haxe-D--o6dr0.js} +0 -0
  505. /package/dist/{http-CbJFDV7c.js → http-Dc2fv19V.js} +0 -0
  506. /package/dist/{idl-B4mwMAo-.js → idl-AqTq5l7e.js} +0 -0
  507. /package/dist/{init-Cge3yl4r.js → init-D-g0ONX1.js} +0 -0
  508. /package/dist/{invariant-e8eBgdux.js → invariant-UcGKQEhF.js} +0 -0
  509. /package/dist/{javascript-Hf2NLNC0.js → javascript-DvwNVye9.js} +0 -0
  510. /package/dist/{jsx-runtime-9hcJiI23.js → jsx-runtime-COBk7ree.js} +0 -0
  511. /package/dist/{julia-GGpx21YN.js → julia-DoKiagZC.js} +0 -0
  512. /package/dist/{katex-CQ_cP8Uu.js → katex-B7pMJpE0.js} +0 -0
  513. /package/dist/{livescript-CSvXMspZ.js → livescript-DxBZMiWB.js} +0 -0
  514. /package/dist/{lua-CVMR5LMW.js → lua-DmS_0NTu.js} +0 -0
  515. /package/dist/{main-XimWhSi_.js → main-CThhXnXU.js} +0 -0
  516. /package/dist/{math-CEWMqgbD.js → math-BYK36kWZ.js} +0 -0
  517. /package/dist/{mathematica-JENNt-p4.js → mathematica-ChlDFeIC.js} +0 -0
  518. /package/dist/{mbox-mzifoc8E.js → mbox-CguZuODr.js} +0 -0
  519. /package/dist/{micromark-factory-space-BHslBP9f.js → micromark-factory-space-CwHmg6iz.js} +0 -0
  520. /package/dist/{mirc-BXoiItvN.js → mirc-CFtY8dqz.js} +0 -0
  521. /package/dist/{mllike-H-KR9OuH.js → mllike-C0EJrEOk.js} +0 -0
  522. /package/dist/{modelica-B6Hm3mMl.js → modelica-C1kO1nfS.js} +0 -0
  523. /package/dist/{mscgen-D8TF_Hei.js → mscgen-DEYdr7AY.js} +0 -0
  524. /package/dist/{mumps-CD-kNPt4.js → mumps-B3NVJs2V.js} +0 -0
  525. /package/dist/{nginx-9EZQIKsh.js → nginx-ComVAAGN.js} +0 -0
  526. /package/dist/{node-sql-parser-DIe6Cq_-.js → node-sql-parser-DNGGJ-Rw.js} +0 -0
  527. /package/dist/{ntriples-DgnpxU40.js → ntriples-DHol9X9H.js} +0 -0
  528. /package/dist/{octave-CkobqyVm.js → octave-CYGz0bfo.js} +0 -0
  529. /package/dist/{oz-ChDLd9tS.js → oz-kPxb2ni5.js} +0 -0
  530. /package/dist/{pascal-CvlkwK7E.js → pascal-bZ0yrJKy.js} +0 -0
  531. /package/dist/{path-B-82hpi8.js → path-Du6n3sOU.js} +0 -0
  532. /package/dist/{perl-BNEFTNbM.js → perl-z4hvqyqz.js} +0 -0
  533. /package/dist/{pig-Cd1DMS7P.js → pig-DZO8QDF9.js} +0 -0
  534. /package/dist/{powershell-CPxA0zpc.js → powershell-BSuaDQEC.js} +0 -0
  535. /package/dist/{properties-BaFBm-Xa.js → properties-BXhGLlIx.js} +0 -0
  536. /package/dist/{protobuf-BQV_-X0H.js → protobuf-DM6iybWV.js} +0 -0
  537. /package/dist/{puppet-LXLST0mx.js → puppet-Bn05sQT8.js} +0 -0
  538. /package/dist/{python-DLjLzX4k.js → python-Cvnhm0g7.js} +0 -0
  539. /package/dist/{q-DswTX1Y9.js → q-B9V8hzex.js} +0 -0
  540. /package/dist/{r-CO7NpMwE.js → r-Cf0gFqmq.js} +0 -0
  541. /package/dist/{range-BYuZFTbA.js → range-BOiA8qqU.js} +0 -0
  542. /package/dist/{react-dom-D5FDLRUB.js → react-dom-BWRJ_g_k.js} +0 -0
  543. /package/dist/{rpm-BlmEDT6r.js → rpm-D-LMkTV1.js} +0 -0
  544. /package/dist/{ruby-BTPKgeZZ.js → ruby-DeuPikpK.js} +0 -0
  545. /package/dist/{sas-DTDTiNO8.js → sas-C9tjgAo9.js} +0 -0
  546. /package/dist/{scheme-UzAAg4GJ.js → scheme-D1_bUF0G.js} +0 -0
  547. /package/dist/{shell-DQ0hQCsB.js → shell-CJBmnks3.js} +0 -0
  548. /package/dist/{sieve-BVyYIx9u.js → sieve-1fSV75CF.js} +0 -0
  549. /package/dist/{simple-mode-Dryu-fC9.js → simple-mode-B90Wdavj.js} +0 -0
  550. /package/dist/{smalltalk-DAdMAHTu.js → smalltalk-sZNPD0HO.js} +0 -0
  551. /package/dist/{solr-Bn6k51kO.js → solr-DTkyqJ-Z.js} +0 -0
  552. /package/dist/{sparql-Bi7quYgw.js → sparql-oHc1nm77.js} +0 -0
  553. /package/dist/{spreadsheet-UpVklYg7.js → spreadsheet-CER0raqY.js} +0 -0
  554. /package/dist/{sql-qyORs189.js → sql-ByOoEONQ.js} +0 -0
  555. /package/dist/{stex-D887Ylhf.js → stex-DrxP7bb3.js} +0 -0
  556. /package/dist/{stylus-jhpzcQ6Y.js → stylus-KzkX6zRB.js} +0 -0
  557. /package/dist/{swift-BrO8qThZ.js → swift-DqVxZvKo.js} +0 -0
  558. /package/dist/{tcl-s5QI5gv3.js → tcl-BtWSwXfA.js} +0 -0
  559. /package/dist/{textile-ClhvJrxM.js → textile-CWDbn9Ql.js} +0 -0
  560. /package/dist/{tiddlywiki-CmAAqw9M.js → tiddlywiki-Cr9xyOY1.js} +0 -0
  561. /package/dist/{tiki-DzCRe_s0.js → tiki-D5JONyfZ.js} +0 -0
  562. /package/dist/{timer-BPKOAfmx.js → timer-D7JVdX9U.js} +0 -0
  563. /package/dist/{toml-TFa3EJQE.js → toml-BfehlgmL.js} +0 -0
  564. /package/dist/{treemap-CmLtUuWe.js → treemap-qFGzn7xk.js} +0 -0
  565. /package/dist/{troff-SqLg0heF.js → troff-BZBk6AAu.js} +0 -0
  566. /package/dist/{ttcn-Cfrap7HJ.js → ttcn-DVwvXg0_.js} +0 -0
  567. /package/dist/{ttcn-cfg-Dopc-iwE.js → ttcn-cfg-gjbVLf1L.js} +0 -0
  568. /package/dist/{turtle-Dt52DvVH.js → turtle-CgxKXorV.js} +0 -0
  569. /package/dist/{vb-D1pAvfDe.js → vb-B9kSwTdM.js} +0 -0
  570. /package/dist/{vbscript-DZ7RBxn5.js → vbscript-DrUKSCdb.js} +0 -0
  571. /package/dist/{velocity-Csau7eZy.js → velocity-AlMYTnMy.js} +0 -0
  572. /package/dist/{verilog-gXlZACs5.js → verilog-DLUaM05j.js} +0 -0
  573. /package/dist/{vhdl-NaUWbI1B.js → vhdl-DUJOtSmO.js} +0 -0
  574. /package/dist/{webidl-BJmPjW01.js → webidl-CQp4aHk_.js} +0 -0
  575. /package/dist/{xquery-CJIPsC0g.js → xquery-IxkjlwOD.js} +0 -0
  576. /package/dist/{yacas-8f2Vjiiz.js → yacas-Bnctn5w8.js} +0 -0
  577. /package/dist/{z80-s5Xk2hCP.js → z80-DrFwhx53.js} +0 -0
@@ -0,0 +1,4549 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ var _a;
5
+ import { s as __toESM } from "./chunk-BNovOVIE.js";
6
+ import { _ as Logger, h as Events, t as Button } from "./button-CA5pI2YF.js";
7
+ import { t as require_react } from "./react-DA-nE2FX.js";
8
+ import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
9
+ import "./html-to-image-BdsDysfl.js";
10
+ import "./chunk-5FQGJX7Z-CO1e63h_.js";
11
+ import { t as Slide, xt as Expand } from "./slide-BEerfanN.js";
12
+ import "./input-Drx1pguW.js";
13
+ import "./toDate-yqOcZ_tY.js";
14
+ import "./react-dom-BWRJ_g_k.js";
15
+ import { t as require_jsx_runtime } from "./jsx-runtime-COBk7ree.js";
16
+ import "./zod-BxdsqRPd.js";
17
+ import { t as Tooltip } from "./tooltip-B0mtKTXm.js";
18
+ import "./useTheme-CX9pPLUH.js";
19
+ import "./dist-CCADb07R.js";
20
+ import "./main-CThhXnXU.js";
21
+ import "./dist-Yrfc6L0I.js";
22
+ import "./dist-UcOPnRMa.js";
23
+ import "./dist-BTyJtnNg.js";
24
+ import "./dist-DGAfI2rB.js";
25
+ import "./dist-nuW5EDYT.js";
26
+ import "./purify.es-DT70lfR0.js";
27
+ import "./vega-loader.browser-3_z8GoFC.js";
28
+ import "./loader-BvW0-YWZ.js";
29
+ import "./defaultLocale-BpsHxBd7.js";
30
+ import "./defaultLocale-DoeErsX2.js";
31
+ var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), pi = Object.defineProperty, vi = Object.defineProperties, mi = Object.getOwnPropertyDescriptors, xt = Object.getOwnPropertySymbols, yi = Object.prototype.hasOwnProperty, bi = Object.prototype.propertyIsEnumerable, qe$1 = (e3, t, n) => t in e3 ? pi(e3, t, {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: n
36
+ }) : e3[t] = n, Q$1 = (e3, t) => {
37
+ for (var n in t || (t = {})) yi.call(t, n) && qe$1(e3, n, t[n]);
38
+ if (xt) for (var n of xt(t)) bi.call(t, n) && qe$1(e3, n, t[n]);
39
+ return e3;
40
+ }, We$1 = (e3, t) => vi(e3, mi(t)), je$1 = (e3, t, n) => qe$1(e3, typeof t == "symbol" ? t : t + "", n), It = (e3, t, n) => new Promise((r, i) => {
41
+ var a = (e4) => {
42
+ try {
43
+ s(n.next(e4));
44
+ } catch (e5) {
45
+ i(e5);
46
+ }
47
+ }, o = (e4) => {
48
+ try {
49
+ s(n.throw(e4));
50
+ } catch (e5) {
51
+ i(e5);
52
+ }
53
+ }, s = (e4) => e4.done ? r(e4.value) : Promise.resolve(e4.value).then(a, o);
54
+ s((n = n.apply(e3, t)).next());
55
+ }), ge$1 = (e3, t) => {
56
+ for (let n in t) e3[n] = t[n];
57
+ return e3;
58
+ }, E$1 = (e3, t) => Array.from(e3.querySelectorAll(t)), Ke$1 = (e3, t, n) => {
59
+ n ? e3.classList.add(t) : e3.classList.remove(t);
60
+ }, fe$1 = (e3) => {
61
+ if (typeof e3 == "string") {
62
+ if (e3 === "null") return null;
63
+ if (e3 === "true") return true;
64
+ if (e3 === "false") return false;
65
+ if (e3.match(/^-?[\d\.]+$/)) return parseFloat(e3);
66
+ }
67
+ return e3;
68
+ }, ae$1 = (e3, t) => {
69
+ e3.style.transform = t;
70
+ }, xe$1 = (e3, t) => {
71
+ let n = e3.matches || e3.matchesSelector || e3.msMatchesSelector;
72
+ return !!(n && n.call(e3, t));
73
+ }, V$1 = (e3, t) => {
74
+ if (e3 && typeof e3.closest == "function") return e3.closest(t);
75
+ for (; e3; ) {
76
+ if (xe$1(e3, t)) return e3;
77
+ e3 = e3.parentElement;
78
+ }
79
+ return null;
80
+ }, Dt = (e3) => {
81
+ e3 || (e3 = document.documentElement);
82
+ let t = e3.requestFullscreen || e3.webkitRequestFullscreen || e3.webkitRequestFullScreen || e3.mozRequestFullScreen || e3.msRequestFullscreen;
83
+ t && t.apply(e3);
84
+ }, wi = (e3, t, n, r = "") => {
85
+ let i = e3.querySelectorAll("." + n);
86
+ for (let t2 = 0; t2 < i.length; t2++) {
87
+ let n2 = i[t2];
88
+ if (n2.parentNode === e3) return n2;
89
+ }
90
+ let a = document.createElement(t);
91
+ return a.className = n, a.innerHTML = r, e3.appendChild(a), a;
92
+ }, Xe$1 = (e3) => {
93
+ let t = document.createElement("style");
94
+ return e3 && e3.length > 0 && t.appendChild(document.createTextNode(e3)), document.head.appendChild(t), t;
95
+ }, Mt = () => {
96
+ let e3 = {};
97
+ for (let t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi, (t2) => {
98
+ let n = t2.split("=").shift(), r = t2.split("=").pop();
99
+ return n && r !== void 0 && (e3[n] = r), t2;
100
+ }), e3) {
101
+ let n = e3[t];
102
+ e3[t] = fe$1(unescape(n));
103
+ }
104
+ return e3.dependencies !== void 0 && delete e3.dependencies, e3;
105
+ }, Ei = (e3, t = 0) => {
106
+ var _a2;
107
+ if (e3) {
108
+ let n, r = e3.style.height;
109
+ return e3.style.height = "0px", e3.parentElement && (e3.parentElement.style.height = "auto"), n = t - (((_a2 = e3.parentElement) == null ? void 0 : _a2.offsetHeight) || 0), e3.style.height = r + "px", e3.parentElement && e3.parentElement.style.removeProperty("height"), n;
110
+ }
111
+ return t;
112
+ }, Si = {
113
+ mp4: "video/mp4",
114
+ m4a: "video/mp4",
115
+ ogv: "video/ogg",
116
+ mpeg: "video/mpeg",
117
+ webm: "video/webm"
118
+ }, Ai = (e3 = "") => {
119
+ let t = e3.split(".").pop();
120
+ return t ? Si[t] : void 0;
121
+ }, Ri = (e3 = "") => encodeURI(e3).replace(/%5B/g, "[").replace(/%5D/g, "]").replace(/[!'()*]/g, (e4) => `%${e4.charCodeAt(0).toString(16).toUpperCase()}`), Vt = navigator.userAgent, le$1 = /(iphone|ipod|ipad|android)/gi.test(Vt) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, Ft = /android/gi.test(Vt), ki = (function(e3) {
122
+ if (e3) {
123
+ var t = function(e4) {
124
+ return [].slice.call(e4);
125
+ }, n = 0, r = 1, i = 2, a = 3, o = [], s = null, c = "requestAnimationFrame" in e3 ? function() {
126
+ var t2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : { sync: false };
127
+ e3.cancelAnimationFrame(s);
128
+ var n2 = function() {
129
+ return u(o.filter((function(e4) {
130
+ return e4.dirty && e4.active;
131
+ })));
132
+ };
133
+ if (t2.sync) return n2();
134
+ s = e3.requestAnimationFrame(n2);
135
+ } : function() {
136
+ }, l = function(e4) {
137
+ return function(t2) {
138
+ o.forEach((function(t3) {
139
+ return t3.dirty = e4;
140
+ })), c(t2);
141
+ };
142
+ }, u = function(e4) {
143
+ e4.filter((function(e5) {
144
+ return !e5.styleComputed;
145
+ })).forEach((function(e5) {
146
+ e5.styleComputed = p(e5);
147
+ })), e4.filter(hn).forEach(m);
148
+ var t2 = e4.filter(mn);
149
+ t2.forEach(f), t2.forEach((function(e5) {
150
+ m(e5), d(e5);
151
+ })), t2.forEach(gn);
152
+ }, d = function(e4) {
153
+ return e4.dirty = n;
154
+ }, f = function(e4) {
155
+ e4.availableWidth = e4.element.parentNode.clientWidth, e4.currentWidth = e4.element.scrollWidth, e4.previousFontSize = e4.currentFontSize, e4.currentFontSize = Math.min(Math.max(e4.minSize, e4.availableWidth / e4.currentWidth * e4.previousFontSize), e4.maxSize), e4.whiteSpace = e4.multiLine && e4.currentFontSize === e4.minSize ? "normal" : "nowrap";
156
+ }, mn = function(e4) {
157
+ return e4.dirty !== i || e4.dirty === i && e4.element.parentNode.clientWidth !== e4.availableWidth;
158
+ }, p = function(t2) {
159
+ var n2 = e3.getComputedStyle(t2.element, null);
160
+ return t2.currentFontSize = parseFloat(n2.getPropertyValue("font-size")), t2.display = n2.getPropertyValue("display"), t2.whiteSpace = n2.getPropertyValue("white-space"), true;
161
+ }, hn = function(e4) {
162
+ var t2 = false;
163
+ return !e4.preStyleTestCompleted && (/inline-/.test(e4.display) || (t2 = true, e4.display = "inline-block"), e4.whiteSpace !== "nowrap" && (t2 = true, e4.whiteSpace = "nowrap"), e4.preStyleTestCompleted = true, t2);
164
+ }, m = function(e4) {
165
+ e4.element.style.whiteSpace = e4.whiteSpace, e4.element.style.display = e4.display, e4.element.style.fontSize = e4.currentFontSize + "px";
166
+ }, gn = function(e4) {
167
+ e4.element.dispatchEvent(new CustomEvent("fit", { detail: {
168
+ oldValue: e4.previousFontSize,
169
+ newValue: e4.currentFontSize,
170
+ scaleFactor: e4.currentFontSize / e4.previousFontSize
171
+ } }));
172
+ }, _n = function(e4, t2) {
173
+ return function(n2) {
174
+ e4.dirty = t2, e4.active && c(n2);
175
+ };
176
+ }, vn = function(e4) {
177
+ return function() {
178
+ o = o.filter((function(t2) {
179
+ return t2.element !== e4.element;
180
+ })), e4.observeMutations && e4.observer.disconnect(), e4.element.style.whiteSpace = e4.originalStyle.whiteSpace, e4.element.style.display = e4.originalStyle.display, e4.element.style.fontSize = e4.originalStyle.fontSize;
181
+ };
182
+ }, yn = function(e4) {
183
+ return function() {
184
+ e4.active || (e4.active = true, c());
185
+ };
186
+ }, bn = function(e4) {
187
+ return function() {
188
+ return e4.active = false;
189
+ };
190
+ }, xn = function(e4) {
191
+ e4.observeMutations && (e4.observer = new MutationObserver(_n(e4, r)), e4.observer.observe(e4.element, e4.observeMutations));
192
+ }, Sn = {
193
+ minSize: 16,
194
+ maxSize: 512,
195
+ multiLine: true,
196
+ observeMutations: "MutationObserver" in e3 && {
197
+ subtree: true,
198
+ childList: true,
199
+ characterData: true
200
+ }
201
+ }, Cn = null, wn = function() {
202
+ e3.clearTimeout(Cn), Cn = e3.setTimeout(l(i), Dn.observeWindowDelay);
203
+ }, Tn = ["resize", "orientationchange"];
204
+ return Object.defineProperty(Dn, "observeWindow", { set: function(t2) {
205
+ var n2 = `${t2 ? "add" : "remove"}EventListener`;
206
+ Tn.forEach((function(t3) {
207
+ e3[n2](t3, wn);
208
+ }));
209
+ } }), Dn.observeWindow = true, Dn.observeWindowDelay = 100, Dn.fitAll = l(a), Dn;
210
+ }
211
+ function En(e4, t2) {
212
+ var n2 = Object.assign({}, Sn, t2), r2 = e4.map((function(e5) {
213
+ var t3 = Object.assign({}, n2, {
214
+ element: e5,
215
+ active: true
216
+ });
217
+ return (function(e6) {
218
+ e6.originalStyle = {
219
+ whiteSpace: e6.element.style.whiteSpace,
220
+ display: e6.element.style.display,
221
+ fontSize: e6.element.style.fontSize
222
+ }, xn(e6), e6.newbie = true, e6.dirty = true, o.push(e6);
223
+ })(t3), {
224
+ element: e5,
225
+ fit: _n(t3, a),
226
+ unfreeze: yn(t3),
227
+ freeze: bn(t3),
228
+ unsubscribe: vn(t3)
229
+ };
230
+ }));
231
+ return c(), r2;
232
+ }
233
+ function Dn(e4) {
234
+ var n2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
235
+ return typeof e4 == "string" ? En(t(document.querySelectorAll(e4)), n2) : En([e4], n2)[0];
236
+ }
237
+ })(typeof window > "u" ? null : window), Ci = class {
238
+ constructor(e3) {
239
+ je$1(this, "allowedToPlayAudio", null), this.Reveal = e3, this.startEmbeddedMedia = this.startEmbeddedMedia.bind(this), this.startEmbeddedIframe = this.startEmbeddedIframe.bind(this), this.preventIframeAutoFocus = this.preventIframeAutoFocus.bind(this), this.ensureMobileMediaPlaying = this.ensureMobileMediaPlaying.bind(this), this.failedAudioPlaybackTargets = /* @__PURE__ */ new Set(), this.failedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.failedMutedVideoPlaybackTargets = /* @__PURE__ */ new Set(), this.renderMediaPlayButton();
240
+ }
241
+ renderMediaPlayButton() {
242
+ this.mediaPlayButton = document.createElement("button"), this.mediaPlayButton.className = "r-overlay-button r-media-play-button", this.mediaPlayButton.addEventListener("click", () => {
243
+ this.resetTemporarilyMutedMedia(), (/* @__PURE__ */ new Set([
244
+ ...this.failedAudioPlaybackTargets,
245
+ ...this.failedVideoPlaybackTargets,
246
+ ...this.failedMutedVideoPlaybackTargets
247
+ ])).forEach((e3) => {
248
+ this.startEmbeddedMedia({ target: e3 });
249
+ }), this.clearMediaPlaybackErrors();
250
+ });
251
+ }
252
+ shouldPreload(e3) {
253
+ if (this.Reveal.isScrollView()) return true;
254
+ let t = this.Reveal.getConfig().preloadIframes;
255
+ return typeof t != "boolean" && (t = e3.hasAttribute("data-preload")), t;
256
+ }
257
+ load(e3, t = {}) {
258
+ let n = this.Reveal.getConfig().display;
259
+ if (n.includes("!important")) {
260
+ let t2 = n.replace(/\s*!important\s*$/, "").trim();
261
+ e3.style.setProperty("display", t2, "important");
262
+ } else e3.style.display = n;
263
+ E$1(e3, "img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e4) => {
264
+ let t2 = e4.tagName === "IFRAME";
265
+ (!t2 || this.shouldPreload(e4)) && (e4.setAttribute("src", e4.getAttribute("data-src")), e4.setAttribute("data-lazy-loaded", ""), e4.removeAttribute("data-src"), t2 && e4.addEventListener("load", this.preventIframeAutoFocus));
266
+ }), E$1(e3, "video, audio").forEach((e4) => {
267
+ let t2 = 0;
268
+ E$1(e4, "source[data-src]").forEach((e5) => {
269
+ e5.setAttribute("src", e5.getAttribute("data-src")), e5.removeAttribute("data-src"), e5.setAttribute("data-lazy-loaded", ""), t2 += 1;
270
+ }), le$1 && e4.tagName === "VIDEO" && e4.setAttribute("playsinline", ""), t2 > 0 && e4.load();
271
+ });
272
+ let r = e3.slideBackgroundElement;
273
+ if (r) {
274
+ r.style.display = "block";
275
+ let n2 = e3.slideBackgroundContentElement, i = e3.getAttribute("data-background-iframe");
276
+ if (r.hasAttribute("data-loaded") === false) {
277
+ r.setAttribute("data-loaded", "true");
278
+ let a2 = e3.getAttribute("data-background-image"), o = e3.getAttribute("data-background-video"), s = e3.hasAttribute("data-background-video-loop"), c = e3.hasAttribute("data-background-video-muted");
279
+ if (a2) /^data:/.test(a2.trim()) ? n2.style.backgroundImage = `url(${a2.trim()})` : n2.style.backgroundImage = a2.split(",").map((e4) => `url(${Ri(decodeURI(e4.trim()))})`).join(",");
280
+ else if (o) {
281
+ let e4 = document.createElement("video");
282
+ s && e4.setAttribute("loop", ""), (c || this.Reveal.isSpeakerNotes()) && (e4.muted = true), le$1 && e4.setAttribute("playsinline", ""), o.split(",").forEach((t2) => {
283
+ let n3 = document.createElement("source");
284
+ n3.setAttribute("src", t2);
285
+ let r2 = Ai(t2);
286
+ r2 && n3.setAttribute("type", r2), e4.appendChild(n3);
287
+ }), n2.appendChild(e4);
288
+ } else if (i && t.excludeIframes !== true) {
289
+ let e4 = document.createElement("iframe");
290
+ e4.setAttribute("allowfullscreen", ""), e4.setAttribute("mozallowfullscreen", ""), e4.setAttribute("webkitallowfullscreen", ""), e4.setAttribute("allow", "autoplay"), e4.setAttribute("data-src", i), e4.style.width = "100%", e4.style.height = "100%", e4.style.maxHeight = "100%", e4.style.maxWidth = "100%", n2.appendChild(e4);
291
+ }
292
+ }
293
+ let a = n2.querySelector("iframe[data-src]");
294
+ a && this.shouldPreload(r) && !/autoplay=(1|true|yes)/gi.test(i) && a.getAttribute("src") !== i && a.setAttribute("src", i);
295
+ }
296
+ this.layout(e3);
297
+ }
298
+ layout(e3) {
299
+ Array.from(e3.querySelectorAll(".r-fit-text")).forEach((e4) => {
300
+ ki(e4, {
301
+ minSize: 24,
302
+ maxSize: this.Reveal.getConfig().height * 0.8,
303
+ observeMutations: false,
304
+ observeWindow: false
305
+ });
306
+ });
307
+ }
308
+ unload(e3) {
309
+ e3.style.display = "none";
310
+ let t = this.Reveal.getSlideBackground(e3);
311
+ t && (t.style.display = "none", E$1(t, "iframe[src]").forEach((e4) => {
312
+ e4.removeAttribute("src");
313
+ })), E$1(e3, "video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e4) => {
314
+ e4.setAttribute("data-src", e4.getAttribute("src")), e4.removeAttribute("src");
315
+ }), E$1(e3, "video[data-lazy-loaded] source[src], audio source[src]").forEach((e4) => {
316
+ e4.setAttribute("data-src", e4.getAttribute("src")), e4.removeAttribute("src");
317
+ });
318
+ }
319
+ formatEmbeddedContent() {
320
+ let e3 = (e4, t, n) => {
321
+ E$1(this.Reveal.getSlidesElement(), "iframe[" + e4 + '*="' + t + '"]').forEach((t2) => {
322
+ let r = t2.getAttribute(e4);
323
+ r && r.indexOf(n) === -1 && t2.setAttribute(e4, r + (/\?/.test(r) ? "&" : "?") + n);
324
+ });
325
+ };
326
+ e3("src", "youtube.com/embed/", "enablejsapi=1"), e3("data-src", "youtube.com/embed/", "enablejsapi=1"), e3("src", "player.vimeo.com/", "api=1"), e3("data-src", "player.vimeo.com/", "api=1");
327
+ }
328
+ startEmbeddedContent(e3) {
329
+ if (e3) {
330
+ let t = this.Reveal.isSpeakerNotes();
331
+ E$1(e3, 'img[src$=".gif"]').forEach((e4) => {
332
+ e4.setAttribute("src", e4.getAttribute("src"));
333
+ }), E$1(e3, "video, audio").forEach((e4) => {
334
+ if (V$1(e4, ".fragment") && !V$1(e4, ".fragment.visible")) return;
335
+ let n = this.Reveal.getConfig().autoPlayMedia;
336
+ if (typeof n != "boolean" && (n = e4.hasAttribute("data-autoplay") || !!V$1(e4, ".slide-background")), n && typeof e4.play == "function") {
337
+ if (t && !e4.muted) return;
338
+ e4.readyState > 1 ? this.startEmbeddedMedia({ target: e4 }) : le$1 ? (e4.addEventListener("canplay", this.ensureMobileMediaPlaying), this.playMediaElement(e4)) : (e4.removeEventListener("loadeddata", this.startEmbeddedMedia), e4.addEventListener("loadeddata", this.startEmbeddedMedia));
339
+ }
340
+ }), t || (E$1(e3, "iframe[src]").forEach((e4) => {
341
+ V$1(e4, ".fragment") && !V$1(e4, ".fragment.visible") || this.startEmbeddedIframe({ target: e4 });
342
+ }), E$1(e3, "iframe[data-src]").forEach((e4) => {
343
+ V$1(e4, ".fragment") && !V$1(e4, ".fragment.visible") || e4.getAttribute("src") !== e4.getAttribute("data-src") && (e4.removeEventListener("load", this.startEmbeddedIframe), e4.addEventListener("load", this.startEmbeddedIframe), e4.setAttribute("src", e4.getAttribute("data-src")));
344
+ }));
345
+ }
346
+ }
347
+ ensureMobileMediaPlaying(e3) {
348
+ let t = e3.target;
349
+ typeof t.getVideoPlaybackQuality == "function" && setTimeout(() => {
350
+ let e4 = t.paused === false, n = t.getVideoPlaybackQuality().totalVideoFrames;
351
+ e4 && n === 0 && (t.load(), t.play());
352
+ }, 1e3);
353
+ }
354
+ startEmbeddedMedia(e3) {
355
+ let t = !!V$1(e3.target, "html"), n = !!V$1(e3.target, ".present");
356
+ t && n && (e3.target.paused || e3.target.ended) && (e3.target.currentTime = 0, this.playMediaElement(e3.target)), e3.target.removeEventListener("loadeddata", this.startEmbeddedMedia);
357
+ }
358
+ playMediaElement(e3) {
359
+ let t = e3.play();
360
+ t && typeof t.catch == "function" && t.then(() => {
361
+ e3.muted || (this.allowedToPlayAudio = true);
362
+ }).catch((t2) => {
363
+ if (t2.name === "NotAllowedError") if (this.allowedToPlayAudio = false, e3.tagName === "VIDEO") {
364
+ this.onVideoPlaybackNotAllowed(e3);
365
+ let t3 = !!V$1(e3, "html"), n = !!V$1(e3, ".present"), r = e3.muted;
366
+ t3 && n && !r && (e3.setAttribute("data-muted-by-reveal", "true"), e3.muted = true, e3.play().catch(() => {
367
+ this.onMutedVideoPlaybackNotAllowed(e3);
368
+ }));
369
+ } else e3.tagName === "AUDIO" && this.onAudioPlaybackNotAllowed(e3);
370
+ });
371
+ }
372
+ startEmbeddedIframe(e3) {
373
+ let t = e3.target;
374
+ if (this.preventIframeAutoFocus(e3), t && t.contentWindow) {
375
+ let n = !!V$1(e3.target, "html"), r = !!V$1(e3.target, ".present");
376
+ if (n && r) {
377
+ let e4 = this.Reveal.getConfig().autoPlayMedia;
378
+ typeof e4 != "boolean" && (e4 = t.hasAttribute("data-autoplay") || !!V$1(t, ".slide-background")), /youtube\.com\/embed\//.test(t.getAttribute("src")) && e4 ? t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', "*") : /player\.vimeo\.com\//.test(t.getAttribute("src")) && e4 ? t.contentWindow.postMessage('{"method":"play"}', "*") : t.contentWindow.postMessage("slide:start", "*");
379
+ }
380
+ }
381
+ }
382
+ stopEmbeddedContent(e3, t = {}) {
383
+ t = ge$1({ unloadIframes: true }, t), e3 && e3.parentNode && (E$1(e3, "video, audio").forEach((e4) => {
384
+ !e4.hasAttribute("data-ignore") && typeof e4.pause == "function" && (e4.setAttribute("data-paused-by-reveal", ""), e4.pause(), le$1 && e4.removeEventListener("canplay", this.ensureMobileMediaPlaying));
385
+ }), E$1(e3, "iframe").forEach((e4) => {
386
+ e4.contentWindow && e4.contentWindow.postMessage("slide:stop", "*"), e4.removeEventListener("load", this.preventIframeAutoFocus), e4.removeEventListener("load", this.startEmbeddedIframe);
387
+ }), E$1(e3, 'iframe[src*="youtube.com/embed/"]').forEach((e4) => {
388
+ !e4.hasAttribute("data-ignore") && e4.contentWindow && typeof e4.contentWindow.postMessage == "function" && e4.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', "*");
389
+ }), E$1(e3, 'iframe[src*="player.vimeo.com/"]').forEach((e4) => {
390
+ !e4.hasAttribute("data-ignore") && e4.contentWindow && typeof e4.contentWindow.postMessage == "function" && e4.contentWindow.postMessage('{"method":"pause"}', "*");
391
+ }), t.unloadIframes === true && E$1(e3, "iframe[data-src]").forEach((e4) => {
392
+ e4.setAttribute("src", "about:blank"), e4.removeAttribute("src");
393
+ }));
394
+ }
395
+ isAllowedToPlayAudio() {
396
+ return this.allowedToPlayAudio;
397
+ }
398
+ showPlayOrUnmuteButton() {
399
+ let e3 = this.failedAudioPlaybackTargets.size, t = this.failedVideoPlaybackTargets.size, n = this.failedMutedVideoPlaybackTargets.size, r = "Play media";
400
+ n > 0 ? r = "Play video" : t > 0 ? r = "Unmute video" : e3 > 0 && (r = "Play audio"), this.mediaPlayButton.textContent = r, this.Reveal.getRevealElement().appendChild(this.mediaPlayButton);
401
+ }
402
+ onAudioPlaybackNotAllowed(e3) {
403
+ this.failedAudioPlaybackTargets.add(e3), this.showPlayOrUnmuteButton(e3);
404
+ }
405
+ onVideoPlaybackNotAllowed(e3) {
406
+ this.failedVideoPlaybackTargets.add(e3), this.showPlayOrUnmuteButton();
407
+ }
408
+ onMutedVideoPlaybackNotAllowed(e3) {
409
+ this.failedMutedVideoPlaybackTargets.add(e3), this.showPlayOrUnmuteButton();
410
+ }
411
+ resetTemporarilyMutedMedia() {
412
+ (/* @__PURE__ */ new Set([
413
+ ...this.failedAudioPlaybackTargets,
414
+ ...this.failedVideoPlaybackTargets,
415
+ ...this.failedMutedVideoPlaybackTargets
416
+ ])).forEach((e3) => {
417
+ e3.hasAttribute("data-muted-by-reveal") && (e3.muted = false, e3.removeAttribute("data-muted-by-reveal"));
418
+ });
419
+ }
420
+ clearMediaPlaybackErrors() {
421
+ this.resetTemporarilyMutedMedia(), this.failedAudioPlaybackTargets.clear(), this.failedVideoPlaybackTargets.clear(), this.failedMutedVideoPlaybackTargets.clear(), this.mediaPlayButton.remove();
422
+ }
423
+ preventIframeAutoFocus(e3) {
424
+ let t = e3.target;
425
+ if (t && this.Reveal.getConfig().preventIframeAutoFocus) {
426
+ let e4 = 0, n = () => {
427
+ document.activeElement === t ? document.activeElement.blur() : e4 < 1e3 && (e4 += 100, setTimeout(n, 100));
428
+ };
429
+ setTimeout(n, 100);
430
+ }
431
+ }
432
+ afterSlideChanged() {
433
+ this.clearMediaPlaybackErrors();
434
+ }
435
+ }, de$1 = ".slides section", te$1 = ".slides>section", _e$1 = ".slides>section.present>section", Pi = ".backgrounds>.slide-background", Li = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/, Ti = "h.v", xi = "h/v", Ye$1 = "c", zt = "c/t", Ii = class {
436
+ constructor(e3) {
437
+ this.Reveal = e3;
438
+ }
439
+ render() {
440
+ this.element = document.createElement("div"), this.element.className = "slide-number", this.Reveal.getRevealElement().appendChild(this.element);
441
+ }
442
+ configure(e3, t) {
443
+ let n = "none";
444
+ e3.slideNumber && !this.Reveal.isPrintView() && (e3.showSlideNumber === "all" || e3.showSlideNumber === "speaker" && this.Reveal.isSpeakerNotes()) && (n = "block"), this.element.style.display = n;
445
+ }
446
+ update() {
447
+ this.Reveal.getConfig().slideNumber && this.element && (this.element.innerHTML = this.getSlideNumber());
448
+ }
449
+ getSlideNumber(e3 = this.Reveal.getCurrentSlide()) {
450
+ let t = this.Reveal.getConfig(), n, r = Ti;
451
+ if (typeof t.slideNumber == "function") n = t.slideNumber(e3);
452
+ else {
453
+ typeof t.slideNumber == "string" && (r = t.slideNumber), !/c/.test(r) && this.Reveal.getHorizontalSlides().length === 1 && (r = Ye$1);
454
+ let i2 = e3 && e3.dataset.visibility === "uncounted" ? 0 : 1;
455
+ switch (n = [], r) {
456
+ case Ye$1:
457
+ n.push(this.Reveal.getSlidePastCount(e3) + i2);
458
+ break;
459
+ case zt:
460
+ n.push(this.Reveal.getSlidePastCount(e3) + i2, "/", this.Reveal.getTotalSlides());
461
+ break;
462
+ default:
463
+ let t2 = this.Reveal.getIndices(e3);
464
+ n.push(t2.h + i2);
465
+ let a = r === xi ? "/" : ".";
466
+ this.Reveal.isVerticalSlide(e3) && n.push(a, t2.v + 1);
467
+ }
468
+ }
469
+ let i = "#" + this.Reveal.location.getHash(e3);
470
+ return this.formatNumber(n[0], n[1], n[2], i);
471
+ }
472
+ formatNumber(e3, t, n, r = "#" + this.Reveal.location.getHash()) {
473
+ return typeof n == "number" && !isNaN(n) ? `<a href="${r}">
474
+ <span class="slide-number-a">${e3}</span>
475
+ <span class="slide-number-delimiter">${t}</span>
476
+ <span class="slide-number-b">${n}</span>
477
+ </a>` : `<a href="${r}">
478
+ <span class="slide-number-a">${e3}</span>
479
+ </a>`;
480
+ }
481
+ destroy() {
482
+ this.element.remove();
483
+ }
484
+ }, Mi = class {
485
+ constructor(e3) {
486
+ this.Reveal = e3, this.onInput = this.onInput.bind(this), this.onBlur = this.onBlur.bind(this), this.onKeyDown = this.onKeyDown.bind(this);
487
+ }
488
+ render() {
489
+ this.element = document.createElement("div"), this.element.className = "jump-to-slide", this.jumpInput = document.createElement("input"), this.jumpInput.type = "text", this.jumpInput.className = "jump-to-slide-input", this.jumpInput.placeholder = "Jump to slide", this.jumpInput.addEventListener("input", this.onInput), this.jumpInput.addEventListener("keydown", this.onKeyDown), this.jumpInput.addEventListener("blur", this.onBlur), this.element.appendChild(this.jumpInput);
490
+ }
491
+ show() {
492
+ this.indicesOnShow = this.Reveal.getIndices(), this.Reveal.getRevealElement().appendChild(this.element), this.jumpInput.focus();
493
+ }
494
+ hide() {
495
+ this.isVisible() && (this.element.remove(), this.jumpInput.value = "", clearTimeout(this.jumpTimeout), delete this.jumpTimeout);
496
+ }
497
+ isVisible() {
498
+ return !!this.element.parentNode;
499
+ }
500
+ jump() {
501
+ clearTimeout(this.jumpTimeout), delete this.jumpTimeout;
502
+ let e3 = this.jumpInput.value.trim(""), t;
503
+ if (/^\d+$/.test(e3)) {
504
+ let n = this.Reveal.getConfig().slideNumber;
505
+ if (n === Ye$1 || n === zt) {
506
+ let n2 = this.Reveal.getSlides()[parseInt(e3, 10) - 1];
507
+ n2 && (t = this.Reveal.getIndices(n2));
508
+ }
509
+ }
510
+ return t || (t = (/^\d+\.\d+$/.test(e3) && (e3 = e3.replace(".", "/")), this.Reveal.location.getIndicesFromHash(e3, { oneBasedIndex: true }))), !t && /\S+/i.test(e3) && e3.length > 1 && (t = this.search(e3)), t && e3 !== "" ? (this.Reveal.slide(t.h, t.v, t.f), true) : (this.Reveal.slide(this.indicesOnShow.h, this.indicesOnShow.v, this.indicesOnShow.f), false);
511
+ }
512
+ jumpAfter(e3) {
513
+ clearTimeout(this.jumpTimeout), this.jumpTimeout = setTimeout(() => this.jump(), e3);
514
+ }
515
+ search(e3) {
516
+ let t = RegExp("\\b" + e3.trim() + "\\b", "i"), n = this.Reveal.getSlides().find((e4) => t.test(e4.innerText));
517
+ return n ? this.Reveal.getIndices(n) : null;
518
+ }
519
+ cancel() {
520
+ this.Reveal.slide(this.indicesOnShow.h, this.indicesOnShow.v, this.indicesOnShow.f), this.hide();
521
+ }
522
+ confirm() {
523
+ this.jump(), this.hide();
524
+ }
525
+ destroy() {
526
+ this.jumpInput.removeEventListener("input", this.onInput), this.jumpInput.removeEventListener("keydown", this.onKeyDown), this.jumpInput.removeEventListener("blur", this.onBlur), this.element.remove();
527
+ }
528
+ onKeyDown(e3) {
529
+ e3.keyCode === 13 ? this.confirm() : e3.keyCode === 27 && (this.cancel(), e3.stopImmediatePropagation());
530
+ }
531
+ onInput(e3) {
532
+ this.jumpAfter(200);
533
+ }
534
+ onBlur() {
535
+ setTimeout(() => this.hide(), 1);
536
+ }
537
+ }, Ge$1 = (e3) => {
538
+ let t = e3.match(/^#([0-9a-f]{3})$/i);
539
+ if (t && t[1]) {
540
+ let e4 = t[1];
541
+ return {
542
+ r: parseInt(e4.charAt(0), 16) * 17,
543
+ g: parseInt(e4.charAt(1), 16) * 17,
544
+ b: parseInt(e4.charAt(2), 16) * 17
545
+ };
546
+ }
547
+ let n = e3.match(/^#([0-9a-f]{6})$/i);
548
+ if (n && n[1]) {
549
+ let e4 = n[1];
550
+ return {
551
+ r: parseInt(e4.slice(0, 2), 16),
552
+ g: parseInt(e4.slice(2, 4), 16),
553
+ b: parseInt(e4.slice(4, 6), 16)
554
+ };
555
+ }
556
+ let r = e3.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);
557
+ if (r) return {
558
+ r: parseInt(r[1], 10),
559
+ g: parseInt(r[2], 10),
560
+ b: parseInt(r[3], 10)
561
+ };
562
+ let i = e3.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);
563
+ return i ? {
564
+ r: parseInt(i[1], 10),
565
+ g: parseInt(i[2], 10),
566
+ b: parseInt(i[3], 10),
567
+ a: parseFloat(i[4])
568
+ } : null;
569
+ }, Ni = (e3) => (typeof e3 == "string" && (e3 = Ge$1(e3)), e3 ? (e3.r * 299 + e3.g * 587 + e3.b * 114) / 1e3 : null), Bi = class {
570
+ constructor(e3) {
571
+ this.Reveal = e3;
572
+ }
573
+ render() {
574
+ this.element = document.createElement("div"), this.element.className = "backgrounds", this.Reveal.getRevealElement().appendChild(this.element);
575
+ }
576
+ create() {
577
+ this.element.innerHTML = "", this.element.classList.add("no-transition"), this.Reveal.getHorizontalSlides().forEach((e3) => {
578
+ let t = this.createBackground(e3, this.element);
579
+ E$1(e3, "section").forEach((e4) => {
580
+ this.createBackground(e4, t), t.classList.add("stack");
581
+ });
582
+ }), this.Reveal.getConfig().parallaxBackgroundImage ? (this.element.style.backgroundImage = 'url("' + this.Reveal.getConfig().parallaxBackgroundImage + '")', this.element.style.backgroundSize = this.Reveal.getConfig().parallaxBackgroundSize, this.element.style.backgroundRepeat = this.Reveal.getConfig().parallaxBackgroundRepeat, this.element.style.backgroundPosition = this.Reveal.getConfig().parallaxBackgroundPosition, setTimeout(() => {
583
+ this.Reveal.getRevealElement().classList.add("has-parallax-background");
584
+ }, 1)) : (this.element.style.backgroundImage = "", this.Reveal.getRevealElement().classList.remove("has-parallax-background"));
585
+ }
586
+ createBackground(e3, t) {
587
+ let n = document.createElement("div");
588
+ n.className = "slide-background " + e3.className.replace(/present|past|future/, "");
589
+ let r = document.createElement("div");
590
+ return r.className = "slide-background-content", n.appendChild(r), t.appendChild(n), e3.slideBackgroundElement = n, e3.slideBackgroundContentElement = r, this.sync(e3), n;
591
+ }
592
+ sync(e3) {
593
+ let t = e3.slideBackgroundElement, n = e3.slideBackgroundContentElement, r = {
594
+ background: e3.getAttribute("data-background"),
595
+ backgroundSize: e3.getAttribute("data-background-size"),
596
+ backgroundImage: e3.getAttribute("data-background-image"),
597
+ backgroundVideo: e3.getAttribute("data-background-video"),
598
+ backgroundIframe: e3.getAttribute("data-background-iframe"),
599
+ backgroundColor: e3.getAttribute("data-background-color"),
600
+ backgroundGradient: e3.getAttribute("data-background-gradient"),
601
+ backgroundRepeat: e3.getAttribute("data-background-repeat"),
602
+ backgroundPosition: e3.getAttribute("data-background-position"),
603
+ backgroundTransition: e3.getAttribute("data-background-transition"),
604
+ backgroundOpacity: e3.getAttribute("data-background-opacity")
605
+ }, i = e3.hasAttribute("data-preload");
606
+ e3.classList.remove("has-dark-background"), e3.classList.remove("has-light-background"), t.removeAttribute("data-loaded"), t.removeAttribute("data-background-hash"), t.removeAttribute("data-background-size"), t.removeAttribute("data-background-transition"), t.style.backgroundColor = "", n.style.backgroundSize = "", n.style.backgroundRepeat = "", n.style.backgroundPosition = "", n.style.backgroundImage = "", n.style.opacity = "", n.innerHTML = "", r.background && (/^(http|file|\/\/)/gi.test(r.background) || /\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(r.background) ? e3.setAttribute("data-background-image", r.background) : t.style.background = r.background), (r.background || r.backgroundColor || r.backgroundGradient || r.backgroundImage || r.backgroundVideo || r.backgroundIframe) && t.setAttribute("data-background-hash", r.background + r.backgroundSize + r.backgroundImage + r.backgroundVideo + r.backgroundIframe + r.backgroundColor + r.backgroundGradient + r.backgroundRepeat + r.backgroundPosition + r.backgroundTransition + r.backgroundOpacity), r.backgroundSize && t.setAttribute("data-background-size", r.backgroundSize), r.backgroundColor && (t.style.backgroundColor = r.backgroundColor), r.backgroundGradient && (t.style.backgroundImage = r.backgroundGradient), r.backgroundTransition && t.setAttribute("data-background-transition", r.backgroundTransition), i && t.setAttribute("data-preload", ""), r.backgroundSize && (n.style.backgroundSize = r.backgroundSize), r.backgroundRepeat && (n.style.backgroundRepeat = r.backgroundRepeat), r.backgroundPosition && (n.style.backgroundPosition = r.backgroundPosition), r.backgroundOpacity && (n.style.opacity = r.backgroundOpacity);
607
+ let a = this.getContrastClass(e3);
608
+ typeof a == "string" && e3.classList.add(a);
609
+ }
610
+ getContrastClass(e3) {
611
+ let t = e3.slideBackgroundElement, n = e3.getAttribute("data-background-color");
612
+ if (!n || !Ge$1(n)) {
613
+ let e4 = window.getComputedStyle(t);
614
+ e4 && e4.backgroundColor && (n = e4.backgroundColor);
615
+ }
616
+ if (n) {
617
+ let e4 = Ge$1(n);
618
+ if (e4 && e4.a !== 0) return Ni(n) < 128 ? "has-dark-background" : "has-light-background";
619
+ }
620
+ return null;
621
+ }
622
+ bubbleSlideContrastClassToElement(e3, t) {
623
+ ["has-light-background", "has-dark-background"].forEach((n) => {
624
+ e3.classList.contains(n) ? t.classList.add(n) : t.classList.remove(n);
625
+ }, this);
626
+ }
627
+ update(e3 = false) {
628
+ let t = this.Reveal.getConfig(), n = this.Reveal.getCurrentSlide(), r = this.Reveal.getIndices(), i = null, a = t.rtl ? "future" : "past", o = t.rtl ? "past" : "future";
629
+ if (Array.from(this.element.childNodes).forEach((t2, n2) => {
630
+ t2.classList.remove("past", "present", "future"), n2 < r.h ? t2.classList.add(a) : n2 > r.h ? t2.classList.add(o) : (t2.classList.add("present"), i = t2), (e3 || n2 === r.h) && E$1(t2, ".slide-background").forEach((e4, t3) => {
631
+ e4.classList.remove("past", "present", "future");
632
+ let a2 = typeof r.v == "number" ? r.v : 0;
633
+ t3 < a2 ? e4.classList.add("past") : t3 > a2 ? e4.classList.add("future") : (e4.classList.add("present"), n2 === r.h && (i = e4));
634
+ });
635
+ }), this.previousBackground && !this.previousBackground.closest("body") && (this.previousBackground = null), i && this.previousBackground) {
636
+ let e4 = this.previousBackground.getAttribute("data-background-hash"), t2 = i.getAttribute("data-background-hash");
637
+ if (t2 && t2 === e4 && i !== this.previousBackground) {
638
+ this.element.classList.add("no-transition");
639
+ let e5 = i.querySelector("video"), t3 = this.previousBackground.querySelector("video");
640
+ if (e5 && t3) {
641
+ let n2 = e5.parentNode;
642
+ t3.parentNode.appendChild(e5), n2.appendChild(t3);
643
+ }
644
+ }
645
+ }
646
+ let s = i !== this.previousBackground;
647
+ if (s && this.previousBackground && this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground, { unloadIframes: !this.Reveal.slideContent.shouldPreload(this.previousBackground) }), s && i) {
648
+ this.Reveal.slideContent.startEmbeddedContent(i);
649
+ let e4 = i.querySelector(".slide-background-content");
650
+ if (e4) {
651
+ let t2 = e4.style.backgroundImage || "";
652
+ /\.gif/i.test(t2) && (e4.style.backgroundImage = "", window.getComputedStyle(e4).opacity, e4.style.backgroundImage = t2);
653
+ }
654
+ this.previousBackground = i;
655
+ }
656
+ n && this.bubbleSlideContrastClassToElement(n, this.Reveal.getRevealElement()), setTimeout(() => {
657
+ this.element.classList.remove("no-transition");
658
+ }, 10);
659
+ }
660
+ updateParallax() {
661
+ let e3 = this.Reveal.getIndices();
662
+ if (this.Reveal.getConfig().parallaxBackgroundImage) {
663
+ let t = this.Reveal.getHorizontalSlides(), n = this.Reveal.getVerticalSlides(), r = this.element.style.backgroundSize.split(" "), i, a;
664
+ r.length === 1 ? i = a = parseInt(r[0], 10) : (i = parseInt(r[0], 10), a = parseInt(r[1], 10));
665
+ let o = this.element.offsetWidth, s = t.length, c, l;
666
+ c = typeof this.Reveal.getConfig().parallaxBackgroundHorizontal == "number" ? this.Reveal.getConfig().parallaxBackgroundHorizontal : s > 1 ? (i - o) / (s - 1) : 0, l = c * e3.h * -1;
667
+ let u = this.element.offsetHeight, d = n.length, f, mn;
668
+ f = typeof this.Reveal.getConfig().parallaxBackgroundVertical == "number" ? this.Reveal.getConfig().parallaxBackgroundVertical : (a - u) / (d - 1), mn = d > 0 ? f * e3.v : 0, this.element.style.backgroundPosition = l + "px " + -mn + "px";
669
+ }
670
+ }
671
+ destroy() {
672
+ this.element.remove();
673
+ }
674
+ }, Nt = 0, Hi = class {
675
+ constructor(e3) {
676
+ this.Reveal = e3;
677
+ }
678
+ run(e3, t) {
679
+ this.reset();
680
+ let n = this.Reveal.getSlides(), r = n.indexOf(t), i = n.indexOf(e3);
681
+ if (e3 && t && e3.hasAttribute("data-auto-animate") && t.hasAttribute("data-auto-animate") && e3.getAttribute("data-auto-animate-id") === t.getAttribute("data-auto-animate-id") && !(r > i ? t : e3).hasAttribute("data-auto-animate-restart")) {
682
+ this.autoAnimateStyleSheet = this.autoAnimateStyleSheet || Xe$1();
683
+ let n2 = this.getAutoAnimateOptions(t);
684
+ e3.dataset.autoAnimate = "pending", t.dataset.autoAnimate = "pending", n2.slideDirection = r > i ? "forward" : "backward";
685
+ let a = e3.style.display === "none";
686
+ a && (e3.style.display = this.Reveal.getConfig().display);
687
+ let o = this.getAutoAnimatableElements(e3, t).map((e4) => this.autoAnimateElements(e4.from, e4.to, e4.options || {}, n2, Nt++));
688
+ if (a && (e3.style.display = "none"), t.dataset.autoAnimateUnmatched !== "false" && this.Reveal.getConfig().autoAnimateUnmatched === true) {
689
+ let e4 = n2.duration * 0.8, r2 = n2.duration * 0.2;
690
+ this.getUnmatchedAutoAnimateElements(t).forEach((e5) => {
691
+ let t2 = this.getAutoAnimateOptions(e5, n2), r3 = "unmatched";
692
+ (t2.duration !== n2.duration || t2.delay !== n2.delay) && (r3 = "unmatched-" + Nt++, o.push(`[data-auto-animate="running"] [data-auto-animate-target="${r3}"] { transition: opacity ${t2.duration}s ease ${t2.delay}s; }`)), e5.dataset.autoAnimateTarget = r3;
693
+ }, this), o.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e4}s ease ${r2}s; }`);
694
+ }
695
+ this.autoAnimateStyleSheet.innerHTML = o.join(""), requestAnimationFrame(() => {
696
+ this.autoAnimateStyleSheet && (getComputedStyle(this.autoAnimateStyleSheet).fontWeight, t.dataset.autoAnimate = "running");
697
+ }), this.Reveal.dispatchEvent({
698
+ type: "autoanimate",
699
+ data: {
700
+ fromSlide: e3,
701
+ toSlide: t,
702
+ sheet: this.autoAnimateStyleSheet
703
+ }
704
+ });
705
+ }
706
+ }
707
+ reset() {
708
+ E$1(this.Reveal.getRevealElement(), '[data-auto-animate]:not([data-auto-animate=""])').forEach((e3) => {
709
+ e3.dataset.autoAnimate = "";
710
+ }), E$1(this.Reveal.getRevealElement(), "[data-auto-animate-target]").forEach((e3) => {
711
+ delete e3.dataset.autoAnimateTarget;
712
+ }), this.autoAnimateStyleSheet && this.autoAnimateStyleSheet.parentNode && (this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet), this.autoAnimateStyleSheet = null);
713
+ }
714
+ autoAnimateElements(e3, t, n, r, i) {
715
+ e3.dataset.autoAnimateTarget = "", t.dataset.autoAnimateTarget = i;
716
+ let a = this.getAutoAnimateOptions(t, r);
717
+ n.delay !== void 0 && (a.delay = n.delay), n.duration !== void 0 && (a.duration = n.duration), n.easing !== void 0 && (a.easing = n.easing);
718
+ let o = this.getAutoAnimatableProperties("from", e3, n), s = this.getAutoAnimatableProperties("to", t, n);
719
+ if (t.classList.contains("fragment") && delete s.styles.opacity, n.translate !== false || n.scale !== false) {
720
+ let e4 = this.Reveal.getScale(), t2 = {
721
+ x: (o.x - s.x) / e4,
722
+ y: (o.y - s.y) / e4,
723
+ scaleX: o.width / s.width,
724
+ scaleY: o.height / s.height
725
+ };
726
+ t2.x = Math.round(t2.x * 1e3) / 1e3, t2.y = Math.round(t2.y * 1e3) / 1e3, t2.scaleX = Math.round(t2.scaleX * 1e3) / 1e3, t2.scaleX = Math.round(t2.scaleX * 1e3) / 1e3;
727
+ let r2 = n.translate !== false && (t2.x !== 0 || t2.y !== 0), i2 = n.scale !== false && (t2.scaleX !== 0 || t2.scaleY !== 0);
728
+ if (r2 || i2) {
729
+ let e5 = [];
730
+ r2 && e5.push(`translate(${t2.x}px, ${t2.y}px)`), i2 && e5.push(`scale(${t2.scaleX}, ${t2.scaleY})`), o.styles.transform = e5.join(" "), o.styles["transform-origin"] = "top left", s.styles.transform = "none";
731
+ }
732
+ }
733
+ for (let e4 in s.styles) {
734
+ let t2 = s.styles[e4], n2 = o.styles[e4];
735
+ t2 === n2 ? delete s.styles[e4] : (t2.explicitValue === true && (s.styles[e4] = t2.value), n2.explicitValue === true && (o.styles[e4] = n2.value));
736
+ }
737
+ let c = "", l = Object.keys(s.styles);
738
+ if (l.length > 0) {
739
+ o.styles.transition = "none", s.styles.transition = `all ${a.duration}s ${a.easing} ${a.delay}s`, s.styles["transition-property"] = l.join(", "), s.styles["will-change"] = l.join(", ");
740
+ let e4 = Object.keys(o.styles).map((e5) => e5 + ": " + o.styles[e5] + " !important;").join(""), t2 = Object.keys(s.styles).map((e5) => e5 + ": " + s.styles[e5] + " !important;").join("");
741
+ c = '[data-auto-animate-target="' + i + '"] {' + e4 + '}[data-auto-animate="running"] [data-auto-animate-target="' + i + '"] {' + t2 + "}";
742
+ }
743
+ return c;
744
+ }
745
+ getAutoAnimateOptions(e3, t) {
746
+ let n = {
747
+ easing: this.Reveal.getConfig().autoAnimateEasing,
748
+ duration: this.Reveal.getConfig().autoAnimateDuration,
749
+ delay: 0
750
+ };
751
+ if (n = ge$1(n, t), e3.parentNode) {
752
+ let t2 = V$1(e3.parentNode, "[data-auto-animate-target]");
753
+ t2 && (n = this.getAutoAnimateOptions(t2, n));
754
+ }
755
+ return e3.dataset.autoAnimateEasing && (n.easing = e3.dataset.autoAnimateEasing), e3.dataset.autoAnimateDuration && (n.duration = parseFloat(e3.dataset.autoAnimateDuration)), e3.dataset.autoAnimateDelay && (n.delay = parseFloat(e3.dataset.autoAnimateDelay)), n;
756
+ }
757
+ getAutoAnimatableProperties(e3, t, n) {
758
+ let r = this.Reveal.getConfig(), i = { styles: [] };
759
+ if (n.translate !== false || n.scale !== false) {
760
+ let e4;
761
+ if (typeof n.measure == "function") e4 = n.measure(t);
762
+ else if (r.center) e4 = t.getBoundingClientRect();
763
+ else {
764
+ let n2 = this.Reveal.getScale();
765
+ e4 = {
766
+ x: t.offsetLeft * n2,
767
+ y: t.offsetTop * n2,
768
+ width: t.offsetWidth * n2,
769
+ height: t.offsetHeight * n2
770
+ };
771
+ }
772
+ i.x = e4.x, i.y = e4.y, i.width = e4.width, i.height = e4.height;
773
+ }
774
+ let a = getComputedStyle(t);
775
+ return (n.styles || r.autoAnimateStyles).forEach((t2) => {
776
+ let n2;
777
+ typeof t2 == "string" && (t2 = { property: t2 }), t2.from !== void 0 && e3 === "from" ? n2 = {
778
+ value: t2.from,
779
+ explicitValue: true
780
+ } : t2.to !== void 0 && e3 === "to" ? n2 = {
781
+ value: t2.to,
782
+ explicitValue: true
783
+ } : (t2.property === "line-height" && (n2 = parseFloat(a["line-height"]) / parseFloat(a["font-size"])), isNaN(n2) && (n2 = a[t2.property])), n2 !== "" && (i.styles[t2.property] = n2);
784
+ }), i;
785
+ }
786
+ getAutoAnimatableElements(e3, t) {
787
+ let n = (typeof this.Reveal.getConfig().autoAnimateMatcher == "function" ? this.Reveal.getConfig().autoAnimateMatcher : this.getAutoAnimatePairs).call(this, e3, t), r = [];
788
+ return n.filter((e4, t2) => {
789
+ if (r.indexOf(e4.to) === -1) return r.push(e4.to), true;
790
+ });
791
+ }
792
+ getAutoAnimatePairs(e3, t) {
793
+ let n = [], r = "h1, h2, h3, h4, h5, h6, p, li";
794
+ return this.findAutoAnimateMatches(n, e3, t, "[data-id]", (e4) => e4.nodeName + ":::" + e4.getAttribute("data-id")), this.findAutoAnimateMatches(n, e3, t, r, (e4) => e4.nodeName + ":::" + e4.textContent.trim()), this.findAutoAnimateMatches(n, e3, t, "img, video, iframe", (e4) => e4.nodeName + ":::" + (e4.getAttribute("src") || e4.getAttribute("data-src"))), this.findAutoAnimateMatches(n, e3, t, "pre", (e4) => e4.nodeName + ":::" + e4.textContent.trim()), n.forEach((e4) => {
795
+ xe$1(e4.from, r) ? e4.options = { scale: false } : xe$1(e4.from, "pre") && (e4.options = {
796
+ scale: false,
797
+ styles: ["width", "height"]
798
+ }, this.findAutoAnimateMatches(n, e4.from, e4.to, ".hljs .hljs-ln-code", (e5) => e5.textContent, {
799
+ scale: false,
800
+ styles: [],
801
+ measure: this.getLocalBoundingBox.bind(this)
802
+ }), this.findAutoAnimateMatches(n, e4.from, e4.to, ".hljs .hljs-ln-numbers[data-line-number]", (e5) => e5.getAttribute("data-line-number"), {
803
+ scale: false,
804
+ styles: ["width"],
805
+ measure: this.getLocalBoundingBox.bind(this)
806
+ }));
807
+ }, this), n;
808
+ }
809
+ getLocalBoundingBox(e3) {
810
+ let t = this.Reveal.getScale();
811
+ return {
812
+ x: Math.round(e3.offsetLeft * t * 100) / 100,
813
+ y: Math.round(e3.offsetTop * t * 100) / 100,
814
+ width: Math.round(e3.offsetWidth * t * 100) / 100,
815
+ height: Math.round(e3.offsetHeight * t * 100) / 100
816
+ };
817
+ }
818
+ findAutoAnimateMatches(e3, t, n, r, i, a) {
819
+ let o = {}, s = {};
820
+ [].slice.call(t.querySelectorAll(r)).forEach((e4, t2) => {
821
+ let n2 = i(e4);
822
+ typeof n2 == "string" && n2.length && (o[n2] = o[n2] || [], o[n2].push(e4));
823
+ }), [].slice.call(n.querySelectorAll(r)).forEach((t2, n2) => {
824
+ let r2 = i(t2);
825
+ s[r2] = s[r2] || [], s[r2].push(t2);
826
+ let c;
827
+ if (o[r2]) {
828
+ let e4 = s[r2].length - 1, t3 = o[r2].length - 1;
829
+ o[r2][e4] ? (c = o[r2][e4], o[r2][e4] = null) : o[r2][t3] && (c = o[r2][t3], o[r2][t3] = null);
830
+ }
831
+ c && e3.push({
832
+ from: c,
833
+ to: t2,
834
+ options: a
835
+ });
836
+ });
837
+ }
838
+ getUnmatchedAutoAnimateElements(e3) {
839
+ return [].slice.call(e3.children).reduce((e4, t) => {
840
+ let n = t.querySelector("[data-auto-animate-target]");
841
+ return !t.hasAttribute("data-auto-animate-target") && !n && e4.push(t), t.querySelector("[data-auto-animate-target]") && (e4 = e4.concat(this.getUnmatchedAutoAnimateElements(t))), e4;
842
+ }, []);
843
+ }
844
+ }, Di = 500, Vi = 4, Fi = 6, zi = 8, Oi = class {
845
+ constructor(e3) {
846
+ this.Reveal = e3, this.active = false, this.activatedCallbacks = [], this.onScroll = this.onScroll.bind(this);
847
+ }
848
+ activate() {
849
+ if (this.active) return;
850
+ let e3 = this.Reveal.getState();
851
+ this.active = true, this.slideHTMLBeforeActivation = this.Reveal.getSlidesElement().innerHTML;
852
+ let t = E$1(this.Reveal.getRevealElement(), te$1), n = E$1(this.Reveal.getRevealElement(), Pi);
853
+ this.viewportElement.classList.add("loading-scroll-mode", "reveal-scroll");
854
+ let r, i = window.getComputedStyle(this.viewportElement);
855
+ i && i.background && (r = i.background);
856
+ let a = [], o = t[0].parentNode, s, c = (e4, t2, i2, o2) => {
857
+ let c2;
858
+ if (s && this.Reveal.shouldAutoAnimateBetween(s, e4)) c2 = document.createElement("div"), c2.className = "scroll-page-content scroll-auto-animate-page", c2.style.display = "none", s.closest(".scroll-page-content").parentNode.appendChild(c2);
859
+ else {
860
+ let e5 = document.createElement("div");
861
+ if (e5.className = "scroll-page", a.push(e5), o2 && n.length > t2) {
862
+ let i4 = n[t2], a2 = window.getComputedStyle(i4);
863
+ a2 && a2.background ? e5.style.background = a2.background : r && (e5.style.background = r);
864
+ } else r && (e5.style.background = r);
865
+ let i3 = document.createElement("div");
866
+ i3.className = "scroll-page-sticky", e5.appendChild(i3), c2 = document.createElement("div"), c2.className = "scroll-page-content", i3.appendChild(c2);
867
+ }
868
+ c2.appendChild(e4), e4.classList.remove("past", "future"), e4.setAttribute("data-index-h", t2), e4.setAttribute("data-index-v", i2), e4.slideBackgroundElement && (e4.slideBackgroundElement.remove("past", "future"), c2.insertBefore(e4.slideBackgroundElement, e4)), s = e4;
869
+ };
870
+ t.forEach((e4, t2) => {
871
+ this.Reveal.isVerticalStack(e4) ? e4.querySelectorAll("section").forEach((e5, n2) => {
872
+ c(e5, t2, n2, true);
873
+ }) : c(e4, t2, 0);
874
+ }, this), this.createProgressBar(), E$1(this.Reveal.getRevealElement(), ".stack").forEach((e4) => e4.remove()), a.forEach((e4) => o.appendChild(e4)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.layout(), this.Reveal.setState(e3), this.activatedCallbacks.forEach((e4) => e4()), this.activatedCallbacks = [], this.restoreScrollPosition(), this.viewportElement.classList.remove("loading-scroll-mode"), this.viewportElement.addEventListener("scroll", this.onScroll, { passive: true });
875
+ }
876
+ deactivate() {
877
+ if (!this.active) return;
878
+ let e3 = this.Reveal.getState();
879
+ this.active = false, this.viewportElement.removeEventListener("scroll", this.onScroll), this.viewportElement.classList.remove("reveal-scroll"), this.removeProgressBar(), this.Reveal.getSlidesElement().innerHTML = this.slideHTMLBeforeActivation, this.Reveal.sync(), this.Reveal.setState(e3), this.slideHTMLBeforeActivation = null;
880
+ }
881
+ toggle(e3) {
882
+ typeof e3 == "boolean" ? e3 ? this.activate() : this.deactivate() : this.isActive() ? this.deactivate() : this.activate();
883
+ }
884
+ isActive() {
885
+ return this.active;
886
+ }
887
+ createProgressBar() {
888
+ this.progressBar = document.createElement("div"), this.progressBar.className = "scrollbar", this.progressBarInner = document.createElement("div"), this.progressBarInner.className = "scrollbar-inner", this.progressBar.appendChild(this.progressBarInner), this.progressBarPlayhead = document.createElement("div"), this.progressBarPlayhead.className = "scrollbar-playhead", this.progressBarInner.appendChild(this.progressBarPlayhead), this.viewportElement.insertBefore(this.progressBar, this.viewportElement.firstChild);
889
+ let e3 = (e4) => {
890
+ let t2 = (e4.clientY - this.progressBarInner.getBoundingClientRect().top) / this.progressBarHeight;
891
+ t2 = Math.max(Math.min(t2, 1), 0), this.viewportElement.scrollTop = t2 * (this.viewportElement.scrollHeight - this.viewportElement.offsetHeight);
892
+ }, t = (n) => {
893
+ this.draggingProgressBar = false, this.showProgressBar(), document.removeEventListener("mousemove", e3), document.removeEventListener("mouseup", t);
894
+ };
895
+ this.progressBarInner.addEventListener("mousedown", (n) => {
896
+ n.preventDefault(), this.draggingProgressBar = true, document.addEventListener("mousemove", e3), document.addEventListener("mouseup", t), e3(n);
897
+ });
898
+ }
899
+ removeProgressBar() {
900
+ this.progressBar && (this.progressBar = (this.progressBar.remove(), null));
901
+ }
902
+ layout() {
903
+ this.isActive() && (this.syncPages(), this.syncScrollPosition());
904
+ }
905
+ syncPages() {
906
+ let e3 = this.Reveal.getConfig(), t = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), n = this.Reveal.getScale(), r = e3.scrollLayout === "compact", i = this.viewportElement.offsetHeight, a = t.height * n, o = r ? a : i;
907
+ this.scrollTriggerHeight = r ? a : i, this.viewportElement.style.setProperty("--page-height", o + "px"), this.viewportElement.style.scrollSnapType = typeof e3.scrollSnap == "string" ? `y ${e3.scrollSnap}` : "", this.slideTriggers = [], this.pages = Array.from(this.Reveal.getRevealElement().querySelectorAll(".scroll-page")).map((n2) => {
908
+ let a2 = this.createPage({
909
+ pageElement: n2,
910
+ slideElement: n2.querySelector("section"),
911
+ stickyElement: n2.querySelector(".scroll-page-sticky"),
912
+ contentElement: n2.querySelector(".scroll-page-content"),
913
+ backgroundElement: n2.querySelector(".slide-background"),
914
+ autoAnimateElements: n2.querySelectorAll(".scroll-auto-animate-page"),
915
+ autoAnimatePages: []
916
+ });
917
+ a2.pageElement.style.setProperty("--slide-height", e3.center === true ? "auto" : t.height + "px"), this.slideTriggers.push({
918
+ page: a2,
919
+ activate: () => this.activatePage(a2),
920
+ deactivate: () => this.deactivatePage(a2)
921
+ }), this.createFragmentTriggersForPage(a2), a2.autoAnimateElements.length > 0 && this.createAutoAnimateTriggersForPage(a2);
922
+ let s = Math.max(a2.scrollTriggers.length - 1, 0);
923
+ s += a2.autoAnimatePages.reduce((e4, t2) => e4 + Math.max(t2.scrollTriggers.length - 1, 0), a2.autoAnimatePages.length), a2.pageElement.querySelectorAll(".scroll-snap-point").forEach((e4) => e4.remove());
924
+ for (let e4 = 0; e4 < s + 1; e4++) {
925
+ let t2 = document.createElement("div");
926
+ t2.className = "scroll-snap-point", t2.style.height = this.scrollTriggerHeight + "px", t2.style.scrollSnapAlign = r ? "center" : "start", a2.pageElement.appendChild(t2), e4 === 0 && (t2.style.marginTop = -this.scrollTriggerHeight + "px");
927
+ }
928
+ return r && a2.scrollTriggers.length > 0 ? (a2.pageHeight = i, a2.pageElement.style.setProperty("--page-height", i + "px")) : (a2.pageHeight = o, a2.pageElement.style.removeProperty("--page-height")), a2.scrollPadding = this.scrollTriggerHeight * s, a2.totalHeight = a2.pageHeight + a2.scrollPadding, a2.pageElement.style.setProperty("--page-scroll-padding", a2.scrollPadding + "px"), s > 0 ? (a2.stickyElement.style.position = "sticky", a2.stickyElement.style.top = Math.max((i - a2.pageHeight) / 2, 0) + "px") : (a2.stickyElement.style.position = "relative", a2.pageElement.style.scrollSnapAlign = a2.pageHeight < i ? "center" : "start"), a2;
929
+ }), this.setTriggerRanges(), this.viewportElement.setAttribute("data-scrollbar", e3.scrollProgress), e3.scrollProgress && this.totalScrollTriggerCount > 1 ? (this.progressBar || this.createProgressBar(), this.syncProgressBar()) : this.removeProgressBar();
930
+ }
931
+ setTriggerRanges() {
932
+ this.totalScrollTriggerCount = this.slideTriggers.reduce((e4, t) => e4 + Math.max(t.page.scrollTriggers.length, 1), 0);
933
+ let e3 = 0;
934
+ this.slideTriggers.forEach((t, n) => {
935
+ t.range = [e3, e3 + Math.max(t.page.scrollTriggers.length, 1) / this.totalScrollTriggerCount];
936
+ let r = (t.range[1] - t.range[0]) / t.page.scrollTriggers.length;
937
+ t.page.scrollTriggers.forEach((t2, n2) => {
938
+ t2.range = [e3 + n2 * r, e3 + (n2 + 1) * r];
939
+ }), e3 = t.range[1];
940
+ }), this.slideTriggers[this.slideTriggers.length - 1].range[1] = 1;
941
+ }
942
+ createFragmentTriggersForPage(e3, t) {
943
+ t || (t = e3.slideElement);
944
+ let n = this.Reveal.fragments.sort(t.querySelectorAll(".fragment"), true);
945
+ return n.length && (e3.fragments = this.Reveal.fragments.sort(t.querySelectorAll(".fragment:not(.disabled)")), e3.scrollTriggers.push({ activate: () => {
946
+ this.Reveal.fragments.update(-1, e3.fragments, t);
947
+ } }), n.forEach((n2, r) => {
948
+ e3.scrollTriggers.push({ activate: () => {
949
+ this.Reveal.fragments.update(r, e3.fragments, t);
950
+ } });
951
+ })), e3.scrollTriggers.length;
952
+ }
953
+ createAutoAnimateTriggersForPage(e3) {
954
+ e3.autoAnimateElements.length > 0 && this.slideTriggers.push(...Array.from(e3.autoAnimateElements).map((t, n) => {
955
+ let r = this.createPage({
956
+ slideElement: t.querySelector("section"),
957
+ contentElement: t,
958
+ backgroundElement: t.querySelector(".slide-background")
959
+ });
960
+ return this.createFragmentTriggersForPage(r, r.slideElement), e3.autoAnimatePages.push(r), {
961
+ page: r,
962
+ activate: () => this.activatePage(r),
963
+ deactivate: () => this.deactivatePage(r)
964
+ };
965
+ }));
966
+ }
967
+ createPage(e3) {
968
+ return e3.scrollTriggers = [], e3.indexh = parseInt(e3.slideElement.getAttribute("data-index-h"), 10), e3.indexv = parseInt(e3.slideElement.getAttribute("data-index-v"), 10), e3;
969
+ }
970
+ syncProgressBar() {
971
+ this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach((e4) => e4.remove());
972
+ let e3 = this.viewportElement.scrollHeight, t = this.viewportElement.offsetHeight, n = t / e3;
973
+ this.progressBarHeight = this.progressBarInner.offsetHeight, this.playheadHeight = Math.max(n * this.progressBarHeight, zi), this.progressBarScrollableHeight = this.progressBarHeight - this.playheadHeight;
974
+ let r = t / e3 * this.progressBarHeight, i = Math.min(r / 8, Vi);
975
+ this.progressBarPlayhead.style.height = this.playheadHeight - i + "px", r > Fi ? this.slideTriggers.forEach((e4) => {
976
+ let { page: t2 } = e4;
977
+ t2.progressBarSlide = document.createElement("div"), t2.progressBarSlide.className = "scrollbar-slide", t2.progressBarSlide.style.top = e4.range[0] * this.progressBarHeight + "px", t2.progressBarSlide.style.height = (e4.range[1] - e4.range[0]) * this.progressBarHeight - i + "px", t2.progressBarSlide.classList.toggle("has-triggers", t2.scrollTriggers.length > 0), this.progressBarInner.appendChild(t2.progressBarSlide), t2.scrollTriggerElements = t2.scrollTriggers.map((n2, r2) => {
978
+ let a = document.createElement("div");
979
+ return a.className = "scrollbar-trigger", a.style.top = (n2.range[0] - e4.range[0]) * this.progressBarHeight + "px", a.style.height = (n2.range[1] - n2.range[0]) * this.progressBarHeight - i + "px", t2.progressBarSlide.appendChild(a), r2 === 0 && (a.style.display = "none"), a;
980
+ });
981
+ }) : this.pages.forEach((e4) => e4.progressBarSlide = null);
982
+ }
983
+ syncScrollPosition() {
984
+ let e3 = this.viewportElement.offsetHeight, t = e3 / this.viewportElement.scrollHeight, n = this.viewportElement.scrollTop, r = this.viewportElement.scrollHeight - e3, i = Math.max(Math.min(n / r, 1), 0), a = Math.max(Math.min((n + e3 / 2) / this.viewportElement.scrollHeight, 1), 0), o;
985
+ this.slideTriggers.forEach((e4) => {
986
+ let { page: n2 } = e4;
987
+ i >= e4.range[0] - t * 2 && i <= e4.range[1] + t * 2 && !n2.loaded ? (n2.loaded = true, this.Reveal.slideContent.load(n2.slideElement)) : n2.loaded && (n2.loaded = false, this.Reveal.slideContent.unload(n2.slideElement)), i >= e4.range[0] && i <= e4.range[1] ? (this.activateTrigger(e4), o = e4.page) : e4.active && this.deactivateTrigger(e4);
988
+ }), o && o.scrollTriggers.forEach((e4) => {
989
+ a >= e4.range[0] && a <= e4.range[1] ? this.activateTrigger(e4) : e4.active && this.deactivateTrigger(e4);
990
+ }), this.setProgressBarValue(n / (this.viewportElement.scrollHeight - e3));
991
+ }
992
+ setProgressBarValue(e3) {
993
+ this.progressBar && (this.progressBarPlayhead.style.transform = `translateY(${e3 * this.progressBarScrollableHeight}px)`, this.getAllPages().filter((e4) => e4.progressBarSlide).forEach((e4) => {
994
+ e4.progressBarSlide.classList.toggle("active", e4.active === true), e4.scrollTriggers.forEach((t, n) => {
995
+ e4.scrollTriggerElements[n].classList.toggle("active", e4.active === true && t.active === true);
996
+ });
997
+ }), this.showProgressBar());
998
+ }
999
+ showProgressBar() {
1000
+ this.progressBar.classList.add("visible"), clearTimeout(this.hideProgressBarTimeout), this.Reveal.getConfig().scrollProgress === "auto" && !this.draggingProgressBar && (this.hideProgressBarTimeout = setTimeout(() => {
1001
+ this.progressBar && this.progressBar.classList.remove("visible");
1002
+ }, Di));
1003
+ }
1004
+ prev() {
1005
+ this.viewportElement.scrollTop -= this.scrollTriggerHeight;
1006
+ }
1007
+ next() {
1008
+ this.viewportElement.scrollTop += this.scrollTriggerHeight;
1009
+ }
1010
+ scrollToSlide(e3) {
1011
+ if (!this.active) this.activatedCallbacks.push(() => this.scrollToSlide(e3));
1012
+ else {
1013
+ let t = this.getScrollTriggerBySlide(e3);
1014
+ t && (this.viewportElement.scrollTop = t.range[0] * (this.viewportElement.scrollHeight - this.viewportElement.offsetHeight));
1015
+ }
1016
+ }
1017
+ storeScrollPosition() {
1018
+ clearTimeout(this.storeScrollPositionTimeout), this.storeScrollPositionTimeout = setTimeout(() => {
1019
+ sessionStorage.setItem("reveal-scroll-top", this.viewportElement.scrollTop), sessionStorage.setItem("reveal-scroll-origin", location.origin + location.pathname), this.storeScrollPositionTimeout = null;
1020
+ }, 50);
1021
+ }
1022
+ restoreScrollPosition() {
1023
+ let e3 = sessionStorage.getItem("reveal-scroll-top"), t = sessionStorage.getItem("reveal-scroll-origin");
1024
+ e3 && t === location.origin + location.pathname && (this.viewportElement.scrollTop = parseInt(e3, 10));
1025
+ }
1026
+ activatePage(e3) {
1027
+ if (!e3.active) {
1028
+ e3.active = true;
1029
+ let { slideElement: t, backgroundElement: n, contentElement: r, indexh: i, indexv: a } = e3;
1030
+ r.style.display = "block", t.classList.add("present"), n && n.classList.add("present"), this.Reveal.setCurrentScrollPage(t, i, a), this.Reveal.backgrounds.bubbleSlideContrastClassToElement(t, this.viewportElement), Array.from(r.parentNode.querySelectorAll(".scroll-page-content")).forEach((e4) => {
1031
+ e4 !== r && (e4.style.display = "none");
1032
+ });
1033
+ }
1034
+ }
1035
+ deactivatePage(e3) {
1036
+ e3.active && (e3.active = false, e3.slideElement && e3.slideElement.classList.remove("present"), e3.backgroundElement && e3.backgroundElement.classList.remove("present"));
1037
+ }
1038
+ activateTrigger(e3) {
1039
+ e3.active || (e3.active = true, e3.activate());
1040
+ }
1041
+ deactivateTrigger(e3) {
1042
+ e3.active && (e3.active = false, e3.deactivate && e3.deactivate());
1043
+ }
1044
+ getSlideByIndices(e3, t) {
1045
+ let n = this.getAllPages().find((n2) => n2.indexh === e3 && n2.indexv === t);
1046
+ return n ? n.slideElement : null;
1047
+ }
1048
+ getScrollTriggerBySlide(e3) {
1049
+ return this.slideTriggers.find((t) => t.page.slideElement === e3);
1050
+ }
1051
+ getAllPages() {
1052
+ return this.pages.flatMap((e3) => [e3, ...e3.autoAnimatePages || []]);
1053
+ }
1054
+ onScroll() {
1055
+ this.syncScrollPosition(), this.storeScrollPosition();
1056
+ }
1057
+ get viewportElement() {
1058
+ return this.Reveal.getViewportElement();
1059
+ }
1060
+ }, Ui = class {
1061
+ constructor(e3) {
1062
+ this.Reveal = e3;
1063
+ }
1064
+ activate() {
1065
+ return It(this, null, function* () {
1066
+ let e3 = this.Reveal.getConfig(), t = E$1(this.Reveal.getRevealElement(), de$1), n = e3.slideNumber && /all|print/i.test(e3.showSlideNumber), r = this.Reveal.getComputedSlideSize(window.innerWidth, window.innerHeight), i = Math.floor(r.width * (1 + e3.margin)), a = Math.floor(r.height * (1 + e3.margin)), o = r.width, s = r.height;
1067
+ yield new Promise(requestAnimationFrame), Xe$1("@page{size:" + i + "px " + a + "px; margin: 0px;}"), Xe$1(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: " + o + "px; max-height:" + s + "px}"), document.documentElement.classList.add("reveal-print", "print-pdf"), document.body.style.width = i + "px", document.body.style.height = a + "px";
1068
+ let c = this.Reveal.getViewportElement(), l;
1069
+ if (c) {
1070
+ let e4 = window.getComputedStyle(c);
1071
+ e4 && e4.background && (l = e4.background);
1072
+ }
1073
+ yield new Promise(requestAnimationFrame), this.Reveal.layoutSlideContents(o, s), yield new Promise(requestAnimationFrame);
1074
+ let u = t.map((e4) => e4.scrollHeight), d = [], f = t[0].parentNode, mn = 1;
1075
+ t.forEach(function(t2, r2) {
1076
+ if (t2.classList.contains("stack") === false) {
1077
+ let c2 = (i - o) / 2, f2 = (a - s) / 2, p = u[r2], hn = Math.max(Math.ceil(p / a), 1);
1078
+ hn = Math.min(hn, e3.pdfMaxPagesPerSlide), (hn === 1 && e3.center || t2.classList.contains("center")) && (f2 = Math.max((a - p) / 2, 0));
1079
+ let m = document.createElement("div");
1080
+ if (d.push(m), m.className = "pdf-page", m.style.height = (a + e3.pdfPageHeightOffset) * hn + "px", l && (m.style.background = l), m.appendChild(t2), t2.style.left = c2 + "px", t2.style.top = f2 + "px", t2.style.width = o + "px", this.Reveal.slideContent.layout(t2), t2.slideBackgroundElement && m.insertBefore(t2.slideBackgroundElement, t2), e3.showNotes) {
1081
+ let n2 = this.Reveal.getSlideNotes(t2);
1082
+ if (n2) {
1083
+ let t3 = typeof e3.showNotes == "string" ? e3.showNotes : "inline", r3 = document.createElement("div");
1084
+ r3.classList.add("speaker-notes"), r3.classList.add("speaker-notes-pdf"), r3.setAttribute("data-layout", t3), r3.innerHTML = n2, t3 === "separate-page" ? d.push(r3) : (r3.style.left = "8px", r3.style.bottom = "8px", r3.style.width = i - 16 + "px", m.appendChild(r3));
1085
+ }
1086
+ }
1087
+ if (n) {
1088
+ let e4 = document.createElement("div");
1089
+ e4.classList.add("slide-number"), e4.classList.add("slide-number-pdf"), e4.innerHTML = mn++, m.appendChild(e4);
1090
+ }
1091
+ if (e3.pdfSeparateFragments) {
1092
+ let e4 = this.Reveal.fragments.sort(m.querySelectorAll(".fragment"), true), t3;
1093
+ e4.forEach(function(e5, r3) {
1094
+ t3 && t3.forEach(function(e6) {
1095
+ e6.classList.remove("current-fragment");
1096
+ }), e5.forEach(function(e6) {
1097
+ e6.classList.add("visible", "current-fragment");
1098
+ }, this);
1099
+ let i2 = m.cloneNode(true);
1100
+ if (n) {
1101
+ let e6 = i2.querySelector(".slide-number-pdf"), t4 = r3 + 1;
1102
+ e6.innerHTML += "." + t4;
1103
+ }
1104
+ d.push(i2), t3 = e5;
1105
+ }, this), e4.forEach(function(e5) {
1106
+ e5.forEach(function(e6) {
1107
+ e6.classList.remove("visible", "current-fragment");
1108
+ });
1109
+ });
1110
+ } else E$1(m, ".fragment:not(.fade-out)").forEach(function(e4) {
1111
+ e4.classList.add("visible");
1112
+ });
1113
+ }
1114
+ }, this), yield new Promise(requestAnimationFrame), d.forEach((e4) => f.appendChild(e4)), this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()), this.Reveal.dispatchEvent({ type: "pdf-ready" }), c.classList.remove("loading-scroll-mode");
1115
+ });
1116
+ }
1117
+ isActive() {
1118
+ return this.Reveal.getConfig().view === "print";
1119
+ }
1120
+ }, qi = class {
1121
+ constructor(e3) {
1122
+ this.Reveal = e3;
1123
+ }
1124
+ configure(e3, t) {
1125
+ e3.fragments === false ? this.disable() : t.fragments === false && this.enable();
1126
+ }
1127
+ disable() {
1128
+ E$1(this.Reveal.getSlidesElement(), ".fragment").forEach((e3) => {
1129
+ e3.classList.add("visible"), e3.classList.remove("current-fragment");
1130
+ });
1131
+ }
1132
+ enable() {
1133
+ E$1(this.Reveal.getSlidesElement(), ".fragment").forEach((e3) => {
1134
+ e3.classList.remove("visible"), e3.classList.remove("current-fragment");
1135
+ });
1136
+ }
1137
+ availableRoutes() {
1138
+ let e3 = this.Reveal.getCurrentSlide();
1139
+ if (e3 && this.Reveal.getConfig().fragments) {
1140
+ let t = e3.querySelectorAll(".fragment:not(.disabled)"), n = e3.querySelectorAll(".fragment:not(.disabled):not(.visible)");
1141
+ return {
1142
+ prev: t.length - n.length > 0,
1143
+ next: !!n.length
1144
+ };
1145
+ } else return {
1146
+ prev: false,
1147
+ next: false
1148
+ };
1149
+ }
1150
+ sort(e3, t = false) {
1151
+ e3 = Array.from(e3);
1152
+ let n = [], r = [], i = [];
1153
+ e3.forEach((e4) => {
1154
+ if (e4.hasAttribute("data-fragment-index")) {
1155
+ let t2 = parseInt(e4.getAttribute("data-fragment-index"), 10);
1156
+ n[t2] || (n[t2] = []), n[t2].push(e4);
1157
+ } else r.push([e4]);
1158
+ }), n = n.concat(r);
1159
+ let a = 0;
1160
+ return n.forEach((e4) => {
1161
+ e4.forEach((e5) => {
1162
+ i.push(e5), e5.setAttribute("data-fragment-index", a);
1163
+ }), a++;
1164
+ }), t === true ? n : i;
1165
+ }
1166
+ sortAll() {
1167
+ this.Reveal.getHorizontalSlides().forEach((e3) => {
1168
+ let t = E$1(e3, "section");
1169
+ t.forEach((e4, t2) => {
1170
+ this.sort(e4.querySelectorAll(".fragment"));
1171
+ }, this), t.length === 0 && this.sort(e3.querySelectorAll(".fragment"));
1172
+ });
1173
+ }
1174
+ update(e3, t, n = this.Reveal.getCurrentSlide()) {
1175
+ let r = {
1176
+ shown: [],
1177
+ hidden: []
1178
+ };
1179
+ if (n && this.Reveal.getConfig().fragments && (t || (t = this.sort(n.querySelectorAll(".fragment"))), t.length)) {
1180
+ let i = 0;
1181
+ if (typeof e3 != "number") {
1182
+ let t2 = this.sort(n.querySelectorAll(".fragment.visible")).pop();
1183
+ t2 && (e3 = parseInt(t2.getAttribute("data-fragment-index") || 0, 10));
1184
+ }
1185
+ Array.from(t).forEach((t2, n2) => {
1186
+ if (t2.hasAttribute("data-fragment-index") && (n2 = parseInt(t2.getAttribute("data-fragment-index"), 10)), i = Math.max(i, n2), n2 <= e3) {
1187
+ let i2 = t2.classList.contains("visible");
1188
+ t2.classList.add("visible"), t2.classList.remove("current-fragment"), n2 === e3 && (this.Reveal.announceStatus(this.Reveal.getStatusText(t2)), t2.classList.add("current-fragment"), this.Reveal.slideContent.startEmbeddedContent(t2)), i2 || (r.shown.push(t2), this.Reveal.dispatchEvent({
1189
+ target: t2,
1190
+ type: "visible",
1191
+ bubbles: false
1192
+ }));
1193
+ } else {
1194
+ let e4 = t2.classList.contains("visible");
1195
+ t2.classList.remove("visible"), t2.classList.remove("current-fragment"), e4 && (this.Reveal.slideContent.stopEmbeddedContent(t2), r.hidden.push(t2), this.Reveal.dispatchEvent({
1196
+ target: t2,
1197
+ type: "hidden",
1198
+ bubbles: false
1199
+ }));
1200
+ }
1201
+ }), e3 = typeof e3 == "number" ? e3 : -1, e3 = Math.max(Math.min(e3, i), -1), n.setAttribute("data-fragment", e3);
1202
+ }
1203
+ return r.hidden.length && this.Reveal.dispatchEvent({
1204
+ type: "fragmenthidden",
1205
+ data: {
1206
+ fragment: r.hidden[0],
1207
+ fragments: r.hidden
1208
+ }
1209
+ }), r.shown.length && this.Reveal.dispatchEvent({
1210
+ type: "fragmentshown",
1211
+ data: {
1212
+ fragment: r.shown[0],
1213
+ fragments: r.shown
1214
+ }
1215
+ }), r;
1216
+ }
1217
+ sync(e3 = this.Reveal.getCurrentSlide()) {
1218
+ return this.sort(e3.querySelectorAll(".fragment"));
1219
+ }
1220
+ goto(e3, t = 0) {
1221
+ let n = this.Reveal.getCurrentSlide();
1222
+ if (n && this.Reveal.getConfig().fragments) {
1223
+ let r = this.sort(n.querySelectorAll(".fragment:not(.disabled)"));
1224
+ if (r.length) {
1225
+ if (typeof e3 != "number") {
1226
+ let t2 = this.sort(n.querySelectorAll(".fragment:not(.disabled).visible")).pop();
1227
+ e3 = t2 ? parseInt(t2.getAttribute("data-fragment-index") || 0, 10) : -1;
1228
+ }
1229
+ e3 += t;
1230
+ let i = this.update(e3, r);
1231
+ return this.Reveal.controls.update(), this.Reveal.progress.update(), this.Reveal.getConfig().fragmentInURL && this.Reveal.location.writeURL(), !!(i.shown.length || i.hidden.length);
1232
+ }
1233
+ }
1234
+ return false;
1235
+ }
1236
+ next() {
1237
+ return this.goto(null, 1);
1238
+ }
1239
+ prev() {
1240
+ return this.goto(null, -1);
1241
+ }
1242
+ }, Wi = class {
1243
+ constructor(e3) {
1244
+ this.Reveal = e3, this.active = false, this.onSlideClicked = this.onSlideClicked.bind(this);
1245
+ }
1246
+ activate() {
1247
+ if (this.Reveal.getConfig().overview && !this.Reveal.isScrollView() && !this.isActive()) {
1248
+ this.active = true, this.Reveal.getRevealElement().classList.add("overview"), this.Reveal.cancelAutoSlide(), this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()), E$1(this.Reveal.getRevealElement(), de$1).forEach((e4) => {
1249
+ e4.classList.contains("stack") || e4.addEventListener("click", this.onSlideClicked, true);
1250
+ });
1251
+ let e3 = this.Reveal.getComputedSlideSize();
1252
+ this.overviewSlideWidth = e3.width + 70, this.overviewSlideHeight = e3.height + 70, this.Reveal.getConfig().rtl && (this.overviewSlideWidth = -this.overviewSlideWidth), this.Reveal.updateSlidesVisibility(), this.layout(), this.update(), this.Reveal.layout();
1253
+ let t = this.Reveal.getIndices();
1254
+ this.Reveal.dispatchEvent({
1255
+ type: "overviewshown",
1256
+ data: {
1257
+ indexh: t.h,
1258
+ indexv: t.v,
1259
+ currentSlide: this.Reveal.getCurrentSlide()
1260
+ }
1261
+ });
1262
+ }
1263
+ }
1264
+ layout() {
1265
+ this.Reveal.getHorizontalSlides().forEach((e3, t) => {
1266
+ e3.setAttribute("data-index-h", t), ae$1(e3, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), e3.classList.contains("stack") && E$1(e3, "section").forEach((e4, n) => {
1267
+ e4.setAttribute("data-index-h", t), e4.setAttribute("data-index-v", n), ae$1(e4, "translate3d(0, " + n * this.overviewSlideHeight + "px, 0)");
1268
+ });
1269
+ }), Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e3, t) => {
1270
+ ae$1(e3, "translate3d(" + t * this.overviewSlideWidth + "px, 0, 0)"), E$1(e3, ".slide-background").forEach((e4, t2) => {
1271
+ ae$1(e4, "translate3d(0, " + t2 * this.overviewSlideHeight + "px, 0)");
1272
+ });
1273
+ });
1274
+ }
1275
+ update() {
1276
+ let e3 = Math.min(window.innerWidth, window.innerHeight), t = Math.max(e3 / 5, 150) / e3, n = this.Reveal.getIndices();
1277
+ this.Reveal.transformSlides({ overview: [
1278
+ "scale(" + t + ")",
1279
+ "translateX(" + -n.h * this.overviewSlideWidth + "px)",
1280
+ "translateY(" + -n.v * this.overviewSlideHeight + "px)"
1281
+ ].join(" ") });
1282
+ }
1283
+ deactivate() {
1284
+ if (this.Reveal.getConfig().overview) {
1285
+ this.active = false, this.Reveal.getRevealElement().classList.remove("overview"), this.Reveal.getRevealElement().classList.add("overview-deactivating"), setTimeout(() => {
1286
+ this.Reveal.getRevealElement().classList.remove("overview-deactivating");
1287
+ }, 1), this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()), E$1(this.Reveal.getRevealElement(), de$1).forEach((e4) => {
1288
+ ae$1(e4, ""), e4.removeEventListener("click", this.onSlideClicked, true);
1289
+ }), E$1(this.Reveal.getBackgroundsElement(), ".slide-background").forEach((e4) => {
1290
+ ae$1(e4, "");
1291
+ }), this.Reveal.transformSlides({ overview: "" });
1292
+ let e3 = this.Reveal.getIndices();
1293
+ this.Reveal.slide(e3.h, e3.v), this.Reveal.layout(), this.Reveal.cueAutoSlide(), this.Reveal.dispatchEvent({
1294
+ type: "overviewhidden",
1295
+ data: {
1296
+ indexh: e3.h,
1297
+ indexv: e3.v,
1298
+ currentSlide: this.Reveal.getCurrentSlide()
1299
+ }
1300
+ });
1301
+ }
1302
+ }
1303
+ toggle(e3) {
1304
+ typeof e3 == "boolean" ? e3 ? this.activate() : this.deactivate() : this.isActive() ? this.deactivate() : this.activate();
1305
+ }
1306
+ isActive() {
1307
+ return this.active;
1308
+ }
1309
+ onSlideClicked(e3) {
1310
+ if (this.isActive()) {
1311
+ e3.preventDefault();
1312
+ let t = e3.target;
1313
+ for (; t && !t.nodeName.match(/section/gi); ) t = t.parentNode;
1314
+ if (t && !t.classList.contains("disabled") && (this.deactivate(), t.nodeName.match(/section/gi))) {
1315
+ let e4 = parseInt(t.getAttribute("data-index-h"), 10), n = parseInt(t.getAttribute("data-index-v"), 10);
1316
+ this.Reveal.slide(e4, n);
1317
+ }
1318
+ }
1319
+ }
1320
+ }, ji = class {
1321
+ constructor(e3) {
1322
+ this.Reveal = e3, this.shortcuts = {}, this.bindings = {}, this.onDocumentKeyDown = this.onDocumentKeyDown.bind(this);
1323
+ }
1324
+ configure(e3, t) {
1325
+ e3.navigationMode === "linear" ? (this.shortcuts["&#8594; , &#8595; , SPACE , N , L , J"] = "Next slide", this.shortcuts["&#8592; , &#8593; , P , H , K"] = "Previous slide") : (this.shortcuts["N , SPACE"] = "Next slide", this.shortcuts["P , Shift SPACE"] = "Previous slide", this.shortcuts["&#8592; , H"] = "Navigate left", this.shortcuts["&#8594; , L"] = "Navigate right", this.shortcuts["&#8593; , K"] = "Navigate up", this.shortcuts["&#8595; , J"] = "Navigate down"), this.shortcuts["Alt + &#8592;/&#8593/&#8594;/&#8595;"] = "Navigate without fragments", this.shortcuts["Shift + &#8592;/&#8593/&#8594;/&#8595;"] = "Jump to first/last slide", this.shortcuts["B , ."] = "Pause", this.shortcuts.F = "Fullscreen", this.shortcuts.G = "Jump to slide", this.shortcuts["ESC, O"] = "Slide overview";
1326
+ }
1327
+ bind() {
1328
+ document.addEventListener("keydown", this.onDocumentKeyDown, false);
1329
+ }
1330
+ unbind() {
1331
+ document.removeEventListener("keydown", this.onDocumentKeyDown, false);
1332
+ }
1333
+ addKeyBinding(e3, t) {
1334
+ typeof e3 == "object" && e3.keyCode ? this.bindings[e3.keyCode] = {
1335
+ callback: t,
1336
+ key: e3.key,
1337
+ description: e3.description
1338
+ } : this.bindings[e3] = {
1339
+ callback: t,
1340
+ key: null,
1341
+ description: null
1342
+ };
1343
+ }
1344
+ removeKeyBinding(e3) {
1345
+ delete this.bindings[e3];
1346
+ }
1347
+ triggerKey(e3) {
1348
+ this.onDocumentKeyDown({ keyCode: e3 });
1349
+ }
1350
+ registerKeyboardShortcut(e3, t) {
1351
+ this.shortcuts[e3] = t;
1352
+ }
1353
+ getShortcuts() {
1354
+ return this.shortcuts;
1355
+ }
1356
+ getBindings() {
1357
+ return this.bindings;
1358
+ }
1359
+ onDocumentKeyDown(e3) {
1360
+ let t = this.Reveal.getConfig();
1361
+ if (typeof t.keyboardCondition == "function" && t.keyboardCondition(e3) === false || t.keyboardCondition === "focused" && !this.Reveal.isFocused()) return true;
1362
+ let n = e3.keyCode, r = !this.Reveal.isAutoSliding();
1363
+ this.Reveal.onUserInput(e3);
1364
+ let i = document.activeElement && document.activeElement.isContentEditable === true, a = document.activeElement && document.activeElement.tagName && /input|textarea/i.test(document.activeElement.tagName), o = document.activeElement && document.activeElement.className && /speaker-notes/i.test(document.activeElement.className), s = !([
1365
+ 32,
1366
+ 37,
1367
+ 38,
1368
+ 39,
1369
+ 40,
1370
+ 63,
1371
+ 78,
1372
+ 80,
1373
+ 191
1374
+ ].indexOf(e3.keyCode) !== -1 && e3.shiftKey || e3.altKey) && (e3.shiftKey || e3.altKey || e3.ctrlKey || e3.metaKey);
1375
+ if (i || a || o || s) return;
1376
+ let c = [
1377
+ 66,
1378
+ 86,
1379
+ 190,
1380
+ 191,
1381
+ 112
1382
+ ], l;
1383
+ if (typeof t.keyboard == "object") for (l in t.keyboard) t.keyboard[l] === "togglePause" && c.push(parseInt(l, 10));
1384
+ if (this.Reveal.isOverlayOpen() && ![
1385
+ "Escape",
1386
+ "f",
1387
+ "c",
1388
+ "b",
1389
+ "."
1390
+ ].includes(e3.key) || this.Reveal.isPaused() && c.indexOf(n) === -1) return false;
1391
+ let u = t.navigationMode === "linear" || !this.Reveal.hasHorizontalSlides() || !this.Reveal.hasVerticalSlides(), d = false;
1392
+ if (typeof t.keyboard == "object") {
1393
+ for (l in t.keyboard) if (parseInt(l, 10) === n) {
1394
+ let n2 = t.keyboard[l];
1395
+ typeof n2 == "function" ? n2.apply(null, [e3]) : typeof n2 == "string" && typeof this.Reveal[n2] == "function" && this.Reveal[n2].call(), d = true;
1396
+ }
1397
+ }
1398
+ if (d === false) {
1399
+ for (l in this.bindings) if (parseInt(l, 10) === n) {
1400
+ let t2 = this.bindings[l].callback;
1401
+ typeof t2 == "function" ? t2.apply(null, [e3]) : typeof t2 == "string" && typeof this.Reveal[t2] == "function" && this.Reveal[t2].call(), d = true;
1402
+ }
1403
+ }
1404
+ d === false && (d = true, n === 80 || n === 33 ? this.Reveal.prev({ skipFragments: e3.altKey }) : n === 78 || n === 34 ? this.Reveal.next({ skipFragments: e3.altKey }) : n === 72 || n === 37 ? e3.shiftKey ? this.Reveal.slide(0) : !this.Reveal.overview.isActive() && u ? t.rtl ? this.Reveal.next({ skipFragments: e3.altKey }) : this.Reveal.prev({ skipFragments: e3.altKey }) : this.Reveal.left({ skipFragments: e3.altKey }) : n === 76 || n === 39 ? e3.shiftKey ? this.Reveal.slide(this.Reveal.getHorizontalSlides().length - 1) : !this.Reveal.overview.isActive() && u ? t.rtl ? this.Reveal.prev({ skipFragments: e3.altKey }) : this.Reveal.next({ skipFragments: e3.altKey }) : this.Reveal.right({ skipFragments: e3.altKey }) : n === 75 || n === 38 ? e3.shiftKey ? this.Reveal.slide(void 0, 0) : !this.Reveal.overview.isActive() && u ? this.Reveal.prev({ skipFragments: e3.altKey }) : this.Reveal.up({ skipFragments: e3.altKey }) : n === 74 || n === 40 ? e3.shiftKey ? this.Reveal.slide(void 0, Number.MAX_VALUE) : !this.Reveal.overview.isActive() && u ? this.Reveal.next({ skipFragments: e3.altKey }) : this.Reveal.down({ skipFragments: e3.altKey }) : n === 36 ? this.Reveal.slide(0) : n === 35 ? this.Reveal.slide(this.Reveal.getHorizontalSlides().length - 1) : n === 32 ? (this.Reveal.overview.isActive() && this.Reveal.overview.deactivate(), e3.shiftKey ? this.Reveal.prev({ skipFragments: e3.altKey }) : this.Reveal.next({ skipFragments: e3.altKey })) : [
1405
+ 58,
1406
+ 59,
1407
+ 66,
1408
+ 86,
1409
+ 190
1410
+ ].includes(n) || n === 191 && !e3.shiftKey ? this.Reveal.togglePause() : n === 70 ? Dt(t.embedded ? this.Reveal.getViewportElement() : document.documentElement) : n === 65 ? t.autoSlideStoppable && this.Reveal.toggleAutoSlide(r) : n === 71 ? t.jumpToSlide && this.Reveal.toggleJumpToSlide() : n === 67 && this.Reveal.isOverlayOpen() ? this.Reveal.closeOverlay() : (n === 63 || n === 191) && e3.shiftKey || n === 112 ? this.Reveal.toggleHelp() : d = false), d ? e3.preventDefault && e3.preventDefault() : n === 27 || n === 79 ? (this.Reveal.closeOverlay() === false && this.Reveal.overview.toggle(), e3.preventDefault && e3.preventDefault()) : n === 13 && this.Reveal.overview.isActive() && (this.Reveal.overview.deactivate(), e3.preventDefault && e3.preventDefault()), this.Reveal.cueAutoSlide();
1411
+ }
1412
+ }, Ki = class {
1413
+ constructor(e3) {
1414
+ je$1(this, "MAX_REPLACE_STATE_FREQUENCY", 1e3), this.Reveal = e3, this.writeURLTimeout = 0, this.replaceStateTimestamp = 0, this.onWindowHashChange = this.onWindowHashChange.bind(this);
1415
+ }
1416
+ bind() {
1417
+ window.addEventListener("hashchange", this.onWindowHashChange, false);
1418
+ }
1419
+ unbind() {
1420
+ window.removeEventListener("hashchange", this.onWindowHashChange, false);
1421
+ }
1422
+ getIndicesFromHash(e3 = window.location.hash, t = {}) {
1423
+ let n = e3.replace(/^#\/?/, ""), r = n.split("/");
1424
+ if (!/^[0-9]*$/.test(r[0]) && n.length) {
1425
+ let e4, t2;
1426
+ /\/[-\d]+$/g.test(n) && (t2 = parseInt(n.split("/").pop(), 10), t2 = isNaN(t2) ? void 0 : t2, n = n.split("/").shift());
1427
+ try {
1428
+ let t3 = decodeURIComponent(n);
1429
+ e4 = (document.getElementById(t3) || document.querySelector(`[data-id="${t3}"]`)).closest(".slides section");
1430
+ } catch {
1431
+ }
1432
+ if (e4) return We$1(Q$1({}, this.Reveal.getIndices(e4)), { f: t2 });
1433
+ } else {
1434
+ let e4 = this.Reveal.getConfig(), n2 = e4.hashOneBasedIndex || t.oneBasedIndex ? 1 : 0, i = parseInt(r[0], 10) - n2 || 0, a = parseInt(r[1], 10) - n2 || 0, o;
1435
+ return e4.fragmentInURL && (o = parseInt(r[2], 10), isNaN(o) && (o = void 0)), {
1436
+ h: i,
1437
+ v: a,
1438
+ f: o
1439
+ };
1440
+ }
1441
+ return null;
1442
+ }
1443
+ readURL() {
1444
+ let e3 = this.Reveal.getIndices(), t = this.getIndicesFromHash();
1445
+ t ? (t.h !== e3.h || t.v !== e3.v || t.f !== void 0) && this.Reveal.slide(t.h, t.v, t.f) : this.Reveal.slide(e3.h || 0, e3.v || 0);
1446
+ }
1447
+ writeURL(e3) {
1448
+ let t = this.Reveal.getConfig(), n = this.Reveal.getCurrentSlide();
1449
+ if (clearTimeout(this.writeURLTimeout), typeof e3 == "number") this.writeURLTimeout = setTimeout(this.writeURL, e3);
1450
+ else if (n) {
1451
+ let e4 = this.getHash();
1452
+ t.history ? window.location.hash = e4 : t.hash && (e4 === "/" ? this.debouncedReplaceState(window.location.pathname + window.location.search) : this.debouncedReplaceState("#" + e4));
1453
+ }
1454
+ }
1455
+ replaceState(e3) {
1456
+ window.history.replaceState(null, null, e3), this.replaceStateTimestamp = Date.now();
1457
+ }
1458
+ debouncedReplaceState(e3) {
1459
+ clearTimeout(this.replaceStateTimeout), Date.now() - this.replaceStateTimestamp > this.MAX_REPLACE_STATE_FREQUENCY ? this.replaceState(e3) : this.replaceStateTimeout = setTimeout(() => this.replaceState(e3), this.MAX_REPLACE_STATE_FREQUENCY);
1460
+ }
1461
+ getHash(e3) {
1462
+ let t = "/", n = e3 || this.Reveal.getCurrentSlide(), r = n ? n.getAttribute("id") : null;
1463
+ r && (r = encodeURIComponent(r));
1464
+ let i = this.Reveal.getIndices(e3);
1465
+ if (this.Reveal.getConfig().fragmentInURL || (i.f = void 0), typeof r == "string" && r.length) t = "/" + r, i.f >= 0 && (t += "/" + i.f);
1466
+ else {
1467
+ let e4 = this.Reveal.getConfig().hashOneBasedIndex ? 1 : 0;
1468
+ (i.h > 0 || i.v > 0 || i.f >= 0) && (t += i.h + e4), (i.v > 0 || i.f >= 0) && (t += "/" + (i.v + e4)), i.f >= 0 && (t += "/" + i.f);
1469
+ }
1470
+ return t;
1471
+ }
1472
+ onWindowHashChange(e3) {
1473
+ this.readURL();
1474
+ }
1475
+ }, _i = class {
1476
+ constructor(e3) {
1477
+ this.Reveal = e3, this.onNavigateLeftClicked = this.onNavigateLeftClicked.bind(this), this.onNavigateRightClicked = this.onNavigateRightClicked.bind(this), this.onNavigateUpClicked = this.onNavigateUpClicked.bind(this), this.onNavigateDownClicked = this.onNavigateDownClicked.bind(this), this.onNavigatePrevClicked = this.onNavigatePrevClicked.bind(this), this.onNavigateNextClicked = this.onNavigateNextClicked.bind(this), this.onEnterFullscreen = this.onEnterFullscreen.bind(this);
1478
+ }
1479
+ render() {
1480
+ let e3 = this.Reveal.getConfig().rtl, t = this.Reveal.getRevealElement();
1481
+ this.element = document.createElement("aside"), this.element.className = "controls", this.element.innerHTML = `<button class="navigate-left" aria-label="${e3 ? "next slide" : "previous slide"}"><div class="controls-arrow"></div></button>
1482
+ <button class="navigate-right" aria-label="${e3 ? "previous slide" : "next slide"}"><div class="controls-arrow"></div></button>
1483
+ <button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>
1484
+ <button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`, this.Reveal.getRevealElement().appendChild(this.element), this.controlsLeft = E$1(t, ".navigate-left"), this.controlsRight = E$1(t, ".navigate-right"), this.controlsUp = E$1(t, ".navigate-up"), this.controlsDown = E$1(t, ".navigate-down"), this.controlsPrev = E$1(t, ".navigate-prev"), this.controlsNext = E$1(t, ".navigate-next"), this.controlsFullscreen = E$1(t, ".enter-fullscreen"), this.controlsRightArrow = this.element.querySelector(".navigate-right"), this.controlsLeftArrow = this.element.querySelector(".navigate-left"), this.controlsDownArrow = this.element.querySelector(".navigate-down");
1485
+ }
1486
+ configure(e3, t) {
1487
+ let n = e3.controls === "speaker" || e3.controls === "speaker-only";
1488
+ this.element.style.display = e3.controls && (!n || this.Reveal.isSpeakerNotes()) ? "block" : "none", this.element.setAttribute("data-controls-layout", e3.controlsLayout), this.element.setAttribute("data-controls-back-arrows", e3.controlsBackArrows);
1489
+ }
1490
+ bind() {
1491
+ let e3 = ["touchstart", "click"];
1492
+ Ft && (e3 = ["touchend"]), e3.forEach((e4) => {
1493
+ this.controlsLeft.forEach((t) => t.addEventListener(e4, this.onNavigateLeftClicked, false)), this.controlsRight.forEach((t) => t.addEventListener(e4, this.onNavigateRightClicked, false)), this.controlsUp.forEach((t) => t.addEventListener(e4, this.onNavigateUpClicked, false)), this.controlsDown.forEach((t) => t.addEventListener(e4, this.onNavigateDownClicked, false)), this.controlsPrev.forEach((t) => t.addEventListener(e4, this.onNavigatePrevClicked, false)), this.controlsNext.forEach((t) => t.addEventListener(e4, this.onNavigateNextClicked, false)), this.controlsFullscreen.forEach((t) => t.addEventListener(e4, this.onEnterFullscreen, false));
1494
+ });
1495
+ }
1496
+ unbind() {
1497
+ [
1498
+ "touchstart",
1499
+ "touchend",
1500
+ "click"
1501
+ ].forEach((e3) => {
1502
+ this.controlsLeft.forEach((t) => t.removeEventListener(e3, this.onNavigateLeftClicked, false)), this.controlsRight.forEach((t) => t.removeEventListener(e3, this.onNavigateRightClicked, false)), this.controlsUp.forEach((t) => t.removeEventListener(e3, this.onNavigateUpClicked, false)), this.controlsDown.forEach((t) => t.removeEventListener(e3, this.onNavigateDownClicked, false)), this.controlsPrev.forEach((t) => t.removeEventListener(e3, this.onNavigatePrevClicked, false)), this.controlsNext.forEach((t) => t.removeEventListener(e3, this.onNavigateNextClicked, false)), this.controlsFullscreen.forEach((t) => t.removeEventListener(e3, this.onEnterFullscreen, false));
1503
+ });
1504
+ }
1505
+ update() {
1506
+ let e3 = this.Reveal.availableRoutes();
1507
+ [
1508
+ ...this.controlsLeft,
1509
+ ...this.controlsRight,
1510
+ ...this.controlsUp,
1511
+ ...this.controlsDown,
1512
+ ...this.controlsPrev,
1513
+ ...this.controlsNext
1514
+ ].forEach((e4) => {
1515
+ e4.classList.remove("enabled", "fragmented"), e4.setAttribute("disabled", "disabled");
1516
+ }), e3.left && this.controlsLeft.forEach((e4) => {
1517
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1518
+ }), e3.right && this.controlsRight.forEach((e4) => {
1519
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1520
+ }), e3.up && this.controlsUp.forEach((e4) => {
1521
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1522
+ }), e3.down && this.controlsDown.forEach((e4) => {
1523
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1524
+ }), (e3.left || e3.up) && this.controlsPrev.forEach((e4) => {
1525
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1526
+ }), (e3.right || e3.down) && this.controlsNext.forEach((e4) => {
1527
+ e4.classList.add("enabled"), e4.removeAttribute("disabled");
1528
+ });
1529
+ let t = this.Reveal.getCurrentSlide();
1530
+ if (t) {
1531
+ let e4 = this.Reveal.fragments.availableRoutes();
1532
+ e4.prev && this.controlsPrev.forEach((e5) => {
1533
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1534
+ }), e4.next && this.controlsNext.forEach((e5) => {
1535
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1536
+ });
1537
+ let n = this.Reveal.isVerticalSlide(t), r = n && t.parentElement && t.parentElement.querySelectorAll(":scope > section").length > 1;
1538
+ n && r ? (e4.prev && this.controlsUp.forEach((e5) => {
1539
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1540
+ }), e4.next && this.controlsDown.forEach((e5) => {
1541
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1542
+ })) : (e4.prev && this.controlsLeft.forEach((e5) => {
1543
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1544
+ }), e4.next && this.controlsRight.forEach((e5) => {
1545
+ e5.classList.add("fragmented", "enabled"), e5.removeAttribute("disabled");
1546
+ }));
1547
+ }
1548
+ if (this.Reveal.getConfig().controlsTutorial) {
1549
+ let t2 = this.Reveal.getIndices();
1550
+ !this.Reveal.hasNavigatedVertically() && e3.down ? this.controlsDownArrow.classList.add("highlight") : (this.controlsDownArrow.classList.remove("highlight"), this.Reveal.getConfig().rtl ? !this.Reveal.hasNavigatedHorizontally() && e3.left && t2.v === 0 ? this.controlsLeftArrow.classList.add("highlight") : this.controlsLeftArrow.classList.remove("highlight") : !this.Reveal.hasNavigatedHorizontally() && e3.right && t2.v === 0 ? this.controlsRightArrow.classList.add("highlight") : this.controlsRightArrow.classList.remove("highlight"));
1551
+ }
1552
+ }
1553
+ destroy() {
1554
+ this.unbind(), this.element.remove();
1555
+ }
1556
+ onNavigateLeftClicked(e3) {
1557
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.getConfig().navigationMode === "linear" ? this.Reveal.prev() : this.Reveal.left();
1558
+ }
1559
+ onNavigateRightClicked(e3) {
1560
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.getConfig().navigationMode === "linear" ? this.Reveal.next() : this.Reveal.right();
1561
+ }
1562
+ onNavigateUpClicked(e3) {
1563
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.up();
1564
+ }
1565
+ onNavigateDownClicked(e3) {
1566
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.down();
1567
+ }
1568
+ onNavigatePrevClicked(e3) {
1569
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.prev();
1570
+ }
1571
+ onNavigateNextClicked(e3) {
1572
+ e3.preventDefault(), this.Reveal.onUserInput(), this.Reveal.next();
1573
+ }
1574
+ onEnterFullscreen(e3) {
1575
+ let t = this.Reveal.getConfig(), n = this.Reveal.getViewportElement();
1576
+ Dt(t.embedded ? n : n.parentElement);
1577
+ }
1578
+ }, $i = class {
1579
+ constructor(e3) {
1580
+ this.Reveal = e3, this.onProgressClicked = this.onProgressClicked.bind(this);
1581
+ }
1582
+ render() {
1583
+ this.element = document.createElement("div"), this.element.className = "progress", this.Reveal.getRevealElement().appendChild(this.element), this.bar = document.createElement("span"), this.element.appendChild(this.bar);
1584
+ }
1585
+ configure(e3, t) {
1586
+ this.element.style.display = e3.progress ? "block" : "none";
1587
+ }
1588
+ bind() {
1589
+ this.Reveal.getConfig().progress && this.element && this.element.addEventListener("click", this.onProgressClicked, false);
1590
+ }
1591
+ unbind() {
1592
+ this.Reveal.getConfig().progress && this.element && this.element.removeEventListener("click", this.onProgressClicked, false);
1593
+ }
1594
+ update() {
1595
+ if (this.Reveal.getConfig().progress && this.bar) {
1596
+ let e3 = this.Reveal.getProgress();
1597
+ this.Reveal.getTotalSlides() < 2 && (e3 = 0), this.bar.style.transform = "scaleX(" + e3 + ")";
1598
+ }
1599
+ }
1600
+ getMaxWidth() {
1601
+ return this.Reveal.getRevealElement().offsetWidth;
1602
+ }
1603
+ onProgressClicked(e3) {
1604
+ this.Reveal.onUserInput(e3), e3.preventDefault();
1605
+ let t = this.Reveal.getSlides(), n = t.length, r = Math.floor(e3.clientX / this.getMaxWidth() * n);
1606
+ this.Reveal.getConfig().rtl && (r = n - r);
1607
+ let i = this.Reveal.getIndices(t[r]);
1608
+ this.Reveal.slide(i.h, i.v);
1609
+ }
1610
+ destroy() {
1611
+ this.element.remove();
1612
+ }
1613
+ }, Xi = class {
1614
+ constructor(e3) {
1615
+ this.Reveal = e3, this.lastMouseWheelStep = 0, this.cursorHidden = false, this.cursorInactiveTimeout = 0, this.onDocumentCursorActive = this.onDocumentCursorActive.bind(this), this.onDocumentMouseScroll = this.onDocumentMouseScroll.bind(this);
1616
+ }
1617
+ configure(e3, t) {
1618
+ e3.mouseWheel ? document.addEventListener("wheel", this.onDocumentMouseScroll, false) : document.removeEventListener("wheel", this.onDocumentMouseScroll, false), e3.hideInactiveCursor ? (document.addEventListener("mousemove", this.onDocumentCursorActive, false), document.addEventListener("mousedown", this.onDocumentCursorActive, false)) : (this.showCursor(), document.removeEventListener("mousemove", this.onDocumentCursorActive, false), document.removeEventListener("mousedown", this.onDocumentCursorActive, false));
1619
+ }
1620
+ showCursor() {
1621
+ this.cursorHidden && (this.cursorHidden = false, this.Reveal.getRevealElement().style.cursor = "");
1622
+ }
1623
+ hideCursor() {
1624
+ this.cursorHidden === false && (this.cursorHidden = true, this.Reveal.getRevealElement().style.cursor = "none");
1625
+ }
1626
+ destroy() {
1627
+ this.showCursor(), document.removeEventListener("wheel", this.onDocumentMouseScroll, false), document.removeEventListener("mousemove", this.onDocumentCursorActive, false), document.removeEventListener("mousedown", this.onDocumentCursorActive, false);
1628
+ }
1629
+ onDocumentCursorActive(e3) {
1630
+ this.showCursor(), clearTimeout(this.cursorInactiveTimeout), this.cursorInactiveTimeout = setTimeout(this.hideCursor.bind(this), this.Reveal.getConfig().hideCursorTime);
1631
+ }
1632
+ onDocumentMouseScroll(e3) {
1633
+ if (Date.now() - this.lastMouseWheelStep > 1e3) {
1634
+ this.lastMouseWheelStep = Date.now();
1635
+ let t = e3.detail || -e3.wheelDelta;
1636
+ t > 0 ? this.Reveal.next() : t < 0 && this.Reveal.prev();
1637
+ }
1638
+ }
1639
+ }, Bt = (e3, t) => {
1640
+ let n = document.createElement("script");
1641
+ n.type = "text/javascript", n.async = false, n.defer = false, n.src = e3, typeof t == "function" && (n.onload = (e4) => {
1642
+ e4.type === "load" && (n.onload = n.onerror = null, t());
1643
+ }, n.onerror = (e4) => {
1644
+ n.onload = n.onerror = null, t(/* @__PURE__ */ Error("Failed loading script: " + n.src + "\n" + e4));
1645
+ });
1646
+ let r = document.querySelector("head");
1647
+ r && r.insertBefore(n, r.lastChild);
1648
+ }, Yi = class {
1649
+ constructor(e3) {
1650
+ this.Reveal = e3, this.state = "idle", this.registeredPlugins = {}, this.asyncDependencies = [];
1651
+ }
1652
+ load(e3, t) {
1653
+ return this.state = "loading", e3.forEach(this.registerPlugin.bind(this)), new Promise((e4) => {
1654
+ let n = [], r = 0;
1655
+ if (t.forEach((e5) => {
1656
+ (!e5.condition || e5.condition()) && (e5.async ? this.asyncDependencies.push(e5) : n.push(e5));
1657
+ }), n.length) {
1658
+ r = n.length;
1659
+ let t2 = (t3) => {
1660
+ t3 && typeof t3.callback == "function" && t3.callback(), --r === 0 && this.initPlugins().then(e4);
1661
+ };
1662
+ n.forEach((e5) => {
1663
+ typeof e5.id == "string" ? (this.registerPlugin(e5), t2(e5)) : typeof e5.src == "string" ? Bt(e5.src, () => t2(e5)) : (console.warn("Unrecognized plugin format", e5), t2());
1664
+ });
1665
+ } else this.initPlugins().then(e4);
1666
+ });
1667
+ }
1668
+ initPlugins() {
1669
+ return new Promise((e3) => {
1670
+ let t = Object.values(this.registeredPlugins), n = t.length;
1671
+ if (n === 0) this.loadAsync().then(e3);
1672
+ else {
1673
+ let r, i = () => {
1674
+ --n === 0 ? this.loadAsync().then(e3) : r();
1675
+ }, a = 0;
1676
+ r = () => {
1677
+ let e4 = t[a++];
1678
+ if (typeof e4.init == "function") {
1679
+ let t2 = e4.init(this.Reveal);
1680
+ t2 && typeof t2.then == "function" ? t2.then(i) : i();
1681
+ } else i();
1682
+ }, r();
1683
+ }
1684
+ });
1685
+ }
1686
+ loadAsync() {
1687
+ return this.state = "loaded", this.asyncDependencies.length && this.asyncDependencies.forEach((e3) => {
1688
+ Bt(e3.src, e3.callback);
1689
+ }), Promise.resolve();
1690
+ }
1691
+ registerPlugin(e3) {
1692
+ arguments.length === 2 && typeof arguments[0] == "string" ? (e3 = arguments[1], e3.id = arguments[0]) : typeof e3 == "function" && (e3 = e3());
1693
+ let t = e3.id;
1694
+ typeof t == "string" ? this.registeredPlugins[t] === void 0 ? (this.registeredPlugins[t] = e3, this.state === "loaded" && typeof e3.init == "function" && e3.init(this.Reveal)) : console.warn('reveal.js: "' + t + '" plugin has already been registered') : console.warn("Unrecognized plugin format; can't find plugin.id", e3);
1695
+ }
1696
+ hasPlugin(e3) {
1697
+ return !!this.registeredPlugins[e3];
1698
+ }
1699
+ getPlugin(e3) {
1700
+ return this.registeredPlugins[e3];
1701
+ }
1702
+ getRegisteredPlugins() {
1703
+ return this.registeredPlugins;
1704
+ }
1705
+ destroy() {
1706
+ Object.values(this.registeredPlugins).forEach((e3) => {
1707
+ typeof e3.destroy == "function" && e3.destroy();
1708
+ }), this.registeredPlugins = {}, this.asyncDependencies = [];
1709
+ }
1710
+ }, Gi = class {
1711
+ constructor(e3) {
1712
+ this.Reveal = e3, this.onSlidesClicked = this.onSlidesClicked.bind(this), this.iframeTriggerSelector = null, this.mediaTriggerSelector = "[data-preview-image], [data-preview-video]", this.stateProps = [
1713
+ "previewIframe",
1714
+ "previewImage",
1715
+ "previewVideo",
1716
+ "previewFit"
1717
+ ], this.state = {};
1718
+ }
1719
+ update() {
1720
+ this.Reveal.getConfig().previewLinks ? this.iframeTriggerSelector = "a[href]:not([data-preview-link=false]), [data-preview-link]:not(a):not([data-preview-link=false])" : this.iframeTriggerSelector = "[data-preview-link]:not([data-preview-link=false])";
1721
+ let e3 = this.Reveal.getSlidesElement().querySelectorAll(this.iframeTriggerSelector).length > 0, t = this.Reveal.getSlidesElement().querySelectorAll(this.mediaTriggerSelector).length > 0;
1722
+ e3 || t ? this.Reveal.getSlidesElement().addEventListener("click", this.onSlidesClicked, false) : this.Reveal.getSlidesElement().removeEventListener("click", this.onSlidesClicked, false);
1723
+ }
1724
+ createOverlay(e3) {
1725
+ this.dom = document.createElement("div"), this.dom.classList.add("r-overlay"), this.dom.classList.add(e3), this.viewport = document.createElement("div"), this.viewport.classList.add("r-overlay-viewport"), this.dom.appendChild(this.viewport), this.Reveal.getRevealElement().appendChild(this.dom);
1726
+ }
1727
+ previewIframe(e3) {
1728
+ this.close(), this.state = { previewIframe: e3 }, this.createOverlay("r-overlay-preview"), this.dom.dataset.state = "loading", this.viewport.innerHTML = `<header class="r-overlay-header">
1729
+ <a class="r-overlay-header-button r-overlay-external" href="${e3}" target="_blank"><span class="icon"></span></a>
1730
+ <button class="r-overlay-header-button r-overlay-close"><span class="icon"></span></button>
1731
+ </header>
1732
+ <div class="r-overlay-spinner"></div>
1733
+ <div class="r-overlay-content">
1734
+ <iframe src="${e3}"></iframe>
1735
+ <small class="r-overlay-content-inner">
1736
+ <span class="r-overlay-error x-frame-error">Unable to load iframe. This is likely due to the site's policy (x-frame-options).</span>
1737
+ </small>
1738
+ </div>`, this.dom.querySelector("iframe").addEventListener("load", (e4) => {
1739
+ this.dom.dataset.state = "loaded";
1740
+ }, false), this.dom.querySelector(".r-overlay-close").addEventListener("click", (e4) => {
1741
+ this.close(), e4.preventDefault();
1742
+ }, false), this.dom.querySelector(".r-overlay-external").addEventListener("click", (e4) => {
1743
+ this.close();
1744
+ }, false), this.Reveal.dispatchEvent({
1745
+ type: "previewiframe",
1746
+ data: { url: e3 }
1747
+ });
1748
+ }
1749
+ previewMedia(e3, t, n) {
1750
+ if (t !== "image" && t !== "video") {
1751
+ console.warn("Please specify a valid media type to preview (image|video)");
1752
+ return;
1753
+ }
1754
+ this.close(), n || (n = "scale-down"), this.createOverlay("r-overlay-preview"), this.dom.dataset.state = "loading", this.dom.dataset.previewFit = n, this.viewport.innerHTML = '<header class="r-overlay-header">\n <button class="r-overlay-header-button r-overlay-close">Esc <span class="icon"></span></button>\n </header>\n <div class="r-overlay-spinner"></div>\n <div class="r-overlay-content"></div>';
1755
+ let r = this.dom.querySelector(".r-overlay-content");
1756
+ if (t === "image") {
1757
+ this.state = {
1758
+ previewImage: e3,
1759
+ previewFit: n
1760
+ };
1761
+ let t2 = document.createElement("img", {});
1762
+ t2.src = e3, r.appendChild(t2), t2.addEventListener("load", () => {
1763
+ this.dom.dataset.state = "loaded";
1764
+ }, false), t2.addEventListener("error", () => {
1765
+ this.dom.dataset.state = "error", r.innerHTML = '<span class="r-overlay-error">Unable to load image.</span>';
1766
+ }, false), this.dom.style.cursor = "zoom-out", this.dom.addEventListener("click", (e4) => {
1767
+ this.close();
1768
+ }, false), this.Reveal.dispatchEvent({
1769
+ type: "previewimage",
1770
+ data: { url: e3 }
1771
+ });
1772
+ } else if (t === "video") {
1773
+ this.state = {
1774
+ previewVideo: e3,
1775
+ previewFit: n
1776
+ };
1777
+ let t2 = document.createElement("video");
1778
+ t2.autoplay = this.dom.dataset.previewAutoplay !== "false", t2.controls = this.dom.dataset.previewControls !== "false", t2.loop = this.dom.dataset.previewLoop === "true", t2.muted = this.dom.dataset.previewMuted === "true", t2.playsInline = true, t2.src = e3, r.appendChild(t2), t2.addEventListener("loadeddata", () => {
1779
+ this.dom.dataset.state = "loaded";
1780
+ }, false), t2.addEventListener("error", () => {
1781
+ this.dom.dataset.state = "error", r.innerHTML = '<span class="r-overlay-error">Unable to load video.</span>';
1782
+ }, false), this.Reveal.dispatchEvent({
1783
+ type: "previewvideo",
1784
+ data: { url: e3 }
1785
+ });
1786
+ } else throw Error("Please specify a valid media type to preview");
1787
+ this.dom.querySelector(".r-overlay-close").addEventListener("click", (e4) => {
1788
+ this.close(), e4.preventDefault();
1789
+ }, false);
1790
+ }
1791
+ previewImage(e3, t) {
1792
+ this.previewMedia(e3, "image", t);
1793
+ }
1794
+ previewVideo(e3, t) {
1795
+ this.previewMedia(e3, "video", t);
1796
+ }
1797
+ toggleHelp(e3) {
1798
+ typeof e3 == "boolean" ? e3 ? this.showHelp() : this.close() : this.dom ? this.close() : this.showHelp();
1799
+ }
1800
+ showHelp() {
1801
+ if (this.Reveal.getConfig().help) {
1802
+ this.close(), this.createOverlay("r-overlay-help");
1803
+ let e3 = '<p class="title">Keyboard Shortcuts</p>', t = this.Reveal.keyboard.getShortcuts(), n = this.Reveal.keyboard.getBindings();
1804
+ for (let n2 in e3 += "<table><th>KEY</th><th>ACTION</th>", t) e3 += `<tr><td>${n2}</td><td>${t[n2]}</td></tr>`;
1805
+ for (let t2 in n) n[t2].key && n[t2].description && (e3 += `<tr><td>${n[t2].key}</td><td>${n[t2].description}</td></tr>`);
1806
+ e3 += "</table>", this.viewport.innerHTML = `
1807
+ <header class="r-overlay-header">
1808
+ <button class="r-overlay-header-button r-overlay-close">Esc <span class="icon"></span></button>
1809
+ </header>
1810
+ <div class="r-overlay-content">
1811
+ <div class="r-overlay-help-content">${e3}</div>
1812
+ </div>
1813
+ `, this.dom.querySelector(".r-overlay-close").addEventListener("click", (e4) => {
1814
+ this.close(), e4.preventDefault();
1815
+ }, false), this.Reveal.dispatchEvent({ type: "showhelp" });
1816
+ }
1817
+ }
1818
+ isOpen() {
1819
+ return !!this.dom;
1820
+ }
1821
+ close() {
1822
+ return this.dom ? (this.dom.remove(), this.dom = null, this.state = {}, this.Reveal.dispatchEvent({ type: "closeoverlay" }), true) : false;
1823
+ }
1824
+ getState() {
1825
+ return this.state;
1826
+ }
1827
+ setState(e3) {
1828
+ this.stateProps.every((t) => this.state[t] === e3[t]) || (e3.previewIframe ? this.previewIframe(e3.previewIframe) : e3.previewImage ? this.previewImage(e3.previewImage, e3.previewFit) : e3.previewVideo ? this.previewVideo(e3.previewVideo, e3.previewFit) : this.close());
1829
+ }
1830
+ onSlidesClicked(e3) {
1831
+ let t = e3.target, n = t.closest(this.iframeTriggerSelector), r = t.closest(this.mediaTriggerSelector);
1832
+ if (n) {
1833
+ if (e3.metaKey || e3.shiftKey || e3.altKey) return;
1834
+ let t2 = n.getAttribute("data-preview-link"), r2 = typeof t2 == "string" && t2.startsWith("http") ? t2 : n.getAttribute("href");
1835
+ r2 && (this.previewIframe(r2), e3.preventDefault());
1836
+ } else if (r) {
1837
+ if (r.hasAttribute("data-preview-image")) {
1838
+ let t2 = r.dataset.previewImage || r.getAttribute("src");
1839
+ t2 && (this.previewImage(t2, r.dataset.previewFit), e3.preventDefault());
1840
+ } else if (r.hasAttribute("data-preview-video")) {
1841
+ let t2 = r.dataset.previewVideo || r.getAttribute("src");
1842
+ if (!t2) {
1843
+ let e4 = r.querySelector("source");
1844
+ e4 && (t2 = e4.getAttribute("src"));
1845
+ }
1846
+ t2 && (this.previewVideo(t2, r.dataset.previewFit), e3.preventDefault());
1847
+ }
1848
+ }
1849
+ }
1850
+ destroy() {
1851
+ this.close();
1852
+ }
1853
+ }, Te$1 = 40, Ji = class {
1854
+ constructor(e3) {
1855
+ this.Reveal = e3, this.touchStartX = 0, this.touchStartY = 0, this.touchStartCount = 0, this.touchCaptured = false, this.onPointerDown = this.onPointerDown.bind(this), this.onPointerMove = this.onPointerMove.bind(this), this.onPointerUp = this.onPointerUp.bind(this), this.onTouchStart = this.onTouchStart.bind(this), this.onTouchMove = this.onTouchMove.bind(this), this.onTouchEnd = this.onTouchEnd.bind(this);
1856
+ }
1857
+ bind() {
1858
+ let e3 = this.Reveal.getRevealElement();
1859
+ "onpointerdown" in window ? (e3.addEventListener("pointerdown", this.onPointerDown, false), e3.addEventListener("pointermove", this.onPointerMove, false), e3.addEventListener("pointerup", this.onPointerUp, false)) : window.navigator.msPointerEnabled ? (e3.addEventListener("MSPointerDown", this.onPointerDown, false), e3.addEventListener("MSPointerMove", this.onPointerMove, false), e3.addEventListener("MSPointerUp", this.onPointerUp, false)) : (e3.addEventListener("touchstart", this.onTouchStart, false), e3.addEventListener("touchmove", this.onTouchMove, false), e3.addEventListener("touchend", this.onTouchEnd, false));
1860
+ }
1861
+ unbind() {
1862
+ let e3 = this.Reveal.getRevealElement();
1863
+ e3.removeEventListener("pointerdown", this.onPointerDown, false), e3.removeEventListener("pointermove", this.onPointerMove, false), e3.removeEventListener("pointerup", this.onPointerUp, false), e3.removeEventListener("MSPointerDown", this.onPointerDown, false), e3.removeEventListener("MSPointerMove", this.onPointerMove, false), e3.removeEventListener("MSPointerUp", this.onPointerUp, false), e3.removeEventListener("touchstart", this.onTouchStart, false), e3.removeEventListener("touchmove", this.onTouchMove, false), e3.removeEventListener("touchend", this.onTouchEnd, false);
1864
+ }
1865
+ isSwipePrevented(e3) {
1866
+ if (xe$1(e3, "video[controls], audio[controls]")) return true;
1867
+ for (; e3 && typeof e3.hasAttribute == "function"; ) {
1868
+ if (e3.hasAttribute("data-prevent-swipe")) return true;
1869
+ e3 = e3.parentNode;
1870
+ }
1871
+ return false;
1872
+ }
1873
+ onTouchStart(e3) {
1874
+ if (this.touchCaptured = false, this.isSwipePrevented(e3.target)) return true;
1875
+ this.touchStartX = e3.touches[0].clientX, this.touchStartY = e3.touches[0].clientY, this.touchStartCount = e3.touches.length;
1876
+ }
1877
+ onTouchMove(e3) {
1878
+ if (this.isSwipePrevented(e3.target)) return true;
1879
+ let t = this.Reveal.getConfig();
1880
+ if (this.touchCaptured) Ft && e3.preventDefault();
1881
+ else {
1882
+ this.Reveal.onUserInput(e3);
1883
+ let n = e3.touches[0].clientX, r = e3.touches[0].clientY;
1884
+ if (e3.touches.length === 1 && this.touchStartCount !== 2) {
1885
+ let i = this.Reveal.availableRoutes({ includeFragments: true }), a = n - this.touchStartX, o = r - this.touchStartY;
1886
+ a > Te$1 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = true, t.navigationMode === "linear" ? t.rtl ? this.Reveal.next() : this.Reveal.prev() : this.Reveal.left()) : a < -Te$1 && Math.abs(a) > Math.abs(o) ? (this.touchCaptured = true, t.navigationMode === "linear" ? t.rtl ? this.Reveal.prev() : this.Reveal.next() : this.Reveal.right()) : o > Te$1 && i.up ? (this.touchCaptured = true, t.navigationMode === "linear" ? this.Reveal.prev() : this.Reveal.up()) : o < -Te$1 && i.down && (this.touchCaptured = true, t.navigationMode === "linear" ? this.Reveal.next() : this.Reveal.down()), t.embedded ? (this.touchCaptured || this.Reveal.isVerticalSlide()) && e3.preventDefault() : e3.preventDefault();
1887
+ }
1888
+ }
1889
+ }
1890
+ onTouchEnd(e3) {
1891
+ this.touchCaptured && !this.Reveal.slideContent.isAllowedToPlayAudio() && this.Reveal.startEmbeddedContent(this.Reveal.getCurrentSlide()), this.touchCaptured = false;
1892
+ }
1893
+ onPointerDown(e3) {
1894
+ (e3.pointerType === e3.MSPOINTER_TYPE_TOUCH || e3.pointerType === "touch") && (e3.touches = [{
1895
+ clientX: e3.clientX,
1896
+ clientY: e3.clientY
1897
+ }], this.onTouchStart(e3));
1898
+ }
1899
+ onPointerMove(e3) {
1900
+ (e3.pointerType === e3.MSPOINTER_TYPE_TOUCH || e3.pointerType === "touch") && (e3.touches = [{
1901
+ clientX: e3.clientX,
1902
+ clientY: e3.clientY
1903
+ }], this.onTouchMove(e3));
1904
+ }
1905
+ onPointerUp(e3) {
1906
+ (e3.pointerType === e3.MSPOINTER_TYPE_TOUCH || e3.pointerType === "touch") && (e3.touches = [{
1907
+ clientX: e3.clientX,
1908
+ clientY: e3.clientY
1909
+ }], this.onTouchEnd(e3));
1910
+ }
1911
+ }, $e$1 = "focus", Ht = "blur", Qi = class {
1912
+ constructor(e3) {
1913
+ this.Reveal = e3, this.onRevealPointerDown = this.onRevealPointerDown.bind(this), this.onDocumentPointerDown = this.onDocumentPointerDown.bind(this);
1914
+ }
1915
+ configure(e3, t) {
1916
+ e3.embedded ? this.blur() : (this.focus(), this.unbind());
1917
+ }
1918
+ bind() {
1919
+ this.Reveal.getConfig().embedded && this.Reveal.getRevealElement().addEventListener("pointerdown", this.onRevealPointerDown, false);
1920
+ }
1921
+ unbind() {
1922
+ this.Reveal.getRevealElement().removeEventListener("pointerdown", this.onRevealPointerDown, false), document.removeEventListener("pointerdown", this.onDocumentPointerDown, false);
1923
+ }
1924
+ focus() {
1925
+ this.state !== $e$1 && (this.Reveal.getRevealElement().classList.add("focused"), document.addEventListener("pointerdown", this.onDocumentPointerDown, false)), this.state = $e$1;
1926
+ }
1927
+ blur() {
1928
+ this.state !== Ht && (this.Reveal.getRevealElement().classList.remove("focused"), document.removeEventListener("pointerdown", this.onDocumentPointerDown, false)), this.state = Ht;
1929
+ }
1930
+ isFocused() {
1931
+ return this.state === $e$1;
1932
+ }
1933
+ destroy() {
1934
+ this.Reveal.getRevealElement().classList.remove("focused");
1935
+ }
1936
+ onRevealPointerDown(e3) {
1937
+ this.focus();
1938
+ }
1939
+ onDocumentPointerDown(e3) {
1940
+ let t = V$1(e3.target, ".reveal");
1941
+ (!t || t !== this.Reveal.getRevealElement()) && this.blur();
1942
+ }
1943
+ }, Zi = class {
1944
+ constructor(e3) {
1945
+ this.Reveal = e3;
1946
+ }
1947
+ render() {
1948
+ this.element = document.createElement("div"), this.element.className = "speaker-notes", this.element.setAttribute("data-prevent-swipe", ""), this.element.setAttribute("tabindex", "0"), this.Reveal.getRevealElement().appendChild(this.element);
1949
+ }
1950
+ configure(e3, t) {
1951
+ e3.showNotes && this.element.setAttribute("data-layout", typeof e3.showNotes == "string" ? e3.showNotes : "inline");
1952
+ }
1953
+ update() {
1954
+ this.Reveal.getConfig().showNotes && this.element && this.Reveal.getCurrentSlide() && !this.Reveal.isScrollView() && !this.Reveal.isPrintView() && (this.element.innerHTML = this.getSlideNotes() || '<span class="notes-placeholder">No notes on this slide.</span>');
1955
+ }
1956
+ updateVisibility() {
1957
+ this.Reveal.getConfig().showNotes && this.hasNotes() && !this.Reveal.isScrollView() && !this.Reveal.isPrintView() ? this.Reveal.getRevealElement().classList.add("show-notes") : this.Reveal.getRevealElement().classList.remove("show-notes");
1958
+ }
1959
+ hasNotes() {
1960
+ return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length > 0;
1961
+ }
1962
+ isSpeakerNotesWindow() {
1963
+ return !!window.location.search.match(/receiver/gi);
1964
+ }
1965
+ getSlideNotes(e3 = this.Reveal.getCurrentSlide()) {
1966
+ if (e3.hasAttribute("data-notes")) return e3.getAttribute("data-notes");
1967
+ let t = e3.querySelectorAll("aside.notes");
1968
+ return t ? Array.from(t).map((e4) => e4.innerHTML).join("\n") : null;
1969
+ }
1970
+ destroy() {
1971
+ this.element.remove();
1972
+ }
1973
+ }, es = class {
1974
+ constructor(e3, t) {
1975
+ this.diameter = 100, this.diameter2 = this.diameter / 2, this.thickness = 6, this.playing = false, this.progress = 0, this.progressOffset = 1, this.container = e3, this.progressCheck = t, this.canvas = document.createElement("canvas"), this.canvas.className = "playback", this.canvas.width = this.diameter, this.canvas.height = this.diameter, this.canvas.style.width = this.diameter2 + "px", this.canvas.style.height = this.diameter2 + "px", this.context = this.canvas.getContext("2d"), this.container.appendChild(this.canvas), this.render();
1976
+ }
1977
+ setPlaying(e3) {
1978
+ let t = this.playing;
1979
+ this.playing = e3, !t && this.playing ? this.animate() : this.render();
1980
+ }
1981
+ animate() {
1982
+ let e3 = this.progress;
1983
+ this.progress = this.progressCheck(), e3 > 0.8 && this.progress < 0.2 && (this.progressOffset = this.progress), this.render(), this.playing && requestAnimationFrame(this.animate.bind(this));
1984
+ }
1985
+ render() {
1986
+ let e3 = this.playing ? this.progress : 0, t = this.diameter2 - this.thickness, n = this.diameter2, r = this.diameter2;
1987
+ this.progressOffset += (1 - this.progressOffset) * 0.1;
1988
+ let i = -Math.PI / 2 + e3 * (Math.PI * 2), a = -Math.PI / 2 + this.progressOffset * (Math.PI * 2);
1989
+ this.context.save(), this.context.clearRect(0, 0, this.diameter, this.diameter), this.context.beginPath(), this.context.arc(n, r, t + 4, 0, Math.PI * 2, false), this.context.fillStyle = "rgba( 0, 0, 0, 0.4 )", this.context.fill(), this.context.beginPath(), this.context.arc(n, r, t, 0, Math.PI * 2, false), this.context.lineWidth = this.thickness, this.context.strokeStyle = "rgba( 255, 255, 255, 0.2 )", this.context.stroke(), this.playing && (this.context.beginPath(), this.context.arc(n, r, t, a, i, false), this.context.lineWidth = this.thickness, this.context.strokeStyle = "#fff", this.context.stroke()), this.context.translate(n - 28 / 2, r - 28 / 2), this.playing ? (this.context.fillStyle = "#fff", this.context.fillRect(0, 0, 28 / 2 - 4, 28), this.context.fillRect(18, 0, 28 / 2 - 4, 28)) : (this.context.beginPath(), this.context.translate(4, 0), this.context.moveTo(0, 0), this.context.lineTo(24, 28 / 2), this.context.lineTo(0, 28), this.context.fillStyle = "#fff", this.context.fill()), this.context.restore();
1990
+ }
1991
+ on(e3, t) {
1992
+ this.canvas.addEventListener(e3, t, false);
1993
+ }
1994
+ off(e3, t) {
1995
+ this.canvas.removeEventListener(e3, t, false);
1996
+ }
1997
+ destroy() {
1998
+ this.playing = false, this.canvas.parentNode && this.container.removeChild(this.canvas);
1999
+ }
2000
+ }, ts = {
2001
+ width: 960,
2002
+ height: 700,
2003
+ margin: 0.04,
2004
+ minScale: 0.2,
2005
+ maxScale: 2,
2006
+ controls: true,
2007
+ controlsTutorial: true,
2008
+ controlsLayout: "bottom-right",
2009
+ controlsBackArrows: "faded",
2010
+ progress: true,
2011
+ slideNumber: false,
2012
+ showSlideNumber: "all",
2013
+ hashOneBasedIndex: false,
2014
+ hash: false,
2015
+ respondToHashChanges: true,
2016
+ jumpToSlide: true,
2017
+ history: false,
2018
+ keyboard: true,
2019
+ keyboardCondition: null,
2020
+ disableLayout: false,
2021
+ overview: true,
2022
+ center: true,
2023
+ touch: true,
2024
+ loop: false,
2025
+ rtl: false,
2026
+ navigationMode: "default",
2027
+ shuffle: false,
2028
+ fragments: true,
2029
+ fragmentInURL: true,
2030
+ embedded: false,
2031
+ help: true,
2032
+ pause: true,
2033
+ showNotes: false,
2034
+ showHiddenSlides: false,
2035
+ autoPlayMedia: null,
2036
+ preloadIframes: null,
2037
+ mouseWheel: false,
2038
+ previewLinks: false,
2039
+ viewDistance: 3,
2040
+ mobileViewDistance: 2,
2041
+ display: "block",
2042
+ hideInactiveCursor: true,
2043
+ hideCursorTime: 5e3,
2044
+ sortFragmentsOnSync: true,
2045
+ autoAnimate: true,
2046
+ autoAnimateMatcher: null,
2047
+ autoAnimateEasing: "ease",
2048
+ autoAnimateDuration: 1,
2049
+ autoAnimateUnmatched: true,
2050
+ autoAnimateStyles: [
2051
+ "opacity",
2052
+ "color",
2053
+ "background-color",
2054
+ "padding",
2055
+ "font-size",
2056
+ "line-height",
2057
+ "letter-spacing",
2058
+ "border-width",
2059
+ "border-color",
2060
+ "border-radius",
2061
+ "outline",
2062
+ "outline-offset"
2063
+ ],
2064
+ autoSlide: 0,
2065
+ autoSlideStoppable: true,
2066
+ autoSlideMethod: null,
2067
+ defaultTiming: null,
2068
+ postMessage: true,
2069
+ postMessageEvents: false,
2070
+ focusBodyOnPageVisibilityChange: true,
2071
+ transition: "slide",
2072
+ transitionSpeed: "default",
2073
+ backgroundTransition: "fade",
2074
+ parallaxBackgroundImage: "",
2075
+ parallaxBackgroundSize: "",
2076
+ parallaxBackgroundRepeat: "",
2077
+ parallaxBackgroundPosition: "",
2078
+ parallaxBackgroundHorizontal: null,
2079
+ parallaxBackgroundVertical: null,
2080
+ view: null,
2081
+ scrollLayout: "full",
2082
+ scrollSnap: "mandatory",
2083
+ scrollProgress: "auto",
2084
+ scrollActivationWidth: 435,
2085
+ pdfMaxPagesPerSlide: Infinity,
2086
+ pdfSeparateFragments: true,
2087
+ pdfPageHeightOffset: -1,
2088
+ dependencies: [],
2089
+ plugins: []
2090
+ }, Ot = "6.0.0";
2091
+ function Ut(e3, t) {
2092
+ arguments.length < 2 && (t = arguments[0], e3 = document.querySelector(".reveal"));
2093
+ let n = {}, r = {}, i = false, a = false, o, s, c, l, u = {
2094
+ hasNavigatedHorizontally: false,
2095
+ hasNavigatedVertically: false
2096
+ }, d = [], f = 1, mn = {
2097
+ layout: "",
2098
+ overview: ""
2099
+ }, p = {}, hn = "idle", m = 0, gn, _n = 0, bn = -1, xn = false, Dn = new Ci(n), kn = new Ii(n), jn = new Mi(n), Pn = new Hi(n), Fn = new Bi(n), In = new Oi(n), Ln = new Ui(n), Rn = new qi(n), zn = new Wi(n), Bn = new ji(n), Vn = new Ki(n), Hn = new _i(n), Un = new $i(n), Wn = new Xi(n), Gn = new Yi(n), Kn = new Gi(n), qn = new Qi(n), Jn = new Ji(n), Yn = new Zi(n);
2100
+ function Xn(a2) {
2101
+ if (!e3) throw 'Unable to find presentation root (<div class="reveal">).';
2102
+ if (i) throw "Reveal.js has already been initialized.";
2103
+ if (i = true, p.wrapper = e3, p.slides = e3.querySelector(".slides"), !p.slides) throw 'Unable to find slides container (<div class="slides">).';
2104
+ return r = Q$1(Q$1(Q$1(Q$1(Q$1({}, ts), r), t), a2), Mt()), /print-pdf/gi.test(window.location.search) && (r.view = "print"), Zn(), window.addEventListener("load", yr, false), Gn.load(r.plugins, r.dependencies).then(Qn), new Promise((e4) => n.on("ready", e4));
2105
+ }
2106
+ function Zn() {
2107
+ r.embedded === true ? p.viewport = V$1(e3, ".reveal-viewport") || e3 : (p.viewport = document.body, document.documentElement.classList.add("reveal-full-page")), p.viewport.classList.add("reveal-viewport");
2108
+ }
2109
+ function Qn() {
2110
+ i !== false && (a = true, er(), tr(), cr(), or(), sr(), Hr(), lr(), Fn.update(true), $n(), Vn.readURL(), setTimeout(() => {
2111
+ p.slides.classList.remove("no-transition"), p.wrapper.classList.add("ready"), gr({
2112
+ type: "ready",
2113
+ data: {
2114
+ indexh: o,
2115
+ indexv: s,
2116
+ currentSlide: l
2117
+ }
2118
+ });
2119
+ }, 1));
2120
+ }
2121
+ function $n() {
2122
+ let e4 = r.view === "print", t2 = r.view === "scroll" || r.view === "reader";
2123
+ (e4 || t2) && (e4 ? dr() : Jn.unbind(), p.viewport.classList.add("loading-scroll-mode"), e4 ? document.readyState === "complete" ? Ln.activate() : window.addEventListener("load", () => Ln.activate()) : In.activate());
2124
+ }
2125
+ function er() {
2126
+ r.showHiddenSlides || E$1(p.wrapper, 'section[data-visibility="hidden"]').forEach((e4) => {
2127
+ let t2 = e4.parentNode;
2128
+ t2.childElementCount === 1 && /section/i.test(t2.nodeName) ? t2.remove() : e4.remove();
2129
+ });
2130
+ }
2131
+ function tr() {
2132
+ p.slides.classList.add("no-transition"), le$1 ? p.wrapper.classList.add("no-hover") : p.wrapper.classList.remove("no-hover"), Fn.render(), kn.render(), jn.render(), Hn.render(), Un.render(), Yn.render(), p.pauseOverlay = wi(p.wrapper, "div", "pause-overlay", r.controls ? '<button class="resume-button">Resume presentation</button>' : null), p.statusElement = nr(), p.wrapper.setAttribute("role", "application");
2133
+ }
2134
+ function nr() {
2135
+ let e4 = p.wrapper.querySelector(".aria-status");
2136
+ return e4 || (e4 = document.createElement("div"), e4.style.position = "absolute", e4.style.height = "1px", e4.style.width = "1px", e4.style.overflow = "hidden", e4.style.clip = "rect( 1px, 1px, 1px, 1px )", e4.classList.add("aria-status"), e4.setAttribute("aria-live", "polite"), e4.setAttribute("aria-atomic", "true"), p.wrapper.appendChild(e4)), e4;
2137
+ }
2138
+ function rr(e4) {
2139
+ p.statusElement.textContent = e4;
2140
+ }
2141
+ function ir(e4) {
2142
+ let t2 = "";
2143
+ if (e4.nodeType === 3) t2 += e4.textContent.trim();
2144
+ else if (e4.nodeType === 1) {
2145
+ let n2 = e4.getAttribute("aria-hidden"), r2 = window.getComputedStyle(e4).display === "none";
2146
+ if (n2 !== "true" && !r2) {
2147
+ if (e4.tagName === "IMG" || e4.tagName === "VIDEO") {
2148
+ let n3 = e4.getAttribute("alt");
2149
+ n3 && (t2 += ar(n3));
2150
+ }
2151
+ Array.from(e4.childNodes).forEach((e5) => {
2152
+ t2 += ir(e5);
2153
+ }), [
2154
+ "P",
2155
+ "DIV",
2156
+ "UL",
2157
+ "OL",
2158
+ "LI",
2159
+ "H1",
2160
+ "H2",
2161
+ "H3",
2162
+ "H4",
2163
+ "H5",
2164
+ "H6",
2165
+ "BLOCKQUOTE"
2166
+ ].includes(e4.tagName) && t2.trim() !== "" && (t2 = ar(t2));
2167
+ }
2168
+ }
2169
+ return t2 = t2.trim(), t2 === "" ? "" : t2 + " ";
2170
+ }
2171
+ function ar(e4) {
2172
+ let t2 = e4.trim();
2173
+ return t2 === "" ? e4 : /[.!?]$/.test(t2) ? t2 : t2 + ".";
2174
+ }
2175
+ function or() {
2176
+ setInterval(() => {
2177
+ (!In.isActive() && p.wrapper.scrollTop !== 0 || p.wrapper.scrollLeft !== 0) && (p.wrapper.scrollTop = 0, p.wrapper.scrollLeft = 0);
2178
+ }, 1e3);
2179
+ }
2180
+ function sr() {
2181
+ document.addEventListener("fullscreenchange", da), document.addEventListener("webkitfullscreenchange", da);
2182
+ }
2183
+ function cr() {
2184
+ r.postMessage && window.addEventListener("message", oa, false);
2185
+ }
2186
+ function lr(e4) {
2187
+ let t2 = Q$1({}, r);
2188
+ if (typeof e4 == "object" && ge$1(r, e4), n.isReady() === false) return;
2189
+ let i2 = p.wrapper.querySelectorAll(de$1).length;
2190
+ 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 && Ur(), Ke$1(p.wrapper, "embedded", r.embedded), Ke$1(p.wrapper, "rtl", r.rtl), Ke$1(p.wrapper, "center", r.center), r.pause === false && jr(), Pn.reset(), gn && (gn = (gn.destroy(), null)), i2 > 1 && r.autoSlide && r.autoSlideStoppable && (gn = new es(p.wrapper, () => Math.min(Math.max((Date.now() - bn) / m, 0), 1)), gn.on("click", fa), xn = false), r.navigationMode === "default" ? p.wrapper.removeAttribute("data-navigation-mode") : p.wrapper.setAttribute("data-navigation-mode", r.navigationMode), Yn.configure(r, t2), qn.configure(r, t2), Wn.configure(r, t2), Hn.configure(r, t2), Un.configure(r, t2), Bn.configure(r, t2), Rn.configure(r, t2), kn.configure(r, t2), Br();
2191
+ }
2192
+ function ur() {
2193
+ window.addEventListener("resize", la, false), r.touch && Jn.bind(), r.keyboard && Bn.bind(), r.progress && Un.bind(), r.respondToHashChanges && Vn.bind(), Hn.bind(), qn.bind(), p.slides.addEventListener("click", ca, false), p.slides.addEventListener("transitionend", sa, false), p.pauseOverlay.addEventListener("click", jr, false), r.focusBodyOnPageVisibilityChange && document.addEventListener("visibilitychange", ua, false);
2194
+ }
2195
+ function dr() {
2196
+ Jn.unbind(), qn.unbind(), Bn.unbind(), Hn.unbind(), Un.unbind(), Vn.unbind(), window.removeEventListener("resize", la, false), p.slides.removeEventListener("click", ca, false), p.slides.removeEventListener("transitionend", sa, false), p.pauseOverlay.removeEventListener("click", jr, false);
2197
+ }
2198
+ function fr() {
2199
+ i = false, a !== false && (dr(), di(), Yn.destroy(), qn.destroy(), Kn.destroy(), Gn.destroy(), Wn.destroy(), Hn.destroy(), Un.destroy(), Fn.destroy(), kn.destroy(), jn.destroy(), document.removeEventListener("fullscreenchange", da), document.removeEventListener("webkitfullscreenchange", da), document.removeEventListener("visibilitychange", ua, false), window.removeEventListener("message", oa, false), window.removeEventListener("load", yr, 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((e4) => {
2200
+ e4.style.removeProperty("display"), e4.style.removeProperty("top"), e4.removeAttribute("hidden"), e4.removeAttribute("aria-hidden");
2201
+ }));
2202
+ }
2203
+ function pr(t2, n2, r2) {
2204
+ e3.addEventListener(t2, n2, r2);
2205
+ }
2206
+ function mr(t2, n2, r2) {
2207
+ e3.removeEventListener(t2, n2, r2);
2208
+ }
2209
+ function hr(e4) {
2210
+ typeof e4.layout == "string" && (mn.layout = e4.layout), typeof e4.overview == "string" && (mn.overview = e4.overview), mn.layout ? ae$1(p.slides, mn.layout + " " + mn.overview) : ae$1(p.slides, mn.overview);
2211
+ }
2212
+ function gr({ target: e4 = p.wrapper, type: t2, data: n2, bubbles: r2 = true }) {
2213
+ let i2 = document.createEvent("HTMLEvents", 1, 2);
2214
+ return i2.initEvent(t2, r2, true), ge$1(i2, n2), e4.dispatchEvent(i2), e4 === p.wrapper && vr(t2), i2;
2215
+ }
2216
+ function _r(e4) {
2217
+ gr({
2218
+ type: "slidechanged",
2219
+ data: {
2220
+ indexh: o,
2221
+ indexv: s,
2222
+ previousSlide: c,
2223
+ currentSlide: l,
2224
+ origin: e4
2225
+ }
2226
+ });
2227
+ }
2228
+ function vr(e4, t2) {
2229
+ if (r.postMessageEvents && window.parent !== window.self) {
2230
+ let n2 = {
2231
+ namespace: "reveal",
2232
+ eventName: e4,
2233
+ state: ci()
2234
+ };
2235
+ ge$1(n2, t2), window.parent.postMessage(JSON.stringify(n2), "*");
2236
+ }
2237
+ }
2238
+ function yr() {
2239
+ if (p.wrapper && !Ln.isActive()) {
2240
+ let e4 = p.viewport.offsetWidth, t2 = p.viewport.offsetHeight;
2241
+ if (!r.disableLayout) {
2242
+ le$1 && !r.embedded && document.documentElement.style.setProperty("--vh", window.innerHeight * 0.01 + "px");
2243
+ let n2 = In.isActive() ? Sr(e4, t2) : Sr(), i2 = f;
2244
+ br(r.width, r.height), p.slides.style.width = n2.width + "px", p.slides.style.height = n2.height + "px", f = Math.min(n2.presentationWidth / n2.width, n2.presentationHeight / n2.height), f = Math.max(f, r.minScale), f = Math.min(f, r.maxScale), f === 1 || In.isActive() ? (p.slides.style.zoom = "", p.slides.style.left = "", p.slides.style.top = "", p.slides.style.bottom = "", p.slides.style.right = "", hr({ 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", hr({ layout: "translate(-50%, -50%) scale(" + f + ")" }));
2245
+ let a2 = Array.from(p.wrapper.querySelectorAll(de$1));
2246
+ for (let e5 = 0, t3 = a2.length; e5 < t3; e5++) {
2247
+ let t4 = a2[e5];
2248
+ 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 = "");
2249
+ }
2250
+ i2 !== f && gr({
2251
+ type: "resize",
2252
+ data: {
2253
+ oldScale: i2,
2254
+ scale: f,
2255
+ size: n2
2256
+ }
2257
+ });
2258
+ }
2259
+ xr(), p.viewport.style.setProperty("--slide-scale", f), p.viewport.style.setProperty("--viewport-width", e4 + "px"), p.viewport.style.setProperty("--viewport-height", t2 + "px"), In.layout(), Un.update(), Fn.updateParallax(), zn.isActive() && zn.update();
2260
+ }
2261
+ }
2262
+ function br(e4, t2) {
2263
+ E$1(p.slides, "section > .stretch, section > .r-stretch").forEach((n2) => {
2264
+ let r2 = Ei(n2, t2);
2265
+ if (/(img|video)/gi.test(n2.nodeName)) {
2266
+ let t3 = n2.naturalWidth || n2.videoWidth, i2 = n2.naturalHeight || n2.videoHeight, a2 = Math.min(e4 / t3, r2 / i2);
2267
+ n2.style.width = t3 * a2 + "px", n2.style.height = i2 * a2 + "px";
2268
+ } else n2.style.width = e4 + "px", n2.style.height = r2 + "px";
2269
+ });
2270
+ }
2271
+ function xr() {
2272
+ if (p.wrapper && !r.disableLayout && !Ln.isActive() && typeof r.scrollActivationWidth == "number" && r.view !== "scroll") {
2273
+ let e4 = Sr();
2274
+ e4.presentationWidth > 0 && e4.presentationWidth <= r.scrollActivationWidth ? In.isActive() || (Fn.create(), In.activate()) : In.isActive() && In.deactivate();
2275
+ }
2276
+ }
2277
+ function Sr(e4, t2) {
2278
+ let n2 = r.width, i2 = r.height;
2279
+ r.disableLayout && (n2 = p.slides.offsetWidth, i2 = p.slides.offsetHeight);
2280
+ let a2 = {
2281
+ width: n2,
2282
+ height: i2,
2283
+ presentationWidth: e4 || p.wrapper.offsetWidth,
2284
+ presentationHeight: t2 || p.wrapper.offsetHeight
2285
+ };
2286
+ 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;
2287
+ }
2288
+ function Cr(e4, t2) {
2289
+ typeof e4 == "object" && typeof e4.setAttribute == "function" && e4.setAttribute("data-previous-indexv", t2 || 0);
2290
+ }
2291
+ function wr(e4) {
2292
+ if (typeof e4 == "object" && typeof e4.setAttribute == "function" && e4.classList.contains("stack")) {
2293
+ let t2 = e4.hasAttribute("data-start-indexv") ? "data-start-indexv" : "data-previous-indexv";
2294
+ return parseInt(e4.getAttribute(t2) || 0, 10);
2295
+ }
2296
+ return 0;
2297
+ }
2298
+ function Tr(e4 = l) {
2299
+ return e4 && e4.parentNode && !!e4.parentNode.nodeName.match(/section/i);
2300
+ }
2301
+ function Er(e4 = l) {
2302
+ return e4.classList.contains(".stack") || e4.querySelector("section") !== null;
2303
+ }
2304
+ function Dr() {
2305
+ return l && Tr(l) ? !l.nextElementSibling : false;
2306
+ }
2307
+ function Or() {
2308
+ return o === 0 && s === 0;
2309
+ }
2310
+ function kr() {
2311
+ return l ? !(l.nextElementSibling || Tr(l) && l.parentNode.nextElementSibling) : false;
2312
+ }
2313
+ function Ar() {
2314
+ if (r.pause) {
2315
+ let e4 = p.wrapper.classList.contains("paused");
2316
+ di(), p.wrapper.classList.add("paused"), e4 === false && gr({ type: "paused" });
2317
+ }
2318
+ }
2319
+ function jr() {
2320
+ let e4 = p.wrapper.classList.contains("paused");
2321
+ p.wrapper.classList.remove("paused"), ui(), e4 && gr({ type: "resumed" });
2322
+ }
2323
+ function Mr(e4) {
2324
+ typeof e4 == "boolean" ? e4 ? Ar() : jr() : Nr() ? jr() : Ar();
2325
+ }
2326
+ function Nr() {
2327
+ return p.wrapper.classList.contains("paused");
2328
+ }
2329
+ function Pr(e4) {
2330
+ typeof e4 == "boolean" ? e4 ? jn.show() : jn.hide() : jn.isVisible() ? jn.hide() : jn.show();
2331
+ }
2332
+ function Fr(e4) {
2333
+ typeof e4 == "boolean" ? e4 ? hi() : fi() : xn ? hi() : fi();
2334
+ }
2335
+ function Ir() {
2336
+ return !!(m && !xn);
2337
+ }
2338
+ function Lr(t2, n2, i2, a2) {
2339
+ if (gr({
2340
+ type: "beforeslidechange",
2341
+ data: {
2342
+ indexh: t2 === void 0 ? o : t2,
2343
+ indexv: n2 === void 0 ? s : n2,
2344
+ origin: a2
2345
+ }
2346
+ }).defaultPrevented) return;
2347
+ c = l;
2348
+ let u2 = p.wrapper.querySelectorAll(te$1);
2349
+ if (In.isActive()) {
2350
+ let e4 = In.getSlideByIndices(t2, n2);
2351
+ e4 && In.scrollToSlide(e4);
2352
+ return;
2353
+ }
2354
+ if (u2.length === 0) return;
2355
+ n2 === void 0 && !zn.isActive() && (n2 = wr(u2[t2])), c && c.parentNode && c.parentNode.classList.contains("stack") && Cr(c.parentNode, s);
2356
+ let f2 = d.concat();
2357
+ d.length = 0;
2358
+ let mn2 = o || 0, m2 = s || 0;
2359
+ o = Wr(te$1, t2 === void 0 ? o : t2), s = Wr(_e$1, n2 === void 0 ? s : n2);
2360
+ let gn2 = o !== mn2 || s !== m2;
2361
+ gn2 || (c = null);
2362
+ let _n2 = u2[o], vn = _n2.querySelectorAll("section");
2363
+ e3.classList.toggle("is-vertical-slide", vn.length > 1), l = vn[s] || _n2;
2364
+ let yn = false;
2365
+ gn2 && c && l && !zn.isActive() && (hn = "running", yn = Rr(c, l, mn2, m2), yn && p.slides.classList.add("disable-slide-transitions")), qr(), yr(), zn.isActive() && zn.update(), i2 !== void 0 && Rn.goto(i2), c && c !== l && (c.classList.remove("present"), c.setAttribute("aria-hidden", "true"), Or() && setTimeout(() => {
2366
+ ti().forEach((e4) => {
2367
+ Cr(e4, 0);
2368
+ });
2369
+ }, 0));
2370
+ e: for (let e4 = 0, t3 = d.length; e4 < t3; e4++) {
2371
+ for (let t4 = 0; t4 < f2.length; t4++) if (f2[t4] === d[e4]) {
2372
+ f2.splice(t4, 1);
2373
+ continue e;
2374
+ }
2375
+ p.viewport.classList.add(d[e4]), gr({ type: d[e4] });
2376
+ }
2377
+ for (; f2.length; ) p.viewport.classList.remove(f2.pop());
2378
+ gn2 && (Dn.afterSlideChanged(), _r(a2)), (gn2 || !c) && (Dn.stopEmbeddedContent(c), Dn.startEmbeddedContent(l)), requestAnimationFrame(() => {
2379
+ rr(ir(l));
2380
+ }), Un.update(), Hn.update(), Yn.update(), Fn.update(), Fn.updateParallax(), kn.update(), Rn.update(), Vn.writeURL(), ui(), yn && (setTimeout(() => {
2381
+ p.slides.classList.remove("disable-slide-transitions");
2382
+ }, 0), r.autoAnimate && Pn.run(c, l));
2383
+ }
2384
+ function Rr(e4, t2, n2, r2) {
2385
+ return e4.hasAttribute("data-auto-animate") && t2.hasAttribute("data-auto-animate") && e4.getAttribute("data-auto-animate-id") === t2.getAttribute("data-auto-animate-id") && !(o > n2 || s > r2 ? t2 : e4).hasAttribute("data-auto-animate-restart");
2386
+ }
2387
+ function zr(e4, t2, n2) {
2388
+ let i2 = o || 0;
2389
+ o = t2, s = n2;
2390
+ let a2 = l !== e4;
2391
+ c = l, l = e4, l && c && r.autoAnimate && Rr(c, l, i2, s) && Pn.run(c, l), a2 && (Dn.afterSlideChanged(), c && (Dn.stopEmbeddedContent(c), Dn.stopEmbeddedContent(c.slideBackgroundElement)), Dn.startEmbeddedContent(l), Dn.startEmbeddedContent(l.slideBackgroundElement)), requestAnimationFrame(() => {
2392
+ rr(ir(l));
2393
+ }), _r();
2394
+ }
2395
+ function Br() {
2396
+ dr(), ur(), yr(), m = r.autoSlide, ui(), Fn.create(), Vn.writeURL(), r.sortFragmentsOnSync === true && Rn.sortAll(), o !== void 0 && (o = Wr(te$1, o), s = Wr(_e$1, s)), Hn.update(), Un.update(), qr(), Yn.update(), Yn.updateVisibility(), Kn.update(), Fn.update(true), kn.update(), Dn.formatEmbeddedContent(), r.autoPlayMedia === false ? Dn.stopEmbeddedContent(l, { unloadIframes: false }) : Dn.startEmbeddedContent(l), zn.isActive() && zn.layout(), gr({ type: "sync" });
2397
+ }
2398
+ function Vr(e4 = l) {
2399
+ Fn.sync(e4), Rn.sync(e4), Dn.load(e4), Fn.update(), Yn.update(), gr({
2400
+ type: "slidesync",
2401
+ data: { slide: e4 }
2402
+ });
2403
+ }
2404
+ function Hr() {
2405
+ $r().forEach((e4) => {
2406
+ E$1(e4, "section").forEach((e5, t2) => {
2407
+ t2 > 0 && (e5.classList.remove("present"), e5.classList.remove("past"), e5.classList.add("future"), e5.setAttribute("aria-hidden", "true"));
2408
+ });
2409
+ });
2410
+ }
2411
+ function Ur(e4 = $r()) {
2412
+ e4.forEach((t2, n2) => {
2413
+ let r2 = e4[Math.floor(Math.random() * e4.length)];
2414
+ r2.parentNode === t2.parentNode && t2.parentNode.insertBefore(t2, r2);
2415
+ let i2 = t2.querySelectorAll("section");
2416
+ i2.length && Ur(i2);
2417
+ });
2418
+ }
2419
+ function Wr(e4, t2) {
2420
+ let n2 = E$1(p.wrapper, e4), i2 = n2.length, a2 = In.isActive() || Ln.isActive(), o2 = false, s2 = false;
2421
+ if (i2) {
2422
+ r.loop && (t2 >= i2 && (o2 = true), t2 %= i2, t2 < 0 && (t2 = i2 + t2, s2 = true)), t2 = Math.max(Math.min(t2, i2 - 1), 0);
2423
+ for (let e6 = 0; e6 < i2; e6++) {
2424
+ let i3 = n2[e6], c3 = r.rtl && !Tr(i3);
2425
+ 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) {
2426
+ i3.classList.add("present");
2427
+ continue;
2428
+ }
2429
+ e6 < t2 ? (i3.classList.add(c3 ? "future" : "past"), r.fragments && Gr(i3)) : e6 > t2 ? (i3.classList.add(c3 ? "past" : "future"), r.fragments && Kr(i3)) : e6 === t2 && r.fragments && (o2 ? Kr(i3) : s2 && Gr(i3));
2430
+ }
2431
+ let e5 = n2[t2], c2 = e5.classList.contains("present");
2432
+ e5.classList.add("present"), e5.removeAttribute("hidden"), e5.removeAttribute("aria-hidden"), c2 || gr({
2433
+ target: e5,
2434
+ type: "visible",
2435
+ bubbles: false
2436
+ });
2437
+ let l2 = e5.getAttribute("data-state");
2438
+ l2 && (d = d.concat(l2.split(" ")));
2439
+ } else t2 = 0;
2440
+ return t2;
2441
+ }
2442
+ function Gr(e4) {
2443
+ E$1(e4, ".fragment").forEach((e5) => {
2444
+ e5.classList.add("visible"), e5.classList.remove("current-fragment");
2445
+ });
2446
+ }
2447
+ function Kr(e4) {
2448
+ E$1(e4, ".fragment.visible").forEach((e5) => {
2449
+ e5.classList.remove("visible", "current-fragment");
2450
+ });
2451
+ }
2452
+ function qr() {
2453
+ let e4 = $r(), t2 = e4.length, n2, i2;
2454
+ if (t2 && o !== void 0) {
2455
+ let a2 = zn.isActive(), c2 = a2 ? 10 : r.viewDistance;
2456
+ le$1 && (c2 = a2 ? 6 : r.mobileViewDistance), Ln.isActive() && (c2 = Number.MAX_VALUE);
2457
+ for (let l2 = 0; l2 < t2; l2++) {
2458
+ let u2 = e4[l2], d2 = E$1(u2, "section"), f2 = d2.length;
2459
+ if (n2 = Math.abs((o || 0) - l2) || 0, r.loop && (n2 = Math.abs(((o || 0) - l2) % (t2 - c2)) || 0), n2 < c2 ? Dn.load(u2) : Dn.unload(u2), f2) {
2460
+ let e5 = a2 ? 0 : wr(u2);
2461
+ for (let t3 = 0; t3 < f2; t3++) {
2462
+ let r2 = d2[t3];
2463
+ i2 = Math.abs(l2 === (o || 0) ? (s || 0) - t3 : t3 - e5), n2 + i2 < c2 ? Dn.load(r2) : Dn.unload(r2);
2464
+ }
2465
+ }
2466
+ }
2467
+ ri() ? p.wrapper.classList.add("has-vertical-slides") : p.wrapper.classList.remove("has-vertical-slides"), ni() ? p.wrapper.classList.add("has-horizontal-slides") : p.wrapper.classList.remove("has-horizontal-slides");
2468
+ }
2469
+ }
2470
+ function Jr({ includeFragments: e4 = false } = {}) {
2471
+ let t2 = p.wrapper.querySelectorAll(te$1), n2 = p.wrapper.querySelectorAll(_e$1), i2 = {
2472
+ left: o > 0,
2473
+ right: o < t2.length - 1,
2474
+ up: s > 0,
2475
+ down: s < n2.length - 1
2476
+ };
2477
+ 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), e4 === true) {
2478
+ let e5 = Rn.availableRoutes();
2479
+ i2.left = i2.left || e5.prev, i2.up = i2.up || e5.prev, i2.down = i2.down || e5.next, i2.right = i2.right || e5.next;
2480
+ }
2481
+ if (r.rtl) {
2482
+ let e5 = i2.left;
2483
+ i2.left = i2.right, i2.right = e5;
2484
+ }
2485
+ return i2;
2486
+ }
2487
+ function Yr(e4 = l) {
2488
+ let t2 = $r(), n2 = 0;
2489
+ e: for (let r2 = 0; r2 < t2.length; r2++) {
2490
+ let i2 = t2[r2], a2 = i2.querySelectorAll("section");
2491
+ for (let t3 = 0; t3 < a2.length; t3++) {
2492
+ if (a2[t3] === e4) break e;
2493
+ a2[t3].dataset.visibility !== "uncounted" && n2++;
2494
+ }
2495
+ if (i2 === e4) break;
2496
+ i2.classList.contains("stack") === false && i2.dataset.visibility !== "uncounted" && n2++;
2497
+ }
2498
+ return n2;
2499
+ }
2500
+ function Xr() {
2501
+ let e4 = ai(), t2 = Yr();
2502
+ if (l) {
2503
+ let e5 = l.querySelectorAll(".fragment");
2504
+ if (e5.length > 0) {
2505
+ let n2 = l.querySelectorAll(".fragment.visible");
2506
+ t2 += n2.length / e5.length * 0.9;
2507
+ }
2508
+ }
2509
+ return Math.min(t2 / (e4 - 1), 1);
2510
+ }
2511
+ function Zr(e4) {
2512
+ let t2 = o, n2 = s, r2;
2513
+ if (e4) if (In.isActive()) t2 = parseInt(e4.getAttribute("data-index-h"), 10), e4.getAttribute("data-index-v") && (n2 = parseInt(e4.getAttribute("data-index-v"), 10));
2514
+ else {
2515
+ let r3 = Tr(e4), i2 = r3 ? e4.parentNode : e4, a2 = $r();
2516
+ t2 = Math.max(a2.indexOf(i2), 0), n2 = void 0, r3 && (n2 = Math.max(E$1(e4.parentNode, "section").indexOf(e4), 0));
2517
+ }
2518
+ if (!e4 && l && l.querySelectorAll(".fragment").length > 0) {
2519
+ let e5 = l.querySelector(".current-fragment");
2520
+ r2 = e5 && e5.hasAttribute("data-fragment-index") ? parseInt(e5.getAttribute("data-fragment-index"), 10) : l.querySelectorAll(".fragment.visible").length - 1;
2521
+ }
2522
+ return {
2523
+ h: t2,
2524
+ v: n2,
2525
+ f: r2
2526
+ };
2527
+ }
2528
+ function Qr() {
2529
+ return E$1(p.wrapper, de$1 + ':not(.stack):not([data-visibility="uncounted"])');
2530
+ }
2531
+ function $r() {
2532
+ return E$1(p.wrapper, te$1);
2533
+ }
2534
+ function ei() {
2535
+ return E$1(p.wrapper, ".slides>section>section");
2536
+ }
2537
+ function ti() {
2538
+ return E$1(p.wrapper, te$1 + ".stack");
2539
+ }
2540
+ function ni() {
2541
+ return $r().length > 1;
2542
+ }
2543
+ function ri() {
2544
+ return ei().length > 1;
2545
+ }
2546
+ function ii() {
2547
+ return Qr().map((e4) => {
2548
+ let t2 = {};
2549
+ for (let n2 = 0; n2 < e4.attributes.length; n2++) {
2550
+ let r2 = e4.attributes[n2];
2551
+ t2[r2.name] = r2.value;
2552
+ }
2553
+ return t2;
2554
+ });
2555
+ }
2556
+ function ai() {
2557
+ return Qr().length;
2558
+ }
2559
+ function oi(e4, t2) {
2560
+ let n2 = $r()[e4], r2 = n2 && n2.querySelectorAll("section");
2561
+ return r2 && r2.length && typeof t2 == "number" ? r2 ? r2[t2] : void 0 : n2;
2562
+ }
2563
+ function si(e4, t2) {
2564
+ let n2 = typeof e4 == "number" ? oi(e4, t2) : e4;
2565
+ if (n2) return n2.slideBackgroundElement;
2566
+ }
2567
+ function ci() {
2568
+ let e4 = Zr();
2569
+ return Q$1({
2570
+ indexh: e4.h,
2571
+ indexv: e4.v,
2572
+ indexf: e4.f,
2573
+ paused: Nr(),
2574
+ overview: zn.isActive()
2575
+ }, Kn.getState());
2576
+ }
2577
+ function li(e4) {
2578
+ if (typeof e4 == "object") {
2579
+ Lr(fe$1(e4.indexh), fe$1(e4.indexv), fe$1(e4.indexf));
2580
+ let t2 = fe$1(e4.paused), n2 = fe$1(e4.overview);
2581
+ typeof t2 == "boolean" && t2 !== Nr() && Mr(t2), typeof n2 == "boolean" && n2 !== zn.isActive() && zn.toggle(n2), Kn.setState(e4);
2582
+ }
2583
+ }
2584
+ function ui() {
2585
+ if (di(), l && r.autoSlide !== false) {
2586
+ let e4 = l.querySelector(".current-fragment[data-autoslide]"), t2 = e4 ? e4.getAttribute("data-autoslide") : null, n2 = l.parentNode ? l.parentNode.getAttribute("data-autoslide") : null, i2 = l.getAttribute("data-autoslide");
2587
+ t2 ? m = parseInt(t2, 10) : i2 ? m = parseInt(i2, 10) : n2 ? m = parseInt(n2, 10) : (m = r.autoSlide, l.querySelectorAll(".fragment").length === 0 && E$1(l, "video, audio").forEach((e5) => {
2588
+ e5.hasAttribute("data-autoplay") && m && e5.duration * 1e3 / e5.playbackRate > m && (m = e5.duration * 1e3 / e5.playbackRate + 1e3);
2589
+ })), m && !xn && !Nr() && !zn.isActive() && (!kr() || Rn.availableRoutes().next || r.loop === true) && (_n = setTimeout(() => {
2590
+ typeof r.autoSlideMethod == "function" ? r.autoSlideMethod() : ia(), ui();
2591
+ }, m), bn = Date.now()), gn && gn.setPlaying(_n !== -1);
2592
+ }
2593
+ }
2594
+ function di() {
2595
+ clearTimeout(_n), _n = -1;
2596
+ }
2597
+ function fi() {
2598
+ m && !xn && (xn = true, gr({ type: "autoslidepaused" }), clearTimeout(_n), gn && gn.setPlaying(false));
2599
+ }
2600
+ function hi() {
2601
+ m && xn && (xn = false, gr({ type: "autoslideresumed" }), ui());
2602
+ }
2603
+ function gi({ skipFragments: e4 = false } = {}) {
2604
+ if (u.hasNavigatedHorizontally = true, In.isActive()) return In.prev();
2605
+ r.rtl ? (zn.isActive() || e4 || Rn.next() === false) && Jr().left && Lr(o + 1, r.navigationMode === "grid" ? s : void 0) : (zn.isActive() || e4 || Rn.prev() === false) && Jr().left && Lr(o - 1, r.navigationMode === "grid" ? s : void 0);
2606
+ }
2607
+ function ea({ skipFragments: e4 = false } = {}) {
2608
+ if (u.hasNavigatedHorizontally = true, In.isActive()) return In.next();
2609
+ r.rtl ? (zn.isActive() || e4 || Rn.prev() === false) && Jr().right && Lr(o - 1, r.navigationMode === "grid" ? s : void 0) : (zn.isActive() || e4 || Rn.next() === false) && Jr().right && Lr(o + 1, r.navigationMode === "grid" ? s : void 0);
2610
+ }
2611
+ function ta({ skipFragments: e4 = false } = {}) {
2612
+ if (In.isActive()) return In.prev();
2613
+ (zn.isActive() || e4 || Rn.prev() === false) && Jr().up && Lr(o, s - 1);
2614
+ }
2615
+ function na({ skipFragments: e4 = false } = {}) {
2616
+ if (u.hasNavigatedVertically = true, In.isActive()) return In.next();
2617
+ (zn.isActive() || e4 || Rn.next() === false) && Jr().down && Lr(o, s + 1);
2618
+ }
2619
+ function ra({ skipFragments: e4 = false } = {}) {
2620
+ if (In.isActive()) return In.prev();
2621
+ if (e4 || Rn.prev() === false) if (Jr().up) ta({ skipFragments: e4 });
2622
+ else {
2623
+ let t2;
2624
+ if (t2 = r.rtl ? E$1(p.wrapper, te$1 + ".future").pop() : E$1(p.wrapper, te$1 + ".past").pop(), t2 && t2.classList.contains("stack")) {
2625
+ let e5 = t2.querySelectorAll("section").length - 1 || void 0;
2626
+ Lr(o - 1, e5);
2627
+ } else r.rtl ? ea({ skipFragments: e4 }) : gi({ skipFragments: e4 });
2628
+ }
2629
+ }
2630
+ function ia({ skipFragments: e4 = false } = {}) {
2631
+ if (u.hasNavigatedHorizontally = true, u.hasNavigatedVertically = true, In.isActive()) return In.next();
2632
+ if (e4 || Rn.next() === false) {
2633
+ let t2 = Jr();
2634
+ t2.down && t2.right && r.loop && Dr() && (t2.down = false), t2.down ? na({ skipFragments: e4 }) : r.rtl ? gi({ skipFragments: e4 }) : ea({ skipFragments: e4 });
2635
+ }
2636
+ }
2637
+ function aa(e4) {
2638
+ r.autoSlideStoppable && fi();
2639
+ }
2640
+ function oa(e4) {
2641
+ let t2 = e4.data;
2642
+ 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) {
2643
+ let e5 = n[t2.method].apply(n, t2.args);
2644
+ vr("callback", {
2645
+ method: t2.method,
2646
+ result: e5
2647
+ });
2648
+ } else console.warn('reveal.js: "' + t2.method + '" is is blacklisted from the postMessage API');
2649
+ }
2650
+ function sa(e4) {
2651
+ hn === "running" && /section/gi.test(e4.target.nodeName) && (hn = "idle", gr({
2652
+ type: "slidetransitionend",
2653
+ data: {
2654
+ indexh: o,
2655
+ indexv: s,
2656
+ previousSlide: c,
2657
+ currentSlide: l
2658
+ }
2659
+ }));
2660
+ }
2661
+ function ca(e4) {
2662
+ let t2 = V$1(e4.target, 'a[href^="#"]');
2663
+ if (t2) {
2664
+ let r2 = t2.getAttribute("href"), i2 = Vn.getIndicesFromHash(r2);
2665
+ i2 && (n.slide(i2.h, i2.v, i2.f), e4.preventDefault());
2666
+ }
2667
+ }
2668
+ function la(e4) {
2669
+ yr();
2670
+ }
2671
+ function ua(e4) {
2672
+ document.hidden === false && document.activeElement !== document.body && (typeof document.activeElement.blur == "function" && document.activeElement.blur(), document.body.focus());
2673
+ }
2674
+ function da(e4) {
2675
+ (document.fullscreenElement || document.webkitFullscreenElement) === p.wrapper && (e4.stopImmediatePropagation(), setTimeout(() => {
2676
+ n.layout(), n.focus.focus();
2677
+ }, 1));
2678
+ }
2679
+ function fa(e4) {
2680
+ kr() && r.loop === false ? (Lr(0, 0), hi()) : xn ? hi() : fi();
2681
+ }
2682
+ let pa = {
2683
+ VERSION: Ot,
2684
+ initialize: Xn,
2685
+ configure: lr,
2686
+ destroy: fr,
2687
+ sync: Br,
2688
+ syncSlide: Vr,
2689
+ syncFragments: Rn.sync.bind(Rn),
2690
+ slide: Lr,
2691
+ left: gi,
2692
+ right: ea,
2693
+ up: ta,
2694
+ down: na,
2695
+ prev: ra,
2696
+ next: ia,
2697
+ navigateLeft: gi,
2698
+ navigateRight: ea,
2699
+ navigateUp: ta,
2700
+ navigateDown: na,
2701
+ navigatePrev: ra,
2702
+ navigateNext: ia,
2703
+ navigateFragment: Rn.goto.bind(Rn),
2704
+ prevFragment: Rn.prev.bind(Rn),
2705
+ nextFragment: Rn.next.bind(Rn),
2706
+ on: pr,
2707
+ off: mr,
2708
+ addEventListener: pr,
2709
+ removeEventListener: mr,
2710
+ layout: yr,
2711
+ shuffle: Ur,
2712
+ availableRoutes: Jr,
2713
+ availableFragments: Rn.availableRoutes.bind(Rn),
2714
+ toggleHelp: Kn.toggleHelp.bind(Kn),
2715
+ toggleOverview: zn.toggle.bind(zn),
2716
+ toggleScrollView: In.toggle.bind(In),
2717
+ togglePause: Mr,
2718
+ toggleAutoSlide: Fr,
2719
+ toggleJumpToSlide: Pr,
2720
+ isFirstSlide: Or,
2721
+ isLastSlide: kr,
2722
+ isLastVerticalSlide: Dr,
2723
+ isVerticalSlide: Tr,
2724
+ isVerticalStack: Er,
2725
+ isPaused: Nr,
2726
+ isAutoSliding: Ir,
2727
+ isSpeakerNotes: Yn.isSpeakerNotesWindow.bind(Yn),
2728
+ isOverview: zn.isActive.bind(zn),
2729
+ isFocused: qn.isFocused.bind(qn),
2730
+ isOverlayOpen: Kn.isOpen.bind(Kn),
2731
+ isScrollView: In.isActive.bind(In),
2732
+ isPrintView: Ln.isActive.bind(Ln),
2733
+ isReady: () => a,
2734
+ loadSlide: Dn.load.bind(Dn),
2735
+ unloadSlide: Dn.unload.bind(Dn),
2736
+ startEmbeddedContent: () => Dn.startEmbeddedContent(l),
2737
+ stopEmbeddedContent: () => Dn.stopEmbeddedContent(l, { unloadIframes: false }),
2738
+ previewIframe: Kn.previewIframe.bind(Kn),
2739
+ previewImage: Kn.previewImage.bind(Kn),
2740
+ previewVideo: Kn.previewVideo.bind(Kn),
2741
+ showPreview: Kn.previewIframe.bind(Kn),
2742
+ hidePreview: Kn.close.bind(Kn),
2743
+ addEventListeners: ur,
2744
+ removeEventListeners: dr,
2745
+ dispatchEvent: gr,
2746
+ getState: ci,
2747
+ setState: li,
2748
+ getProgress: Xr,
2749
+ getIndices: Zr,
2750
+ getSlidesAttributes: ii,
2751
+ getSlidePastCount: Yr,
2752
+ getTotalSlides: ai,
2753
+ getSlide: oi,
2754
+ getPreviousSlide: () => c,
2755
+ getCurrentSlide: () => l,
2756
+ getSlideBackground: si,
2757
+ getSlideNotes: Yn.getSlideNotes.bind(Yn),
2758
+ getSlides: Qr,
2759
+ getHorizontalSlides: $r,
2760
+ getVerticalSlides: ei,
2761
+ hasHorizontalSlides: ni,
2762
+ hasVerticalSlides: ri,
2763
+ hasNavigatedHorizontally: () => u.hasNavigatedHorizontally,
2764
+ hasNavigatedVertically: () => u.hasNavigatedVertically,
2765
+ shouldAutoAnimateBetween: Rr,
2766
+ addKeyBinding: Bn.addKeyBinding.bind(Bn),
2767
+ removeKeyBinding: Bn.removeKeyBinding.bind(Bn),
2768
+ triggerKey: Bn.triggerKey.bind(Bn),
2769
+ registerKeyboardShortcut: Bn.registerKeyboardShortcut.bind(Bn),
2770
+ getComputedSlideSize: Sr,
2771
+ setCurrentScrollPage: zr,
2772
+ removeHiddenSlides: er,
2773
+ getScale: () => f,
2774
+ getConfig: () => r,
2775
+ getQueryHash: Mt,
2776
+ getSlidePath: Vn.getHash.bind(Vn),
2777
+ getRevealElement: () => e3,
2778
+ getSlidesElement: () => p.slides,
2779
+ getViewportElement: () => p.viewport,
2780
+ getBackgroundsElement: () => Fn.element,
2781
+ registerPlugin: Gn.registerPlugin.bind(Gn),
2782
+ hasPlugin: Gn.hasPlugin.bind(Gn),
2783
+ getPlugin: Gn.getPlugin.bind(Gn),
2784
+ getPlugins: Gn.getRegisteredPlugins.bind(Gn)
2785
+ };
2786
+ return ge$1(n, We$1(Q$1({}, pa), {
2787
+ announceStatus: rr,
2788
+ getStatusText: ir,
2789
+ focus: qn,
2790
+ scroll: In,
2791
+ progress: Un,
2792
+ controls: Hn,
2793
+ location: Vn,
2794
+ overview: zn,
2795
+ keyboard: Bn,
2796
+ fragments: Rn,
2797
+ backgrounds: Fn,
2798
+ slideContent: Dn,
2799
+ slideNumber: kn,
2800
+ onUserInput: aa,
2801
+ closeOverlay: Kn.close.bind(Kn),
2802
+ updateSlidesVisibility: qr,
2803
+ layoutSlideContents: br,
2804
+ transformSlides: hr,
2805
+ cueAutoSlide: ui,
2806
+ cancelAutoSlide: di
2807
+ })), pa;
2808
+ }
2809
+ var ce = Ut, qt = [];
2810
+ ce.initialize = (e3) => {
2811
+ let t = document.querySelector(".reveal");
2812
+ if (!(t instanceof HTMLElement)) throw Error('Unable to find presentation root (<div class="reveal">).');
2813
+ return Object.assign(ce, new Ut(t, e3)), qt.map((e4) => e4(ce)), ce.initialize();
2814
+ }, [
2815
+ "configure",
2816
+ "on",
2817
+ "off",
2818
+ "addEventListener",
2819
+ "removeEventListener",
2820
+ "registerPlugin"
2821
+ ].forEach((e3) => {
2822
+ ce[e3] = (...t) => {
2823
+ qt.push((n) => n[e3].call(null, ...t));
2824
+ };
2825
+ }), ce.isReady = () => false, ce.VERSION = Ot;
2826
+ var import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1), h = (0, import_react.createContext)(null), ee = [];
2827
+ function te(e3, t) {
2828
+ if (e3 === t) return false;
2829
+ if (!e3 || !t) return e3 !== t;
2830
+ let n = Object.keys(e3), r = Object.keys(t);
2831
+ if (n.length !== r.length) return true;
2832
+ for (let r2 of n) if (!(r2 in t) || e3[r2] !== t[r2]) return true;
2833
+ return false;
2834
+ }
2835
+ function g(e3, t) {
2836
+ e3 && (typeof e3 == "function" ? e3(t) : e3.current = t);
2837
+ }
2838
+ function _(e3) {
2839
+ return e3.tagName === "SECTION";
2840
+ }
2841
+ function v(e3, t, n) {
2842
+ return Array.from(e3.children).filter(_).map((e4) => {
2843
+ let r = t.get(e4);
2844
+ r === void 0 && (r = n.current++, t.set(e4, r));
2845
+ let i = v(e4, t, n);
2846
+ return i.length > 0 ? [r, i] : r;
2847
+ });
2848
+ }
2849
+ function y(e3, t, n) {
2850
+ return e3 ? JSON.stringify(v(e3, t, n)) : "[]";
2851
+ }
2852
+ function b({ config: e3, plugins: t = ee, onReady: n, onSync: r, onSlideSync: i, onSlideChange: a, onSlideTransitionEnd: o, onFragmentShown: s, onFragmentHidden: c, onOverviewShown: l, onOverviewHidden: u, onPaused: f, onResumed: mn, deckRef: p, className: hn, style: m, children: gn }) {
2853
+ let _n = (0, import_react.useRef)(null), vn = (0, import_react.useRef)(null), yn = (0, import_react.useRef)(null), [bn, xn] = (0, import_react.useState)(null), Sn = (0, import_react.useRef)(t), Cn = (0, import_react.useRef)(false), wn = (0, import_react.useRef)(e3), Tn = (0, import_react.useRef)(null), En = (0, import_react.useRef)(/* @__PURE__ */ new WeakMap()), Dn = (0, import_react.useRef)(1), On = (0, import_react.useRef)(false), kn = (0, import_react.useRef)(0);
2854
+ return (0, import_react.useEffect)(() => {
2855
+ if (On.current = true, kn.current += 1, yn.current) yn.current.isReady() && xn(yn.current);
2856
+ else {
2857
+ let t2 = new ce(_n.current, {
2858
+ ...e3,
2859
+ plugins: Sn.current
2860
+ });
2861
+ wn.current = e3, yn.current = t2, t2.initialize().then(() => {
2862
+ !On.current || yn.current !== t2 || (xn(t2), n == null ? void 0 : n(t2));
2863
+ });
2864
+ }
2865
+ return () => {
2866
+ On.current = false;
2867
+ let e4 = yn.current;
2868
+ if (!e4) return;
2869
+ let t2 = ++kn.current;
2870
+ Promise.resolve().then(() => {
2871
+ if (!(On.current || kn.current !== t2) && yn.current === e4) {
2872
+ try {
2873
+ e4.destroy();
2874
+ } catch {
2875
+ }
2876
+ yn.current === e4 && (yn.current = null);
2877
+ }
2878
+ });
2879
+ };
2880
+ }, []), (0, import_react.useEffect)(() => (g(p, bn), () => g(p, null)), [p, bn]), (0, import_react.useEffect)(() => {
2881
+ if (!bn) return;
2882
+ let e4 = [
2883
+ ["sync", r],
2884
+ ["slidesync", i],
2885
+ ["slidechanged", a],
2886
+ ["slidetransitionend", o],
2887
+ ["fragmentshown", s],
2888
+ ["fragmenthidden", c],
2889
+ ["overviewshown", l],
2890
+ ["overviewhidden", u],
2891
+ ["paused", f],
2892
+ ["resumed", mn]
2893
+ ].filter((e5) => e5[1] != null);
2894
+ for (let [t2, n2] of e4) bn.on(t2, n2);
2895
+ return () => {
2896
+ for (let [t2, n2] of e4) bn.off(t2, n2);
2897
+ };
2898
+ }, [
2899
+ bn,
2900
+ r,
2901
+ i,
2902
+ a,
2903
+ o,
2904
+ s,
2905
+ c,
2906
+ l,
2907
+ u,
2908
+ f,
2909
+ mn
2910
+ ]), (0, import_react.useLayoutEffect)(() => {
2911
+ var _a2;
2912
+ !bn || !((_a2 = yn.current) == null ? void 0 : _a2.isReady()) || te(wn.current, e3) && (Cn.current = true, yn.current.configure(e3 ?? {}), wn.current = e3);
2913
+ }, [bn, e3]), (0, import_react.useLayoutEffect)(() => {
2914
+ var _a2;
2915
+ let e4 = Cn.current;
2916
+ Cn.current = false;
2917
+ let t2 = y(vn.current, En.current, Dn);
2918
+ if (e4) {
2919
+ Tn.current = t2;
2920
+ return;
2921
+ }
2922
+ ((_a2 = yn.current) == null ? void 0 : _a2.isReady()) && Tn.current !== t2 && (yn.current.sync(), Tn.current = t2);
2923
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(h.Provider, {
2924
+ value: bn,
2925
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2926
+ className: hn ? `reveal ${hn}` : "reveal",
2927
+ style: m,
2928
+ ref: _n,
2929
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
2930
+ className: "slides",
2931
+ ref: vn,
2932
+ children: gn
2933
+ })
2934
+ })
2935
+ });
2936
+ }
2937
+ var x = {
2938
+ background: "data-background",
2939
+ backgroundImage: "data-background-image",
2940
+ backgroundVideo: "data-background-video",
2941
+ backgroundVideoLoop: "data-background-video-loop",
2942
+ backgroundVideoMuted: "data-background-video-muted",
2943
+ backgroundIframe: "data-background-iframe",
2944
+ backgroundColor: "data-background-color",
2945
+ backgroundGradient: "data-background-gradient",
2946
+ backgroundSize: "data-background-size",
2947
+ backgroundPosition: "data-background-position",
2948
+ backgroundRepeat: "data-background-repeat",
2949
+ backgroundOpacity: "data-background-opacity",
2950
+ backgroundTransition: "data-background-transition",
2951
+ visibility: "data-visibility",
2952
+ autoAnimate: "data-auto-animate",
2953
+ autoAnimateId: "data-auto-animate-id",
2954
+ autoAnimateRestart: "data-auto-animate-restart",
2955
+ autoAnimateUnmatched: "data-auto-animate-unmatched",
2956
+ autoAnimateEasing: "data-auto-animate-easing",
2957
+ autoAnimateDuration: "data-auto-animate-duration",
2958
+ autoAnimateDelay: "data-auto-animate-delay",
2959
+ transition: "data-transition",
2960
+ transitionSpeed: "data-transition-speed",
2961
+ autoSlide: "data-autoslide",
2962
+ notes: "data-notes",
2963
+ backgroundInteractive: "data-background-interactive",
2964
+ preload: "data-preload"
2965
+ };
2966
+ function S(e3) {
2967
+ return JSON.stringify(Object.entries(e3).filter(([e4]) => e4.startsWith("data-")).sort(([e4], [t]) => e4.localeCompare(t)));
2968
+ }
2969
+ function C(e3, t) {
2970
+ let n = { ...e3 }, r = n;
2971
+ for (let [e4, n2] of Object.entries(x)) {
2972
+ if (r[n2] !== void 0) continue;
2973
+ let i = t[e4];
2974
+ if (i !== void 0) {
2975
+ if (i === false) {
2976
+ e4 === "autoAnimateUnmatched" && (r[n2] = "false");
2977
+ continue;
2978
+ }
2979
+ r[n2] = typeof i == "boolean" ? "" : i;
2980
+ }
2981
+ }
2982
+ return n;
2983
+ }
2984
+ function w({ children: e3, background: t, backgroundImage: n, backgroundVideo: r, backgroundVideoLoop: i, backgroundVideoMuted: a, backgroundIframe: o, backgroundColor: s, backgroundGradient: c, backgroundSize: l, backgroundPosition: u, backgroundRepeat: f, backgroundOpacity: mn, backgroundTransition: p, visibility: hn, autoAnimate: m, autoAnimateId: gn, autoAnimateRestart: _n, autoAnimateUnmatched: vn, autoAnimateEasing: yn, autoAnimateDuration: bn, autoAnimateDelay: xn, transition: Sn, transitionSpeed: Cn, autoSlide: wn, notes: Tn, backgroundInteractive: En, preload: Dn, ...On }) {
2985
+ let kn = (0, import_react.useContext)(h), An = (0, import_react.useRef)(null), jn = (0, import_react.useRef)(null), Mn = (0, import_react.useRef)(null), Nn = C(On, {
2986
+ background: t,
2987
+ backgroundImage: n,
2988
+ backgroundVideo: r,
2989
+ backgroundVideoLoop: i,
2990
+ backgroundVideoMuted: a,
2991
+ backgroundIframe: o,
2992
+ backgroundColor: s,
2993
+ backgroundGradient: c,
2994
+ backgroundSize: l,
2995
+ backgroundPosition: u,
2996
+ backgroundRepeat: f,
2997
+ backgroundOpacity: mn,
2998
+ backgroundTransition: p,
2999
+ visibility: hn,
3000
+ autoAnimate: m,
3001
+ autoAnimateId: gn,
3002
+ autoAnimateRestart: _n,
3003
+ autoAnimateUnmatched: vn,
3004
+ autoAnimateEasing: yn,
3005
+ autoAnimateDuration: bn,
3006
+ autoAnimateDelay: xn,
3007
+ transition: Sn,
3008
+ transitionSpeed: Cn,
3009
+ autoSlide: wn,
3010
+ notes: Tn,
3011
+ backgroundInteractive: En,
3012
+ preload: Dn
3013
+ }), Pn = S(Nn);
3014
+ return (0, import_react.useLayoutEffect)(() => {
3015
+ let e4 = An.current;
3016
+ if (!kn || !e4 || typeof kn.syncSlide != "function") return;
3017
+ if (jn.current !== kn) {
3018
+ jn.current = kn, Mn.current = Pn;
3019
+ return;
3020
+ }
3021
+ if (Pn === "[]") return;
3022
+ let t2 = jn.current === kn, n2 = Mn.current === Pn;
3023
+ t2 && n2 || (kn.syncSlide(e4), jn.current = kn, Mn.current = Pn);
3024
+ }, [kn, Pn]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", {
3025
+ ref: An,
3026
+ ...Nn,
3027
+ children: e3
3028
+ });
3029
+ }
3030
+ function T() {
3031
+ return {
3032
+ async: false,
3033
+ breaks: false,
3034
+ extensions: null,
3035
+ gfm: true,
3036
+ hooks: null,
3037
+ pedantic: false,
3038
+ renderer: null,
3039
+ silent: false,
3040
+ tokenizer: null,
3041
+ walkTokens: null
3042
+ };
3043
+ }
3044
+ var E = T();
3045
+ function D(e3) {
3046
+ E = e3;
3047
+ }
3048
+ var O = { exec: () => null };
3049
+ function k(e3, t = "") {
3050
+ let n = typeof e3 == "string" ? e3 : e3.source, r = {
3051
+ replace: (e4, t2) => {
3052
+ let i = typeof t2 == "string" ? t2 : t2.source;
3053
+ return i = i.replace(A.caret, "$1"), n = n.replace(e4, i), r;
3054
+ },
3055
+ getRegex: () => new RegExp(n, t)
3056
+ };
3057
+ return r;
3058
+ }
3059
+ var re = (() => {
3060
+ try {
3061
+ return true;
3062
+ } catch {
3063
+ return false;
3064
+ }
3065
+ })(), A = {
3066
+ codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
3067
+ outputLinkReplace: /\\([\[\]])/g,
3068
+ indentCodeCompensation: /^(\s+)(?:```)/,
3069
+ beginningSpace: /^\s+/,
3070
+ endingHash: /#$/,
3071
+ startingSpaceChar: /^ /,
3072
+ endingSpaceChar: / $/,
3073
+ nonSpaceChar: /[^ ]/,
3074
+ newLineCharGlobal: /\n/g,
3075
+ tabCharGlobal: /\t/g,
3076
+ multipleSpaceGlobal: /\s+/g,
3077
+ blankLine: /^[ \t]*$/,
3078
+ doubleBlankLine: /\n[ \t]*\n[ \t]*$/,
3079
+ blockquoteStart: /^ {0,3}>/,
3080
+ blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
3081
+ blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm,
3082
+ listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,
3083
+ listIsTask: /^\[[ xX]\] +\S/,
3084
+ listReplaceTask: /^\[[ xX]\] +/,
3085
+ listTaskCheckbox: /\[[ xX]\]/,
3086
+ anyLine: /\n.*\n/,
3087
+ hrefBrackets: /^<(.*)>$/,
3088
+ tableDelimiter: /[:|]/,
3089
+ tableAlignChars: /^\||\| *$/g,
3090
+ tableRowBlankLine: /\n[ \t]*$/,
3091
+ tableAlignRight: /^ *-+: *$/,
3092
+ tableAlignCenter: /^ *:-+: *$/,
3093
+ tableAlignLeft: /^ *:-+ *$/,
3094
+ startATag: /^<a /i,
3095
+ endATag: /^<\/a>/i,
3096
+ startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i,
3097
+ endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i,
3098
+ startAngleBracket: /^</,
3099
+ endAngleBracket: />$/,
3100
+ pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/,
3101
+ unicodeAlphaNumeric: /[\p{L}\p{N}]/u,
3102
+ escapeTest: /[&<>"']/,
3103
+ escapeReplace: /[&<>"']/g,
3104
+ escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,
3105
+ escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,
3106
+ caret: /(^|[^\[])\^/g,
3107
+ percentDecode: /%25/g,
3108
+ findPipe: /\|/g,
3109
+ splitPipe: / \|/,
3110
+ slashPipe: /\\\|/g,
3111
+ carriageReturn: /\r\n|\r/g,
3112
+ spaceLine: /^ +$/gm,
3113
+ notSpaceStart: /^\S*/,
3114
+ endingNewline: /\n$/,
3115
+ listItemRegex: (e3) => RegExp(`^( {0,3}${e3})((?:[ ][^\\n]*)?(?:\\n|$))`),
3116
+ nextBulletRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),
3117
+ hrRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
3118
+ fencesBeginRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}(?:\`\`\`|~~~)`),
3119
+ headingBeginRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}#`),
3120
+ htmlBeginRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}<(?:[a-z].*>|!--)`, "i"),
3121
+ blockquoteBeginRegex: (e3) => RegExp(`^ {0,${Math.min(3, e3 - 1)}}>`)
3122
+ }, j = /^(?:[ \t]*(?:\n|$))+/, M = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, N = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, P = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, F = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, I = / {0,3}(?:[*+-]|\d{1,9}[.)])/, L = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, ie = k(L).replace(/bull/g, I).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), ae = k(L).replace(/bull/g, I).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), R = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, z = /^[^\n]+/, B = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, V = k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", B).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), H = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, I).getRegex(), U = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", W = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, oe = k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", W).replace("tag", U).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), se = k(R).replace("hr", P).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", U).getRegex(), ce$1 = {
3123
+ blockquote: k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", se).getRegex(),
3124
+ code: M,
3125
+ def: V,
3126
+ fences: N,
3127
+ heading: F,
3128
+ hr: P,
3129
+ html: oe,
3130
+ lheading: ie,
3131
+ list: H,
3132
+ newline: j,
3133
+ paragraph: se,
3134
+ table: O,
3135
+ text: z
3136
+ }, le = k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", P).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", U).getRegex(), ue = {
3137
+ ...ce$1,
3138
+ lheading: ae,
3139
+ table: le,
3140
+ paragraph: k(R).replace("hr", P).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", le).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", U).getRegex()
3141
+ }, de = {
3142
+ ...ce$1,
3143
+ html: k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", W).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
3144
+ def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
3145
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
3146
+ fences: O,
3147
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
3148
+ paragraph: k(R).replace("hr", P).replace("heading", " *#{1,6} *[^\n]").replace("lheading", ie).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
3149
+ }, fe = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, pe = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, me = /^( {2,}|\\)\n(?!\s*$)/, he = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, G = /[\p{P}\p{S}]/u, ge = /[\s\p{P}\p{S}]/u, _e = /[^\s\p{P}\p{S}]/u, ve = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, ge).getRegex(), ye = /(?!~)[\p{P}\p{S}]/u, be = /(?!~)[\s\p{P}\p{S}]/u, xe = /(?:[^\s\p{P}\p{S}]|~)/u, Se = k(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", re ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Ce = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, we = k(Ce, "u").replace(/punct/g, G).getRegex(), Te = k(Ce, "u").replace(/punct/g, ye).getRegex(), Ee = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", De = k(Ee, "gu").replace(/notPunctSpace/g, _e).replace(/punctSpace/g, ge).replace(/punct/g, G).getRegex(), Oe = k(Ee, "gu").replace(/notPunctSpace/g, xe).replace(/punctSpace/g, be).replace(/punct/g, ye).getRegex(), ke = k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, _e).replace(/punctSpace/g, ge).replace(/punct/g, G).getRegex(), Ae = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, G).getRegex(), je = k("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, _e).replace(/punctSpace/g, ge).replace(/punct/g, G).getRegex(), Me = k(/\\(punct)/, "gu").replace(/punct/g, G).getRegex(), Ne = k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Pe = k(W).replace("(?:-->|$)", "-->").getRegex(), Fe = k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Pe).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Ie = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, Le = k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Ie).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), Re = k(/^!?\[(label)\]\[(ref)\]/).replace("label", Ie).replace("ref", B).getRegex(), ze = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", B).getRegex(), Be = k("reflink|nolink(?!\\()", "g").replace("reflink", Re).replace("nolink", ze).getRegex(), Ve = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, He = {
3150
+ _backpedal: O,
3151
+ anyPunctuation: Me,
3152
+ autolink: Ne,
3153
+ blockSkip: Se,
3154
+ br: me,
3155
+ code: pe,
3156
+ del: O,
3157
+ delLDelim: O,
3158
+ delRDelim: O,
3159
+ emStrongLDelim: we,
3160
+ emStrongRDelimAst: De,
3161
+ emStrongRDelimUnd: ke,
3162
+ escape: fe,
3163
+ link: Le,
3164
+ nolink: ze,
3165
+ punctuation: ve,
3166
+ reflink: Re,
3167
+ reflinkSearch: Be,
3168
+ tag: Fe,
3169
+ text: he,
3170
+ url: O
3171
+ }, Ue = {
3172
+ ...He,
3173
+ link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", Ie).getRegex(),
3174
+ reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Ie).getRegex()
3175
+ }, We = {
3176
+ ...He,
3177
+ emStrongRDelimAst: Oe,
3178
+ emStrongLDelim: Te,
3179
+ delLDelim: Ae,
3180
+ delRDelim: je,
3181
+ url: k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", Ve).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
3182
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
3183
+ del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
3184
+ text: k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", Ve).getRegex()
3185
+ }, Ge = {
3186
+ ...We,
3187
+ br: k(me).replace("{2,}", "*").getRegex(),
3188
+ text: k(We.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
3189
+ }, Ke = {
3190
+ normal: ce$1,
3191
+ gfm: ue,
3192
+ pedantic: de
3193
+ }, K = {
3194
+ normal: He,
3195
+ gfm: We,
3196
+ breaks: Ge,
3197
+ pedantic: Ue
3198
+ }, qe = {
3199
+ "&": "&amp;",
3200
+ "<": "&lt;",
3201
+ ">": "&gt;",
3202
+ '"': "&quot;",
3203
+ "'": "&#39;"
3204
+ }, Je = (e3) => qe[e3];
3205
+ function q(e3, t) {
3206
+ if (t) {
3207
+ if (A.escapeTest.test(e3)) return e3.replace(A.escapeReplace, Je);
3208
+ } else if (A.escapeTestNoEncode.test(e3)) return e3.replace(A.escapeReplaceNoEncode, Je);
3209
+ return e3;
3210
+ }
3211
+ function Ye(e3) {
3212
+ try {
3213
+ e3 = encodeURI(e3).replace(A.percentDecode, "%");
3214
+ } catch {
3215
+ return null;
3216
+ }
3217
+ return e3;
3218
+ }
3219
+ function Xe(e3, t) {
3220
+ var _a2;
3221
+ let n = e3.replace(A.findPipe, (e4, t2, n2) => {
3222
+ let r2 = false, i = t2;
3223
+ for (; --i >= 0 && n2[i] === "\\"; ) r2 = !r2;
3224
+ return r2 ? "|" : " |";
3225
+ }).split(A.splitPipe), r = 0;
3226
+ if (n[0].trim() || n.shift(), n.length > 0 && !((_a2 = n.at(-1)) == null ? void 0 : _a2.trim()) && n.pop(), t) if (n.length > t) n.splice(t);
3227
+ else for (; n.length < t; ) n.push("");
3228
+ for (; r < n.length; r++) n[r] = n[r].trim().replace(A.slashPipe, "|");
3229
+ return n;
3230
+ }
3231
+ function J(e3, t, n) {
3232
+ let r = e3.length;
3233
+ if (r === 0) return "";
3234
+ let i = 0;
3235
+ for (; i < r; ) {
3236
+ let a = e3.charAt(r - i - 1);
3237
+ if (a === t && !n) i++;
3238
+ else if (a !== t && n) i++;
3239
+ else break;
3240
+ }
3241
+ return e3.slice(0, r - i);
3242
+ }
3243
+ function Ze(e3, t) {
3244
+ if (e3.indexOf(t[1]) === -1) return -1;
3245
+ let n = 0;
3246
+ for (let r = 0; r < e3.length; r++) if (e3[r] === "\\") r++;
3247
+ else if (e3[r] === t[0]) n++;
3248
+ else if (e3[r] === t[1] && (n--, n < 0)) return r;
3249
+ return n > 0 ? -2 : -1;
3250
+ }
3251
+ function Qe(e3, t = 0) {
3252
+ let n = t, r = "";
3253
+ for (let t2 of e3) if (t2 === " ") {
3254
+ let e4 = 4 - n % 4;
3255
+ r += " ".repeat(e4), n += e4;
3256
+ } else r += t2, n++;
3257
+ return r;
3258
+ }
3259
+ function $e(e3, t, n, r, i) {
3260
+ let a = t.href, o = t.title || null, s = e3[1].replace(i.other.outputLinkReplace, "$1");
3261
+ r.state.inLink = true;
3262
+ let c = {
3263
+ type: e3[0].charAt(0) === "!" ? "image" : "link",
3264
+ raw: n,
3265
+ href: a,
3266
+ title: o,
3267
+ text: s,
3268
+ tokens: r.inlineTokens(s)
3269
+ };
3270
+ return r.state.inLink = false, c;
3271
+ }
3272
+ function et(e3, t, n) {
3273
+ let r = e3.match(n.other.indentCodeCompensation);
3274
+ if (r === null) return t;
3275
+ let i = r[1];
3276
+ return t.split("\n").map((e4) => {
3277
+ let t2 = e4.match(n.other.beginningSpace);
3278
+ if (t2 === null) return e4;
3279
+ let [r2] = t2;
3280
+ return r2.length >= i.length ? e4.slice(i.length) : e4;
3281
+ }).join("\n");
3282
+ }
3283
+ var tt = class {
3284
+ constructor(e3) {
3285
+ __publicField(this, "options");
3286
+ __publicField(this, "rules");
3287
+ __publicField(this, "lexer");
3288
+ this.options = e3 || E;
3289
+ }
3290
+ space(e3) {
3291
+ let t = this.rules.block.newline.exec(e3);
3292
+ if (t && t[0].length > 0) return {
3293
+ type: "space",
3294
+ raw: t[0]
3295
+ };
3296
+ }
3297
+ code(e3) {
3298
+ let t = this.rules.block.code.exec(e3);
3299
+ if (t) {
3300
+ let e4 = t[0].replace(this.rules.other.codeRemoveIndent, "");
3301
+ return {
3302
+ type: "code",
3303
+ raw: t[0],
3304
+ codeBlockStyle: "indented",
3305
+ text: this.options.pedantic ? e4 : J(e4, "\n")
3306
+ };
3307
+ }
3308
+ }
3309
+ fences(e3) {
3310
+ let t = this.rules.block.fences.exec(e3);
3311
+ if (t) {
3312
+ let e4 = t[0], n = et(e4, t[3] || "", this.rules);
3313
+ return {
3314
+ type: "code",
3315
+ raw: e4,
3316
+ lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2],
3317
+ text: n
3318
+ };
3319
+ }
3320
+ }
3321
+ heading(e3) {
3322
+ let t = this.rules.block.heading.exec(e3);
3323
+ if (t) {
3324
+ let e4 = t[2].trim();
3325
+ if (this.rules.other.endingHash.test(e4)) {
3326
+ let t2 = J(e4, "#");
3327
+ (this.options.pedantic || !t2 || this.rules.other.endingSpaceChar.test(t2)) && (e4 = t2.trim());
3328
+ }
3329
+ return {
3330
+ type: "heading",
3331
+ raw: t[0],
3332
+ depth: t[1].length,
3333
+ text: e4,
3334
+ tokens: this.lexer.inline(e4)
3335
+ };
3336
+ }
3337
+ }
3338
+ hr(e3) {
3339
+ let t = this.rules.block.hr.exec(e3);
3340
+ if (t) return {
3341
+ type: "hr",
3342
+ raw: J(t[0], "\n")
3343
+ };
3344
+ }
3345
+ blockquote(e3) {
3346
+ let t = this.rules.block.blockquote.exec(e3);
3347
+ if (t) {
3348
+ let e4 = J(t[0], "\n").split("\n"), n = "", r = "", i = [];
3349
+ for (; e4.length > 0; ) {
3350
+ let t2 = false, a = [], o;
3351
+ for (o = 0; o < e4.length; o++) if (this.rules.other.blockquoteStart.test(e4[o])) a.push(e4[o]), t2 = true;
3352
+ else if (!t2) a.push(e4[o]);
3353
+ else break;
3354
+ e4 = e4.slice(o);
3355
+ let s = a.join("\n"), c = s.replace(this.rules.other.blockquoteSetextReplace, "\n $1").replace(this.rules.other.blockquoteSetextReplace2, "");
3356
+ n = n ? `${n}
3357
+ ${s}` : s, r = r ? `${r}
3358
+ ${c}` : c;
3359
+ let l = this.lexer.state.top;
3360
+ if (this.lexer.state.top = true, this.lexer.blockTokens(c, i, true), this.lexer.state.top = l, e4.length === 0) break;
3361
+ let u = i.at(-1);
3362
+ if ((u == null ? void 0 : u.type) === "code") break;
3363
+ if ((u == null ? void 0 : u.type) === "blockquote") {
3364
+ let t3 = u, a2 = t3.raw + "\n" + e4.join("\n"), o2 = this.blockquote(a2);
3365
+ i[i.length - 1] = o2, n = n.substring(0, n.length - t3.raw.length) + o2.raw, r = r.substring(0, r.length - t3.text.length) + o2.text;
3366
+ break;
3367
+ } else if ((u == null ? void 0 : u.type) === "list") {
3368
+ let t3 = u, a2 = t3.raw + "\n" + e4.join("\n"), o2 = this.list(a2);
3369
+ i[i.length - 1] = o2, n = n.substring(0, n.length - u.raw.length) + o2.raw, r = r.substring(0, r.length - t3.raw.length) + o2.raw, e4 = a2.substring(i.at(-1).raw.length).split("\n");
3370
+ continue;
3371
+ }
3372
+ }
3373
+ return {
3374
+ type: "blockquote",
3375
+ raw: n,
3376
+ tokens: i,
3377
+ text: r
3378
+ };
3379
+ }
3380
+ }
3381
+ list(e3) {
3382
+ var _a2, _b;
3383
+ let t = this.rules.block.list.exec(e3);
3384
+ if (t) {
3385
+ let n = t[1].trim(), r = n.length > 1, i = {
3386
+ type: "list",
3387
+ raw: "",
3388
+ ordered: r,
3389
+ start: r ? +n.slice(0, -1) : "",
3390
+ loose: false,
3391
+ items: []
3392
+ };
3393
+ n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]");
3394
+ let a = this.rules.other.listItemRegex(n), o = false;
3395
+ for (; e3; ) {
3396
+ let n2 = false, r2 = "", s2 = "";
3397
+ if (!(t = a.exec(e3)) || this.rules.block.hr.test(e3)) break;
3398
+ r2 = t[0], e3 = e3.substring(r2.length);
3399
+ let c = Qe(t[2].split("\n", 1)[0], t[1].length), l = e3.split("\n", 1)[0], u = !c.trim(), d = 0;
3400
+ if (this.options.pedantic ? (d = 2, s2 = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s2 = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r2 += l + "\n", e3 = e3.substring(l.length + 1), n2 = true), !n2) {
3401
+ let t2 = this.rules.other.nextBulletRegex(d), n3 = this.rules.other.hrRegex(d), i2 = this.rules.other.fencesBeginRegex(d), a2 = this.rules.other.headingBeginRegex(d), o2 = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
3402
+ for (; e3; ) {
3403
+ let mn = e3.split("\n", 1)[0], p;
3404
+ if (l = mn, 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) || f.test(l) || t2.test(l) || n3.test(l)) break;
3405
+ if (p.search(this.rules.other.nonSpaceChar) >= d || !l.trim()) s2 += "\n" + p.slice(d);
3406
+ else {
3407
+ if (u || c.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || i2.test(c) || a2.test(c) || n3.test(c)) break;
3408
+ s2 += "\n" + l;
3409
+ }
3410
+ u = !l.trim(), r2 += mn + "\n", e3 = e3.substring(mn.length + 1), c = p.slice(d);
3411
+ }
3412
+ }
3413
+ i.loose || (o ? i.loose = true : this.rules.other.doubleBlankLine.test(r2) && (o = true)), i.items.push({
3414
+ type: "list_item",
3415
+ raw: r2,
3416
+ task: !!this.options.gfm && this.rules.other.listIsTask.test(s2),
3417
+ loose: false,
3418
+ text: s2,
3419
+ tokens: []
3420
+ }), i.raw += r2;
3421
+ }
3422
+ let s = i.items.at(-1);
3423
+ if (s) s.raw = s.raw.trimEnd(), s.text = s.text.trimEnd();
3424
+ else return;
3425
+ i.raw = i.raw.trimEnd();
3426
+ for (let e4 of i.items) {
3427
+ if (this.lexer.state.top = false, e4.tokens = this.lexer.blockTokens(e4.text, []), e4.task) {
3428
+ if (e4.text = e4.text.replace(this.rules.other.listReplaceTask, ""), ((_a2 = e4.tokens[0]) == null ? void 0 : _a2.type) === "text" || ((_b = e4.tokens[0]) == null ? void 0 : _b.type) === "paragraph") {
3429
+ e4.tokens[0].raw = e4.tokens[0].raw.replace(this.rules.other.listReplaceTask, ""), e4.tokens[0].text = e4.tokens[0].text.replace(this.rules.other.listReplaceTask, "");
3430
+ for (let e5 = this.lexer.inlineQueue.length - 1; e5 >= 0; e5--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[e5].src)) {
3431
+ this.lexer.inlineQueue[e5].src = this.lexer.inlineQueue[e5].src.replace(this.rules.other.listReplaceTask, "");
3432
+ break;
3433
+ }
3434
+ }
3435
+ let t2 = this.rules.other.listTaskCheckbox.exec(e4.raw);
3436
+ if (t2) {
3437
+ let n2 = {
3438
+ type: "checkbox",
3439
+ raw: t2[0] + " ",
3440
+ checked: t2[0] !== "[ ]"
3441
+ };
3442
+ e4.checked = n2.checked, i.loose ? e4.tokens[0] && ["paragraph", "text"].includes(e4.tokens[0].type) && "tokens" in e4.tokens[0] && e4.tokens[0].tokens ? (e4.tokens[0].raw = n2.raw + e4.tokens[0].raw, e4.tokens[0].text = n2.raw + e4.tokens[0].text, e4.tokens[0].tokens.unshift(n2)) : e4.tokens.unshift({
3443
+ type: "paragraph",
3444
+ raw: n2.raw,
3445
+ text: n2.raw,
3446
+ tokens: [n2]
3447
+ }) : e4.tokens.unshift(n2);
3448
+ }
3449
+ }
3450
+ if (!i.loose) {
3451
+ let t2 = e4.tokens.filter((e5) => e5.type === "space");
3452
+ i.loose = t2.length > 0 && t2.some((e5) => this.rules.other.anyLine.test(e5.raw));
3453
+ }
3454
+ }
3455
+ if (i.loose) for (let e4 of i.items) {
3456
+ e4.loose = true;
3457
+ for (let t2 of e4.tokens) t2.type === "text" && (t2.type = "paragraph");
3458
+ }
3459
+ return i;
3460
+ }
3461
+ }
3462
+ html(e3) {
3463
+ let t = this.rules.block.html.exec(e3);
3464
+ if (t) return {
3465
+ type: "html",
3466
+ block: true,
3467
+ raw: t[0],
3468
+ pre: t[1] === "pre" || t[1] === "script" || t[1] === "style",
3469
+ text: t[0]
3470
+ };
3471
+ }
3472
+ def(e3) {
3473
+ let t = this.rules.block.def.exec(e3);
3474
+ if (t) {
3475
+ let e4 = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), n = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", r = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
3476
+ return {
3477
+ type: "def",
3478
+ tag: e4,
3479
+ raw: t[0],
3480
+ href: n,
3481
+ title: r
3482
+ };
3483
+ }
3484
+ }
3485
+ table(e3) {
3486
+ var _a2;
3487
+ let t = this.rules.block.table.exec(e3);
3488
+ if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
3489
+ let n = Xe(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = ((_a2 = t[3]) == null ? void 0 : _a2.trim()) ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
3490
+ type: "table",
3491
+ raw: t[0],
3492
+ header: [],
3493
+ align: [],
3494
+ rows: []
3495
+ };
3496
+ if (n.length === r.length) {
3497
+ for (let e4 of r) this.rules.other.tableAlignRight.test(e4) ? a.align.push("right") : this.rules.other.tableAlignCenter.test(e4) ? a.align.push("center") : this.rules.other.tableAlignLeft.test(e4) ? a.align.push("left") : a.align.push(null);
3498
+ for (let e4 = 0; e4 < n.length; e4++) a.header.push({
3499
+ text: n[e4],
3500
+ tokens: this.lexer.inline(n[e4]),
3501
+ header: true,
3502
+ align: a.align[e4]
3503
+ });
3504
+ for (let e4 of i) a.rows.push(Xe(e4, a.header.length).map((e5, t2) => ({
3505
+ text: e5,
3506
+ tokens: this.lexer.inline(e5),
3507
+ header: false,
3508
+ align: a.align[t2]
3509
+ })));
3510
+ return a;
3511
+ }
3512
+ }
3513
+ lheading(e3) {
3514
+ let t = this.rules.block.lheading.exec(e3);
3515
+ if (t) {
3516
+ let e4 = t[1].trim();
3517
+ return {
3518
+ type: "heading",
3519
+ raw: t[0],
3520
+ depth: t[2].charAt(0) === "=" ? 1 : 2,
3521
+ text: e4,
3522
+ tokens: this.lexer.inline(e4)
3523
+ };
3524
+ }
3525
+ }
3526
+ paragraph(e3) {
3527
+ let t = this.rules.block.paragraph.exec(e3);
3528
+ if (t) {
3529
+ let e4 = t[1].charAt(t[1].length - 1) === "\n" ? t[1].slice(0, -1) : t[1];
3530
+ return {
3531
+ type: "paragraph",
3532
+ raw: t[0],
3533
+ text: e4,
3534
+ tokens: this.lexer.inline(e4)
3535
+ };
3536
+ }
3537
+ }
3538
+ text(e3) {
3539
+ let t = this.rules.block.text.exec(e3);
3540
+ if (t) return {
3541
+ type: "text",
3542
+ raw: t[0],
3543
+ text: t[0],
3544
+ tokens: this.lexer.inline(t[0])
3545
+ };
3546
+ }
3547
+ escape(e3) {
3548
+ let t = this.rules.inline.escape.exec(e3);
3549
+ if (t) return {
3550
+ type: "escape",
3551
+ raw: t[0],
3552
+ text: t[1]
3553
+ };
3554
+ }
3555
+ tag(e3) {
3556
+ let t = this.rules.inline.tag.exec(e3);
3557
+ if (t) return !this.lexer.state.inLink && this.rules.other.startATag.test(t[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t[0]) && (this.lexer.state.inRawBlock = false), {
3558
+ type: "html",
3559
+ raw: t[0],
3560
+ inLink: this.lexer.state.inLink,
3561
+ inRawBlock: this.lexer.state.inRawBlock,
3562
+ block: false,
3563
+ text: t[0]
3564
+ };
3565
+ }
3566
+ link(e3) {
3567
+ let t = this.rules.inline.link.exec(e3);
3568
+ if (t) {
3569
+ let e4 = t[2].trim();
3570
+ if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e4)) {
3571
+ if (!this.rules.other.endAngleBracket.test(e4)) return;
3572
+ let t2 = J(e4.slice(0, -1), "\\");
3573
+ if ((e4.length - t2.length) % 2 == 0) return;
3574
+ } else {
3575
+ let e5 = Ze(t[2], "()");
3576
+ if (e5 === -2) return;
3577
+ if (e5 > -1) {
3578
+ let n2 = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e5;
3579
+ t[2] = t[2].substring(0, e5), t[0] = t[0].substring(0, n2).trim(), t[3] = "";
3580
+ }
3581
+ }
3582
+ let n = t[2], r = "";
3583
+ if (this.options.pedantic) {
3584
+ let e5 = this.rules.other.pedanticHrefTitle.exec(n);
3585
+ e5 && (n = e5[1], r = e5[3]);
3586
+ } else r = t[3] ? t[3].slice(1, -1) : "";
3587
+ return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e4) ? n.slice(1) : n.slice(1, -1)), $e(t, {
3588
+ href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
3589
+ title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
3590
+ }, t[0], this.lexer, this.rules);
3591
+ }
3592
+ }
3593
+ reflink(e3, t) {
3594
+ let n;
3595
+ if ((n = this.rules.inline.reflink.exec(e3)) || (n = this.rules.inline.nolink.exec(e3))) {
3596
+ let e4 = t[(n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " ").toLowerCase()];
3597
+ if (!e4) {
3598
+ let e5 = n[0].charAt(0);
3599
+ return {
3600
+ type: "text",
3601
+ raw: e5,
3602
+ text: e5
3603
+ };
3604
+ }
3605
+ return $e(n, e4, n[0], this.lexer, this.rules);
3606
+ }
3607
+ }
3608
+ emStrong(e3, t, n = "") {
3609
+ let r = this.rules.inline.emStrongLDelim.exec(e3);
3610
+ if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {
3611
+ let n2 = [...r[0]].length - 1, i, a, o = n2, s = 0, c = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
3612
+ for (c.lastIndex = 0, t = t.slice(-1 * e3.length + n2); (r = c.exec(t)) != null; ) {
3613
+ if (i = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !i) continue;
3614
+ if (a = [...i].length, r[3] || r[4]) {
3615
+ o += a;
3616
+ continue;
3617
+ } else if ((r[5] || r[6]) && n2 % 3 && !((n2 + a) % 3)) {
3618
+ s += a;
3619
+ continue;
3620
+ }
3621
+ if (o -= a, o > 0) continue;
3622
+ a = Math.min(a, a + o + s);
3623
+ let t2 = [...r[0]][0].length, c2 = e3.slice(0, n2 + r.index + t2 + a);
3624
+ if (Math.min(n2, a) % 2) {
3625
+ let e4 = c2.slice(1, -1);
3626
+ return {
3627
+ type: "em",
3628
+ raw: c2,
3629
+ text: e4,
3630
+ tokens: this.lexer.inlineTokens(e4)
3631
+ };
3632
+ }
3633
+ let l = c2.slice(2, -2);
3634
+ return {
3635
+ type: "strong",
3636
+ raw: c2,
3637
+ text: l,
3638
+ tokens: this.lexer.inlineTokens(l)
3639
+ };
3640
+ }
3641
+ }
3642
+ }
3643
+ codespan(e3) {
3644
+ let t = this.rules.inline.code.exec(e3);
3645
+ if (t) {
3646
+ let e4 = t[2].replace(this.rules.other.newLineCharGlobal, " "), n = this.rules.other.nonSpaceChar.test(e4), r = this.rules.other.startingSpaceChar.test(e4) && this.rules.other.endingSpaceChar.test(e4);
3647
+ return n && r && (e4 = e4.substring(1, e4.length - 1)), {
3648
+ type: "codespan",
3649
+ raw: t[0],
3650
+ text: e4
3651
+ };
3652
+ }
3653
+ }
3654
+ br(e3) {
3655
+ let t = this.rules.inline.br.exec(e3);
3656
+ if (t) return {
3657
+ type: "br",
3658
+ raw: t[0]
3659
+ };
3660
+ }
3661
+ del(e3, t, n = "") {
3662
+ let r = this.rules.inline.delLDelim.exec(e3);
3663
+ if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {
3664
+ let n2 = [...r[0]].length - 1, i, a, o = n2, s = this.rules.inline.delRDelim;
3665
+ for (s.lastIndex = 0, t = t.slice(-1 * e3.length + n2); (r = s.exec(t)) != null; ) {
3666
+ if (i = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !i || (a = [...i].length, a !== n2)) continue;
3667
+ if (r[3] || r[4]) {
3668
+ o += a;
3669
+ continue;
3670
+ }
3671
+ if (o -= a, o > 0) continue;
3672
+ a = Math.min(a, a + o);
3673
+ let t2 = [...r[0]][0].length, s2 = e3.slice(0, n2 + r.index + t2 + a), c = s2.slice(n2, -n2);
3674
+ return {
3675
+ type: "del",
3676
+ raw: s2,
3677
+ text: c,
3678
+ tokens: this.lexer.inlineTokens(c)
3679
+ };
3680
+ }
3681
+ }
3682
+ }
3683
+ autolink(e3) {
3684
+ let t = this.rules.inline.autolink.exec(e3);
3685
+ if (t) {
3686
+ let e4, n;
3687
+ return t[2] === "@" ? (e4 = t[1], n = "mailto:" + e4) : (e4 = t[1], n = e4), {
3688
+ type: "link",
3689
+ raw: t[0],
3690
+ text: e4,
3691
+ href: n,
3692
+ tokens: [{
3693
+ type: "text",
3694
+ raw: e4,
3695
+ text: e4
3696
+ }]
3697
+ };
3698
+ }
3699
+ }
3700
+ url(e3) {
3701
+ var _a2;
3702
+ let t;
3703
+ if (t = this.rules.inline.url.exec(e3)) {
3704
+ let e4, n;
3705
+ if (t[2] === "@") e4 = t[0], n = "mailto:" + e4;
3706
+ else {
3707
+ let r;
3708
+ do
3709
+ r = t[0], t[0] = ((_a2 = this.rules.inline._backpedal.exec(t[0])) == null ? void 0 : _a2[0]) ?? "";
3710
+ while (r !== t[0]);
3711
+ e4 = t[0], n = t[1] === "www." ? "http://" + t[0] : t[0];
3712
+ }
3713
+ return {
3714
+ type: "link",
3715
+ raw: t[0],
3716
+ text: e4,
3717
+ href: n,
3718
+ tokens: [{
3719
+ type: "text",
3720
+ raw: e4,
3721
+ text: e4
3722
+ }]
3723
+ };
3724
+ }
3725
+ }
3726
+ inlineText(e3) {
3727
+ let t = this.rules.inline.text.exec(e3);
3728
+ if (t) {
3729
+ let e4 = this.lexer.state.inRawBlock;
3730
+ return {
3731
+ type: "text",
3732
+ raw: t[0],
3733
+ text: t[0],
3734
+ escaped: e4
3735
+ };
3736
+ }
3737
+ }
3738
+ }, Y = class e {
3739
+ constructor(e3) {
3740
+ __publicField(this, "tokens");
3741
+ __publicField(this, "options");
3742
+ __publicField(this, "state");
3743
+ __publicField(this, "inlineQueue");
3744
+ __publicField(this, "tokenizer");
3745
+ this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e3 || E, this.options.tokenizer = this.options.tokenizer || new tt(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
3746
+ inLink: false,
3747
+ inRawBlock: false,
3748
+ top: true
3749
+ };
3750
+ let t = {
3751
+ other: A,
3752
+ block: Ke.normal,
3753
+ inline: K.normal
3754
+ };
3755
+ this.options.pedantic ? (t.block = Ke.pedantic, t.inline = K.pedantic) : this.options.gfm && (t.block = Ke.gfm, this.options.breaks ? t.inline = K.breaks : t.inline = K.gfm), this.tokenizer.rules = t;
3756
+ }
3757
+ static get rules() {
3758
+ return {
3759
+ block: Ke,
3760
+ inline: K
3761
+ };
3762
+ }
3763
+ static lex(t, n) {
3764
+ return new e(n).lex(t);
3765
+ }
3766
+ static lexInline(t, n) {
3767
+ return new e(n).inlineTokens(t);
3768
+ }
3769
+ lex(e3) {
3770
+ e3 = e3.replace(A.carriageReturn, "\n"), this.blockTokens(e3, this.tokens);
3771
+ for (let e4 = 0; e4 < this.inlineQueue.length; e4++) {
3772
+ let t = this.inlineQueue[e4];
3773
+ this.inlineTokens(t.src, t.tokens);
3774
+ }
3775
+ return this.inlineQueue = [], this.tokens;
3776
+ }
3777
+ blockTokens(e3, t = [], n = false) {
3778
+ var _a2, _b, _c;
3779
+ for (this.tokenizer.lexer = this, this.options.pedantic && (e3 = e3.replace(A.tabCharGlobal, " ").replace(A.spaceLine, "")); e3; ) {
3780
+ let r;
3781
+ if ((_b = (_a2 = this.options.extensions) == null ? void 0 : _a2.block) == null ? void 0 : _b.some((n2) => (r = n2.call({ lexer: this }, e3, t)) ? (e3 = e3.substring(r.raw.length), t.push(r), true) : false)) continue;
3782
+ if (r = this.tokenizer.space(e3)) {
3783
+ e3 = e3.substring(r.raw.length);
3784
+ let n2 = t.at(-1);
3785
+ r.raw.length === 1 && n2 !== void 0 ? n2.raw += "\n" : t.push(r);
3786
+ continue;
3787
+ }
3788
+ if (r = this.tokenizer.code(e3)) {
3789
+ e3 = e3.substring(r.raw.length);
3790
+ let n2 = t.at(-1);
3791
+ (n2 == null ? void 0 : n2.type) === "paragraph" || (n2 == null ? void 0 : n2.type) === "text" ? (n2.raw += (n2.raw.endsWith("\n") ? "" : "\n") + r.raw, n2.text += "\n" + r.text, this.inlineQueue.at(-1).src = n2.text) : t.push(r);
3792
+ continue;
3793
+ }
3794
+ if (r = this.tokenizer.fences(e3)) {
3795
+ e3 = e3.substring(r.raw.length), t.push(r);
3796
+ continue;
3797
+ }
3798
+ if (r = this.tokenizer.heading(e3)) {
3799
+ e3 = e3.substring(r.raw.length), t.push(r);
3800
+ continue;
3801
+ }
3802
+ if (r = this.tokenizer.hr(e3)) {
3803
+ e3 = e3.substring(r.raw.length), t.push(r);
3804
+ continue;
3805
+ }
3806
+ if (r = this.tokenizer.blockquote(e3)) {
3807
+ e3 = e3.substring(r.raw.length), t.push(r);
3808
+ continue;
3809
+ }
3810
+ if (r = this.tokenizer.list(e3)) {
3811
+ e3 = e3.substring(r.raw.length), t.push(r);
3812
+ continue;
3813
+ }
3814
+ if (r = this.tokenizer.html(e3)) {
3815
+ e3 = e3.substring(r.raw.length), t.push(r);
3816
+ continue;
3817
+ }
3818
+ if (r = this.tokenizer.def(e3)) {
3819
+ e3 = e3.substring(r.raw.length);
3820
+ let n2 = t.at(-1);
3821
+ (n2 == null ? void 0 : n2.type) === "paragraph" || (n2 == null ? void 0 : n2.type) === "text" ? (n2.raw += (n2.raw.endsWith("\n") ? "" : "\n") + r.raw, n2.text += "\n" + r.raw, this.inlineQueue.at(-1).src = n2.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = {
3822
+ href: r.href,
3823
+ title: r.title
3824
+ }, t.push(r));
3825
+ continue;
3826
+ }
3827
+ if (r = this.tokenizer.table(e3)) {
3828
+ e3 = e3.substring(r.raw.length), t.push(r);
3829
+ continue;
3830
+ }
3831
+ if (r = this.tokenizer.lheading(e3)) {
3832
+ e3 = e3.substring(r.raw.length), t.push(r);
3833
+ continue;
3834
+ }
3835
+ let i = e3;
3836
+ if ((_c = this.options.extensions) == null ? void 0 : _c.startBlock) {
3837
+ let t2 = Infinity, n2 = e3.slice(1), r2;
3838
+ this.options.extensions.startBlock.forEach((e4) => {
3839
+ r2 = e4.call({ lexer: this }, n2), typeof r2 == "number" && r2 >= 0 && (t2 = Math.min(t2, r2));
3840
+ }), t2 < Infinity && t2 >= 0 && (i = e3.substring(0, t2 + 1));
3841
+ }
3842
+ if (this.state.top && (r = this.tokenizer.paragraph(i))) {
3843
+ let a = t.at(-1);
3844
+ n && (a == null ? void 0 : a.type) === "paragraph" ? (a.raw += (a.raw.endsWith("\n") ? "" : "\n") + r.raw, a.text += "\n" + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = a.text) : t.push(r), n = i.length !== e3.length, e3 = e3.substring(r.raw.length);
3845
+ continue;
3846
+ }
3847
+ if (r = this.tokenizer.text(e3)) {
3848
+ e3 = e3.substring(r.raw.length);
3849
+ let n2 = t.at(-1);
3850
+ (n2 == null ? void 0 : n2.type) === "text" ? (n2.raw += (n2.raw.endsWith("\n") ? "" : "\n") + r.raw, n2.text += "\n" + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = n2.text) : t.push(r);
3851
+ continue;
3852
+ }
3853
+ if (e3) {
3854
+ let t2 = "Infinite loop on byte: " + e3.charCodeAt(0);
3855
+ if (this.options.silent) {
3856
+ console.error(t2);
3857
+ break;
3858
+ } else throw Error(t2);
3859
+ }
3860
+ }
3861
+ return this.state.top = true, t;
3862
+ }
3863
+ inline(e3, t = []) {
3864
+ return this.inlineQueue.push({
3865
+ src: e3,
3866
+ tokens: t
3867
+ }), t;
3868
+ }
3869
+ inlineTokens(e3, t = []) {
3870
+ var _a2, _b, _c, _d, _e2;
3871
+ this.tokenizer.lexer = this;
3872
+ let n = e3, r = null;
3873
+ if (this.tokens.links) {
3874
+ let e4 = Object.keys(this.tokens.links);
3875
+ if (e4.length > 0) for (; (r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) e4.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
3876
+ }
3877
+ for (; (r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
3878
+ let i;
3879
+ for (; (r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) i = r[2] ? r[2].length : 0, n = n.slice(0, r.index + i) + "[" + "a".repeat(r[0].length - i - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
3880
+ n = ((_b = (_a2 = this.options.hooks) == null ? void 0 : _a2.emStrongMask) == null ? void 0 : _b.call({ lexer: this }, n)) ?? n;
3881
+ let a = false, o = "";
3882
+ for (; e3; ) {
3883
+ a || (o = ""), a = false;
3884
+ let r2;
3885
+ if ((_d = (_c = this.options.extensions) == null ? void 0 : _c.inline) == null ? void 0 : _d.some((n2) => (r2 = n2.call({ lexer: this }, e3, t)) ? (e3 = e3.substring(r2.raw.length), t.push(r2), true) : false)) continue;
3886
+ if (r2 = this.tokenizer.escape(e3)) {
3887
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3888
+ continue;
3889
+ }
3890
+ if (r2 = this.tokenizer.tag(e3)) {
3891
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3892
+ continue;
3893
+ }
3894
+ if (r2 = this.tokenizer.link(e3)) {
3895
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3896
+ continue;
3897
+ }
3898
+ if (r2 = this.tokenizer.reflink(e3, this.tokens.links)) {
3899
+ e3 = e3.substring(r2.raw.length);
3900
+ let n2 = t.at(-1);
3901
+ r2.type === "text" && (n2 == null ? void 0 : n2.type) === "text" ? (n2.raw += r2.raw, n2.text += r2.text) : t.push(r2);
3902
+ continue;
3903
+ }
3904
+ if (r2 = this.tokenizer.emStrong(e3, n, o)) {
3905
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3906
+ continue;
3907
+ }
3908
+ if (r2 = this.tokenizer.codespan(e3)) {
3909
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3910
+ continue;
3911
+ }
3912
+ if (r2 = this.tokenizer.br(e3)) {
3913
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3914
+ continue;
3915
+ }
3916
+ if (r2 = this.tokenizer.del(e3, n, o)) {
3917
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3918
+ continue;
3919
+ }
3920
+ if (r2 = this.tokenizer.autolink(e3)) {
3921
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3922
+ continue;
3923
+ }
3924
+ if (!this.state.inLink && (r2 = this.tokenizer.url(e3))) {
3925
+ e3 = e3.substring(r2.raw.length), t.push(r2);
3926
+ continue;
3927
+ }
3928
+ let i2 = e3;
3929
+ if ((_e2 = this.options.extensions) == null ? void 0 : _e2.startInline) {
3930
+ let t2 = Infinity, n2 = e3.slice(1), r3;
3931
+ this.options.extensions.startInline.forEach((e4) => {
3932
+ r3 = e4.call({ lexer: this }, n2), typeof r3 == "number" && r3 >= 0 && (t2 = Math.min(t2, r3));
3933
+ }), t2 < Infinity && t2 >= 0 && (i2 = e3.substring(0, t2 + 1));
3934
+ }
3935
+ if (r2 = this.tokenizer.inlineText(i2)) {
3936
+ e3 = e3.substring(r2.raw.length), r2.raw.slice(-1) !== "_" && (o = r2.raw.slice(-1)), a = true;
3937
+ let n2 = t.at(-1);
3938
+ (n2 == null ? void 0 : n2.type) === "text" ? (n2.raw += r2.raw, n2.text += r2.text) : t.push(r2);
3939
+ continue;
3940
+ }
3941
+ if (e3) {
3942
+ let t2 = "Infinite loop on byte: " + e3.charCodeAt(0);
3943
+ if (this.options.silent) {
3944
+ console.error(t2);
3945
+ break;
3946
+ } else throw Error(t2);
3947
+ }
3948
+ }
3949
+ return t;
3950
+ }
3951
+ }, nt = class {
3952
+ constructor(e3) {
3953
+ __publicField(this, "options");
3954
+ __publicField(this, "parser");
3955
+ this.options = e3 || E;
3956
+ }
3957
+ space(e3) {
3958
+ return "";
3959
+ }
3960
+ code({ text: e3, lang: t, escaped: n }) {
3961
+ var _a2;
3962
+ let r = (_a2 = (t || "").match(A.notSpaceStart)) == null ? void 0 : _a2[0], i = e3.replace(A.endingNewline, "") + "\n";
3963
+ return r ? '<pre><code class="language-' + q(r) + '">' + (n ? i : q(i, true)) + "</code></pre>\n" : "<pre><code>" + (n ? i : q(i, true)) + "</code></pre>\n";
3964
+ }
3965
+ blockquote({ tokens: e3 }) {
3966
+ return `<blockquote>
3967
+ ${this.parser.parse(e3)}</blockquote>
3968
+ `;
3969
+ }
3970
+ html({ text: e3 }) {
3971
+ return e3;
3972
+ }
3973
+ def(e3) {
3974
+ return "";
3975
+ }
3976
+ heading({ tokens: e3, depth: t }) {
3977
+ return `<h${t}>${this.parser.parseInline(e3)}</h${t}>
3978
+ `;
3979
+ }
3980
+ hr(e3) {
3981
+ return "<hr>\n";
3982
+ }
3983
+ list(e3) {
3984
+ let t = e3.ordered, n = e3.start, r = "";
3985
+ for (let t2 = 0; t2 < e3.items.length; t2++) {
3986
+ let n2 = e3.items[t2];
3987
+ r += this.listitem(n2);
3988
+ }
3989
+ let i = t ? "ol" : "ul", a = t && n !== 1 ? ' start="' + n + '"' : "";
3990
+ return "<" + i + a + ">\n" + r + "</" + i + ">\n";
3991
+ }
3992
+ listitem(e3) {
3993
+ return `<li>${this.parser.parse(e3.tokens)}</li>
3994
+ `;
3995
+ }
3996
+ checkbox({ checked: e3 }) {
3997
+ return "<input " + (e3 ? 'checked="" ' : "") + 'disabled="" type="checkbox"> ';
3998
+ }
3999
+ paragraph({ tokens: e3 }) {
4000
+ return `<p>${this.parser.parseInline(e3)}</p>
4001
+ `;
4002
+ }
4003
+ table(e3) {
4004
+ let t = "", n = "";
4005
+ for (let t2 = 0; t2 < e3.header.length; t2++) n += this.tablecell(e3.header[t2]);
4006
+ t += this.tablerow({ text: n });
4007
+ let r = "";
4008
+ for (let t2 = 0; t2 < e3.rows.length; t2++) {
4009
+ let i = e3.rows[t2];
4010
+ n = "";
4011
+ for (let e4 = 0; e4 < i.length; e4++) n += this.tablecell(i[e4]);
4012
+ r += this.tablerow({ text: n });
4013
+ }
4014
+ return r && (r = `<tbody>${r}</tbody>`), "<table>\n<thead>\n" + t + "</thead>\n" + r + "</table>\n";
4015
+ }
4016
+ tablerow({ text: e3 }) {
4017
+ return `<tr>
4018
+ ${e3}</tr>
4019
+ `;
4020
+ }
4021
+ tablecell(e3) {
4022
+ let t = this.parser.parseInline(e3.tokens), n = e3.header ? "th" : "td";
4023
+ return (e3.align ? `<${n} align="${e3.align}">` : `<${n}>`) + t + `</${n}>
4024
+ `;
4025
+ }
4026
+ strong({ tokens: e3 }) {
4027
+ return `<strong>${this.parser.parseInline(e3)}</strong>`;
4028
+ }
4029
+ em({ tokens: e3 }) {
4030
+ return `<em>${this.parser.parseInline(e3)}</em>`;
4031
+ }
4032
+ codespan({ text: e3 }) {
4033
+ return `<code>${q(e3, true)}</code>`;
4034
+ }
4035
+ br(e3) {
4036
+ return "<br>";
4037
+ }
4038
+ del({ tokens: e3 }) {
4039
+ return `<del>${this.parser.parseInline(e3)}</del>`;
4040
+ }
4041
+ link({ href: e3, title: t, tokens: n }) {
4042
+ let r = this.parser.parseInline(n), i = Ye(e3);
4043
+ if (i === null) return r;
4044
+ e3 = i;
4045
+ let a = '<a href="' + e3 + '"';
4046
+ return t && (a += ' title="' + q(t) + '"'), a += ">" + r + "</a>", a;
4047
+ }
4048
+ image({ href: e3, title: t, text: n, tokens: r }) {
4049
+ r && (n = this.parser.parseInline(r, this.parser.textRenderer));
4050
+ let i = Ye(e3);
4051
+ if (i === null) return q(n);
4052
+ e3 = i;
4053
+ let a = `<img src="${e3}" alt="${q(n)}"`;
4054
+ return t && (a += ` title="${q(t)}"`), a += ">", a;
4055
+ }
4056
+ text(e3) {
4057
+ return "tokens" in e3 && e3.tokens ? this.parser.parseInline(e3.tokens) : "escaped" in e3 && e3.escaped ? e3.text : q(e3.text);
4058
+ }
4059
+ }, rt = class {
4060
+ strong({ text: e3 }) {
4061
+ return e3;
4062
+ }
4063
+ em({ text: e3 }) {
4064
+ return e3;
4065
+ }
4066
+ codespan({ text: e3 }) {
4067
+ return e3;
4068
+ }
4069
+ del({ text: e3 }) {
4070
+ return e3;
4071
+ }
4072
+ html({ text: e3 }) {
4073
+ return e3;
4074
+ }
4075
+ text({ text: e3 }) {
4076
+ return e3;
4077
+ }
4078
+ link({ text: e3 }) {
4079
+ return "" + e3;
4080
+ }
4081
+ image({ text: e3 }) {
4082
+ return "" + e3;
4083
+ }
4084
+ br() {
4085
+ return "";
4086
+ }
4087
+ checkbox({ raw: e3 }) {
4088
+ return e3;
4089
+ }
4090
+ }, X = class e2 {
4091
+ constructor(e3) {
4092
+ __publicField(this, "options");
4093
+ __publicField(this, "renderer");
4094
+ __publicField(this, "textRenderer");
4095
+ this.options = e3 || E, this.options.renderer = this.options.renderer || new nt(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new rt();
4096
+ }
4097
+ static parse(t, n) {
4098
+ return new e2(n).parse(t);
4099
+ }
4100
+ static parseInline(t, n) {
4101
+ return new e2(n).parseInline(t);
4102
+ }
4103
+ parse(e3) {
4104
+ var _a2, _b;
4105
+ this.renderer.parser = this;
4106
+ let t = "";
4107
+ for (let n = 0; n < e3.length; n++) {
4108
+ let r = e3[n];
4109
+ if ((_b = (_a2 = this.options.extensions) == null ? void 0 : _a2.renderers) == null ? void 0 : _b[r.type]) {
4110
+ let e4 = r, n2 = this.options.extensions.renderers[e4.type].call({ parser: this }, e4);
4111
+ if (n2 !== false || ![
4112
+ "space",
4113
+ "hr",
4114
+ "heading",
4115
+ "code",
4116
+ "table",
4117
+ "blockquote",
4118
+ "list",
4119
+ "html",
4120
+ "def",
4121
+ "paragraph",
4122
+ "text"
4123
+ ].includes(e4.type)) {
4124
+ t += n2 || "";
4125
+ continue;
4126
+ }
4127
+ }
4128
+ let i = r;
4129
+ switch (i.type) {
4130
+ case "space":
4131
+ t += this.renderer.space(i);
4132
+ break;
4133
+ case "hr":
4134
+ t += this.renderer.hr(i);
4135
+ break;
4136
+ case "heading":
4137
+ t += this.renderer.heading(i);
4138
+ break;
4139
+ case "code":
4140
+ t += this.renderer.code(i);
4141
+ break;
4142
+ case "table":
4143
+ t += this.renderer.table(i);
4144
+ break;
4145
+ case "blockquote":
4146
+ t += this.renderer.blockquote(i);
4147
+ break;
4148
+ case "list":
4149
+ t += this.renderer.list(i);
4150
+ break;
4151
+ case "checkbox":
4152
+ t += this.renderer.checkbox(i);
4153
+ break;
4154
+ case "html":
4155
+ t += this.renderer.html(i);
4156
+ break;
4157
+ case "def":
4158
+ t += this.renderer.def(i);
4159
+ break;
4160
+ case "paragraph":
4161
+ t += this.renderer.paragraph(i);
4162
+ break;
4163
+ case "text":
4164
+ t += this.renderer.text(i);
4165
+ break;
4166
+ default: {
4167
+ let e4 = 'Token with "' + i.type + '" type was not found.';
4168
+ if (this.options.silent) return console.error(e4), "";
4169
+ throw Error(e4);
4170
+ }
4171
+ }
4172
+ }
4173
+ return t;
4174
+ }
4175
+ parseInline(e3, t = this.renderer) {
4176
+ var _a2, _b;
4177
+ this.renderer.parser = this;
4178
+ let n = "";
4179
+ for (let r = 0; r < e3.length; r++) {
4180
+ let i = e3[r];
4181
+ if ((_b = (_a2 = this.options.extensions) == null ? void 0 : _a2.renderers) == null ? void 0 : _b[i.type]) {
4182
+ let e4 = this.options.extensions.renderers[i.type].call({ parser: this }, i);
4183
+ if (e4 !== false || ![
4184
+ "escape",
4185
+ "html",
4186
+ "link",
4187
+ "image",
4188
+ "strong",
4189
+ "em",
4190
+ "codespan",
4191
+ "br",
4192
+ "del",
4193
+ "text"
4194
+ ].includes(i.type)) {
4195
+ n += e4 || "";
4196
+ continue;
4197
+ }
4198
+ }
4199
+ let a = i;
4200
+ switch (a.type) {
4201
+ case "escape":
4202
+ n += t.text(a);
4203
+ break;
4204
+ case "html":
4205
+ n += t.html(a);
4206
+ break;
4207
+ case "link":
4208
+ n += t.link(a);
4209
+ break;
4210
+ case "image":
4211
+ n += t.image(a);
4212
+ break;
4213
+ case "checkbox":
4214
+ n += t.checkbox(a);
4215
+ break;
4216
+ case "strong":
4217
+ n += t.strong(a);
4218
+ break;
4219
+ case "em":
4220
+ n += t.em(a);
4221
+ break;
4222
+ case "codespan":
4223
+ n += t.codespan(a);
4224
+ break;
4225
+ case "br":
4226
+ n += t.br(a);
4227
+ break;
4228
+ case "del":
4229
+ n += t.del(a);
4230
+ break;
4231
+ case "text":
4232
+ n += t.text(a);
4233
+ break;
4234
+ default: {
4235
+ let e4 = 'Token with "' + a.type + '" type was not found.';
4236
+ if (this.options.silent) return console.error(e4), "";
4237
+ throw Error(e4);
4238
+ }
4239
+ }
4240
+ }
4241
+ return n;
4242
+ }
4243
+ }, Z = (_a = class {
4244
+ constructor(e3) {
4245
+ __publicField(this, "options");
4246
+ __publicField(this, "block");
4247
+ this.options = e3 || E;
4248
+ }
4249
+ preprocess(e3) {
4250
+ return e3;
4251
+ }
4252
+ postprocess(e3) {
4253
+ return e3;
4254
+ }
4255
+ processAllTokens(e3) {
4256
+ return e3;
4257
+ }
4258
+ emStrongMask(e3) {
4259
+ return e3;
4260
+ }
4261
+ provideLexer() {
4262
+ return this.block ? Y.lex : Y.lexInline;
4263
+ }
4264
+ provideParser() {
4265
+ return this.block ? X.parse : X.parseInline;
4266
+ }
4267
+ }, __publicField(_a, "passThroughHooks", /* @__PURE__ */ new Set([
4268
+ "preprocess",
4269
+ "postprocess",
4270
+ "processAllTokens",
4271
+ "emStrongMask"
4272
+ ])), __publicField(_a, "passThroughHooksRespectAsync", /* @__PURE__ */ new Set([
4273
+ "preprocess",
4274
+ "postprocess",
4275
+ "processAllTokens"
4276
+ ])), _a), Q = new class {
4277
+ constructor(...e3) {
4278
+ __publicField(this, "defaults", T());
4279
+ __publicField(this, "options", this.setOptions);
4280
+ __publicField(this, "parse", this.parseMarkdown(true));
4281
+ __publicField(this, "parseInline", this.parseMarkdown(false));
4282
+ __publicField(this, "Parser", X);
4283
+ __publicField(this, "Renderer", nt);
4284
+ __publicField(this, "TextRenderer", rt);
4285
+ __publicField(this, "Lexer", Y);
4286
+ __publicField(this, "Tokenizer", tt);
4287
+ __publicField(this, "Hooks", Z);
4288
+ this.use(...e3);
4289
+ }
4290
+ walkTokens(e3, t) {
4291
+ var _a2, _b;
4292
+ let n = [];
4293
+ for (let r of e3) switch (n = n.concat(t.call(this, r)), r.type) {
4294
+ case "table": {
4295
+ let e4 = r;
4296
+ for (let r2 of e4.header) n = n.concat(this.walkTokens(r2.tokens, t));
4297
+ for (let r2 of e4.rows) for (let e5 of r2) n = n.concat(this.walkTokens(e5.tokens, t));
4298
+ break;
4299
+ }
4300
+ case "list": {
4301
+ let e4 = r;
4302
+ n = n.concat(this.walkTokens(e4.items, t));
4303
+ break;
4304
+ }
4305
+ default: {
4306
+ let e4 = r;
4307
+ ((_b = (_a2 = this.defaults.extensions) == null ? void 0 : _a2.childTokens) == null ? void 0 : _b[e4.type]) ? this.defaults.extensions.childTokens[e4.type].forEach((r2) => {
4308
+ let i = e4[r2].flat(Infinity);
4309
+ n = n.concat(this.walkTokens(i, t));
4310
+ }) : e4.tokens && (n = n.concat(this.walkTokens(e4.tokens, t)));
4311
+ }
4312
+ }
4313
+ return n;
4314
+ }
4315
+ use(...e3) {
4316
+ let t = this.defaults.extensions || {
4317
+ renderers: {},
4318
+ childTokens: {}
4319
+ };
4320
+ return e3.forEach((e4) => {
4321
+ let n = { ...e4 };
4322
+ if (n.async = this.defaults.async || n.async || false, e4.extensions && (e4.extensions.forEach((e5) => {
4323
+ if (!e5.name) throw Error("extension name required");
4324
+ if ("renderer" in e5) {
4325
+ let n2 = t.renderers[e5.name];
4326
+ n2 ? t.renderers[e5.name] = function(...t2) {
4327
+ let r = e5.renderer.apply(this, t2);
4328
+ return r === false && (r = n2.apply(this, t2)), r;
4329
+ } : t.renderers[e5.name] = e5.renderer;
4330
+ }
4331
+ if ("tokenizer" in e5) {
4332
+ if (!e5.level || e5.level !== "block" && e5.level !== "inline") throw Error("extension level must be 'block' or 'inline'");
4333
+ let n2 = t[e5.level];
4334
+ n2 ? n2.unshift(e5.tokenizer) : t[e5.level] = [e5.tokenizer], e5.start && (e5.level === "block" ? t.startBlock ? t.startBlock.push(e5.start) : t.startBlock = [e5.start] : e5.level === "inline" && (t.startInline ? t.startInline.push(e5.start) : t.startInline = [e5.start]));
4335
+ }
4336
+ "childTokens" in e5 && e5.childTokens && (t.childTokens[e5.name] = e5.childTokens);
4337
+ }), n.extensions = t), e4.renderer) {
4338
+ let t2 = this.defaults.renderer || new nt(this.defaults);
4339
+ for (let n2 in e4.renderer) {
4340
+ if (!(n2 in t2)) throw Error(`renderer '${n2}' does not exist`);
4341
+ if (["options", "parser"].includes(n2)) continue;
4342
+ let r = n2, i = e4.renderer[r], a = t2[r];
4343
+ t2[r] = (...e5) => {
4344
+ let n3 = i.apply(t2, e5);
4345
+ return n3 === false && (n3 = a.apply(t2, e5)), n3 || "";
4346
+ };
4347
+ }
4348
+ n.renderer = t2;
4349
+ }
4350
+ if (e4.tokenizer) {
4351
+ let t2 = this.defaults.tokenizer || new tt(this.defaults);
4352
+ for (let n2 in e4.tokenizer) {
4353
+ if (!(n2 in t2)) throw Error(`tokenizer '${n2}' does not exist`);
4354
+ if ([
4355
+ "options",
4356
+ "rules",
4357
+ "lexer"
4358
+ ].includes(n2)) continue;
4359
+ let r = n2, i = e4.tokenizer[r], a = t2[r];
4360
+ t2[r] = (...e5) => {
4361
+ let n3 = i.apply(t2, e5);
4362
+ return n3 === false && (n3 = a.apply(t2, e5)), n3;
4363
+ };
4364
+ }
4365
+ n.tokenizer = t2;
4366
+ }
4367
+ if (e4.hooks) {
4368
+ let t2 = this.defaults.hooks || new Z();
4369
+ for (let n2 in e4.hooks) {
4370
+ if (!(n2 in t2)) throw Error(`hook '${n2}' does not exist`);
4371
+ if (["options", "block"].includes(n2)) continue;
4372
+ let r = n2, i = e4.hooks[r], a = t2[r];
4373
+ Z.passThroughHooks.has(n2) ? t2[r] = (e5) => {
4374
+ if (this.defaults.async && Z.passThroughHooksRespectAsync.has(n2)) return (async () => {
4375
+ let n3 = await i.call(t2, e5);
4376
+ return a.call(t2, n3);
4377
+ })();
4378
+ let r2 = i.call(t2, e5);
4379
+ return a.call(t2, r2);
4380
+ } : t2[r] = (...e5) => {
4381
+ if (this.defaults.async) return (async () => {
4382
+ let n4 = await i.apply(t2, e5);
4383
+ return n4 === false && (n4 = await a.apply(t2, e5)), n4;
4384
+ })();
4385
+ let n3 = i.apply(t2, e5);
4386
+ return n3 === false && (n3 = a.apply(t2, e5)), n3;
4387
+ };
4388
+ }
4389
+ n.hooks = t2;
4390
+ }
4391
+ if (e4.walkTokens) {
4392
+ let t2 = this.defaults.walkTokens, r = e4.walkTokens;
4393
+ n.walkTokens = function(e5) {
4394
+ let n2 = [];
4395
+ return n2.push(r.call(this, e5)), t2 && (n2 = n2.concat(t2.call(this, e5))), n2;
4396
+ };
4397
+ }
4398
+ this.defaults = {
4399
+ ...this.defaults,
4400
+ ...n
4401
+ };
4402
+ }), this;
4403
+ }
4404
+ setOptions(e3) {
4405
+ return this.defaults = {
4406
+ ...this.defaults,
4407
+ ...e3
4408
+ }, this;
4409
+ }
4410
+ lexer(e3, t) {
4411
+ return Y.lex(e3, t ?? this.defaults);
4412
+ }
4413
+ parser(e3, t) {
4414
+ return X.parse(e3, t ?? this.defaults);
4415
+ }
4416
+ parseMarkdown(e3) {
4417
+ return (t, n) => {
4418
+ let r = { ...n }, i = {
4419
+ ...this.defaults,
4420
+ ...r
4421
+ }, a = this.onError(!!i.silent, !!i.async);
4422
+ if (this.defaults.async === true && r.async === false) return a(/* @__PURE__ */ Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
4423
+ if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
4424
+ if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
4425
+ if (i.hooks && (i.hooks.options = i, i.hooks.block = e3), i.async) return (async () => {
4426
+ let n2 = i.hooks ? await i.hooks.preprocess(t) : t, r2 = await (i.hooks ? await i.hooks.provideLexer() : e3 ? Y.lex : Y.lexInline)(n2, i), a2 = i.hooks ? await i.hooks.processAllTokens(r2) : r2;
4427
+ i.walkTokens && await Promise.all(this.walkTokens(a2, i.walkTokens));
4428
+ let o = await (i.hooks ? await i.hooks.provideParser() : e3 ? X.parse : X.parseInline)(a2, i);
4429
+ return i.hooks ? await i.hooks.postprocess(o) : o;
4430
+ })().catch(a);
4431
+ try {
4432
+ i.hooks && (t = i.hooks.preprocess(t));
4433
+ let n2 = (i.hooks ? i.hooks.provideLexer() : e3 ? Y.lex : Y.lexInline)(t, i);
4434
+ i.hooks && (n2 = i.hooks.processAllTokens(n2)), i.walkTokens && this.walkTokens(n2, i.walkTokens);
4435
+ let r2 = (i.hooks ? i.hooks.provideParser() : e3 ? X.parse : X.parseInline)(n2, i);
4436
+ return i.hooks && (r2 = i.hooks.postprocess(r2)), r2;
4437
+ } catch (e4) {
4438
+ return a(e4);
4439
+ }
4440
+ };
4441
+ }
4442
+ onError(e3, t) {
4443
+ return (n) => {
4444
+ if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e3) {
4445
+ let e4 = "<p>An error occurred:</p><pre>" + q(n.message + "", true) + "</pre>";
4446
+ return t ? Promise.resolve(e4) : e4;
4447
+ }
4448
+ if (t) return Promise.reject(n);
4449
+ throw n;
4450
+ };
4451
+ }
4452
+ }();
4453
+ function $(e3, t) {
4454
+ return Q.parse(e3, t);
4455
+ }
4456
+ $.options = $.setOptions = function(e3) {
4457
+ return Q.setOptions(e3), $.defaults = Q.defaults, D($.defaults), $;
4458
+ }, $.getDefaults = T, $.defaults = E, $.use = function(...e3) {
4459
+ return Q.use(...e3), $.defaults = Q.defaults, D($.defaults), $;
4460
+ }, $.walkTokens = function(e3, t) {
4461
+ return Q.walkTokens(e3, t);
4462
+ }, $.parseInline = Q.parseInline, $.Parser = X, $.parser = X.parse, $.Renderer = nt, $.TextRenderer = rt, $.Lexer = Y, $.lexer = Y.lex, $.Tokenizer = tt, $.Hooks = Z, $.parse = $, $.options, $.setOptions, $.use, $.walkTokens, $.parseInline, X.parse, Y.lex;
4463
+ var reveal_component_default = (e3) => {
4464
+ let t = (0, import_compiler_runtime.c)(23), { cellsWithOutput: n, activeIndex: i, onSlideChange: a, deckRef: o } = e3, c, f;
4465
+ t[0] !== i || t[1] !== o ? (c = () => {
4466
+ let e4 = o.current;
4467
+ if (e4 == null || i == null) return;
4468
+ let { h: t2 } = e4.getIndices();
4469
+ t2 !== i && e4.slide(i);
4470
+ }, f = [i, o], t[0] = i, t[1] = o, t[2] = c, t[3] = f) : (c = t[2], f = t[3]), (0, import_react.useEffect)(c, f);
4471
+ let mn, p;
4472
+ t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (mn = { height: "100%" }, p = {
4473
+ embedded: true,
4474
+ overview: false,
4475
+ width: "100%",
4476
+ height: "100%",
4477
+ center: false,
4478
+ minScale: 1,
4479
+ maxScale: 1,
4480
+ keyboardCondition: _temp
4481
+ }, t[4] = mn, t[5] = p) : (mn = t[4], p = t[5]);
4482
+ let hn;
4483
+ t[6] !== o || t[7] !== a ? (hn = () => {
4484
+ var _a2;
4485
+ let e4 = o.current;
4486
+ e4 && (a == null ? void 0 : a(e4.getIndices().h), ((_a2 = e4.getCurrentSlide()) == null ? void 0 : _a2.querySelector(".vega-embed, marimo-vega")) && requestAnimationFrame(_temp2));
4487
+ }, t[6] = o, t[7] = a, t[8] = hn) : hn = t[8];
4488
+ let m;
4489
+ t[9] === n ? m = t[10] : (m = n.map(_temp3), t[9] = n, t[10] = m);
4490
+ let gn;
4491
+ t[11] !== o || t[12] !== hn || t[13] !== m ? (gn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(b, {
4492
+ deckRef: o,
4493
+ className: "relative w-full h-full border rounded bg-background mo-slides-theme prose-slides",
4494
+ style: mn,
4495
+ config: p,
4496
+ onSlideChange: hn,
4497
+ children: m
4498
+ }), t[11] = o, t[12] = hn, t[13] = m, t[14] = gn) : gn = t[14];
4499
+ let _n;
4500
+ t[15] === o ? _n = t[16] : (_n = () => {
4501
+ var _a2, _b;
4502
+ (_b = (_a2 = o.current) == null ? void 0 : _a2.getViewportElement()) == null ? void 0 : _b.requestFullscreen().catch(_temp4);
4503
+ }, t[15] = o, t[16] = _n);
4504
+ let vn;
4505
+ t[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (vn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Expand, { className: "h-4 w-4" }), t[17] = vn) : vn = t[17];
4506
+ let yn;
4507
+ t[18] === _n ? yn = t[19] : (yn = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
4508
+ content: "Fullscreen (F)",
4509
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
4510
+ "data-testid": "marimo-plugin-slides-fullscreen",
4511
+ variant: "ghost",
4512
+ size: "icon",
4513
+ className: "absolute top-2 right-2 z-10 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity h-7 w-7",
4514
+ onClick: _n,
4515
+ children: vn
4516
+ })
4517
+ }), t[18] = _n, t[19] = yn);
4518
+ let bn;
4519
+ return t[20] !== yn || t[21] !== gn ? (bn = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
4520
+ className: "group relative h-full w-full flex-1",
4521
+ children: [gn, yn]
4522
+ }), t[20] = yn, t[21] = gn, t[22] = bn) : bn = t[22], bn;
4523
+ };
4524
+ function _temp(e3) {
4525
+ return !Events.fromInput(e3);
4526
+ }
4527
+ function _temp2() {
4528
+ window.dispatchEvent(new Event("resize"));
4529
+ }
4530
+ function _temp3(e3) {
4531
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(w, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4532
+ className: "h-full w-full overflow-auto flex",
4533
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
4534
+ className: "mo-slide-content",
4535
+ style: { margin: "auto 0" },
4536
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slide, {
4537
+ cellId: e3.id,
4538
+ status: e3.status,
4539
+ output: e3.output
4540
+ })
4541
+ })
4542
+ }) }, e3.id);
4543
+ }
4544
+ function _temp4(e3) {
4545
+ Logger.error("Failed to request fullscreen", e3);
4546
+ }
4547
+ export {
4548
+ reveal_component_default as default
4549
+ };