@marimo-team/frontend 0.23.10-dev9 → 0.23.11-dev1
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.
- package/dist/assets/{CellStatus-CW_ZKa0D.js → CellStatus-e0ex7Iei.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-W0UfNkj7.js → ConnectedDataExplorerComponent-pHNm56FY.js} +1 -1
- package/dist/assets/{ImperativeModal-B3Th7k4R.js → ImperativeModal-BW1dmntO.js} +1 -1
- package/dist/assets/JsonOutput-DRNPZOvX.js +53 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-C7ALwTI_.js +2 -0
- package/dist/assets/{MarimoErrorOutput-z_AGcPFY.js → MarimoErrorOutput-BH6hs0Ir.js} +2 -2
- package/dist/assets/{RSPContexts-CdN1NyAt.js → RSPContexts-C3vBe8nL.js} +1 -1
- package/dist/assets/{RenderHTML-p2dN-EvB.js → RenderHTML-BQ1PO4Wd.js} +1 -1
- package/dist/assets/RunButton-F8pLIvFp.js +1 -0
- package/dist/assets/__vite-browser-external-CeH7R2Sf.js +1 -0
- package/dist/assets/__vite-browser-external-DTK_qJHK.js +1 -0
- package/dist/assets/{add-cell-with-ai-D42169BY.js → add-cell-with-ai-C2OtCghK.js} +21 -21
- package/dist/assets/add-connection-dialog-AhwxOztN.js +170 -0
- package/dist/assets/{agent-panel-C106sjaz.js → agent-panel-D6ryE8xb.js} +6 -6
- package/dist/assets/{ai-model-dropdown-CKlj3_3M.js → ai-model-dropdown-CG4B4rqH.js} +3 -3
- package/dist/assets/{alert-dialog-BqFLkbUc.js → alert-dialog-5BGIfskO.js} +2 -2
- package/dist/assets/{any-language-editor-DOLtgCLo.js → any-language-editor-Ds4PatYt.js} +1 -1
- package/dist/assets/apl-DpOiWl6J.js +1 -0
- package/dist/assets/{app-config-button-DijwNgwN.js → app-config-button-D_sFrSql.js} +1 -1
- package/dist/assets/{arc-CWuN1tfc.js → arc-xh3ZebK_.js} +1 -1
- package/dist/assets/{architecture-7HQA4BMR-DJtUfdk-.js → architecture-7HQA4BMR-CtZSskKa.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-Cgi4wo9P.js → architectureDiagram-VXUJARFQ-BOj65Cij.js} +1 -1
- package/dist/assets/asciiarmor-DVIuYySe.js +1 -0
- package/dist/assets/asn1-CWHjZJq6.js +1 -0
- package/dist/assets/{blockDiagram-VD42YOAC-CsHap8-F.js → blockDiagram-VD42YOAC-C1dCrclf.js} +1 -1
- package/dist/assets/brainfuck-CIKJewgG.js +1 -0
- package/dist/assets/{c4Diagram-YG6GDRKO-CZuArudM.js → c4Diagram-YG6GDRKO-i2yUrWYM.js} +1 -1
- package/dist/assets/{cache-panel-lRBWNjiY.js → cache-panel-C2wbL8-g.js} +1 -1
- package/dist/assets/cell-editor-XNa3wJ3P.js +24 -0
- package/dist/assets/{cell-editor-Iey559K_.css → cell-editor-nqEF4IhQ.css} +1 -1
- package/dist/assets/{cell-link-CLgpQstl.js → cell-link-Bj4-yOIx.js} +1 -1
- package/dist/assets/{cells-DZIaNeAd.js → cells-DOA0Gew8.js} +76 -74
- package/dist/assets/cells-pu5xzE_v.css +2 -0
- package/dist/assets/channel-C8k5aAg8.js +1 -0
- package/dist/assets/{chat-display-CBAWsoRx.js → chat-display-CezkHLLR.js} +1 -1
- package/dist/assets/{chat-panel-D7wvdByY.js → chat-panel-DEBTPtwE.js} +2 -2
- package/dist/assets/{chat-ui-BBqT02Tj.js → chat-ui-CIr1o1hq.js} +4 -4
- package/dist/assets/{chunk-4BX2VUAB-Ca6WzYTr.js → chunk-4BX2VUAB-CHtIUBVX.js} +1 -1
- package/dist/assets/chunk-55IACEB6-DJtiFmZI.js +1 -0
- package/dist/assets/{chunk-5FQGJX7Z-D9iBG0F7.js → chunk-5FQGJX7Z-D91x7QHS.js} +42 -42
- package/dist/assets/{chunk-ABZYJK2D-BG7Eb4WW.js → chunk-ABZYJK2D-CW6LcQEi.js} +3 -3
- package/dist/assets/{chunk-ATLVNIR6-CqLn9HI1.js → chunk-ATLVNIR6-CaXl_ZVt.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-D4SyZNjn.js → chunk-B4BG7PRW-Dkcioyxv.js} +1 -1
- package/dist/assets/{chunk-CVBHYZKI-C-NWvPQL.js → chunk-CVBHYZKI-Cx6_q0Bq.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-t9uiMPiN.js → chunk-DI55MBZ5-CpmNjAbj.js} +1 -1
- package/dist/assets/{chunk-EXTU4WIE-BmVk7Fyq.js → chunk-EXTU4WIE-BfQ60QJd.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-DlnzxSkO.js → chunk-FMBD7UC4-Dzk6L3_z.js} +1 -1
- package/dist/assets/{chunk-HN2XXSSU-Bcaj5fRB.js → chunk-HN2XXSSU-DKAgaU5O.js} +1 -1
- package/dist/assets/{chunk-JA3XYJ7Z-B5b2QHOb.js → chunk-JA3XYJ7Z-Cx9lJRz-.js} +1 -1
- package/dist/assets/{chunk-JZLCHNYA-1_sVfAnw.js → chunk-JZLCHNYA-LdSYK6Ej.js} +1 -1
- package/dist/assets/{chunk-MI3HLSF2-DqzZqBCh.js → chunk-MI3HLSF2-AJRVV4NE.js} +1 -1
- package/dist/assets/{chunk-N4CR4FBY-CFJoD-EQ.js → chunk-N4CR4FBY-DM96YL3R.js} +2 -2
- package/dist/assets/{chunk-QN33PNHL-BBE_bx9E.js → chunk-QN33PNHL-4cZDuwgu.js} +1 -1
- package/dist/assets/{chunk-QXUST7PY-Cu1nR-L2.js → chunk-QXUST7PY-Di5YbBao.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-BAnb9AKF.js → chunk-QZHKN3VN-B2hZ4g68.js} +1 -1
- package/dist/assets/{chunk-S3R3BYOJ-Cl0iW04v.js → chunk-S3R3BYOJ-BAKX3hoQ.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-f5ix6iSd.js → chunk-TZMSLE5B-BFdV9a1D.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-CFISa78E.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-BzMNKvre.js +1 -0
- package/dist/assets/{clike-bdcjLdZ4.js → clike-wo4CVrJj.js} +1 -1
- package/dist/assets/clojure-CTxjMkBI.js +1 -0
- package/dist/assets/cmake-aJ0aGjat.js +1 -0
- package/dist/assets/cobol-Dw9T4cw-.js +1 -0
- package/dist/assets/{code-block-37QAKDTI-B19XL3UR.js → code-block-37QAKDTI-Ci6cOC6s.js} +1 -1
- package/dist/assets/coffeescript-B5HCKl_0.js +1 -0
- package/dist/assets/column-preview-nu3Qo2OW.js +1 -0
- package/dist/assets/{command-KARR7KMq.js → command-BmOGG6-2.js} +1 -1
- package/dist/assets/{command-palette-BcLQY0if.js → command-palette-_VEEjmkI.js} +1 -1
- package/dist/assets/{common-ClJSmjpB.js → common-fDFYY_sv.js} +1 -1
- package/dist/assets/commonlisp-C578hhl1.js +1 -0
- package/dist/assets/components--C6N-DXq.js +1 -0
- package/dist/assets/{copy-icon-D_qz1txR.js → copy-icon-BuRdHNPA.js} +1 -1
- package/dist/assets/{cose-bilkent-S5V4N54A-CQqSLzd1.js → cose-bilkent-S5V4N54A-DsnN-_2o.js} +1 -1
- package/dist/assets/crystal-D84c1nzD.js +1 -0
- package/dist/assets/{css-ACAb8MRM.js → css-BJsW3aHa.js} +1 -1
- package/dist/assets/cypher-DBO3MHmN.js +1 -0
- package/dist/assets/d-KvHiAR3H.js +1 -0
- package/dist/assets/{dagre-6UL2VRFP-CVKXpDlr.js → dagre-6UL2VRFP-CHMBr-on.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-BdDYn72O.js → data-grid-overlay-editor-orng_e3E.js} +1 -1
- package/dist/assets/{datasource-D4PcWbjA.js → datasource-CR6RRpTi.js} +2 -2
- package/dist/assets/dependency-graph-panel-BEgkvdX0.js +5 -0
- package/dist/assets/{diagram-PSM6KHXK-BfzLNKp-.js → diagram-PSM6KHXK-BAkhyJz0.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-D_H77Ni5.js → diagram-QEK2KX5R-OUubZf2n.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-DJmVBeMk.js → diagram-S2PKOQOG-CGIZL2qm.js} +1 -1
- package/dist/assets/{dialog-DzC_QCtT.js → dialog-DRnNAWYl.js} +1 -1
- package/dist/assets/diff-BmUpKGx-.js +1 -0
- package/dist/assets/dist-0sLFAEuj.js +1 -0
- package/dist/assets/dist-2FedModH.js +7 -0
- package/dist/assets/{dist-CNyMUs19.js → dist-2TkSwR77.js} +1 -1
- package/dist/assets/{dist-CJIOLS6O.js → dist-6YVuqDQg.js} +1 -1
- package/dist/assets/dist-AQEMgdxp.js +1 -0
- package/dist/assets/dist-B65RnwM5.js +1 -0
- package/dist/assets/dist-BURue7-e.js +3 -0
- package/dist/assets/{dist-A7swzSTR.js → dist-BXcZeTeA.js} +1 -1
- package/dist/assets/dist-BXeHg5NQ.js +1 -0
- package/dist/assets/{dist-DqVEVg0c.js → dist-BcvGVYKl.js} +1 -1
- package/dist/assets/dist-BdKlcwR7.js +1 -0
- package/dist/assets/{dist-CsvFAFh9.js → dist-BieDRQs9.js} +1 -1
- package/dist/assets/{dist-HlsDto3K.js → dist-Bo13cFwO.js} +1 -1
- package/dist/assets/dist-Bqr3AzD8.js +1 -0
- package/dist/assets/{dist-C78V1LRz.js → dist-BscEQwf7.js} +1 -1
- package/dist/assets/{dist-CpTFpfm_.js → dist-BwnT-_gD.js} +1 -1
- package/dist/assets/dist-BznMRbTz.js +1 -0
- package/dist/assets/dist-C5PcfT25.js +1 -0
- package/dist/assets/{dist-BdyjRhEt.js → dist-CWMKC7yO.js} +1 -1
- package/dist/assets/dist-CZ5EKIth.js +1 -0
- package/dist/assets/dist-CdtVwSQt.js +1 -0
- package/dist/assets/{dist-Dr8mWwQ_.js → dist-ChrXdgjb.js} +1 -1
- package/dist/assets/{dist-CqEym3Sr.js → dist-CvuhNTbr.js} +1 -1
- package/dist/assets/{dist-CKT_lJKW.js → dist-CycP1Cdf.js} +1 -1
- package/dist/assets/{dist-BrR4M-k3.js → dist-D0HyMpgV.js} +12 -11
- package/dist/assets/{dist-CciFN1z_.js → dist-D2g-G0wk.js} +1 -1
- package/dist/assets/dist-D3lJti6y.js +1 -0
- package/dist/assets/dist-DBklo-uX.js +1 -0
- package/dist/assets/{dist-DUHHizRG.js → dist-DCzr8T5W.js} +1 -1
- package/dist/assets/{dist-BlOtCkpT.js → dist-DU8NrdIh.js} +1 -1
- package/dist/assets/dist-DUDjfnME.js +1 -0
- package/dist/assets/dist-DVkC-Qmw.js +2 -0
- package/dist/assets/{dist-CocyeH0q.js → dist-DgGMawx8.js} +1 -1
- package/dist/assets/dist-Dq1Qheae.js +1 -0
- package/dist/assets/{dist-D70Tz1Kr.js → dist-DxlQcmyw.js} +1 -1
- package/dist/assets/dist-GiCZ_RyY.js +1 -0
- package/dist/assets/{dist-CBSMxaO_.js → dist-HyCgERnW.js} +4 -4
- package/dist/assets/{dist-CpcTHxTt.js → dist-Otadb4Hb.js} +1 -1
- package/dist/assets/dist-PCikvPoP.js +1 -0
- package/dist/assets/{dist-4ni0fia5.js → dist-PHrL7abE.js} +3 -3
- package/dist/assets/{dist-BQeNY9Zl.js → dist-QqcJxlfK.js} +1 -1
- package/dist/assets/dist-RMRSa-Mj.js +13 -0
- package/dist/assets/dist-RnuaWZoB.js +1 -0
- package/dist/assets/{dist-C9ZB41s2.js → dist-YEXtMjTi.js} +2 -2
- package/dist/assets/dist-deBZx53p.js +1 -0
- package/dist/assets/{dist-BF6UNR6V.js → dist-flL-WW8v.js} +1 -1
- package/dist/assets/dist-rBRbke5D.js +1 -0
- package/dist/assets/{dockerfile-BSMbgQQl.js → dockerfile-DQFWVVcg.js} +1 -1
- package/dist/assets/documentation-panel-HvbKykbI.js +1 -0
- package/dist/assets/download-DhxnAw14.js +9 -0
- package/dist/assets/{dropdown-menu-CR7cnzLX.js → dropdown-menu-CZ4XbE-c.js} +1 -1
- package/dist/assets/dtd-Dwf-AbUl.js +1 -0
- package/dist/assets/dylan-VHUB-7ez.js +1 -0
- package/dist/assets/ecl-DvGrObaA.js +1 -0
- package/dist/assets/edit-page-D-02q6iz.js +9 -0
- package/dist/assets/eiffel-CUYga93e.js +1 -0
- package/dist/assets/elm-BhMhmEP6.js +1 -0
- package/dist/assets/{erDiagram-Q2GNP2WA-ROTNwSJz.js → erDiagram-Q2GNP2WA-Da5CNIuT.js} +1 -1
- package/dist/assets/erlang-D4xbdJFD.js +1 -0
- package/dist/assets/{error-banner-LdWZDbqd.js → error-banner-D0xvrLog.js} +1 -1
- package/dist/assets/{error-panel-DshWkCok.js → error-panel-WLBQ3q9p.js} +1 -1
- package/dist/assets/errors-D3F5g1xA.js +1 -0
- package/dist/assets/{es-DGgq-Wes.js → es-By9LYOsD.js} +1 -1
- package/dist/assets/{esm-DeiyaVAJ.js → esm-DgI-7XOj.js} +1 -1
- package/dist/assets/esm-xaw4Vy8N.js +1 -0
- package/dist/assets/eye-off-Cm6DdkeR.js +1 -0
- package/dist/assets/factor-C0grrWrC.js +1 -0
- package/dist/assets/{factor-C-_cRSDM.js → factor-Ccw_GUUV.js} +1 -1
- package/dist/assets/{field-zLmMOSA4.js → field-DCdxnSKm.js} +1 -1
- package/dist/assets/file-explorer-panel-DtzGlnzT.js +26 -0
- package/dist/assets/{file-icons-3sDTzIiO.js → file-icons-D2f3nfbq.js} +1 -1
- package/dist/assets/{file-name-input-BQHsY06u.js → file-name-input-BNYf9WWM.js} +3 -3
- package/dist/assets/{fileToBase64-DZfwJMrG.js → fileToBase64-D15LPv1Y.js} +1 -1
- package/dist/assets/{floating-outline-BwApXVjM.js → floating-outline-BvHFWRoz.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS--ee3IIVF.js → flowDiagram-NV44I4VS-BxZczAJ3.js} +1 -1
- package/dist/assets/focus-Ldqh99xE.js +1 -0
- package/dist/assets/{form-Dwj-zTw2.js → form-CxBAInfg.js} +2 -2
- package/dist/assets/formatting-DuH2AQgo.js +1 -0
- package/dist/assets/forth-CSTdXn4A.js +1 -0
- package/dist/assets/fortran-fENQO2l9.js +1 -0
- package/dist/assets/{fullscreen-eipL3i3Y.js → fullscreen-DFky0PAA.js} +3 -3
- package/dist/assets/{gallery-page-Bcf7fYLy.js → gallery-page-iZXf43Df.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-BGhmW2aP.js → ganttDiagram-JELNMOA3-D6lhmAdR.js} +1 -1
- package/dist/assets/gas-CPJMP4zj.js +1 -0
- package/dist/assets/gherkin-CiUmN4EE.js +1 -0
- package/dist/assets/{gitGraph-G5XIXVHT-DuJ_0c_E.js → gitGraph-G5XIXVHT-Du3ykVxi.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM-DXFCZcxr.js → gitGraphDiagram-V2S2FVAM-Cn2X9uyf.js} +1 -1
- package/dist/assets/{glide-data-editor-k70Tmujb.js → glide-data-editor-BbI6JGpY.js} +4 -4
- package/dist/assets/{globals-7JnRMGd4.js → globals-BivClSmn.js} +1 -1
- package/dist/assets/groovy-DMooZA1X.js +1 -0
- package/dist/assets/haskell-sDlThg6u.js +1 -0
- package/dist/assets/haxe-Do80ITri.js +1 -0
- package/dist/assets/home-page-DwFpLpXK.js +4 -0
- package/dist/assets/{hooks-TAU-thfD.js → hooks-5gNQitDd.js} +1 -1
- package/dist/assets/{html-to-image-E1XHwobR.js → html-to-image-CyAtzePO.js} +2 -2
- package/dist/assets/idl-DFPg6k4F.js +1 -0
- package/dist/assets/index-BAYF7dcV.css +2 -0
- package/dist/assets/index-CGCBsDqs.js +38 -0
- package/dist/assets/{info-VBDWY6EO-DPQEAe2T.js → info-VBDWY6EO-DfrFT_jr.js} +1 -1
- package/dist/assets/infoDiagram-HS3SLOUP-DkUueEWV.js +2 -0
- package/dist/assets/input-DA8xlX70.js +1 -0
- package/dist/assets/javascript-BGc4iHiT.js +1 -0
- package/dist/assets/{journeyDiagram-XKPGCS4Q-9D2JCyrN.js → journeyDiagram-XKPGCS4Q-D_8hf_60.js} +1 -1
- package/dist/assets/julia-BHNHVraD.js +1 -0
- package/dist/assets/{kanban-definition-3W4ZIXB7-DxV26rf-.js → kanban-definition-3W4ZIXB7-DLnwfoGw.js} +1 -1
- package/dist/assets/katex-Bty7Bcil.js +1 -0
- package/dist/assets/kiosk-mode-CTWHjzXs.js +1 -0
- package/dist/assets/{label-xHqFtfdz.js → label-C2_YQRio.js} +1 -1
- package/dist/assets/layout-D3pd3R21.js +9 -0
- package/dist/assets/{line-x4bpd_8D.js → line-VKarCWVL.js} +1 -1
- package/dist/assets/{linear-CW_ww8od.js → linear-BrLBJGJq.js} +1 -1
- package/dist/assets/livescript-Bv2FpOTI.js +1 -0
- package/dist/assets/{logs-panel-BgBoDU9c.js → logs-panel-BVLYycQb.js} +1 -1
- package/dist/assets/{loro_wasm_bg-CtNTubKN.js → loro_wasm_bg-Drxc4adW.js} +1 -1
- package/dist/assets/lua-BysKHKPZ.js +1 -0
- package/dist/assets/markdown-renderer-C9Ujvj0b.js +5 -0
- package/dist/assets/mathematica-BBTHoTvM.js +1 -0
- package/dist/assets/mbox-DeT9_lvk.js +1 -0
- package/dist/assets/{menu-items-DcP01QzW.js → menu-items-BP7Ju9ww.js} +1 -1
- package/dist/assets/mermaid-4DMBBIKO-DpGOMfON.js +1 -0
- package/dist/assets/{mermaid-Bes0ynI8.js → mermaid-DALU4jHa.js} +3 -3
- package/dist/assets/{mermaid-parser.core-aYU6qXxk.js → mermaid-parser.core-B73Gp-Wo.js} +2 -2
- package/dist/assets/{mhchem-8N2oE3tb.js → mhchem-LBCEVJFr.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-DTJAbAQ8.js → mindmap-definition-VGOIOE7T-DO_Zb7LC.js} +1 -1
- package/dist/assets/mirc-D5fMSrXQ.js +1 -0
- package/dist/assets/mllike-BtxCpmpf.js +1 -0
- package/dist/assets/modelica-CRQcZpK6.js +1 -0
- package/dist/assets/mscgen-BfscU11q.js +1 -0
- package/dist/assets/multi-map-C4OANz8X.js +1 -0
- package/dist/assets/mumps-g7ooySbl.js +1 -0
- package/dist/assets/{name-cell-input-LhNS_uVp.js → name-cell-input-DabvuruX.js} +1 -1
- package/dist/assets/nsis-BtyCmCHZ.js +1 -0
- package/dist/assets/{nsis-BGZ5EB-j.js → nsis-CzZqoCdu.js} +1 -1
- package/dist/assets/ntriples-DLyxF-NO.js +1 -0
- package/dist/assets/{number-overlay-editor-DL4IwqDH.js → number-overlay-editor-DyhbXrfU.js} +1 -1
- package/dist/assets/numbers-DGxQfQ-A.js +1 -0
- package/dist/assets/octave-CFXP_zzr.js +1 -0
- package/dist/assets/{ordinal-_nQ2r1qQ.js → ordinal-DgI3JO68.js} +1 -1
- package/dist/assets/{outline-panel-CXyY4Ooa.js → outline-panel-B-ncbNWI.js} +1 -1
- package/dist/assets/oz-CrQbC0N_.js +1 -0
- package/dist/assets/{packages-panel-Dc1T948s.js → packages-panel-CESeW_3T.js} +1 -1
- package/dist/assets/{packet-DYOGHKS2-CxgeJpvT.js → packet-DYOGHKS2-DoIJcGk-.js} +1 -1
- package/dist/assets/{pair-with-agent-modal-1tufe5MP.js → pair-with-agent-modal-_SlYEcmZ.js} +1 -1
- package/dist/assets/{panels-wCFiLJ4T.js → panels-CTy3hq0L.js} +1 -1
- package/dist/assets/pascal-CCSZgYZH.js +1 -0
- package/dist/assets/perl-Bc1MycMl.js +1 -0
- package/dist/assets/{pie-VRWISCQL-GZ13ReaG.js → pie-VRWISCQL-DYulZZ0A.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-_3l2XiEo.js → pieDiagram-ADFJNKIX-Dxph8su5.js} +1 -1
- package/dist/assets/pig-CDr04RdE.js +1 -0
- package/dist/assets/{popover-Bz_0Vkyf.js → popover-CNCYAwbC.js} +1 -1
- package/dist/assets/powershell-DcvrUwmh.js +1 -0
- package/dist/assets/process-output-pPgH0ANl.js +1 -0
- package/dist/assets/properties-Y8OgFJMt.js +1 -0
- package/dist/assets/protobuf-Dyx-ENis.js +1 -0
- package/dist/assets/{pug-CYW0agOo.js → pug-BqLMXh-D.js} +1 -1
- package/dist/assets/pug-T7qjkmFh.js +1 -0
- package/dist/assets/puppet-BzYSg90u.js +1 -0
- package/dist/assets/python-D4S7tVrv.js +1 -0
- package/dist/assets/q-YpqabiSl.js +1 -0
- package/dist/assets/{quadrantDiagram-AYHSOK5B-CX3AMAvR.js → quadrantDiagram-AYHSOK5B-OK6c_k6c.js} +1 -1
- package/dist/assets/r-DzpuVbmQ.js +1 -0
- package/dist/assets/{radar-ZZBFDIW7-CbAjwmA0.js → radar-ZZBFDIW7-DsPiq6Fm.js} +1 -1
- package/dist/assets/radio-group-D7rh6Zek.js +1 -0
- package/dist/assets/{react-vega-COx3Ibyn.js → react-vega-CF0xMHAj.js} +1 -1
- package/dist/assets/{react-vega-CXIQBUis.js → react-vega-DiXzyRNd.js} +1 -1
- package/dist/assets/readonly-python-code-CvPx4CU_.js +1 -0
- package/dist/assets/{renderShortcut-CcFk3m01.js → renderShortcut--ku7VECI.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-ORHKBnkg.js → requirementDiagram-UZGBJVZJ-CHfh_UWf.js} +1 -1
- package/dist/assets/reveal-component-lTtEZQh1.js +1069 -0
- package/dist/assets/rpm-DlmAEsH3.js +1 -0
- package/dist/assets/ruby-BHSBK3B4.js +1 -0
- package/dist/assets/{run-page-CUGbf_dY.js → run-page-BB6ghGfO.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-Dvb8kmWa.js → sankeyDiagram-TZEHDZUN-DJTjdP71.js} +1 -1
- package/dist/assets/sas-DmQmrPAn.js +1 -0
- package/dist/assets/save-worker-Bcr7rl0C.js +77 -0
- package/dist/assets/scheme-CZHvt0eC.js +1 -0
- package/dist/assets/scratchpad-panel-Bvb8RxUv.js +1 -0
- package/dist/assets/{secrets-panel-Yt3orrjq.js → secrets-panel-BJEb16JJ.js} +1 -1
- package/dist/assets/{select-DZcFyKFQ.js → select-6suE6YM2.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-DQycpQtE.js → sequenceDiagram-WL72ISMW-BbqjAz3N.js} +1 -1
- package/dist/assets/session-panel-CTJPYbAa.js +1 -0
- package/dist/assets/shell-BJzvpTMz.js +1 -0
- package/dist/assets/sieve-DGjPhm-6.js +1 -0
- package/dist/assets/smalltalk-DaG60CSr.js +1 -0
- package/dist/assets/{snippets-panel-CFcDYkZP.js → snippets-panel-BSgcoo-M.js} +1 -1
- package/dist/assets/sparql-CN49rXKB.js +1 -0
- package/dist/assets/{src-CvyFXpBy.js → src-Cf4NnJCp.js} +1 -1
- package/dist/assets/{state-S6iAjdOK.js → state-BWM3qRkR.js} +1 -1
- package/dist/assets/{state-Ddd_K3qS.js → state-C8yHPSLN.js} +3 -3
- package/dist/assets/state-DyKcYt57.js +1 -0
- package/dist/assets/{stateDiagram-FKZM4ZOC-D78DIR_F.js → stateDiagram-FKZM4ZOC-DF2xwZZf.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-6MssSC6h.js +1 -0
- package/dist/assets/{step-D7xg1Moj.js → step-DGkZosD0.js} +1 -1
- package/dist/assets/stylus-CzHZ_0CL.js +1 -0
- package/dist/assets/swift-5fr5bTbW.js +1 -0
- package/dist/assets/{switch-BiU_sAcn.js → switch-Ac7CgLgh.js} +1 -1
- package/dist/assets/tcl-D5oaR_GS.js +1 -0
- package/dist/assets/{terminal-BYGihNNp.js → terminal-BJktwlxI.js} +1 -1
- package/dist/assets/{textarea-Cs-Nr1R_.js → textarea-bBuxbFm7.js} +1 -1
- package/dist/assets/textile-CJ5e8-7o.js +1 -0
- package/dist/assets/{time-DLdI7jB3.js → time-BCqVDrZA.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-DIywx3xf.js → timeline-definition-IT6M3QCI-5BUJBQNX.js} +1 -1
- package/dist/assets/toml-D9QwsDZO.js +1 -0
- package/dist/assets/{tooltip-DTV9tlSr.js → tooltip-B_PkSKN3.js} +1 -1
- package/dist/assets/{tracing-panel-BQdeG0Lh.js → tracing-panel-BveZ5DZw.js} +2 -2
- package/dist/assets/{tracing-CsmYUpPy.js → tracing-pt7eDHWc.js} +1 -1
- package/dist/assets/tree-actions-1KQDSu1H.js +1 -0
- package/dist/assets/{treemap-GDKQZRPO-Dz_qZhuG.js → treemap-GDKQZRPO-4ltp47XX.js} +1 -1
- package/dist/assets/troff-DlwQJbfr.js +1 -0
- package/dist/assets/ttcn-DUvoO9Vo.js +1 -0
- package/dist/assets/ttcn-cfg-Cj-t-B3M.js +1 -0
- package/dist/assets/turtle-DzvxCIjc.js +1 -0
- package/dist/assets/useBoolean-CE6PfxGj.js +1 -0
- package/dist/assets/useCellActionButton-C4V7J6PS.js +1 -0
- package/dist/assets/useDeleteCell-BvnurAZ9.js +1 -0
- package/dist/assets/useDependencyPanelTab-DNlXaxbt.js +1 -0
- package/dist/assets/useNotebookActions-BIQkawja.js +1 -0
- package/dist/assets/useRunCells-cSZpNqnR.js +1 -0
- package/dist/assets/useSplitCell-s7dSiBUa.js +1 -0
- package/dist/assets/vb-Caf126uo.js +1 -0
- package/dist/assets/vbscript-BgRl-LR8.js +1 -0
- package/dist/assets/{vega-component-COOhhZ3h.js → vega-component-HZvzjURu.js} +1 -1
- package/dist/assets/velocity-CpvfwasF.js +1 -0
- package/dist/assets/verilog-hsHogyKv.js +1 -0
- package/dist/assets/vhdl-FciHazR1.js +1 -0
- package/dist/assets/webidl-CqjZNx5V.js +1 -0
- package/dist/assets/{worker-B38WhSlZ.js → worker-Bp53hInb.js} +6 -6
- package/dist/assets/{write-secret-modal-CLc8TNUL.js → write-secret-modal-DM7t6LNp.js} +1 -1
- package/dist/assets/xquery-DpTaL2IT.js +1 -0
- package/dist/assets/{xychartDiagram-PRI3JC2R-CjS1dL8k.js → xychartDiagram-PRI3JC2R-Cqm5NYAj.js} +1 -1
- package/dist/assets/yacas-D6bbkHsk.js +1 -0
- package/dist/assets/z80-MlujNizn.js +1 -0
- package/dist/files/wasm-intro.py +11 -8
- package/dist/index.html +68 -70
- package/package.json +4 -3
- package/src/__tests__/setup.ts +16 -0
- package/src/components/chat/chat-display.tsx +2 -2
- package/src/components/data-table/TableBottomBar.tsx +1 -15
- package/src/components/data-table/TableTopBar.tsx +8 -13
- package/src/components/data-table/__tests__/TableBottomBar.test.tsx +6 -12
- package/src/components/data-table/__tests__/column-visibility-dropdown.test.tsx +227 -0
- package/src/components/data-table/column-visibility-dropdown.tsx +204 -0
- package/src/components/data-table/data-table.tsx +1 -1
- package/src/components/data-table/filter-by-values-picker.tsx +39 -17
- package/src/components/data-table/filter-pills.tsx +1 -1
- package/src/components/datasources/__tests__/filter-empty.test.ts +183 -0
- package/src/components/datasources/datasources.tsx +92 -3
- package/src/components/editor/ai/ai-completion-editor.tsx +6 -5
- package/src/components/editor/cell/code/cell-editor.tsx +70 -32
- package/src/components/editor/cell/code/code-placeholder.css +18 -0
- package/src/components/editor/cell/code/code-placeholder.tsx +47 -0
- package/src/components/editor/cell/code/language-toggle.tsx +7 -1
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +97 -52
- package/src/components/editor/chrome/wrapper/lazy-panels.ts +91 -0
- package/src/components/editor/chrome/wrapper/sidebar.tsx +2 -0
- package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +9 -2
- package/src/components/editor/connections/storage/__tests__/as-code.test.ts +62 -27
- package/src/components/editor/connections/storage/add-storage-form.tsx +5 -1
- package/src/components/editor/connections/storage/as-code.ts +20 -6
- package/src/components/editor/documentation.css +35 -0
- package/src/components/editor/file-tree/file-explorer.tsx +8 -18
- package/src/components/editor/file-tree/tree-actions.tsx +46 -1
- package/src/components/editor/notebook-cell.tsx +3 -3
- package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +20 -0
- package/src/components/editor/renderers/slides-layout/types.ts +1 -0
- package/src/components/markdown/__tests__/markdown-renderer.test.tsx +43 -0
- package/src/components/markdown/markdown-renderer.tsx +24 -1
- package/src/components/slides/__tests__/minimap-actions.test.tsx +166 -0
- package/src/components/slides/__tests__/reveal-component.test.ts +425 -0
- package/src/components/slides/minimap.tsx +127 -10
- package/src/components/slides/reveal-component.tsx +287 -61
- package/src/components/slides/slide-cell-view.tsx +26 -2
- package/src/components/slides/slide-form.tsx +26 -4
- package/src/components/storage/__tests__/storage-inspector.test.ts +180 -0
- package/src/components/storage/storage-inspector.tsx +535 -81
- package/src/components/ui/combobox.tsx +51 -32
- package/src/components/ui/number-field.tsx +5 -1
- package/src/components/ui/reorderable-list.tsx +13 -0
- package/src/components/ui/select-core/__tests__/use-select-list.test.ts +294 -0
- package/src/components/ui/select-core/__tests__/utils.test.ts +222 -0
- package/src/components/ui/select-core/index.ts +16 -0
- package/src/components/ui/select-core/option-row.tsx +33 -0
- package/src/components/ui/select-core/render-slot.ts +20 -0
- package/src/components/ui/select-core/select-list.tsx +248 -0
- package/src/components/ui/select-core/types.ts +44 -0
- package/src/components/ui/select-core/use-select-list.ts +347 -0
- package/src/components/ui/select-core/utils.ts +121 -0
- package/src/components/ui/toast.tsx +1 -0
- package/src/core/ai/__tests__/strip-wrapping-backticks.test.ts +133 -0
- package/src/core/ai/stream-completion-text.ts +48 -0
- package/src/core/ai/strip-wrapping-backticks.ts +88 -0
- package/src/core/cells/__tests__/document-changes.test.ts +2 -2
- package/src/core/cells/__tests__/focus.test.ts +45 -2
- package/src/core/cells/focus.ts +1 -1
- package/src/core/cells/scrollCellIntoView.ts +4 -0
- package/src/core/cells/utils.ts +1 -1
- package/src/core/codemirror/__tests__/editor-mount-scheduler.test.ts +143 -0
- package/src/core/codemirror/ai/request.ts +2 -14
- package/src/core/codemirror/copilot/getCodes.ts +3 -1
- package/src/core/codemirror/editor-mount-scheduler.ts +101 -0
- package/src/core/codemirror/language/languages/python.ts +2 -0
- package/src/core/codemirror/language/languages/sql/utils.ts +3 -1
- package/src/core/codemirror/lsp/__tests__/markdown-renderer.test.ts +41 -0
- package/src/core/codemirror/lsp/markdown-renderer.ts +59 -0
- package/src/core/datasets/data-source-connections.ts +2 -0
- package/src/core/errors/errors.ts +1 -1
- package/src/core/storage/__tests__/state.test.ts +49 -0
- package/src/core/storage/__tests__/useStorageEntries.test.tsx +199 -3
- package/src/core/storage/state.ts +124 -13
- package/src/core/storage/types.ts +6 -0
- package/src/core/wasm/worker/bootstrap.ts +12 -4
- package/src/plugins/core/__test__/registerReactComponent.test.ts +96 -0
- package/src/plugins/core/registerReactComponent.tsx +42 -10
- package/src/plugins/impl/MultiselectPlugin.tsx +19 -142
- package/src/plugins/impl/SearchableSelect.tsx +16 -97
- package/src/plugins/impl/SliderPlugin.tsx +132 -18
- package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +5 -2
- package/src/plugins/impl/__tests__/MultiSelectPlugin.test.ts +1 -1
- package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +278 -8
- package/src/utils/__tests__/numbers.test.ts +20 -0
- package/src/utils/errors.ts +9 -0
- package/src/utils/lazy.ts +6 -1
- package/src/utils/numbers.ts +27 -0
- package/src/utils/schedule-task.ts +71 -0
- package/dist/assets/JsonOutput-CmKxNtru.js +0 -53
- package/dist/assets/LazyAnyLanguageCodeMirror-DXGWNDPu.js +0 -2
- package/dist/assets/RunButton-NDsrcmxR.js +0 -1
- package/dist/assets/__vite-browser-external-DuZehUbK.js +0 -1
- package/dist/assets/__vite-browser-external-Jpm67kL1.js +0 -1
- package/dist/assets/add-connection-dialog-DXpcs9M2.js +0 -167
- package/dist/assets/apl-EAxnZS_5.js +0 -1
- package/dist/assets/asciiarmor-zxnaShQE.js +0 -1
- package/dist/assets/asn1-7i28Os5R.js +0 -1
- package/dist/assets/brainfuck-BZegPsXK.js +0 -1
- package/dist/assets/cell-editor-B1wwg8iY.js +0 -20
- package/dist/assets/cells-jmgGt1lS.css +0 -2
- package/dist/assets/channel-6XBTrC3Q.js +0 -1
- package/dist/assets/chunk-55IACEB6-Cr4aqhf3.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-DlIMDu6i.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-CcIhhkQu.js +0 -1
- package/dist/assets/clojure-VUVi7fTV.js +0 -1
- package/dist/assets/cmake-DZJIDbjY.js +0 -1
- package/dist/assets/cobol-klCRwlLm.js +0 -1
- package/dist/assets/coffeescript-C9foD9ub.js +0 -1
- package/dist/assets/column-preview-D6S-invN.js +0 -1
- package/dist/assets/commonlisp-tHxoA35J.js +0 -1
- package/dist/assets/components-BdJ56O4q.js +0 -1
- package/dist/assets/components-DLLO0jH-.js +0 -1
- package/dist/assets/crystal-CQ11GdrX.js +0 -1
- package/dist/assets/cypher-CJ0Uzw29.js +0 -1
- package/dist/assets/d-DP0SUIt1.js +0 -1
- package/dist/assets/dependency-graph-panel-B5HsauWV.js +0 -5
- package/dist/assets/diff-CNs8MB38.js +0 -1
- package/dist/assets/dist-B1U1kGCR.js +0 -1
- package/dist/assets/dist-B7U5jPfs.js +0 -1
- package/dist/assets/dist-BZX17NA8.js +0 -1
- package/dist/assets/dist-BtL81uwZ.js +0 -1
- package/dist/assets/dist-Bww7hlVc.js +0 -1
- package/dist/assets/dist-CAIBlJtJ.js +0 -1
- package/dist/assets/dist-CHcznzB-.js +0 -2
- package/dist/assets/dist-CPF3W2Y-.js +0 -1
- package/dist/assets/dist-CPczQFlJ.js +0 -3
- package/dist/assets/dist-CUapWJe4.js +0 -1
- package/dist/assets/dist-CWeWT34c.js +0 -1
- package/dist/assets/dist-CXBpwk_w.js +0 -7
- package/dist/assets/dist-ChF5Ln9c.js +0 -13
- package/dist/assets/dist-CuCuJBdf.js +0 -1
- package/dist/assets/dist-DH60fwgs.js +0 -1
- package/dist/assets/dist-DZPpMvcR.js +0 -1
- package/dist/assets/dist-DkcQg5xD.js +0 -1
- package/dist/assets/dist-DkzFxGAX.js +0 -1
- package/dist/assets/dist-DmBXXm0k.js +0 -1
- package/dist/assets/dist-W1iHBJeE.js +0 -1
- package/dist/assets/dist-_fyDen1v.js +0 -1
- package/dist/assets/dist-cgiAP5sW.js +0 -1
- package/dist/assets/dist-vkd1160q.js +0 -1
- package/dist/assets/documentation-panel-2PnKMw05.js +0 -1
- package/dist/assets/download-32D6oAIq.js +0 -9
- package/dist/assets/dtd-BsD0uJw0.js +0 -1
- package/dist/assets/dylan-DbrGP1IP.js +0 -1
- package/dist/assets/ecl-C0rZlhHw.js +0 -1
- package/dist/assets/edit-page-CgIpF5rg.js +0 -9
- package/dist/assets/eiffel-2ZX-OpSJ.js +0 -1
- package/dist/assets/ellipsis-vertical-CkwWkOQL.js +0 -1
- package/dist/assets/elm-CbOSKldD.js +0 -1
- package/dist/assets/erlang-BWiOgHIX.js +0 -1
- package/dist/assets/errors-vr57w7Ul.js +0 -1
- package/dist/assets/esm-CqWdmSnV.js +0 -1
- package/dist/assets/factor-CUwFIMOP.js +0 -1
- package/dist/assets/file-explorer-panel-Ba6mLeNn.js +0 -26
- package/dist/assets/focus-8kPvcQcq.js +0 -1
- package/dist/assets/formatting-CSG9kqNb.js +0 -1
- package/dist/assets/forth-BEQA4QQL.js +0 -1
- package/dist/assets/fortran-DoPpOZgG.js +0 -1
- package/dist/assets/gas-BYovsvOE.js +0 -1
- package/dist/assets/gherkin-CFiRc1Pf.js +0 -1
- package/dist/assets/groovy-DJNH7evt.js +0 -1
- package/dist/assets/haskell-duZvcePm.js +0 -1
- package/dist/assets/haxe-B2l95qvB.js +0 -1
- package/dist/assets/home-page-Dt8XHnbh.js +0 -4
- package/dist/assets/idl-CZ_xwU8I.js +0 -1
- package/dist/assets/index-BIw7BKLH.css +0 -2
- package/dist/assets/index-viGrdCLZ.js +0 -38
- package/dist/assets/infoDiagram-HS3SLOUP-CaaUieFa.js +0 -2
- package/dist/assets/input-C3Hrdlqq.js +0 -1
- package/dist/assets/javascript-CF5KGSAj.js +0 -1
- package/dist/assets/julia-BQlq5iZn.js +0 -1
- package/dist/assets/katex-CzQ1KdW3.js +0 -1
- package/dist/assets/kiosk-mode-x9vOLIH9.js +0 -1
- package/dist/assets/layout-C5tdHJmx.js +0 -9
- package/dist/assets/livescript-sRMenfqS.js +0 -1
- package/dist/assets/lua-a56ITumN.js +0 -1
- package/dist/assets/maps-n3GaPJwv.js +0 -1
- package/dist/assets/markdown-renderer-CbOSsdqB.js +0 -5
- package/dist/assets/mathematica-B3m4jXeH.js +0 -1
- package/dist/assets/mbox-BtL7aO2I.js +0 -1
- package/dist/assets/mermaid-4DMBBIKO-CekzuCTz.js +0 -1
- package/dist/assets/mirc-S27kuZ31.js +0 -1
- package/dist/assets/mllike-B3kx3KeF.js +0 -1
- package/dist/assets/modelica-DgbW4dSi.js +0 -1
- package/dist/assets/mscgen-BIa_4d-0.js +0 -1
- package/dist/assets/multi-map-CUuNtzHt.js +0 -1
- package/dist/assets/mumps-4fnELyHs.js +0 -1
- package/dist/assets/nsis-BfGyMssE.js +0 -1
- package/dist/assets/ntriples-DeY1n_tC.js +0 -1
- package/dist/assets/numbers-C3BAdHZE.js +0 -1
- package/dist/assets/octave-7Qn21jzx.js +0 -1
- package/dist/assets/oz-CiPFl3Ni.js +0 -1
- package/dist/assets/pascal-BH9yQLzw.js +0 -1
- package/dist/assets/perl-DfMCx2i2.js +0 -1
- package/dist/assets/pig-D9CNebQN.js +0 -1
- package/dist/assets/play-C7DcCsoO.js +0 -1
- package/dist/assets/powershell-Dss0bU9F.js +0 -1
- package/dist/assets/process-output-BN6KcCNl.js +0 -1
- package/dist/assets/properties-CHADYQUL.js +0 -1
- package/dist/assets/protobuf-DFN-V4SD.js +0 -1
- package/dist/assets/pug-DOI9FnEk.js +0 -1
- package/dist/assets/puppet-BV0HAkDS.js +0 -1
- package/dist/assets/python-C83Db0-4.js +0 -1
- package/dist/assets/q-D84S4YaJ.js +0 -1
- package/dist/assets/r-jmqrRzXv.js +0 -1
- package/dist/assets/radio-group-Hu4Rygaq.js +0 -1
- package/dist/assets/readonly-python-code-D5_r1Ld_.js +0 -1
- package/dist/assets/reveal-component-Da4UMw9R.js +0 -1069
- package/dist/assets/rpm-DUjG0xRk.js +0 -1
- package/dist/assets/ruby-SP4FIzir.js +0 -1
- package/dist/assets/sas-BxaPz2EX.js +0 -1
- package/dist/assets/save-worker-D2iQi-UK.js +0 -77
- package/dist/assets/scheme-HBseLApj.js +0 -1
- package/dist/assets/scratchpad-panel-gze3khJ_.js +0 -1
- package/dist/assets/session-panel-DU5bofPV.js +0 -1
- package/dist/assets/shell-w8ATY_lQ.js +0 -1
- package/dist/assets/sieve-Dyq0LGDO.js +0 -1
- package/dist/assets/smalltalk-D7mAtumc.js +0 -1
- package/dist/assets/sparql-DAeEYE_u.js +0 -1
- package/dist/assets/state-DTislnZA.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-DX9rpmwh.js +0 -1
- package/dist/assets/stylus-Cw3Ugan7.js +0 -1
- package/dist/assets/swift-CPsNOBsX.js +0 -1
- package/dist/assets/tcl-BfWyQdZa.js +0 -1
- package/dist/assets/textile-BKgaSzSN.js +0 -1
- package/dist/assets/toml-BSOdv04W.js +0 -1
- package/dist/assets/tree-actions-BM_EJr3E.js +0 -1
- package/dist/assets/troff-C0hD9kig.js +0 -1
- package/dist/assets/ttcn-DEqPxhoh.js +0 -1
- package/dist/assets/ttcn-cfg-B-7jSlUe.js +0 -1
- package/dist/assets/turtle-BTtgFsu8.js +0 -1
- package/dist/assets/useBoolean-Bp18o6XG.js +0 -1
- package/dist/assets/useCellActionButton-4SU7bBwp.js +0 -1
- package/dist/assets/useDeleteCell-BFTb3_aM.js +0 -1
- package/dist/assets/useDependencyPanelTab-BdH0hUXV.js +0 -1
- package/dist/assets/useNotebookActions-BJSAXPbi.js +0 -1
- package/dist/assets/useRunCells-CewdwjHg.js +0 -1
- package/dist/assets/useSplitCell-CzWUkJwg.js +0 -1
- package/dist/assets/vb-DfRPk_ji.js +0 -1
- package/dist/assets/vbscript-C8D4uv5N.js +0 -1
- package/dist/assets/velocity-DxKr2FFC.js +0 -1
- package/dist/assets/verilog-CxVhamiH.js +0 -1
- package/dist/assets/vhdl-B-IpBNOA.js +0 -1
- package/dist/assets/webidl-CBjKmBwO.js +0 -1
- package/dist/assets/xquery-ABGCbLv0.js +0 -1
- package/dist/assets/yacas-Ckyxh7oh.js +0 -1
- package/dist/assets/z80-Dr5sQweg.js +0 -1
- package/src/plugins/impl/multiselectFilterFn.tsx +0 -22
- /package/dist/assets/{ImageComparisonComponent-BIetTBDq.js → ImageComparisonComponent-_eB8PDFu.js} +0 -0
- /package/dist/assets/{Inputs-C6ftxLAJ.js → Inputs-CdyQ7nLC.js} +0 -0
- /package/dist/assets/{Plot-Ba3WGWNu.js → Plot-BEhgxy0k.js} +0 -0
- /package/dist/assets/{apl-Byte72fT.js → apl-CpVTW0fY.js} +0 -0
- /package/dist/assets/{array-CC7vZNGO.js → array-BKCdRGCR.js} +0 -0
- /package/dist/assets/{asciiarmor-BU-VnG1Y.js → asciiarmor-qDK46YPd.js} +0 -0
- /package/dist/assets/{asn1-hTvH3S4T.js → asn1-s2ZJql-T.js} +0 -0
- /package/dist/assets/{asterisk-DIMri3P4.js → asterisk-BCtKIQ_I.js} +0 -0
- /package/dist/assets/{azure-B42ls0Ui.js → azure-DHLkI9dd.js} +0 -0
- /package/dist/assets/{brainfuck-C-q1Rv8J.js → brainfuck-5fD7ZBSv.js} +0 -0
- /package/dist/assets/{card--6HRj4T9.js → card-C9wGDUuq.js} +0 -0
- /package/dist/assets/{chunk-4F5CHEZ2-eEwFz7fp.js → chunk-4F5CHEZ2-DyHrF3GO.js} +0 -0
- /package/dist/assets/{chunk-B2363JML-COExSe0d.js → chunk-B2363JML-DutzPsZq.js} +0 -0
- /package/dist/assets/{chunk-DR5Q36YT-OB6tC_dd.js → chunk-DR5Q36YT-CbaaAWZ2.js} +0 -0
- /package/dist/assets/{chunk-FRFDVMJY-CO3-6rb4.js → chunk-FRFDVMJY-2_jGMKZ2.js} +0 -0
- /package/dist/assets/{chunk-PL6DKKU2-B9mDp5iV.js → chunk-PL6DKKU2-Ce2JFCUf.js} +0 -0
- /package/dist/assets/{chunk-SJTYNZTY-Dh_h90Yu.js → chunk-SJTYNZTY-PWGFKpLd.js} +0 -0
- /package/dist/assets/{chunk-TQ3KTPDO-CFybjK0M.js → chunk-TQ3KTPDO-CNkbM7LT.js} +0 -0
- /package/dist/assets/{chunk-UMXZTB3W-C3w83KpJ.js → chunk-UMXZTB3W-emEajCOH.js} +0 -0
- /package/dist/assets/{clear-button-Cfe8K4j_.js → clear-button-UYLFbizO.js} +0 -0
- /package/dist/assets/{click-outside-container-BNVqwewc.js → click-outside-container-B4pJ8dzi.js} +0 -0
- /package/dist/assets/{clike-BE-9Ct_H.js → clike-D58k-9vu.js} +0 -0
- /package/dist/assets/{clojure-Co-TLeNo.js → clojure-Dkfjc-Fr.js} +0 -0
- /package/dist/assets/{cmake-B-Nm_Opd.js → cmake-ffkxaUPf.js} +0 -0
- /package/dist/assets/{cobol-BGdihAZT.js → cobol-CKARYRbQ.js} +0 -0
- /package/dist/assets/{coffeescript-BUZXkMUO.js → coffeescript-Dz_r13Pd.js} +0 -0
- /package/dist/assets/{colors-BG8Z91CW.js → colors-CUF0x3zZ.js} +0 -0
- /package/dist/assets/{common-keywords-15xBKau4.js → common-keywords-Dl8aWedN.js} +0 -0
- /package/dist/assets/{commonlisp-CFkPbxvX.js → commonlisp-EavL1_-N.js} +0 -0
- /package/dist/assets/{crystal-CqfqDl34.js → crystal-BQ8grXRY.js} +0 -0
- /package/dist/assets/{css-DPEtZWJi.js → css-Bmqfl4iE.js} +0 -0
- /package/dist/assets/{cypher-B0t8FJvU.js → cypher-BKXIqXpT.js} +0 -0
- /package/dist/assets/{cytoscape.esm-DT8iy6p1.js → cytoscape.esm-Dr1GhgW1.js} +0 -0
- /package/dist/assets/{d-DRa_XRSB.js → d-DRfFJaS4.js} +0 -0
- /package/dist/assets/{diff-GLneonpD.js → diff-BWk1g4qN.js} +0 -0
- /package/dist/assets/{dist-BQWswd1A.js → dist-3Zzc89mE.js} +0 -0
- /package/dist/assets/{dist-BXRWfNwi.js → dist-D_deoNzY.js} +0 -0
- /package/dist/assets/{dtd-uVrZNVF0.js → dtd-C1gvGnbI.js} +0 -0
- /package/dist/assets/{duckdb-keywords-CYQ5DEZJ.js → duckdb-keywords-C_J2q1mp.js} +0 -0
- /package/dist/assets/{dylan-DkNeA4FZ.js → dylan-D26gjyBo.js} +0 -0
- /package/dist/assets/{ebnf-XMH6KY7E.js → ebnf-VrI3aTER.js} +0 -0
- /package/dist/assets/{ecl-CldUgvc9.js → ecl-D_pghsRW.js} +0 -0
- /package/dist/assets/{eiffel-CoMDRbRL.js → eiffel-CQeRT5l7.js} +0 -0
- /package/dist/assets/{elm-Cb5XC6ev.js → elm-BMJejWwJ.js} +0 -0
- /package/dist/assets/{empty-state-Cjt8SfMh.js → empty-state-vCWg-_A9.js} +0 -0
- /package/dist/assets/{erlang-8H3fTZ3L.js → erlang-DTDt7sE1.js} +0 -0
- /package/dist/assets/{esm-1wf4HygE.js → esm-DAVeZ8YU.js} +0 -0
- /package/dist/assets/{fcl-DyFJAgkq.js → fcl-B9roOCQ-.js} +0 -0
- /package/dist/assets/{forth-B8kC4npz.js → forth-DLug1Uos.js} +0 -0
- /package/dist/assets/{fortran-CNWGEL3c.js → fortran-CfPd9x83.js} +0 -0
- /package/dist/assets/{gas-DnZQNTHK.js → gas-C1vwqe1-.js} +0 -0
- /package/dist/assets/{gherkin-JfGcGvci.js → gherkin-DxFhlJYL.js} +0 -0
- /package/dist/assets/{groovy-D0FWiAVm.js → groovy-AqjvKzmp.js} +0 -0
- /package/dist/assets/{haskell-wUB3uX-G.js → haskell-B9BMJXS_.js} +0 -0
- /package/dist/assets/{haxe-g0JY6eL-.js → haxe-CFd4aFZH.js} +0 -0
- /package/dist/assets/{http-ySzAzH5W.js → http-BM6n_euc.js} +0 -0
- /package/dist/assets/{idl-CV2cLkPc.js → idl-DKlFwAHI.js} +0 -0
- /package/dist/assets/{init-DsZRk2YA.js → init-DZpk0tdu.js} +0 -0
- /package/dist/assets/{javascript-CT6okXEZ.js → javascript-BMuus-3E.js} +0 -0
- /package/dist/assets/{julia-CKC48ufo.js → julia-DGv2rboF.js} +0 -0
- /package/dist/assets/{katex-BE4UDS50.js → katex-DL3QMY8n.js} +0 -0
- /package/dist/assets/{links-1rtF1-eC.js → links-DoPgJNku.js} +0 -0
- /package/dist/assets/{livescript-C43pZ6Ue.js → livescript-51GCvdcX.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-CXnd80ne.js → loro_wasm_bg-DYsTic7p.js} +0 -0
- /package/dist/assets/{lua-Cs2mb10K.js → lua-BwsAaftY.js} +0 -0
- /package/dist/assets/{marimo-icons-CiwvnnsT.js → marimo-icons-CLbC-oB3.js} +0 -0
- /package/dist/assets/{math-B-ZqhQTL.js → math-PgJy15ir.js} +0 -0
- /package/dist/assets/{mathematica-B5FMK3ma.js → mathematica-Du4amQ2X.js} +0 -0
- /package/dist/assets/{mbox-36Zrn5Bd.js → mbox-DKL-l6mb.js} +0 -0
- /package/dist/assets/{micromark-factory-space-BygYYKhs.js → micromark-factory-space-bqhKsQDn.js} +0 -0
- /package/dist/assets/{mirc-BKTAABSX.js → mirc-CvS1f8zr.js} +0 -0
- /package/dist/assets/{mllike-DbuClUqc.js → mllike-VhUq11ot.js} +0 -0
- /package/dist/assets/{modelica-CKRvBm7N.js → modelica-CjlHUZat.js} +0 -0
- /package/dist/assets/{mscgen-B4BRgnCi.js → mscgen-26STiUsc.js} +0 -0
- /package/dist/assets/{multi-icon-NVkxesVZ.js → multi-icon-BvuxcR2m.js} +0 -0
- /package/dist/assets/{mumps-BFiMcyFV.js → mumps-4o8IRFVU.js} +0 -0
- /package/dist/assets/{nginx-Cz_XvoTm.js → nginx-Tk1rzBXg.js} +0 -0
- /package/dist/assets/{node-sql-parser-BtkrI4pN.js → node-sql-parser-BRpb-iwO.js} +0 -0
- /package/dist/assets/{ntriples-QQAkJYAR.js → ntriples-D0zMsGJ-.js} +0 -0
- /package/dist/assets/{octave-DsTphmGZ.js → octave-CpJ40RVG.js} +0 -0
- /package/dist/assets/{oz-CD9rr5Iz.js → oz-W9l5CbXg.js} +0 -0
- /package/dist/assets/{panel-context-BJbBGfoL.js → panel-context-D7Ggu8Nw.js} +0 -0
- /package/dist/assets/{pascal-DdHEIlJE.js → pascal-BZtdYBm4.js} +0 -0
- /package/dist/assets/{path-DvTahePH.js → path-dqkZlAhR.js} +0 -0
- /package/dist/assets/{pathUtils-CJjndqMI.js → pathUtils-DPJ-EgtH.js} +0 -0
- /package/dist/assets/{perl-DHPJBQ1u.js → perl-Q79ziUtd.js} +0 -0
- /package/dist/assets/{pig-Yz7ERgca.js → pig-Dn9ueYxG.js} +0 -0
- /package/dist/assets/{powershell-CHPZ_bsU.js → powershell-DfXPJ56g.js} +0 -0
- /package/dist/assets/{properties-CI9nc7K4.js → properties-DRrw--9g.js} +0 -0
- /package/dist/assets/{protobuf-BYSIv2pY.js → protobuf-5jBh6Y7Q.js} +0 -0
- /package/dist/assets/{puppet-CEpLafZX.js → puppet-Bql5dDjm.js} +0 -0
- /package/dist/assets/{python-BndVuwG1.js → python-C7HNB5A8.js} +0 -0
- /package/dist/assets/{q-L_cetpiW.js → q-CW9lnZXb.js} +0 -0
- /package/dist/assets/{r-Dd37AKWk.js → r-DmuxMz9j.js} +0 -0
- /package/dist/assets/{request-registry--h6PWG50.js → request-registry-BmtPM40k.js} +0 -0
- /package/dist/assets/{requests-DqJEWJ-Q.js → requests-QKoDeQkn.js} +0 -0
- /package/dist/assets/{rpm-CHrvhtlN.js → rpm-2BQZRXYJ.js} +0 -0
- /package/dist/assets/{ruby-BPOowfX6.js → ruby-B-FyRKB2.js} +0 -0
- /package/dist/assets/{runs-BD0G-C2A.js → runs-DSnhrBgK.js} +0 -0
- /package/dist/assets/{sas-BsEFSvEP.js → sas-Q-94el51.js} +0 -0
- /package/dist/assets/{scheme-B42INBu7.js → scheme-By445Ne_.js} +0 -0
- /package/dist/assets/{semaphore-FlZezxaf.js → semaphore-qUGKVeAE.js} +0 -0
- /package/dist/assets/{shell-BPea12OI.js → shell-CezKrT5T.js} +0 -0
- /package/dist/assets/{sieve-C-yPcLw5.js → sieve-MRWdUbX3.js} +0 -0
- /package/dist/assets/{simple-mode-CFlvn0Mm.js → simple-mode-BtxX-F6Z.js} +0 -0
- /package/dist/assets/{smalltalk-e7OO1ATb.js → smalltalk-C0KZrhPl.js} +0 -0
- /package/dist/assets/{solr-BAO4N63o.js → solr-DaMZCY5b.js} +0 -0
- /package/dist/assets/{sparql-B4I2Ledx.js → sparql-CIMoBhOL.js} +0 -0
- /package/dist/assets/{spreadsheet-DWqd5foV.js → spreadsheet-CAZFfDgv.js} +0 -0
- /package/dist/assets/{sql-RBdzBYsM.js → sql-bIHkMPYp.js} +0 -0
- /package/dist/assets/{src-BnrQkOKh.js → src-DvosOx8X.js} +0 -0
- /package/dist/assets/{state-BGDrw26V.js → state-B2X5_9Jc.js} +0 -0
- /package/dist/assets/{stylus-CBRbZwhN.js → stylus-BxV1gbJN.js} +0 -0
- /package/dist/assets/{swift-B2hnU7ha.js → swift-C7ozIpB2.js} +0 -0
- /package/dist/assets/{swiper-component-YGJlBaCp.js → swiper-component-BA40Nidc.js} +0 -0
- /package/dist/assets/{tcl-BtyamtaZ.js → tcl-D9BrnXdg.js} +0 -0
- /package/dist/assets/{textile-M9mhyNE9.js → textile-8cDJUs1C.js} +0 -0
- /package/dist/assets/{tiddlywiki-BsHUDwie.js → tiddlywiki-C-jC8X9Z.js} +0 -0
- /package/dist/assets/{tiki-ZqBe4Kjv.js → tiki-CJPdyY5i.js} +0 -0
- /package/dist/assets/{timer-B6DpdVnC.js → timer-ffBO1paY.js} +0 -0
- /package/dist/assets/{toml-YxyxhyRy.js → toml-Dtc3-sql.js} +0 -0
- /package/dist/assets/{treemap-DeGcO9km.js → treemap-8bMgVaTX.js} +0 -0
- /package/dist/assets/{troff-C7xpi05X.js → troff-CxUT34rC.js} +0 -0
- /package/dist/assets/{ttcn-D3YytrJU.js → ttcn-BiVwbsr5.js} +0 -0
- /package/dist/assets/{ttcn-cfg-DlZ5vA9E.js → ttcn-cfg-BLBfLtVM.js} +0 -0
- /package/dist/assets/{turtle-BSHvAsUe.js → turtle-DqTQI7WU.js} +0 -0
- /package/dist/assets/{types-a-yURniQ.js → types-Cpe-qFT-.js} +0 -0
- /package/dist/assets/{useDeepCompareMemoize-zUHU--0D.js → useDeepCompareMemoize-CVmg-GkP.js} +0 -0
- /package/dist/assets/{useInterval-2YvvhIZI.js → useInterval-COQ3SSh0.js} +0 -0
- /package/dist/assets/{vb-DdkIDLlO.js → vb-D-mN5USJ.js} +0 -0
- /package/dist/assets/{vbscript-DhYGmk_p.js → vbscript-BHlqX42l.js} +0 -0
- /package/dist/assets/{velocity-DAXJNEw4.js → velocity-BX6395is.js} +0 -0
- /package/dist/assets/{verilog-jmuT_L3b.js → verilog-CixbCKyb.js} +0 -0
- /package/dist/assets/{vhdl-DcVQ97RU.js → vhdl-CofOR-02.js} +0 -0
- /package/dist/assets/{web-vitals-xkV-JBVF.js → web-vitals-CpL_P378.js} +0 -0
- /package/dist/assets/{webidl-B-YB_4OQ.js → webidl-DAqkXtNt.js} +0 -0
- /package/dist/assets/{ws-BnE9sl8z.js → ws-K6nioC-Z.js} +0 -0
- /package/dist/assets/{xquery-DOmY3Oe8.js → xquery-wPbfv0-o.js} +0 -0
- /package/dist/assets/{yacas-pL3kJRXV.js → yacas-B5Zk1avC.js} +0 -0
- /package/dist/assets/{z80-VwVuI_MT.js → z80-C0HuDTqd.js} +0 -0
- /package/src/components/{data-table → ui}/value-chips.tsx +0 -0
|
@@ -0,0 +1,1069 @@
|
|
|
1
|
+
var Ll=Object.defineProperty;var Pl=(Ce,ke,T)=>ke in Ce?Ll(Ce,ke,{enumerable:!0,configurable:!0,writable:!0,value:T}):Ce[ke]=T;var I=(Ce,ke,T)=>Pl(Ce,typeof ke!="symbol"?ke+"":ke,T);import{s as mn}from"./chunk-LvLJmgfZ.js";import{n as be,u as Si}from"./useEvent-D91BmmQi.js";import{t as Il}from"./react-Bj1aDYRI.js";import{$r as Ml,D as Nl,Et as zl,Jr as $l,Yr as Bl,ct as Dl,__tla as Hl}from"./cells-DOA0Gew8.js";import"./react-dom-CSu739Rf.js";import{t as Ei}from"./compiler-runtime-B3qBwwSJ.js";import{_ as _l,t as ql}from"./useEventListener-DvoEXWke.js";import{C as fn,c as jl,t as Ol}from"./utils-CvI-39U6.js";import{v as Fl}from"./config-ClMcu_sV.js";import{t as zt}from"./cn-DCUzRj2J.js";import{t as Vl}from"./jsx-runtime-BqBOg78p.js";import{n as Ul}from"./fullscreen-DFky0PAA.js";import"./popover-CNCYAwbC.js";import{Mt as Wl,__tla as Kl}from"./JsonOutput-DRNPZOvX.js";import"./download-DhxnAw14.js";import{t as vn}from"./tooltip-B_PkSKN3.js";import{r as Ri,t as bn}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as Zl}from"./createLucideIcon-D5guW7EU.js";import{R as Ql,d as Xl,g as $t,h as Yl,l as Jl,__tla as Gl}from"./layout-D3pd3R21.js";import{__tla as eo}from"./markdown-renderer-C9Ujvj0b.js";import{t as to}from"./eye-off-Cm6DdkeR.js";import{n as io,t as so,__tla as no}from"./cell-editor-XNa3wJ3P.js";import{n as ro,t as ao}from"./RunButton-F8pLIvFp.js";import{t as lo}from"./readonly-python-code-CvPx4CU_.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import"./session-0B5NBztP.js";import{r as oo}from"./useTheme-CI2eq4XN.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import{t as co}from"./CellStatus-e0ex7Iei.js";import{n as uo}from"./useDebounce-7xZwVnnu.js";import{i as ho}from"./useRunCells-cSZpNqnR.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{__tla as po}from"./chunk-5FQGJX7Z-D91x7QHS.js";import{r as go}from"./html-to-image-CyAtzePO.js";import{n as mo,r as fo,t as kn}from"./react-resizable-panels.browser.esm-CV8-hvjx.js";import"./esm-xaw4Vy8N.js";import"./name-cell-input-DabvuruX.js";import"./multi-icon-BvuxcR2m.js";import{__tla as vo}from"./loro_wasm_bg-DYsTic7p.js";import"./ws-K6nioC-Z.js";import"./Inputs-CdyQ7nLC.js";import"./dist-QqcJxlfK.js";import"./dist-2FedModH.js";import"./dist-DCzr8T5W.js";import"./dist-DxlQcmyw.js";import"./dist-flL-WW8v.js";import"./dist-BieDRQs9.js";import"./dist-BcvGVYKl.js";import"./dist-DU8NrdIh.js";import"./dist-BscEQwf7.js";import"./esm-DgI-7XOj.js";let Ai,yn,Bt,Ti,Ci,bo=Promise.all([(()=>{try{return Hl}catch{}})(),(()=>{try{return Kl}catch{}})(),(()=>{try{return Gl}catch{}})(),(()=>{try{return eo}catch{}})(),(()=>{try{return no}catch{}})(),(()=>{try{return po}catch{}})(),(()=>{try{return vo}catch{}})()]).then(async()=>{var wt,xt;var Ce=Zl("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]),ke=Ei(),T=mn(Il(),1),wn=Object.defineProperty,xn=Object.defineProperties,Sn=Object.getOwnPropertyDescriptors,Ni=Object.getOwnPropertySymbols,En=Object.prototype.hasOwnProperty,Rn=Object.prototype.propertyIsEnumerable,Dt=(e,t,i)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,ye=(e,t)=>{for(var i in t||(t={}))En.call(t,i)&&Dt(e,i,t[i]);if(Ni)for(var i of Ni(t))Rn.call(t,i)&&Dt(e,i,t[i]);return e},zi=(e,t)=>xn(e,Sn(t)),$i=(e,t,i)=>Dt(e,typeof t=="symbol"?t:t+"",i),An=(e,t,i)=>new Promise((s,n)=>{var r=c=>{try{a(i.next(c))}catch(o){n(o)}},l=c=>{try{a(i.throw(c))}catch(o){n(o)}},a=c=>c.done?s(c.value):Promise.resolve(c.value).then(r,l);a((i=i.apply(e,t)).next())}),_e=(e,t)=>{for(let i in t)e[i]=t[i];return e},C=(e,t)=>Array.from(e.querySelectorAll(t)),Ht=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},qe=e=>{if(typeof e=="string"){if(e==="null")return null;if(e==="true")return!0;if(e==="false")return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},Ee=(e,t)=>{e.style.transform=t},lt=(e,t)=>{let i=e.matches||e.matchesSelector||e.msMatchesSelector;return!!(i&&i.call(e,t))},ee=(e,t)=>{if(e&&typeof e.closest=="function")return e.closest(t);for(;e;){if(lt(e,t))return e;e=e.parentElement}return null},Bi=e=>{e||(e=document.documentElement);let t=e.requestFullscreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen;t&&t.apply(e)},Tn=(e,t,i,s="")=>{let n=e.querySelectorAll("."+i);for(let l=0;l<n.length;l++){let a=n[l];if(a.parentNode===e)return a}let r=document.createElement(t);return r.className=i,r.innerHTML=s,e.appendChild(r),r},_t=e=>{let t=document.createElement("style");return e&&e.length>0&&t.appendChild(document.createTextNode(e)),document.head.appendChild(t),t},Di=()=>{let e={};for(let t in location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,i=>{let s=i.split("=").shift(),n=i.split("=").pop();return s&&n!==void 0&&(e[s]=n),i}),e){let i=e[t];e[t]=qe(unescape(i))}return e.dependencies!==void 0&&delete e.dependencies,e},Cn=(e,t=0)=>{var i;if(e){let s,n=e.style.height;return e.style.height="0px",e.parentElement&&(e.parentElement.style.height="auto"),s=t-(((i=e.parentElement)==null?void 0:i.offsetHeight)||0),e.style.height=n+"px",e.parentElement&&e.parentElement.style.removeProperty("height"),s}return t},Ln={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},Pn=(e="")=>{let t=e.split(".").pop();return t?Ln[t]:void 0},In=(e="")=>encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]").replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),Hi=navigator.userAgent,Le=/(iphone|ipod|ipad|android)/gi.test(Hi)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,_i=/android/gi.test(Hi),Mn=(function(e){if(e){var t=function(v){return[].slice.call(v)},i=0,s=1,n=2,r=3,l=[],a=null,c="requestAnimationFrame"in e?function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{sync:!1};e.cancelAnimationFrame(a);var R=function(){return u(l.filter((function(N){return N.dirty&&N.active})))};if(v.sync)return R();a=e.requestAnimationFrame(R)}:function(){},o=function(v){return function(R){l.forEach((function(N){return N.dirty=v})),c(R)}},u=function(v){v.filter((function(N){return!N.styleComputed})).forEach((function(N){N.styleComputed=d(N)})),v.filter(b).forEach(y);var R=v.filter(p);R.forEach(g),R.forEach((function(N){y(N),h(N)})),R.forEach(z)},h=function(v){return v.dirty=i},g=function(v){v.availableWidth=v.element.parentNode.clientWidth,v.currentWidth=v.element.scrollWidth,v.previousFontSize=v.currentFontSize,v.currentFontSize=Math.min(Math.max(v.minSize,v.availableWidth/v.currentWidth*v.previousFontSize),v.maxSize),v.whiteSpace=v.multiLine&&v.currentFontSize===v.minSize?"normal":"nowrap"},p=function(v){return v.dirty!==n||v.dirty===n&&v.element.parentNode.clientWidth!==v.availableWidth},d=function(v){var R=e.getComputedStyle(v.element,null);return v.currentFontSize=parseFloat(R.getPropertyValue("font-size")),v.display=R.getPropertyValue("display"),v.whiteSpace=R.getPropertyValue("white-space"),!0},b=function(v){var R=!1;return!v.preStyleTestCompleted&&(/inline-/.test(v.display)||(R=!0,v.display="inline-block"),v.whiteSpace!=="nowrap"&&(R=!0,v.whiteSpace="nowrap"),v.preStyleTestCompleted=!0,R)},y=function(v){v.element.style.whiteSpace=v.whiteSpace,v.element.style.display=v.display,v.element.style.fontSize=v.currentFontSize+"px"},z=function(v){v.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:v.previousFontSize,newValue:v.currentFontSize,scaleFactor:v.currentFontSize/v.previousFontSize}}))},D=function(v,R){return function(N){v.dirty=R,v.active&&c(N)}},L=function(v){return function(){l=l.filter((function(R){return R.element!==v.element})),v.observeMutations&&v.observer.disconnect(),v.element.style.whiteSpace=v.originalStyle.whiteSpace,v.element.style.display=v.originalStyle.display,v.element.style.fontSize=v.originalStyle.fontSize}},A=function(v){return function(){v.active||(v.active=!0,c())}},S=function(v){return function(){return v.active=!1}},P=function(v){v.observeMutations&&(v.observer=new MutationObserver(D(v,s)),v.observer.observe(v.element,v.observeMutations))},$={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in e&&{subtree:!0,childList:!0,characterData:!0}},_=null,O=function(){e.clearTimeout(_),_=e.setTimeout(o(n),B.observeWindowDelay)},M=["resize","orientationchange"];return Object.defineProperty(B,"observeWindow",{set:function(v){var R=`${v?"add":"remove"}EventListener`;M.forEach((function(N){e[R](N,O)}))}}),B.observeWindow=!0,B.observeWindowDelay=100,B.fitAll=o(r),B}function J(v,R){var N=Object.assign({},$,R),W=v.map((function(te){var se=Object.assign({},N,{element:te,active:!0});return(function(K){K.originalStyle={whiteSpace:K.element.style.whiteSpace,display:K.element.style.display,fontSize:K.element.style.fontSize},P(K),K.newbie=!0,K.dirty=!0,l.push(K)})(se),{element:te,fit:D(se,r),unfreeze:A(se),freeze:S(se),unsubscribe:L(se)}}));return c(),W}function B(v){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return typeof v=="string"?J(t(document.querySelectorAll(v)),R):J([v],R)[0]}})(typeof window>"u"?null:window),Nn=class{constructor(e){$i(this,"allowedToPlayAudio",null),this.Reveal=e,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=new Set,this.failedVideoPlaybackTargets=new Set,this.failedMutedVideoPlaybackTargets=new Set,this.renderMediaPlayButton()}renderMediaPlayButton(){this.mediaPlayButton=document.createElement("button"),this.mediaPlayButton.className="r-overlay-button r-media-play-button",this.mediaPlayButton.addEventListener("click",()=>{this.resetTemporarilyMutedMedia(),new Set([...this.failedAudioPlaybackTargets,...this.failedVideoPlaybackTargets,...this.failedMutedVideoPlaybackTargets]).forEach(e=>{this.startEmbeddedMedia({target:e})}),this.clearMediaPlaybackErrors()})}shouldPreload(e){if(this.Reveal.isScrollView())return!0;let t=this.Reveal.getConfig().preloadIframes;return typeof t!="boolean"&&(t=e.hasAttribute("data-preload")),t}load(e,t={}){let i=this.Reveal.getConfig().display;if(i.includes("!important")){let n=i.replace(/\s*!important\s*$/,"").trim();e.style.setProperty("display",n,"important")}else e.style.display=i;C(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach(n=>{let r=n.tagName==="IFRAME";(!r||this.shouldPreload(n))&&(n.setAttribute("src",n.getAttribute("data-src")),n.setAttribute("data-lazy-loaded",""),n.removeAttribute("data-src"),r&&n.addEventListener("load",this.preventIframeAutoFocus))}),C(e,"video, audio").forEach(n=>{let r=0;C(n,"source[data-src]").forEach(l=>{l.setAttribute("src",l.getAttribute("data-src")),l.removeAttribute("data-src"),l.setAttribute("data-lazy-loaded",""),r+=1}),Le&&n.tagName==="VIDEO"&&n.setAttribute("playsinline",""),r>0&&n.load()});let s=e.slideBackgroundElement;if(s){s.style.display="block";let n=e.slideBackgroundContentElement,r=e.getAttribute("data-background-iframe");if(s.hasAttribute("data-loaded")===!1){s.setAttribute("data-loaded","true");let a=e.getAttribute("data-background-image"),c=e.getAttribute("data-background-video"),o=e.hasAttribute("data-background-video-loop"),u=e.hasAttribute("data-background-video-muted");if(a)/^data:/.test(a.trim())?n.style.backgroundImage=`url(${a.trim()})`:n.style.backgroundImage=a.split(",").map(h=>`url(${In(decodeURI(h.trim()))})`).join(",");else if(c){let h=document.createElement("video");o&&h.setAttribute("loop",""),(u||this.Reveal.isSpeakerNotes())&&(h.muted=!0),Le&&h.setAttribute("playsinline",""),c.split(",").forEach(g=>{let p=document.createElement("source");p.setAttribute("src",g);let d=Pn(g);d&&p.setAttribute("type",d),h.appendChild(p)}),n.appendChild(h)}else if(r&&t.excludeIframes!==!0){let h=document.createElement("iframe");h.setAttribute("allowfullscreen",""),h.setAttribute("mozallowfullscreen",""),h.setAttribute("webkitallowfullscreen",""),h.setAttribute("allow","autoplay"),h.setAttribute("data-src",r),h.style.width="100%",h.style.height="100%",h.style.maxHeight="100%",h.style.maxWidth="100%",n.appendChild(h)}}let l=n.querySelector("iframe[data-src]");l&&this.shouldPreload(s)&&!/autoplay=(1|true|yes)/gi.test(r)&&l.getAttribute("src")!==r&&l.setAttribute("src",r)}this.layout(e)}layout(e){Array.from(e.querySelectorAll(".r-fit-text")).forEach(t=>{Mn(t,{minSize:24,maxSize:this.Reveal.getConfig().height*.8,observeMutations:!1,observeWindow:!1})})}unload(e){e.style.display="none";let t=this.Reveal.getSlideBackground(e);t&&(t.style.display="none",C(t,"iframe[src]").forEach(i=>{i.removeAttribute("src")})),C(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach(i=>{i.setAttribute("data-src",i.getAttribute("src")),i.removeAttribute("src")}),C(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach(i=>{i.setAttribute("data-src",i.getAttribute("src")),i.removeAttribute("src")})}formatEmbeddedContent(){let e=(t,i,s)=>{C(this.Reveal.getSlidesElement(),"iframe["+t+'*="'+i+'"]').forEach(n=>{let r=n.getAttribute(t);r&&r.indexOf(s)===-1&&n.setAttribute(t,r+(/\?/.test(r)?"&":"?")+s)})};e("src","youtube.com/embed/","enablejsapi=1"),e("data-src","youtube.com/embed/","enablejsapi=1"),e("src","player.vimeo.com/","api=1"),e("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(e){if(e){let t=this.Reveal.isSpeakerNotes();C(e,'img[src$=".gif"]').forEach(i=>{i.setAttribute("src",i.getAttribute("src"))}),C(e,"video, audio").forEach(i=>{if(ee(i,".fragment")&&!ee(i,".fragment.visible"))return;let s=this.Reveal.getConfig().autoPlayMedia;if(typeof s!="boolean"&&(s=i.hasAttribute("data-autoplay")||!!ee(i,".slide-background")),s&&typeof i.play=="function"){if(t&&!i.muted)return;i.readyState>1?this.startEmbeddedMedia({target:i}):Le?(i.addEventListener("canplay",this.ensureMobileMediaPlaying),this.playMediaElement(i)):(i.removeEventListener("loadeddata",this.startEmbeddedMedia),i.addEventListener("loadeddata",this.startEmbeddedMedia))}}),t||(C(e,"iframe[src]").forEach(i=>{ee(i,".fragment")&&!ee(i,".fragment.visible")||this.startEmbeddedIframe({target:i})}),C(e,"iframe[data-src]").forEach(i=>{ee(i,".fragment")&&!ee(i,".fragment.visible")||i.getAttribute("src")!==i.getAttribute("data-src")&&(i.removeEventListener("load",this.startEmbeddedIframe),i.addEventListener("load",this.startEmbeddedIframe),i.setAttribute("src",i.getAttribute("data-src")))}))}}ensureMobileMediaPlaying(e){let t=e.target;typeof t.getVideoPlaybackQuality=="function"&&setTimeout(()=>{let i=t.paused===!1,s=t.getVideoPlaybackQuality().totalVideoFrames;i&&s===0&&(t.load(),t.play())},1e3)}startEmbeddedMedia(e){let t=!!ee(e.target,"html"),i=!!ee(e.target,".present");t&&i&&(e.target.paused||e.target.ended)&&(e.target.currentTime=0,this.playMediaElement(e.target)),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}playMediaElement(e){let t=e.play();t&&typeof t.catch=="function"&&t.then(()=>{e.muted||(this.allowedToPlayAudio=!0)}).catch(i=>{if(i.name==="NotAllowedError")if(this.allowedToPlayAudio=!1,e.tagName==="VIDEO"){this.onVideoPlaybackNotAllowed(e);let s=!!ee(e,"html"),n=!!ee(e,".present"),r=e.muted;s&&n&&!r&&(e.setAttribute("data-muted-by-reveal","true"),e.muted=!0,e.play().catch(()=>{this.onMutedVideoPlaybackNotAllowed(e)}))}else e.tagName==="AUDIO"&&this.onAudioPlaybackNotAllowed(e)})}startEmbeddedIframe(e){let t=e.target;if(this.preventIframeAutoFocus(e),t&&t.contentWindow){let i=!!ee(e.target,"html"),s=!!ee(e.target,".present");if(i&&s){let n=this.Reveal.getConfig().autoPlayMedia;typeof n!="boolean"&&(n=t.hasAttribute("data-autoplay")||!!ee(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src"))&&n?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&n?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(e,t={}){t=_e({unloadIframes:!0},t),e&&e.parentNode&&(C(e,"video, audio").forEach(i=>{!i.hasAttribute("data-ignore")&&typeof i.pause=="function"&&(i.setAttribute("data-paused-by-reveal",""),i.pause(),Le&&i.removeEventListener("canplay",this.ensureMobileMediaPlaying))}),C(e,"iframe").forEach(i=>{i.contentWindow&&i.contentWindow.postMessage("slide:stop","*"),i.removeEventListener("load",this.preventIframeAutoFocus),i.removeEventListener("load",this.startEmbeddedIframe)}),C(e,'iframe[src*="youtube.com/embed/"]').forEach(i=>{!i.hasAttribute("data-ignore")&&i.contentWindow&&typeof i.contentWindow.postMessage=="function"&&i.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),C(e,'iframe[src*="player.vimeo.com/"]').forEach(i=>{!i.hasAttribute("data-ignore")&&i.contentWindow&&typeof i.contentWindow.postMessage=="function"&&i.contentWindow.postMessage('{"method":"pause"}',"*")}),t.unloadIframes===!0&&C(e,"iframe[data-src]").forEach(i=>{i.setAttribute("src","about:blank"),i.removeAttribute("src")}))}isAllowedToPlayAudio(){return this.allowedToPlayAudio}showPlayOrUnmuteButton(){let e=this.failedAudioPlaybackTargets.size,t=this.failedVideoPlaybackTargets.size,i=this.failedMutedVideoPlaybackTargets.size,s="Play media";i>0?s="Play video":t>0?s="Unmute video":e>0&&(s="Play audio"),this.mediaPlayButton.textContent=s,this.Reveal.getRevealElement().appendChild(this.mediaPlayButton)}onAudioPlaybackNotAllowed(e){this.failedAudioPlaybackTargets.add(e),this.showPlayOrUnmuteButton(e)}onVideoPlaybackNotAllowed(e){this.failedVideoPlaybackTargets.add(e),this.showPlayOrUnmuteButton()}onMutedVideoPlaybackNotAllowed(e){this.failedMutedVideoPlaybackTargets.add(e),this.showPlayOrUnmuteButton()}resetTemporarilyMutedMedia(){new Set([...this.failedAudioPlaybackTargets,...this.failedVideoPlaybackTargets,...this.failedMutedVideoPlaybackTargets]).forEach(e=>{e.hasAttribute("data-muted-by-reveal")&&(e.muted=!1,e.removeAttribute("data-muted-by-reveal"))})}clearMediaPlaybackErrors(){this.resetTemporarilyMutedMedia(),this.failedAudioPlaybackTargets.clear(),this.failedVideoPlaybackTargets.clear(),this.failedMutedVideoPlaybackTargets.clear(),this.mediaPlayButton.remove()}preventIframeAutoFocus(e){let t=e.target;if(t&&this.Reveal.getConfig().preventIframeAutoFocus){let i=0,s=()=>{document.activeElement===t?document.activeElement.blur():i<1e3&&(i+=100,setTimeout(s,100))};setTimeout(s,100)}}afterSlideChanged(){this.clearMediaPlaybackErrors()}},Pe=".slides section",we=".slides>section",qt=".slides>section.present>section",zn=".backgrounds>.slide-background",$n=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/,Bn="h.v",Dn="h/v",jt="c",qi="c/t",Hn=class{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){let i="none";e.slideNumber&&!this.Reveal.isPrintView()&&(e.showSlideNumber==="all"||e.showSlideNumber==="speaker"&&this.Reveal.isSpeakerNotes())&&(i="block"),this.element.style.display=i}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(e=this.Reveal.getCurrentSlide()){let t=this.Reveal.getConfig(),i,s=Bn;if(typeof t.slideNumber=="function")i=t.slideNumber(e);else{typeof t.slideNumber=="string"&&(s=t.slideNumber),!/c/.test(s)&&this.Reveal.getHorizontalSlides().length===1&&(s=jt);let r=e&&e.dataset.visibility==="uncounted"?0:1;switch(i=[],s){case jt:i.push(this.Reveal.getSlidePastCount(e)+r);break;case qi:i.push(this.Reveal.getSlidePastCount(e)+r,"/",this.Reveal.getTotalSlides());break;default:let l=this.Reveal.getIndices(e);i.push(l.h+r);let a=s===Dn?"/":".";this.Reveal.isVerticalSlide(e)&&i.push(a,l.v+1)}}let n="#"+this.Reveal.location.getHash(e);return this.formatNumber(i[0],i[1],i[2],n)}formatNumber(e,t,i,s="#"+this.Reveal.location.getHash()){return typeof i=="number"&&!isNaN(i)?`<a href="${s}">
|
|
2
|
+
<span class="slide-number-a">${e}</span>
|
|
3
|
+
<span class="slide-number-delimiter">${t}</span>
|
|
4
|
+
<span class="slide-number-b">${i}</span>
|
|
5
|
+
</a>`:`<a href="${s}">
|
|
6
|
+
<span class="slide-number-a">${e}</span>
|
|
7
|
+
</a>`}destroy(){this.element.remove()}},_n=class{constructor(e){this.Reveal=e,this.onInput=this.onInput.bind(this),this.onBlur=this.onBlur.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}render(){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)}show(){this.indicesOnShow=this.Reveal.getIndices(),this.Reveal.getRevealElement().appendChild(this.element),this.jumpInput.focus()}hide(){this.isVisible()&&(this.element.remove(),this.jumpInput.value="",clearTimeout(this.jumpTimeout),delete this.jumpTimeout)}isVisible(){return!!this.element.parentNode}jump(){clearTimeout(this.jumpTimeout),delete this.jumpTimeout;let e=this.jumpInput.value.trim(""),t;if(/^\d+$/.test(e)){let i=this.Reveal.getConfig().slideNumber;if(i===jt||i===qi){let s=this.Reveal.getSlides()[parseInt(e,10)-1];s&&(t=this.Reveal.getIndices(s))}}return t||(t=(/^\d+\.\d+$/.test(e)&&(e=e.replace(".","/")),this.Reveal.location.getIndicesFromHash(e,{oneBasedIndex:!0}))),!t&&/\S+/i.test(e)&&e.length>1&&(t=this.search(e)),t&&e!==""?(this.Reveal.slide(t.h,t.v,t.f),!0):(this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),!1)}jumpAfter(e){clearTimeout(this.jumpTimeout),this.jumpTimeout=setTimeout(()=>this.jump(),e)}search(e){let t=RegExp("\\b"+e.trim()+"\\b","i"),i=this.Reveal.getSlides().find(s=>t.test(s.innerText));return i?this.Reveal.getIndices(i):null}cancel(){this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),this.hide()}confirm(){this.jump(),this.hide()}destroy(){this.jumpInput.removeEventListener("input",this.onInput),this.jumpInput.removeEventListener("keydown",this.onKeyDown),this.jumpInput.removeEventListener("blur",this.onBlur),this.element.remove()}onKeyDown(e){e.keyCode===13?this.confirm():e.keyCode===27&&(this.cancel(),e.stopImmediatePropagation())}onInput(e){this.jumpAfter(200)}onBlur(){setTimeout(()=>this.hide(),1)}},Ot=e=>{let t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1]){let r=t[1];return{r:parseInt(r.charAt(0),16)*17,g:parseInt(r.charAt(1),16)*17,b:parseInt(r.charAt(2),16)*17}}let i=e.match(/^#([0-9a-f]{6})$/i);if(i&&i[1]){let r=i[1];return{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16)}}let s=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(s)return{r:parseInt(s[1],10),g:parseInt(s[2],10),b:parseInt(s[3],10)};let n=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return n?{r:parseInt(n[1],10),g:parseInt(n[2],10),b:parseInt(n[3],10),a:parseFloat(n[4])}:null},qn=e=>(typeof e=="string"&&(e=Ot(e)),e?(e.r*299+e.g*587+e.b*114)/1e3:null),jn=class{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach(e=>{let t=this.createBackground(e,this.element);C(e,"section").forEach(i=>{this.createBackground(i,t),t.classList.add("stack")})}),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(()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")},1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(e,t){let i=document.createElement("div");i.className="slide-background "+e.className.replace(/present|past|future/,"");let s=document.createElement("div");return s.className="slide-background-content",i.appendChild(s),t.appendChild(i),e.slideBackgroundElement=i,e.slideBackgroundContentElement=s,this.sync(e),i}sync(e){let t=e.slideBackgroundElement,i=e.slideBackgroundContentElement,s={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundGradient:e.getAttribute("data-background-gradient"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")},n=e.hasAttribute("data-preload");e.classList.remove("has-dark-background"),e.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="",i.style.backgroundSize="",i.style.backgroundRepeat="",i.style.backgroundPosition="",i.style.backgroundImage="",i.style.opacity="",i.innerHTML="",s.background&&(/^(http|file|\/\/)/gi.test(s.background)||/\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(s.background)?e.setAttribute("data-background-image",s.background):t.style.background=s.background),(s.background||s.backgroundColor||s.backgroundGradient||s.backgroundImage||s.backgroundVideo||s.backgroundIframe)&&t.setAttribute("data-background-hash",s.background+s.backgroundSize+s.backgroundImage+s.backgroundVideo+s.backgroundIframe+s.backgroundColor+s.backgroundGradient+s.backgroundRepeat+s.backgroundPosition+s.backgroundTransition+s.backgroundOpacity),s.backgroundSize&&t.setAttribute("data-background-size",s.backgroundSize),s.backgroundColor&&(t.style.backgroundColor=s.backgroundColor),s.backgroundGradient&&(t.style.backgroundImage=s.backgroundGradient),s.backgroundTransition&&t.setAttribute("data-background-transition",s.backgroundTransition),n&&t.setAttribute("data-preload",""),s.backgroundSize&&(i.style.backgroundSize=s.backgroundSize),s.backgroundRepeat&&(i.style.backgroundRepeat=s.backgroundRepeat),s.backgroundPosition&&(i.style.backgroundPosition=s.backgroundPosition),s.backgroundOpacity&&(i.style.opacity=s.backgroundOpacity);let r=this.getContrastClass(e);typeof r=="string"&&e.classList.add(r)}getContrastClass(e){let t=e.slideBackgroundElement,i=e.getAttribute("data-background-color");if(!i||!Ot(i)){let s=window.getComputedStyle(t);s&&s.backgroundColor&&(i=s.backgroundColor)}if(i){let s=Ot(i);if(s&&s.a!==0)return qn(i)<128?"has-dark-background":"has-light-background"}return null}bubbleSlideContrastClassToElement(e,t){["has-light-background","has-dark-background"].forEach(i=>{e.classList.contains(i)?t.classList.add(i):t.classList.remove(i)},this)}update(e=!1){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide(),s=this.Reveal.getIndices(),n=null,r=t.rtl?"future":"past",l=t.rtl?"past":"future";if(Array.from(this.element.childNodes).forEach((c,o)=>{c.classList.remove("past","present","future"),o<s.h?c.classList.add(r):o>s.h?c.classList.add(l):(c.classList.add("present"),n=c),(e||o===s.h)&&C(c,".slide-background").forEach((u,h)=>{u.classList.remove("past","present","future");let g=typeof s.v=="number"?s.v:0;h<g?u.classList.add("past"):h>g?u.classList.add("future"):(u.classList.add("present"),o===s.h&&(n=u))})}),this.previousBackground&&!this.previousBackground.closest("body")&&(this.previousBackground=null),n&&this.previousBackground){let c=this.previousBackground.getAttribute("data-background-hash"),o=n.getAttribute("data-background-hash");if(o&&o===c&&n!==this.previousBackground){this.element.classList.add("no-transition");let u=n.querySelector("video"),h=this.previousBackground.querySelector("video");if(u&&h){let g=u.parentNode;h.parentNode.appendChild(u),g.appendChild(h)}}}let a=n!==this.previousBackground;if(a&&this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),a&&n){this.Reveal.slideContent.startEmbeddedContent(n);let c=n.querySelector(".slide-background-content");if(c){let o=c.style.backgroundImage||"";/\.gif/i.test(o)&&(c.style.backgroundImage="",window.getComputedStyle(c).opacity,c.style.backgroundImage=o)}this.previousBackground=n}i&&this.bubbleSlideContrastClassToElement(i,this.Reveal.getRevealElement()),setTimeout(()=>{this.element.classList.remove("no-transition")},10)}updateParallax(){let e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let t=this.Reveal.getHorizontalSlides(),i=this.Reveal.getVerticalSlides(),s=this.element.style.backgroundSize.split(" "),n,r;s.length===1?n=r=parseInt(s[0],10):(n=parseInt(s[0],10),r=parseInt(s[1],10));let l=this.element.offsetWidth,a=t.length,c,o;c=typeof this.Reveal.getConfig().parallaxBackgroundHorizontal=="number"?this.Reveal.getConfig().parallaxBackgroundHorizontal:a>1?(n-l)/(a-1):0,o=c*e.h*-1;let u=this.element.offsetHeight,h=i.length,g,p;g=typeof this.Reveal.getConfig().parallaxBackgroundVertical=="number"?this.Reveal.getConfig().parallaxBackgroundVertical:(r-u)/(h-1),p=h>0?g*e.v:0,this.element.style.backgroundPosition=o+"px "+-p+"px"}}destroy(){this.element.remove()}},ji=0,On=class{constructor(e){this.Reveal=e}run(e,t){this.reset();let i=this.Reveal.getSlides(),s=i.indexOf(t),n=i.indexOf(e);if(e&&t&&e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")&&e.getAttribute("data-auto-animate-id")===t.getAttribute("data-auto-animate-id")&&!(s>n?t:e).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||_t();let r=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending",r.slideDirection=s>n?"forward":"backward";let l=e.style.display==="none";l&&(e.style.display=this.Reveal.getConfig().display);let a=this.getAutoAnimatableElements(e,t).map(c=>this.autoAnimateElements(c.from,c.to,c.options||{},r,ji++));if(l&&(e.style.display="none"),t.dataset.autoAnimateUnmatched!=="false"&&this.Reveal.getConfig().autoAnimateUnmatched===!0){let c=r.duration*.8,o=r.duration*.2;this.getUnmatchedAutoAnimateElements(t).forEach(u=>{let h=this.getAutoAnimateOptions(u,r),g="unmatched";(h.duration!==r.duration||h.delay!==r.delay)&&(g="unmatched-"+ji++,a.push(`[data-auto-animate="running"] [data-auto-animate-target="${g}"] { transition: opacity ${h.duration}s ease ${h.delay}s; }`)),u.dataset.autoAnimateTarget=g},this),a.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${c}s ease ${o}s; }`)}this.autoAnimateStyleSheet.innerHTML=a.join(""),requestAnimationFrame(()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")}),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:this.autoAnimateStyleSheet}})}}reset(){C(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach(e=>{e.dataset.autoAnimate=""}),C(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach(e=>{delete e.dataset.autoAnimateTarget}),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(e,t,i,s,n){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=n;let r=this.getAutoAnimateOptions(t,s);i.delay!==void 0&&(r.delay=i.delay),i.duration!==void 0&&(r.duration=i.duration),i.easing!==void 0&&(r.easing=i.easing);let l=this.getAutoAnimatableProperties("from",e,i),a=this.getAutoAnimatableProperties("to",t,i);if(t.classList.contains("fragment")&&delete a.styles.opacity,i.translate!==!1||i.scale!==!1){let u=this.Reveal.getScale(),h={x:(l.x-a.x)/u,y:(l.y-a.y)/u,scaleX:l.width/a.width,scaleY:l.height/a.height};h.x=Math.round(h.x*1e3)/1e3,h.y=Math.round(h.y*1e3)/1e3,h.scaleX=Math.round(h.scaleX*1e3)/1e3,h.scaleX=Math.round(h.scaleX*1e3)/1e3;let g=i.translate!==!1&&(h.x!==0||h.y!==0),p=i.scale!==!1&&(h.scaleX!==0||h.scaleY!==0);if(g||p){let d=[];g&&d.push(`translate(${h.x}px, ${h.y}px)`),p&&d.push(`scale(${h.scaleX}, ${h.scaleY})`),l.styles.transform=d.join(" "),l.styles["transform-origin"]="top left",a.styles.transform="none"}}for(let u in a.styles){let h=a.styles[u],g=l.styles[u];h===g?delete a.styles[u]:(h.explicitValue===!0&&(a.styles[u]=h.value),g.explicitValue===!0&&(l.styles[u]=g.value))}let c="",o=Object.keys(a.styles);if(o.length>0){l.styles.transition="none",a.styles.transition=`all ${r.duration}s ${r.easing} ${r.delay}s`,a.styles["transition-property"]=o.join(", "),a.styles["will-change"]=o.join(", ");let u=Object.keys(l.styles).map(g=>g+": "+l.styles[g]+" !important;").join(""),h=Object.keys(a.styles).map(g=>g+": "+a.styles[g]+" !important;").join("");c='[data-auto-animate-target="'+n+'"] {'+u+'}[data-auto-animate="running"] [data-auto-animate-target="'+n+'"] {'+h+"}"}return c}getAutoAnimateOptions(e,t){let i={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(i=_e(i,t),e.parentNode){let s=ee(e.parentNode,"[data-auto-animate-target]");s&&(i=this.getAutoAnimateOptions(s,i))}return e.dataset.autoAnimateEasing&&(i.easing=e.dataset.autoAnimateEasing),e.dataset.autoAnimateDuration&&(i.duration=parseFloat(e.dataset.autoAnimateDuration)),e.dataset.autoAnimateDelay&&(i.delay=parseFloat(e.dataset.autoAnimateDelay)),i}getAutoAnimatableProperties(e,t,i){let s=this.Reveal.getConfig(),n={styles:[]};if(i.translate!==!1||i.scale!==!1){let l;if(typeof i.measure=="function")l=i.measure(t);else if(s.center)l=t.getBoundingClientRect();else{let a=this.Reveal.getScale();l={x:t.offsetLeft*a,y:t.offsetTop*a,width:t.offsetWidth*a,height:t.offsetHeight*a}}n.x=l.x,n.y=l.y,n.width=l.width,n.height=l.height}let r=getComputedStyle(t);return(i.styles||s.autoAnimateStyles).forEach(l=>{let a;typeof l=="string"&&(l={property:l}),l.from!==void 0&&e==="from"?a={value:l.from,explicitValue:!0}:l.to!==void 0&&e==="to"?a={value:l.to,explicitValue:!0}:(l.property==="line-height"&&(a=parseFloat(r["line-height"])/parseFloat(r["font-size"])),isNaN(a)&&(a=r[l.property])),a!==""&&(n.styles[l.property]=a)}),n}getAutoAnimatableElements(e,t){let i=(typeof this.Reveal.getConfig().autoAnimateMatcher=="function"?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),s=[];return i.filter((n,r)=>{if(s.indexOf(n.to)===-1)return s.push(n.to),!0})}getAutoAnimatePairs(e,t){let i=[],s="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",n=>n.nodeName+":::"+n.getAttribute("data-id")),this.findAutoAnimateMatches(i,e,t,s,n=>n.nodeName+":::"+n.textContent.trim()),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",n=>n.nodeName+":::"+(n.getAttribute("src")||n.getAttribute("data-src"))),this.findAutoAnimateMatches(i,e,t,"pre",n=>n.nodeName+":::"+n.textContent.trim()),i.forEach(n=>{lt(n.from,s)?n.options={scale:!1}:lt(n.from,"pre")&&(n.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(i,n.from,n.to,".hljs .hljs-ln-code",r=>r.textContent,{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(i,n.from,n.to,".hljs .hljs-ln-numbers[data-line-number]",r=>r.getAttribute("data-line-number"),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))},this),i}getLocalBoundingBox(e){let t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.offsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}findAutoAnimateMatches(e,t,i,s,n,r){let l={},a={};[].slice.call(t.querySelectorAll(s)).forEach((c,o)=>{let u=n(c);typeof u=="string"&&u.length&&(l[u]=l[u]||[],l[u].push(c))}),[].slice.call(i.querySelectorAll(s)).forEach((c,o)=>{let u=n(c);a[u]=a[u]||[],a[u].push(c);let h;if(l[u]){let g=a[u].length-1,p=l[u].length-1;l[u][g]?(h=l[u][g],l[u][g]=null):l[u][p]&&(h=l[u][p],l[u][p]=null)}h&&e.push({from:h,to:c,options:r})})}getUnmatchedAutoAnimateElements(e){return[].slice.call(e.children).reduce((t,i)=>{let s=i.querySelector("[data-auto-animate-target]");return!i.hasAttribute("data-auto-animate-target")&&!s&&t.push(i),i.querySelector("[data-auto-animate-target]")&&(t=t.concat(this.getUnmatchedAutoAnimateElements(i))),t},[])}},Fn=500,Vn=4,Un=6,Wn=8,Kn=class{constructor(e){this.Reveal=e,this.active=!1,this.activatedCallbacks=[],this.onScroll=this.onScroll.bind(this)}activate(){if(this.active)return;let e=this.Reveal.getState();this.active=!0,this.slideHTMLBeforeActivation=this.Reveal.getSlidesElement().innerHTML;let t=C(this.Reveal.getRevealElement(),we),i=C(this.Reveal.getRevealElement(),zn);this.viewportElement.classList.add("loading-scroll-mode","reveal-scroll");let s,n=window.getComputedStyle(this.viewportElement);n&&n.background&&(s=n.background);let r=[],l=t[0].parentNode,a,c=(o,u,h,g)=>{let p;if(a&&this.Reveal.shouldAutoAnimateBetween(a,o))p=document.createElement("div"),p.className="scroll-page-content scroll-auto-animate-page",p.style.display="none",a.closest(".scroll-page-content").parentNode.appendChild(p);else{let d=document.createElement("div");if(d.className="scroll-page",r.push(d),g&&i.length>u){let y=i[u],z=window.getComputedStyle(y);z&&z.background?d.style.background=z.background:s&&(d.style.background=s)}else s&&(d.style.background=s);let b=document.createElement("div");b.className="scroll-page-sticky",d.appendChild(b),p=document.createElement("div"),p.className="scroll-page-content",b.appendChild(p)}p.appendChild(o),o.classList.remove("past","future"),o.setAttribute("data-index-h",u),o.setAttribute("data-index-v",h),o.slideBackgroundElement&&(o.slideBackgroundElement.remove("past","future"),p.insertBefore(o.slideBackgroundElement,o)),a=o};t.forEach((o,u)=>{this.Reveal.isVerticalStack(o)?o.querySelectorAll("section").forEach((h,g)=>{c(h,u,g,!0)}):c(o,u,0)},this),this.createProgressBar(),C(this.Reveal.getRevealElement(),".stack").forEach(o=>o.remove()),r.forEach(o=>l.appendChild(o)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.layout(),this.Reveal.setState(e),this.activatedCallbacks.forEach(o=>o()),this.activatedCallbacks=[],this.restoreScrollPosition(),this.viewportElement.classList.remove("loading-scroll-mode"),this.viewportElement.addEventListener("scroll",this.onScroll,{passive:!0})}deactivate(){if(!this.active)return;let e=this.Reveal.getState();this.active=!1,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(e),this.slideHTMLBeforeActivation=null}toggle(e){typeof e=="boolean"?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}createProgressBar(){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);let e=i=>{let s=(i.clientY-this.progressBarInner.getBoundingClientRect().top)/this.progressBarHeight;s=Math.max(Math.min(s,1),0),this.viewportElement.scrollTop=s*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight)},t=i=>{this.draggingProgressBar=!1,this.showProgressBar(),document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t)};this.progressBarInner.addEventListener("mousedown",i=>{i.preventDefault(),this.draggingProgressBar=!0,document.addEventListener("mousemove",e),document.addEventListener("mouseup",t),e(i)})}removeProgressBar(){this.progressBar&&(this.progressBar=(this.progressBar.remove(),null))}layout(){this.isActive()&&(this.syncPages(),this.syncScrollPosition())}syncPages(){let e=this.Reveal.getConfig(),t=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),i=this.Reveal.getScale(),s=e.scrollLayout==="compact",n=this.viewportElement.offsetHeight,r=t.height*i,l=s?r:n;this.scrollTriggerHeight=s?r:n,this.viewportElement.style.setProperty("--page-height",l+"px"),this.viewportElement.style.scrollSnapType=typeof e.scrollSnap=="string"?`y ${e.scrollSnap}`:"",this.slideTriggers=[],this.pages=Array.from(this.Reveal.getRevealElement().querySelectorAll(".scroll-page")).map(a=>{let c=this.createPage({pageElement:a,slideElement:a.querySelector("section"),stickyElement:a.querySelector(".scroll-page-sticky"),contentElement:a.querySelector(".scroll-page-content"),backgroundElement:a.querySelector(".slide-background"),autoAnimateElements:a.querySelectorAll(".scroll-auto-animate-page"),autoAnimatePages:[]});c.pageElement.style.setProperty("--slide-height",e.center===!0?"auto":t.height+"px"),this.slideTriggers.push({page:c,activate:()=>this.activatePage(c),deactivate:()=>this.deactivatePage(c)}),this.createFragmentTriggersForPage(c),c.autoAnimateElements.length>0&&this.createAutoAnimateTriggersForPage(c);let o=Math.max(c.scrollTriggers.length-1,0);o+=c.autoAnimatePages.reduce((u,h)=>u+Math.max(h.scrollTriggers.length-1,0),c.autoAnimatePages.length),c.pageElement.querySelectorAll(".scroll-snap-point").forEach(u=>u.remove());for(let u=0;u<o+1;u++){let h=document.createElement("div");h.className="scroll-snap-point",h.style.height=this.scrollTriggerHeight+"px",h.style.scrollSnapAlign=s?"center":"start",c.pageElement.appendChild(h),u===0&&(h.style.marginTop=-this.scrollTriggerHeight+"px")}return s&&c.scrollTriggers.length>0?(c.pageHeight=n,c.pageElement.style.setProperty("--page-height",n+"px")):(c.pageHeight=l,c.pageElement.style.removeProperty("--page-height")),c.scrollPadding=this.scrollTriggerHeight*o,c.totalHeight=c.pageHeight+c.scrollPadding,c.pageElement.style.setProperty("--page-scroll-padding",c.scrollPadding+"px"),o>0?(c.stickyElement.style.position="sticky",c.stickyElement.style.top=Math.max((n-c.pageHeight)/2,0)+"px"):(c.stickyElement.style.position="relative",c.pageElement.style.scrollSnapAlign=c.pageHeight<n?"center":"start"),c}),this.setTriggerRanges(),this.viewportElement.setAttribute("data-scrollbar",e.scrollProgress),e.scrollProgress&&this.totalScrollTriggerCount>1?(this.progressBar||this.createProgressBar(),this.syncProgressBar()):this.removeProgressBar()}setTriggerRanges(){this.totalScrollTriggerCount=this.slideTriggers.reduce((t,i)=>t+Math.max(i.page.scrollTriggers.length,1),0);let e=0;this.slideTriggers.forEach((t,i)=>{t.range=[e,e+Math.max(t.page.scrollTriggers.length,1)/this.totalScrollTriggerCount];let s=(t.range[1]-t.range[0])/t.page.scrollTriggers.length;t.page.scrollTriggers.forEach((n,r)=>{n.range=[e+r*s,e+(r+1)*s]}),e=t.range[1]}),this.slideTriggers[this.slideTriggers.length-1].range[1]=1}createFragmentTriggersForPage(e,t){t||(t=e.slideElement);let i=this.Reveal.fragments.sort(t.querySelectorAll(".fragment"),!0);return i.length&&(e.fragments=this.Reveal.fragments.sort(t.querySelectorAll(".fragment:not(.disabled)")),e.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(-1,e.fragments,t)}}),i.forEach((s,n)=>{e.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(n,e.fragments,t)}})})),e.scrollTriggers.length}createAutoAnimateTriggersForPage(e){e.autoAnimateElements.length>0&&this.slideTriggers.push(...Array.from(e.autoAnimateElements).map((t,i)=>{let s=this.createPage({slideElement:t.querySelector("section"),contentElement:t,backgroundElement:t.querySelector(".slide-background")});return this.createFragmentTriggersForPage(s,s.slideElement),e.autoAnimatePages.push(s),{page:s,activate:()=>this.activatePage(s),deactivate:()=>this.deactivatePage(s)}}))}createPage(e){return e.scrollTriggers=[],e.indexh=parseInt(e.slideElement.getAttribute("data-index-h"),10),e.indexv=parseInt(e.slideElement.getAttribute("data-index-v"),10),e}syncProgressBar(){this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach(r=>r.remove());let e=this.viewportElement.scrollHeight,t=this.viewportElement.offsetHeight,i=t/e;this.progressBarHeight=this.progressBarInner.offsetHeight,this.playheadHeight=Math.max(i*this.progressBarHeight,Wn),this.progressBarScrollableHeight=this.progressBarHeight-this.playheadHeight;let s=t/e*this.progressBarHeight,n=Math.min(s/8,Vn);this.progressBarPlayhead.style.height=this.playheadHeight-n+"px",s>Un?this.slideTriggers.forEach(r=>{let{page:l}=r;l.progressBarSlide=document.createElement("div"),l.progressBarSlide.className="scrollbar-slide",l.progressBarSlide.style.top=r.range[0]*this.progressBarHeight+"px",l.progressBarSlide.style.height=(r.range[1]-r.range[0])*this.progressBarHeight-n+"px",l.progressBarSlide.classList.toggle("has-triggers",l.scrollTriggers.length>0),this.progressBarInner.appendChild(l.progressBarSlide),l.scrollTriggerElements=l.scrollTriggers.map((a,c)=>{let o=document.createElement("div");return o.className="scrollbar-trigger",o.style.top=(a.range[0]-r.range[0])*this.progressBarHeight+"px",o.style.height=(a.range[1]-a.range[0])*this.progressBarHeight-n+"px",l.progressBarSlide.appendChild(o),c===0&&(o.style.display="none"),o})}):this.pages.forEach(r=>r.progressBarSlide=null)}syncScrollPosition(){let e=this.viewportElement.offsetHeight,t=e/this.viewportElement.scrollHeight,i=this.viewportElement.scrollTop,s=this.viewportElement.scrollHeight-e,n=Math.max(Math.min(i/s,1),0),r=Math.max(Math.min((i+e/2)/this.viewportElement.scrollHeight,1),0),l;this.slideTriggers.forEach(a=>{let{page:c}=a;n>=a.range[0]-t*2&&n<=a.range[1]+t*2&&!c.loaded?(c.loaded=!0,this.Reveal.slideContent.load(c.slideElement)):c.loaded&&(c.loaded=!1,this.Reveal.slideContent.unload(c.slideElement)),n>=a.range[0]&&n<=a.range[1]?(this.activateTrigger(a),l=a.page):a.active&&this.deactivateTrigger(a)}),l&&l.scrollTriggers.forEach(a=>{r>=a.range[0]&&r<=a.range[1]?this.activateTrigger(a):a.active&&this.deactivateTrigger(a)}),this.setProgressBarValue(i/(this.viewportElement.scrollHeight-e))}setProgressBarValue(e){this.progressBar&&(this.progressBarPlayhead.style.transform=`translateY(${e*this.progressBarScrollableHeight}px)`,this.getAllPages().filter(t=>t.progressBarSlide).forEach(t=>{t.progressBarSlide.classList.toggle("active",t.active===!0),t.scrollTriggers.forEach((i,s)=>{t.scrollTriggerElements[s].classList.toggle("active",t.active===!0&&i.active===!0)})}),this.showProgressBar())}showProgressBar(){this.progressBar.classList.add("visible"),clearTimeout(this.hideProgressBarTimeout),this.Reveal.getConfig().scrollProgress==="auto"&&!this.draggingProgressBar&&(this.hideProgressBarTimeout=setTimeout(()=>{this.progressBar&&this.progressBar.classList.remove("visible")},Fn))}prev(){this.viewportElement.scrollTop-=this.scrollTriggerHeight}next(){this.viewportElement.scrollTop+=this.scrollTriggerHeight}scrollToSlide(e){if(!this.active)this.activatedCallbacks.push(()=>this.scrollToSlide(e));else{let t=this.getScrollTriggerBySlide(e);t&&(this.viewportElement.scrollTop=t.range[0]*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight))}}storeScrollPosition(){clearTimeout(this.storeScrollPositionTimeout),this.storeScrollPositionTimeout=setTimeout(()=>{sessionStorage.setItem("reveal-scroll-top",this.viewportElement.scrollTop),sessionStorage.setItem("reveal-scroll-origin",location.origin+location.pathname),this.storeScrollPositionTimeout=null},50)}restoreScrollPosition(){let e=sessionStorage.getItem("reveal-scroll-top"),t=sessionStorage.getItem("reveal-scroll-origin");e&&t===location.origin+location.pathname&&(this.viewportElement.scrollTop=parseInt(e,10))}activatePage(e){if(!e.active){e.active=!0;let{slideElement:t,backgroundElement:i,contentElement:s,indexh:n,indexv:r}=e;s.style.display="block",t.classList.add("present"),i&&i.classList.add("present"),this.Reveal.setCurrentScrollPage(t,n,r),this.Reveal.backgrounds.bubbleSlideContrastClassToElement(t,this.viewportElement),Array.from(s.parentNode.querySelectorAll(".scroll-page-content")).forEach(l=>{l!==s&&(l.style.display="none")})}}deactivatePage(e){e.active&&(e.active=!1,e.slideElement&&e.slideElement.classList.remove("present"),e.backgroundElement&&e.backgroundElement.classList.remove("present"))}activateTrigger(e){e.active||(e.active=!0,e.activate())}deactivateTrigger(e){e.active&&(e.active=!1,e.deactivate&&e.deactivate())}getSlideByIndices(e,t){let i=this.getAllPages().find(s=>s.indexh===e&&s.indexv===t);return i?i.slideElement:null}getScrollTriggerBySlide(e){return this.slideTriggers.find(t=>t.page.slideElement===e)}getAllPages(){return this.pages.flatMap(e=>[e,...e.autoAnimatePages||[]])}onScroll(){this.syncScrollPosition(),this.storeScrollPosition()}get viewportElement(){return this.Reveal.getViewportElement()}},Zn=class{constructor(e){this.Reveal=e}activate(){return An(this,null,function*(){let e=this.Reveal.getConfig(),t=C(this.Reveal.getRevealElement(),Pe),i=e.slideNumber&&/all|print/i.test(e.showSlideNumber),s=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),n=Math.floor(s.width*(1+e.margin)),r=Math.floor(s.height*(1+e.margin)),l=s.width,a=s.height;yield new Promise(requestAnimationFrame),_t("@page{size:"+n+"px "+r+"px; margin: 0px;}"),_t(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+l+"px; max-height:"+a+"px}"),document.documentElement.classList.add("reveal-print","print-pdf"),document.body.style.width=n+"px",document.body.style.height=r+"px";let c=this.Reveal.getViewportElement(),o;if(c){let d=window.getComputedStyle(c);d&&d.background&&(o=d.background)}yield new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(l,a),yield new Promise(requestAnimationFrame);let u=t.map(d=>d.scrollHeight),h=[],g=t[0].parentNode,p=1;t.forEach(function(d,b){if(d.classList.contains("stack")===!1){let y=(n-l)/2,z=(r-a)/2,D=u[b],L=Math.max(Math.ceil(D/r),1);L=Math.min(L,e.pdfMaxPagesPerSlide),(L===1&&e.center||d.classList.contains("center"))&&(z=Math.max((r-D)/2,0));let A=document.createElement("div");if(h.push(A),A.className="pdf-page",A.style.height=(r+e.pdfPageHeightOffset)*L+"px",o&&(A.style.background=o),A.appendChild(d),d.style.left=y+"px",d.style.top=z+"px",d.style.width=l+"px",this.Reveal.slideContent.layout(d),d.slideBackgroundElement&&A.insertBefore(d.slideBackgroundElement,d),e.showNotes){let S=this.Reveal.getSlideNotes(d);if(S){let P=typeof e.showNotes=="string"?e.showNotes:"inline",$=document.createElement("div");$.classList.add("speaker-notes"),$.classList.add("speaker-notes-pdf"),$.setAttribute("data-layout",P),$.innerHTML=S,P==="separate-page"?h.push($):($.style.left="8px",$.style.bottom="8px",$.style.width=n-16+"px",A.appendChild($))}}if(i){let S=document.createElement("div");S.classList.add("slide-number"),S.classList.add("slide-number-pdf"),S.innerHTML=p++,A.appendChild(S)}if(e.pdfSeparateFragments){let S=this.Reveal.fragments.sort(A.querySelectorAll(".fragment"),!0),P;S.forEach(function($,_){P&&P.forEach(function(M){M.classList.remove("current-fragment")}),$.forEach(function(M){M.classList.add("visible","current-fragment")},this);let O=A.cloneNode(!0);if(i){let M=O.querySelector(".slide-number-pdf"),J=_+1;M.innerHTML+="."+J}h.push(O),P=$},this),S.forEach(function($){$.forEach(function(_){_.classList.remove("visible","current-fragment")})})}else C(A,".fragment:not(.fade-out)").forEach(function(S){S.classList.add("visible")})}},this),yield new Promise(requestAnimationFrame),h.forEach(d=>g.appendChild(d)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.dispatchEvent({type:"pdf-ready"}),c.classList.remove("loading-scroll-mode")})}isActive(){return this.Reveal.getConfig().view==="print"}},Qn=class{constructor(e){this.Reveal=e}configure(e,t){e.fragments===!1?this.disable():t.fragments===!1&&this.enable()}disable(){C(this.Reveal.getSlidesElement(),".fragment").forEach(e=>{e.classList.add("visible"),e.classList.remove("current-fragment")})}enable(){C(this.Reveal.getSlidesElement(),".fragment").forEach(e=>{e.classList.remove("visible"),e.classList.remove("current-fragment")})}availableRoutes(){let e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){let t=e.querySelectorAll(".fragment:not(.disabled)"),i=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-i.length>0,next:!!i.length}}else return{prev:!1,next:!1}}sort(e,t=!1){e=Array.from(e);let i=[],s=[],n=[];e.forEach(l=>{if(l.hasAttribute("data-fragment-index")){let a=parseInt(l.getAttribute("data-fragment-index"),10);i[a]||(i[a]=[]),i[a].push(l)}else s.push([l])}),i=i.concat(s);let r=0;return i.forEach(l=>{l.forEach(a=>{n.push(a),a.setAttribute("data-fragment-index",r)}),r++}),t===!0?i:n}sortAll(){this.Reveal.getHorizontalSlides().forEach(e=>{let t=C(e,"section");t.forEach((i,s)=>{this.sort(i.querySelectorAll(".fragment"))},this),t.length===0&&this.sort(e.querySelectorAll(".fragment"))})}update(e,t,i=this.Reveal.getCurrentSlide()){let s={shown:[],hidden:[]};if(i&&this.Reveal.getConfig().fragments&&(t||(t=this.sort(i.querySelectorAll(".fragment"))),t.length)){let n=0;if(typeof e!="number"){let r=this.sort(i.querySelectorAll(".fragment.visible")).pop();r&&(e=parseInt(r.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach((r,l)=>{if(r.hasAttribute("data-fragment-index")&&(l=parseInt(r.getAttribute("data-fragment-index"),10)),n=Math.max(n,l),l<=e){let a=r.classList.contains("visible");r.classList.add("visible"),r.classList.remove("current-fragment"),l===e&&(this.Reveal.announceStatus(this.Reveal.getStatusText(r)),r.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(r)),a||(s.shown.push(r),this.Reveal.dispatchEvent({target:r,type:"visible",bubbles:!1}))}else{let a=r.classList.contains("visible");r.classList.remove("visible"),r.classList.remove("current-fragment"),a&&(this.Reveal.slideContent.stopEmbeddedContent(r),s.hidden.push(r),this.Reveal.dispatchEvent({target:r,type:"hidden",bubbles:!1}))}}),e=typeof e=="number"?e:-1,e=Math.max(Math.min(e,n),-1),i.setAttribute("data-fragment",e)}return s.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:s.hidden[0],fragments:s.hidden}}),s.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:s.shown[0],fragments:s.shown}}),s}sync(e=this.Reveal.getCurrentSlide()){return this.sort(e.querySelectorAll(".fragment"))}goto(e,t=0){let i=this.Reveal.getCurrentSlide();if(i&&this.Reveal.getConfig().fragments){let s=this.sort(i.querySelectorAll(".fragment:not(.disabled)"));if(s.length){if(typeof e!="number"){let r=this.sort(i.querySelectorAll(".fragment:not(.disabled).visible")).pop();e=r?parseInt(r.getAttribute("data-fragment-index")||0,10):-1}e+=t;let n=this.update(e,s);return this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!!(n.shown.length||n.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}},Xn=class{constructor(e){this.Reveal=e,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.Reveal.isScrollView()&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),C(this.Reveal.getRevealElement(),Pe).forEach(i=>{i.classList.contains("stack")||i.addEventListener("click",this.onSlideClicked,!0)});let e=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=e.width+70,this.overviewSlideHeight=e.height+70,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();let t=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:t.h,indexv:t.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach((e,t)=>{e.setAttribute("data-index-h",t),Ee(e,"translate3d("+t*this.overviewSlideWidth+"px, 0, 0)"),e.classList.contains("stack")&&C(e,"section").forEach((i,s)=>{i.setAttribute("data-index-h",t),i.setAttribute("data-index-v",s),Ee(i,"translate3d(0, "+s*this.overviewSlideHeight+"px, 0)")})}),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((e,t)=>{Ee(e,"translate3d("+t*this.overviewSlideWidth+"px, 0, 0)"),C(e,".slide-background").forEach((i,s)=>{Ee(i,"translate3d(0, "+s*this.overviewSlideHeight+"px, 0)")})})}update(){let e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,i=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-i.h*this.overviewSlideWidth+"px)","translateY("+-i.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout(()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")},1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),C(this.Reveal.getRevealElement(),Pe).forEach(t=>{Ee(t,""),t.removeEventListener("click",this.onSlideClicked,!0)}),C(this.Reveal.getBackgroundsElement(),".slide-background").forEach(t=>{Ee(t,"")}),this.Reveal.transformSlides({overview:""});let e=this.Reveal.getIndices();this.Reveal.slide(e.h,e.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:e.h,indexv:e.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(e){typeof e=="boolean"?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(e){if(this.isActive()){e.preventDefault();let t=e.target;for(;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){let i=parseInt(t.getAttribute("data-index-h"),10),s=parseInt(t.getAttribute("data-index-v"),10);this.Reveal.slide(i,s)}}}},Yn=class{constructor(e){this.Reveal=e,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this)}configure(e,t){e.navigationMode==="linear"?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts["P , Shift SPACE"]="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Alt + ←/↑/→/↓"]="Navigate without fragments",this.shortcuts["Shift + ←/↑/→/↓"]="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"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1)}addKeyBinding(e,t){typeof e=="object"&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}removeKeyBinding(e){delete this.bindings[e]}triggerKey(e){this.onDocumentKeyDown({keyCode:e})}registerKeyboardShortcut(e,t){this.shortcuts[e]=t}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyDown(e){let t=this.Reveal.getConfig();if(typeof t.keyboardCondition=="function"&&t.keyboardCondition(e)===!1||t.keyboardCondition==="focused"&&!this.Reveal.isFocused())return!0;let i=e.keyCode,s=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);let n=document.activeElement&&document.activeElement.isContentEditable===!0,r=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),l=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),a=!([32,37,38,39,40,63,78,80,191].indexOf(e.keyCode)!==-1&&e.shiftKey||e.altKey)&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(n||r||l||a)return;let c=[66,86,190,191,112],o;if(typeof t.keyboard=="object")for(o in t.keyboard)t.keyboard[o]==="togglePause"&&c.push(parseInt(o,10));if(this.Reveal.isOverlayOpen()&&!["Escape","f","c","b","."].includes(e.key)||this.Reveal.isPaused()&&c.indexOf(i)===-1)return!1;let u=t.navigationMode==="linear"||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),h=!1;if(typeof t.keyboard=="object"){for(o in t.keyboard)if(parseInt(o,10)===i){let g=t.keyboard[o];typeof g=="function"?g.apply(null,[e]):typeof g=="string"&&typeof this.Reveal[g]=="function"&&this.Reveal[g].call(),h=!0}}if(h===!1){for(o in this.bindings)if(parseInt(o,10)===i){let g=this.bindings[o].callback;typeof g=="function"?g.apply(null,[e]):typeof g=="string"&&typeof this.Reveal[g]=="function"&&this.Reveal[g].call(),h=!0}}h===!1&&(h=!0,i===80||i===33?this.Reveal.prev({skipFragments:e.altKey}):i===78||i===34?this.Reveal.next({skipFragments:e.altKey}):i===72||i===37?e.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&u?t.rtl?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.left({skipFragments:e.altKey}):i===76||i===39?e.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&u?t.rtl?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.next({skipFragments:e.altKey}):this.Reveal.right({skipFragments:e.altKey}):i===75||i===38?e.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&u?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.up({skipFragments:e.altKey}):i===74||i===40?e.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&u?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.down({skipFragments:e.altKey}):i===36?this.Reveal.slide(0):i===35?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):i===32?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.next({skipFragments:e.altKey})):[58,59,66,86,190].includes(i)||i===191&&!e.shiftKey?this.Reveal.togglePause():i===70?Bi(t.embedded?this.Reveal.getViewportElement():document.documentElement):i===65?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(s):i===71?t.jumpToSlide&&this.Reveal.toggleJumpToSlide():i===67&&this.Reveal.isOverlayOpen()?this.Reveal.closeOverlay():(i===63||i===191)&&e.shiftKey||i===112?this.Reveal.toggleHelp():h=!1),h?e.preventDefault&&e.preventDefault():i===27||i===79?(this.Reveal.closeOverlay()===!1&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()):i===13&&this.Reveal.overview.isActive()&&(this.Reveal.overview.deactivate(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}},Jn=class{constructor(e){$i(this,"MAX_REPLACE_STATE_FREQUENCY",1e3),this.Reveal=e,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(e=window.location.hash,t={}){let i=e.replace(/^#\/?/,""),s=i.split("/");if(!/^[0-9]*$/.test(s[0])&&i.length){let n,r;/\/[-\d]+$/g.test(i)&&(r=parseInt(i.split("/").pop(),10),r=isNaN(r)?void 0:r,i=i.split("/").shift());try{let l=decodeURIComponent(i);n=(document.getElementById(l)||document.querySelector(`[data-id="${l}"]`)).closest(".slides section")}catch{}if(n)return zi(ye({},this.Reveal.getIndices(n)),{f:r})}else{let n=this.Reveal.getConfig(),r=n.hashOneBasedIndex||t.oneBasedIndex?1:0,l=parseInt(s[0],10)-r||0,a=parseInt(s[1],10)-r||0,c;return n.fragmentInURL&&(c=parseInt(s[2],10),isNaN(c)&&(c=void 0)),{h:l,v:a,f:c}}return null}readURL(){let e=this.Reveal.getIndices(),t=this.getIndicesFromHash();t?(t.h!==e.h||t.v!==e.v||t.f!==void 0)&&this.Reveal.slide(t.h,t.v,t.f):this.Reveal.slide(e.h||0,e.v||0)}writeURL(e){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),typeof e=="number")this.writeURLTimeout=setTimeout(this.writeURL,e);else if(i){let s=this.getHash();t.history?window.location.hash=s:t.hash&&(s==="/"?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+s))}}replaceState(e){window.history.replaceState(null,null,e),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(e){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(e):this.replaceStateTimeout=setTimeout(()=>this.replaceState(e),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(e){let t="/",i=e||this.Reveal.getCurrentSlide(),s=i?i.getAttribute("id"):null;s&&(s=encodeURIComponent(s));let n=this.Reveal.getIndices(e);if(this.Reveal.getConfig().fragmentInURL||(n.f=void 0),typeof s=="string"&&s.length)t="/"+s,n.f>=0&&(t+="/"+n.f);else{let r=this.Reveal.getConfig().hashOneBasedIndex?1:0;(n.h>0||n.v>0||n.f>=0)&&(t+=n.h+r),(n.v>0||n.f>=0)&&(t+="/"+(n.v+r)),n.f>=0&&(t+="/"+n.f)}return t}onWindowHashChange(e){this.readURL()}},Gn=class{constructor(e){this.Reveal=e,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)}render(){let e=this.Reveal.getConfig().rtl,t=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=`<button class="navigate-left" aria-label="${e?"next slide":"previous slide"}"><div class="controls-arrow"></div></button>
|
|
8
|
+
<button class="navigate-right" aria-label="${e?"previous slide":"next slide"}"><div class="controls-arrow"></div></button>
|
|
9
|
+
<button class="navigate-up" aria-label="above slide"><div class="controls-arrow"></div></button>
|
|
10
|
+
<button class="navigate-down" aria-label="below slide"><div class="controls-arrow"></div></button>`,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=C(t,".navigate-left"),this.controlsRight=C(t,".navigate-right"),this.controlsUp=C(t,".navigate-up"),this.controlsDown=C(t,".navigate-down"),this.controlsPrev=C(t,".navigate-prev"),this.controlsNext=C(t,".navigate-next"),this.controlsFullscreen=C(t,".enter-fullscreen"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(e,t){let i=e.controls==="speaker"||e.controls==="speaker-only";this.element.style.display=e.controls&&(!i||this.Reveal.isSpeakerNotes())?"block":"none",this.element.setAttribute("data-controls-layout",e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}bind(){let e=["touchstart","click"];_i&&(e=["touchend"]),e.forEach(t=>{this.controlsLeft.forEach(i=>i.addEventListener(t,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(i=>i.addEventListener(t,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(i=>i.addEventListener(t,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(i=>i.addEventListener(t,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(i=>i.addEventListener(t,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(i=>i.addEventListener(t,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach(i=>i.addEventListener(t,this.onEnterFullscreen,!1))})}unbind(){["touchstart","touchend","click"].forEach(e=>{this.controlsLeft.forEach(t=>t.removeEventListener(e,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(t=>t.removeEventListener(e,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(t=>t.removeEventListener(e,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(t=>t.removeEventListener(e,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(t=>t.removeEventListener(e,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(t=>t.removeEventListener(e,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach(t=>t.removeEventListener(e,this.onEnterFullscreen,!1))})}update(){let e=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach(i=>{i.classList.remove("enabled","fragmented"),i.setAttribute("disabled","disabled")}),e.left&&this.controlsLeft.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")}),e.right&&this.controlsRight.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")}),e.up&&this.controlsUp.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")}),e.down&&this.controlsDown.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")}),(e.left||e.up)&&this.controlsPrev.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")}),(e.right||e.down)&&this.controlsNext.forEach(i=>{i.classList.add("enabled"),i.removeAttribute("disabled")});let t=this.Reveal.getCurrentSlide();if(t){let i=this.Reveal.fragments.availableRoutes();i.prev&&this.controlsPrev.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")}),i.next&&this.controlsNext.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")});let s=this.Reveal.isVerticalSlide(t),n=s&&t.parentElement&&t.parentElement.querySelectorAll(":scope > section").length>1;s&&n?(i.prev&&this.controlsUp.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")}),i.next&&this.controlsDown.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")})):(i.prev&&this.controlsLeft.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")}),i.next&&this.controlsRight.forEach(r=>{r.classList.add("fragmented","enabled"),r.removeAttribute("disabled")}))}if(this.Reveal.getConfig().controlsTutorial){let i=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&i.v===0?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&i.v===0?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}onEnterFullscreen(e){let t=this.Reveal.getConfig(),i=this.Reveal.getViewportElement();Bi(t.embedded?i:i.parentElement)}},er=class{constructor(e){this.Reveal=e,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){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)}configure(e,t){this.element.style.display=e.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(e){this.Reveal.onUserInput(e),e.preventDefault();let t=this.Reveal.getSlides(),i=t.length,s=Math.floor(e.clientX/this.getMaxWidth()*i);this.Reveal.getConfig().rtl&&(s=i-s);let n=this.Reveal.getIndices(t[s]);this.Reveal.slide(n.h,n.v)}destroy(){this.element.remove()}},tr=class{constructor(e){this.Reveal=e,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(e,t){e.mouseWheel?document.addEventListener("wheel",this.onDocumentMouseScroll,!1):document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),e.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){this.cursorHidden===!1&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}},Oi=(e,t)=>{let i=document.createElement("script");i.type="text/javascript",i.async=!1,i.defer=!1,i.src=e,typeof t=="function"&&(i.onload=n=>{n.type==="load"&&(i.onload=i.onerror=null,t())},i.onerror=n=>{i.onload=i.onerror=null,t(Error("Failed loading script: "+i.src+`
|
|
11
|
+
`+n))});let s=document.querySelector("head");s&&s.insertBefore(i,s.lastChild)},ir=class{constructor(e){this.Reveal=e,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(e,t){return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise(i=>{let s=[],n=0;if(t.forEach(r=>{(!r.condition||r.condition())&&(r.async?this.asyncDependencies.push(r):s.push(r))}),s.length){n=s.length;let r=l=>{l&&typeof l.callback=="function"&&l.callback(),--n===0&&this.initPlugins().then(i)};s.forEach(l=>{typeof l.id=="string"?(this.registerPlugin(l),r(l)):typeof l.src=="string"?Oi(l.src,()=>r(l)):(console.warn("Unrecognized plugin format",l),r())})}else this.initPlugins().then(i)})}initPlugins(){return new Promise(e=>{let t=Object.values(this.registeredPlugins),i=t.length;if(i===0)this.loadAsync().then(e);else{let s,n=()=>{--i===0?this.loadAsync().then(e):s()},r=0;s=()=>{let l=t[r++];if(typeof l.init=="function"){let a=l.init(this.Reveal);a&&typeof a.then=="function"?a.then(n):n()}else n()},s()}})}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach(e=>{Oi(e.src,e.callback)}),Promise.resolve()}registerPlugin(e){arguments.length===2&&typeof arguments[0]=="string"?(e=arguments[1],e.id=arguments[0]):typeof e=="function"&&(e=e());let t=e.id;typeof t=="string"?this.registeredPlugins[t]===void 0?(this.registeredPlugins[t]=e,this.state==="loaded"&&typeof e.init=="function"&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered'):console.warn("Unrecognized plugin format; can't find plugin.id",e)}hasPlugin(e){return!!this.registeredPlugins[e]}getPlugin(e){return this.registeredPlugins[e]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach(e=>{typeof e.destroy=="function"&&e.destroy()}),this.registeredPlugins={},this.asyncDependencies=[]}},sr=class{constructor(e){this.Reveal=e,this.onSlidesClicked=this.onSlidesClicked.bind(this),this.iframeTriggerSelector=null,this.mediaTriggerSelector="[data-preview-image], [data-preview-video]",this.stateProps=["previewIframe","previewImage","previewVideo","previewFit"],this.state={}}update(){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])";let e=this.Reveal.getSlidesElement().querySelectorAll(this.iframeTriggerSelector).length>0,t=this.Reveal.getSlidesElement().querySelectorAll(this.mediaTriggerSelector).length>0;e||t?this.Reveal.getSlidesElement().addEventListener("click",this.onSlidesClicked,!1):this.Reveal.getSlidesElement().removeEventListener("click",this.onSlidesClicked,!1)}createOverlay(e){this.dom=document.createElement("div"),this.dom.classList.add("r-overlay"),this.dom.classList.add(e),this.viewport=document.createElement("div"),this.viewport.classList.add("r-overlay-viewport"),this.dom.appendChild(this.viewport),this.Reveal.getRevealElement().appendChild(this.dom)}previewIframe(e){this.close(),this.state={previewIframe:e},this.createOverlay("r-overlay-preview"),this.dom.dataset.state="loading",this.viewport.innerHTML=`<header class="r-overlay-header">
|
|
12
|
+
<a class="r-overlay-header-button r-overlay-external" href="${e}" target="_blank"><span class="icon"></span></a>
|
|
13
|
+
<button class="r-overlay-header-button r-overlay-close"><span class="icon"></span></button>
|
|
14
|
+
</header>
|
|
15
|
+
<div class="r-overlay-spinner"></div>
|
|
16
|
+
<div class="r-overlay-content">
|
|
17
|
+
<iframe src="${e}"></iframe>
|
|
18
|
+
<small class="r-overlay-content-inner">
|
|
19
|
+
<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>
|
|
20
|
+
</small>
|
|
21
|
+
</div>`,this.dom.querySelector("iframe").addEventListener("load",t=>{this.dom.dataset.state="loaded"},!1),this.dom.querySelector(".r-overlay-close").addEventListener("click",t=>{this.close(),t.preventDefault()},!1),this.dom.querySelector(".r-overlay-external").addEventListener("click",t=>{this.close()},!1),this.Reveal.dispatchEvent({type:"previewiframe",data:{url:e}})}previewMedia(e,t,i){if(t!=="image"&&t!=="video"){console.warn("Please specify a valid media type to preview (image|video)");return}this.close(),i||(i="scale-down"),this.createOverlay("r-overlay-preview"),this.dom.dataset.state="loading",this.dom.dataset.previewFit=i,this.viewport.innerHTML=`<header class="r-overlay-header">
|
|
22
|
+
<button class="r-overlay-header-button r-overlay-close">Esc <span class="icon"></span></button>
|
|
23
|
+
</header>
|
|
24
|
+
<div class="r-overlay-spinner"></div>
|
|
25
|
+
<div class="r-overlay-content"></div>`;let s=this.dom.querySelector(".r-overlay-content");if(t==="image"){this.state={previewImage:e,previewFit:i};let n=document.createElement("img",{});n.src=e,s.appendChild(n),n.addEventListener("load",()=>{this.dom.dataset.state="loaded"},!1),n.addEventListener("error",()=>{this.dom.dataset.state="error",s.innerHTML='<span class="r-overlay-error">Unable to load image.</span>'},!1),this.dom.style.cursor="zoom-out",this.dom.addEventListener("click",r=>{this.close()},!1),this.Reveal.dispatchEvent({type:"previewimage",data:{url:e}})}else if(t==="video"){this.state={previewVideo:e,previewFit:i};let n=document.createElement("video");n.autoplay=this.dom.dataset.previewAutoplay!=="false",n.controls=this.dom.dataset.previewControls!=="false",n.loop=this.dom.dataset.previewLoop==="true",n.muted=this.dom.dataset.previewMuted==="true",n.playsInline=!0,n.src=e,s.appendChild(n),n.addEventListener("loadeddata",()=>{this.dom.dataset.state="loaded"},!1),n.addEventListener("error",()=>{this.dom.dataset.state="error",s.innerHTML='<span class="r-overlay-error">Unable to load video.</span>'},!1),this.Reveal.dispatchEvent({type:"previewvideo",data:{url:e}})}else throw Error("Please specify a valid media type to preview");this.dom.querySelector(".r-overlay-close").addEventListener("click",n=>{this.close(),n.preventDefault()},!1)}previewImage(e,t){this.previewMedia(e,"image",t)}previewVideo(e,t){this.previewMedia(e,"video",t)}toggleHelp(e){typeof e=="boolean"?e?this.showHelp():this.close():this.dom?this.close():this.showHelp()}showHelp(){if(this.Reveal.getConfig().help){this.close(),this.createOverlay("r-overlay-help");let e='<p class="title">Keyboard Shortcuts</p>',t=this.Reveal.keyboard.getShortcuts(),i=this.Reveal.keyboard.getBindings();for(let s in e+="<table><th>KEY</th><th>ACTION</th>",t)e+=`<tr><td>${s}</td><td>${t[s]}</td></tr>`;for(let s in i)i[s].key&&i[s].description&&(e+=`<tr><td>${i[s].key}</td><td>${i[s].description}</td></tr>`);e+="</table>",this.viewport.innerHTML=`
|
|
26
|
+
<header class="r-overlay-header">
|
|
27
|
+
<button class="r-overlay-header-button r-overlay-close">Esc <span class="icon"></span></button>
|
|
28
|
+
</header>
|
|
29
|
+
<div class="r-overlay-content">
|
|
30
|
+
<div class="r-overlay-help-content">${e}</div>
|
|
31
|
+
</div>
|
|
32
|
+
`,this.dom.querySelector(".r-overlay-close").addEventListener("click",s=>{this.close(),s.preventDefault()},!1),this.Reveal.dispatchEvent({type:"showhelp"})}}isOpen(){return!!this.dom}close(){return this.dom?(this.dom.remove(),this.dom=null,this.state={},this.Reveal.dispatchEvent({type:"closeoverlay"}),!0):!1}getState(){return this.state}setState(e){this.stateProps.every(t=>this.state[t]===e[t])||(e.previewIframe?this.previewIframe(e.previewIframe):e.previewImage?this.previewImage(e.previewImage,e.previewFit):e.previewVideo?this.previewVideo(e.previewVideo,e.previewFit):this.close())}onSlidesClicked(e){let t=e.target,i=t.closest(this.iframeTriggerSelector),s=t.closest(this.mediaTriggerSelector);if(i){if(e.metaKey||e.shiftKey||e.altKey)return;let n=i.getAttribute("data-preview-link"),r=typeof n=="string"&&n.startsWith("http")?n:i.getAttribute("href");r&&(this.previewIframe(r),e.preventDefault())}else if(s){if(s.hasAttribute("data-preview-image")){let n=s.dataset.previewImage||s.getAttribute("src");n&&(this.previewImage(n,s.dataset.previewFit),e.preventDefault())}else if(s.hasAttribute("data-preview-video")){let n=s.dataset.previewVideo||s.getAttribute("src");if(!n){let r=s.querySelector("source");r&&(n=r.getAttribute("src"))}n&&(this.previewVideo(n,s.dataset.previewFit),e.preventDefault())}}}destroy(){this.close()}},ot=40,nr=class{constructor(e){this.Reveal=e,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,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)}bind(){let e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListener("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",this.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(e){if(lt(e,"video[controls], audio[controls]"))return!0;for(;e&&typeof e.hasAttribute=="function";){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}onTouchStart(e){if(this.touchCaptured=!1,this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}onTouchMove(e){if(this.isSwipePrevented(e.target))return!0;let t=this.Reveal.getConfig();if(this.touchCaptured)_i&&e.preventDefault();else{this.Reveal.onUserInput(e);let i=e.touches[0].clientX,s=e.touches[0].clientY;if(e.touches.length===1&&this.touchStartCount!==2){let n=this.Reveal.availableRoutes({includeFragments:!0}),r=i-this.touchStartX,l=s-this.touchStartY;r>ot&&Math.abs(r)>Math.abs(l)?(this.touchCaptured=!0,t.navigationMode==="linear"?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):r<-ot&&Math.abs(r)>Math.abs(l)?(this.touchCaptured=!0,t.navigationMode==="linear"?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):l>ot&&n.up?(this.touchCaptured=!0,t.navigationMode==="linear"?this.Reveal.prev():this.Reveal.up()):l<-ot&&n.down&&(this.touchCaptured=!0,t.navigationMode==="linear"?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}onTouchEnd(e){this.touchCaptured&&!this.Reveal.slideContent.isAllowedToPlayAudio()&&this.Reveal.startEmbeddedContent(this.Reveal.getCurrentSlide()),this.touchCaptured=!1}onPointerDown(e){(e.pointerType===e.MSPOINTER_TYPE_TOUCH||e.pointerType==="touch")&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}onPointerMove(e){(e.pointerType===e.MSPOINTER_TYPE_TOUCH||e.pointerType==="touch")&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}onPointerUp(e){(e.pointerType===e.MSPOINTER_TYPE_TOUCH||e.pointerType==="touch")&&(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}},Ft="focus",Fi="blur",rr=class{constructor(e){this.Reveal=e,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(e,t){e.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){this.state!==Ft&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=Ft}blur(){this.state!==Fi&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=Fi}isFocused(){return this.state===Ft}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(e){this.focus()}onDocumentPointerDown(e){let t=ee(e.target,".reveal");(!t||t!==this.Reveal.getRevealElement())&&this.blur()}},ar=class{constructor(e){this.Reveal=e}render(){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)}configure(e,t){e.showNotes&&this.element.setAttribute("data-layout",typeof e.showNotes=="string"?e.showNotes:"inline")}update(){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>')}updateVisibility(){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")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(e=this.Reveal.getCurrentSlide()){if(e.hasAttribute("data-notes"))return e.getAttribute("data-notes");let t=e.querySelectorAll("aside.notes");return t?Array.from(t).map(i=>i.innerHTML).join(`
|
|
33
|
+
`):null}destroy(){this.element.remove()}},lr=class{constructor(e,t){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=e,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()}setPlaying(e){let t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}animate(){let e=this.progress;this.progress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let e=this.playing?this.progress:0,t=this.diameter2-this.thickness,i=this.diameter2,s=this.diameter2;this.progressOffset+=(1-this.progressOffset)*.1;let n=-Math.PI/2+e*(Math.PI*2),r=-Math.PI/2+this.progressOffset*(Math.PI*2);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(i,s,t+4,0,Math.PI*2,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(i,s,t,0,Math.PI*2,!1),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(i,s,t,r,n,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(i-28/2,s-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()}on(e,t){this.canvas.addEventListener(e,t,!1)}off(e,t){this.canvas.removeEventListener(e,t,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}},or={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,jumpToSlide:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,mouseWheel:!1,previewLinks:!1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,sortFragmentsOnSync:!0,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,view:null,scrollLayout:"full",scrollSnap:"mandatory",scrollProgress:"auto",scrollActivationWidth:435,pdfMaxPagesPerSlide:1/0,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,dependencies:[],plugins:[]},Vi="6.0.0";function Ui(e,t){arguments.length<2&&(t=arguments[0],e=document.querySelector(".reveal"));let i={},s={},n=!1,r=!1,l,a,c,o,u={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},h=[],g=1,p={layout:"",overview:""},d={},b="idle",y=0,z,D=0,L=-1,A=!1,S=new Nn(i),P=new Hn(i),$=new _n(i),_=new On(i),O=new jn(i),M=new Kn(i),J=new Zn(i),B=new Qn(i),v=new Xn(i),R=new Yn(i),N=new Jn(i),W=new Gn(i),te=new er(i),se=new tr(i),K=new ir(i),Z=new sr(i),pe=new rr(i),De=new nr(i),le=new ar(i);function di(m){if(!e)throw'Unable to find presentation root (<div class="reveal">).';if(n)throw"Reveal.js has already been initialized.";if(n=!0,d.wrapper=e,d.slides=e.querySelector(".slides"),!d.slides)throw'Unable to find slides container (<div class="slides">).';return s=ye(ye(ye(ye(ye({},or),s),t),m),Di()),/print-pdf/gi.test(window.location.search)&&(s.view="print"),it(),window.addEventListener("load",Ue,!1),K.load(s.plugins,s.dependencies).then(ui),new Promise(f=>i.on("ready",f))}function it(){s.embedded===!0?d.viewport=ee(e,".reveal-viewport")||e:(d.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),d.viewport.classList.add("reveal-viewport")}function ui(){n!==!1&&(r=!0,Oe(),St(),ie(),H(),Q(),yl(),Ve(),O.update(!0),hi(),N.readURL(),setTimeout(()=>{d.slides.classList.remove("no-transition"),d.wrapper.classList.add("ready"),oe({type:"ready",data:{indexh:l,indexv:a,currentSlide:o}})},1))}function hi(){let m=s.view==="print",f=s.view==="scroll"||s.view==="reader";(m||f)&&(m?Et():De.unbind(),d.viewport.classList.add("loading-scroll-mode"),m?document.readyState==="complete"?J.activate():window.addEventListener("load",()=>J.activate()):M.activate())}function Oe(){s.showHiddenSlides||C(d.wrapper,'section[data-visibility="hidden"]').forEach(m=>{let f=m.parentNode;f.childElementCount===1&&/section/i.test(f.nodeName)?f.remove():m.remove()})}function St(){d.slides.classList.add("no-transition"),Le?d.wrapper.classList.add("no-hover"):d.wrapper.classList.remove("no-hover"),O.render(),P.render(),$.render(),W.render(),te.render(),le.render(),d.pauseOverlay=Tn(d.wrapper,"div","pause-overlay",s.controls?'<button class="resume-button">Resume presentation</button>':null),d.statusElement=pi(),d.wrapper.setAttribute("role","application")}function pi(){let m=d.wrapper.querySelector(".aria-status");return m||(m=document.createElement("div"),m.style.position="absolute",m.style.height="1px",m.style.width="1px",m.style.overflow="hidden",m.style.clip="rect( 1px, 1px, 1px, 1px )",m.classList.add("aria-status"),m.setAttribute("aria-live","polite"),m.setAttribute("aria-atomic","true"),d.wrapper.appendChild(m)),m}function Fe(m){d.statusElement.textContent=m}function He(m){let f="";if(m.nodeType===3)f+=m.textContent.trim();else if(m.nodeType===1){let k=m.getAttribute("aria-hidden"),w=window.getComputedStyle(m).display==="none";if(k!=="true"&&!w){if(m.tagName==="IMG"||m.tagName==="VIDEO"){let E=m.getAttribute("alt");E&&(f+=st(E))}Array.from(m.childNodes).forEach(E=>{f+=He(E)}),["P","DIV","UL","OL","LI","H1","H2","H3","H4","H5","H6","BLOCKQUOTE"].includes(m.tagName)&&f.trim()!==""&&(f=st(f))}}return f=f.trim(),f===""?"":f+" "}function st(m){let f=m.trim();return f===""?m:/[.!?]$/.test(f)?f:f+"."}function H(){setInterval(()=>{(!M.isActive()&&d.wrapper.scrollTop!==0||d.wrapper.scrollLeft!==0)&&(d.wrapper.scrollTop=0,d.wrapper.scrollLeft=0)},1e3)}function Q(){document.addEventListener("fullscreenchange",Mt),document.addEventListener("webkitfullscreenchange",Mt)}function ie(){s.postMessage&&window.addEventListener("message",cn,!1)}function Ve(m){let f=ye({},s);if(typeof m=="object"&&_e(s,m),i.isReady()===!1)return;let k=d.wrapper.querySelectorAll(Pe).length;d.wrapper.classList.remove(f.transition),d.wrapper.classList.add(s.transition),d.wrapper.setAttribute("data-transition-speed",s.transitionSpeed),d.wrapper.setAttribute("data-background-transition",s.backgroundTransition),d.viewport.style.setProperty("--slide-width",typeof s.width=="string"?s.width:s.width+"px"),d.viewport.style.setProperty("--slide-height",typeof s.height=="string"?s.height:s.height+"px"),s.shuffle&&vi(),Ht(d.wrapper,"embedded",s.embedded),Ht(d.wrapper,"rtl",s.rtl),Ht(d.wrapper,"center",s.center),s.pause===!1&&rt(),_.reset(),z&&(z=(z.destroy(),null)),k>1&&s.autoSlide&&s.autoSlideStoppable&&(z=new lr(d.wrapper,()=>Math.min(Math.max((Date.now()-L)/y,0),1)),z.on("click",Tl),A=!1),s.navigationMode==="default"?d.wrapper.removeAttribute("data-navigation-mode"):d.wrapper.setAttribute("data-navigation-mode",s.navigationMode),le.configure(s,f),pe.configure(s,f),se.configure(s,f),W.configure(s,f),te.configure(s,f),R.configure(s,f),B.configure(s,f),P.configure(s,f),Xs()}function Hs(){window.addEventListener("resize",hn,!1),s.touch&&De.bind(),s.keyboard&&R.bind(),s.progress&&te.bind(),s.respondToHashChanges&&N.bind(),W.bind(),pe.bind(),d.slides.addEventListener("click",un,!1),d.slides.addEventListener("transitionend",dn,!1),d.pauseOverlay.addEventListener("click",rt,!1),s.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",pn,!1)}function Et(){De.unbind(),pe.unbind(),R.unbind(),W.unbind(),te.unbind(),N.unbind(),window.removeEventListener("resize",hn,!1),d.slides.removeEventListener("click",un,!1),d.slides.removeEventListener("transitionend",dn,!1),d.pauseOverlay.removeEventListener("click",rt,!1)}function hl(){n=!1,r!==!1&&(Et(),Tt(),le.destroy(),pe.destroy(),Z.destroy(),K.destroy(),se.destroy(),W.destroy(),te.destroy(),O.destroy(),P.destroy(),$.destroy(),document.removeEventListener("fullscreenchange",Mt),document.removeEventListener("webkitfullscreenchange",Mt),document.removeEventListener("visibilitychange",pn,!1),window.removeEventListener("message",cn,!1),window.removeEventListener("load",Ue,!1),d.pauseOverlay&&d.pauseOverlay.remove(),d.statusElement&&d.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),d.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),d.wrapper.removeAttribute("data-transition-speed"),d.wrapper.removeAttribute("data-background-transition"),d.viewport.classList.remove("reveal-viewport"),d.viewport.style.removeProperty("--slide-width"),d.viewport.style.removeProperty("--slide-height"),d.slides.style.removeProperty("width"),d.slides.style.removeProperty("height"),d.slides.style.removeProperty("zoom"),d.slides.style.removeProperty("left"),d.slides.style.removeProperty("top"),d.slides.style.removeProperty("bottom"),d.slides.style.removeProperty("right"),d.slides.style.removeProperty("transform"),Array.from(d.wrapper.querySelectorAll(Pe)).forEach(m=>{m.style.removeProperty("display"),m.style.removeProperty("top"),m.removeAttribute("hidden"),m.removeAttribute("aria-hidden")}))}function _s(m,f,k){e.addEventListener(m,f,k)}function qs(m,f,k){e.removeEventListener(m,f,k)}function gi(m){typeof m.layout=="string"&&(p.layout=m.layout),typeof m.overview=="string"&&(p.overview=m.overview),p.layout?Ee(d.slides,p.layout+" "+p.overview):Ee(d.slides,p.overview)}function oe({target:m=d.wrapper,type:f,data:k,bubbles:w=!0}){let E=document.createEvent("HTMLEvents",1,2);return E.initEvent(f,w,!0),_e(E,k),m.dispatchEvent(E),m===d.wrapper&&Os(f),E}function js(m){oe({type:"slidechanged",data:{indexh:l,indexv:a,previousSlide:c,currentSlide:o,origin:m}})}function Os(m,f){if(s.postMessageEvents&&window.parent!==window.self){let k={namespace:"reveal",eventName:m,state:ln()};_e(k,f),window.parent.postMessage(JSON.stringify(k),"*")}}function Ue(){if(d.wrapper&&!J.isActive()){let m=d.viewport.offsetWidth,f=d.viewport.offsetHeight;if(!s.disableLayout){Le&&!s.embedded&&document.documentElement.style.setProperty("--vh",window.innerHeight*.01+"px");let k=M.isActive()?Rt(m,f):Rt(),w=g;Fs(s.width,s.height),d.slides.style.width=k.width+"px",d.slides.style.height=k.height+"px",g=Math.min(k.presentationWidth/k.width,k.presentationHeight/k.height),g=Math.max(g,s.minScale),g=Math.min(g,s.maxScale),g===1||M.isActive()?(d.slides.style.zoom="",d.slides.style.left="",d.slides.style.top="",d.slides.style.bottom="",d.slides.style.right="",gi({layout:""})):(d.slides.style.zoom="",d.slides.style.left="50%",d.slides.style.top="50%",d.slides.style.bottom="auto",d.slides.style.right="auto",gi({layout:"translate(-50%, -50%) scale("+g+")"}));let E=Array.from(d.wrapper.querySelectorAll(Pe));for(let U=0,Y=E.length;U<Y;U++){let G=E[U];G.style.display!=="none"&&(s.center||G.classList.contains("center")?G.classList.contains("stack")?G.style.top=0:G.style.top=Math.max((k.height-G.scrollHeight)/2,0)+"px":G.style.top="")}w!==g&&oe({type:"resize",data:{oldScale:w,scale:g,size:k}})}pl(),d.viewport.style.setProperty("--slide-scale",g),d.viewport.style.setProperty("--viewport-width",m+"px"),d.viewport.style.setProperty("--viewport-height",f+"px"),M.layout(),te.update(),O.updateParallax(),v.isActive()&&v.update()}}function Fs(m,f){C(d.slides,"section > .stretch, section > .r-stretch").forEach(k=>{let w=Cn(k,f);if(/(img|video)/gi.test(k.nodeName)){let E=k.naturalWidth||k.videoWidth,U=k.naturalHeight||k.videoHeight,Y=Math.min(m/E,w/U);k.style.width=E*Y+"px",k.style.height=U*Y+"px"}else k.style.width=m+"px",k.style.height=w+"px"})}function pl(){if(d.wrapper&&!s.disableLayout&&!J.isActive()&&typeof s.scrollActivationWidth=="number"&&s.view!=="scroll"){let m=Rt();m.presentationWidth>0&&m.presentationWidth<=s.scrollActivationWidth?M.isActive()||(O.create(),M.activate()):M.isActive()&&M.deactivate()}}function Rt(m,f){let k=s.width,w=s.height;s.disableLayout&&(k=d.slides.offsetWidth,w=d.slides.offsetHeight);let E={width:k,height:w,presentationWidth:m||d.wrapper.offsetWidth,presentationHeight:f||d.wrapper.offsetHeight};return E.presentationWidth-=E.presentationWidth*s.margin,E.presentationHeight-=E.presentationHeight*s.margin,typeof E.width=="string"&&/%$/.test(E.width)&&(E.width=parseInt(E.width,10)/100*E.presentationWidth),typeof E.height=="string"&&/%$/.test(E.height)&&(E.height=parseInt(E.height,10)/100*E.presentationHeight),E}function Vs(m,f){typeof m=="object"&&typeof m.setAttribute=="function"&&m.setAttribute("data-previous-indexv",f||0)}function Us(m){if(typeof m=="object"&&typeof m.setAttribute=="function"&&m.classList.contains("stack")){let f=m.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(m.getAttribute(f)||0,10)}return 0}function nt(m=o){return m&&m.parentNode&&!!m.parentNode.nodeName.match(/section/i)}function gl(m=o){return m.classList.contains(".stack")||m.querySelector("section")!==null}function Ws(){return o&&nt(o)?!o.nextElementSibling:!1}function Ks(){return l===0&&a===0}function mi(){return o?!(o.nextElementSibling||nt(o)&&o.parentNode.nextElementSibling):!1}function Zs(){if(s.pause){let m=d.wrapper.classList.contains("paused");Tt(),d.wrapper.classList.add("paused"),m===!1&&oe({type:"paused"})}}function rt(){let m=d.wrapper.classList.contains("paused");d.wrapper.classList.remove("paused"),We(),m&&oe({type:"resumed"})}function Qs(m){typeof m=="boolean"?m?Zs():rt():at()?rt():Zs()}function at(){return d.wrapper.classList.contains("paused")}function ml(m){typeof m=="boolean"?m?$.show():$.hide():$.isVisible()?$.hide():$.show()}function fl(m){typeof m=="boolean"?m?Lt():Ct():A?Lt():Ct()}function vl(){return!!(y&&!A)}function ve(m,f,k,w){if(oe({type:"beforeslidechange",data:{indexh:m===void 0?l:m,indexv:f===void 0?a:f,origin:w}}).defaultPrevented)return;c=o;let E=d.wrapper.querySelectorAll(we);if(M.isActive()){let ne=M.getSlideByIndices(m,f);ne&&M.scrollToSlide(ne);return}if(E.length===0)return;f===void 0&&!v.isActive()&&(f=Us(E[m])),c&&c.parentNode&&c.parentNode.classList.contains("stack")&&Vs(c.parentNode,a);let U=h.concat();h.length=0;let Y=l||0,G=a||0;l=At(we,m===void 0?l:m),a=At(qt,f===void 0?a:f);let Se=l!==Y||a!==G;Se||(c=null);let Te=E[l],ge=Te.querySelectorAll("section");e.classList.toggle("is-vertical-slide",ge.length>1),o=ge[a]||Te;let X=!1;Se&&c&&o&&!v.isActive()&&(b="running",X=fi(c,o,Y,G),X&&d.slides.classList.add("disable-slide-transitions")),bi(),Ue(),v.isActive()&&v.update(),k!==void 0&&B.goto(k),c&&c!==o&&(c.classList.remove("present"),c.setAttribute("aria-hidden","true"),Ks()&&setTimeout(()=>{xl().forEach(ne=>{Vs(ne,0)})},0));e:for(let ne=0,Cl=h.length;ne<Cl;ne++){for(let Nt=0;Nt<U.length;Nt++)if(U[Nt]===h[ne]){U.splice(Nt,1);continue e}d.viewport.classList.add(h[ne]),oe({type:h[ne]})}for(;U.length;)d.viewport.classList.remove(U.pop());Se&&(S.afterSlideChanged(),js(w)),(Se||!c)&&(S.stopEmbeddedContent(c),S.startEmbeddedContent(o)),requestAnimationFrame(()=>{Fe(He(o))}),te.update(),W.update(),le.update(),O.update(),O.updateParallax(),P.update(),B.update(),N.writeURL(),We(),X&&(setTimeout(()=>{d.slides.classList.remove("disable-slide-transitions")},0),s.autoAnimate&&_.run(c,o))}function fi(m,f,k,w){return m.hasAttribute("data-auto-animate")&&f.hasAttribute("data-auto-animate")&&m.getAttribute("data-auto-animate-id")===f.getAttribute("data-auto-animate-id")&&!(l>k||a>w?f:m).hasAttribute("data-auto-animate-restart")}function bl(m,f,k){let w=l||0;l=f,a=k;let E=o!==m;c=o,o=m,o&&c&&s.autoAnimate&&fi(c,o,w,a)&&_.run(c,o),E&&(S.afterSlideChanged(),c&&(S.stopEmbeddedContent(c),S.stopEmbeddedContent(c.slideBackgroundElement)),S.startEmbeddedContent(o),S.startEmbeddedContent(o.slideBackgroundElement)),requestAnimationFrame(()=>{Fe(He(o))}),js()}function Xs(){Et(),Hs(),Ue(),y=s.autoSlide,We(),O.create(),N.writeURL(),s.sortFragmentsOnSync===!0&&B.sortAll(),l!==void 0&&(l=At(we,l),a=At(qt,a)),W.update(),te.update(),bi(),le.update(),le.updateVisibility(),Z.update(),O.update(!0),P.update(),S.formatEmbeddedContent(),s.autoPlayMedia===!1?S.stopEmbeddedContent(o,{unloadIframes:!1}):S.startEmbeddedContent(o),v.isActive()&&v.layout(),oe({type:"sync"})}function kl(m=o){O.sync(m),B.sync(m),S.load(m),O.update(),le.update(),oe({type:"slidesync",data:{slide:m}})}function yl(){Ae().forEach(m=>{C(m,"section").forEach((f,k)=>{k>0&&(f.classList.remove("present"),f.classList.remove("past"),f.classList.add("future"),f.setAttribute("aria-hidden","true"))})})}function vi(m=Ae()){m.forEach((f,k)=>{let w=m[Math.floor(Math.random()*m.length)];w.parentNode===f.parentNode&&f.parentNode.insertBefore(f,w);let E=f.querySelectorAll("section");E.length&&vi(E)})}function At(m,f){let k=C(d.wrapper,m),w=k.length,E=M.isActive()||J.isActive(),U=!1,Y=!1;if(w){s.loop&&(f>=w&&(U=!0),f%=w,f<0&&(f=w+f,Y=!0)),f=Math.max(Math.min(f,w-1),0);for(let ge=0;ge<w;ge++){let X=k[ge],ne=s.rtl&&!nt(X);if(X.classList.remove("past"),X.classList.remove("present"),X.classList.remove("future"),X.setAttribute("hidden",""),X.setAttribute("aria-hidden","true"),X.querySelector("section")&&X.classList.add("stack"),E){X.classList.add("present");continue}ge<f?(X.classList.add(ne?"future":"past"),s.fragments&&Ys(X)):ge>f?(X.classList.add(ne?"past":"future"),s.fragments&&Js(X)):ge===f&&s.fragments&&(U?Js(X):Y&&Ys(X))}let G=k[f],Se=G.classList.contains("present");G.classList.add("present"),G.removeAttribute("hidden"),G.removeAttribute("aria-hidden"),Se||oe({target:G,type:"visible",bubbles:!1});let Te=G.getAttribute("data-state");Te&&(h=h.concat(Te.split(" ")))}else f=0;return f}function Ys(m){C(m,".fragment").forEach(f=>{f.classList.add("visible"),f.classList.remove("current-fragment")})}function Js(m){C(m,".fragment.visible").forEach(f=>{f.classList.remove("visible","current-fragment")})}function bi(){let m=Ae(),f=m.length,k,w;if(f&&l!==void 0){let E=v.isActive(),U=E?10:s.viewDistance;Le&&(U=E?6:s.mobileViewDistance),J.isActive()&&(U=Number.MAX_VALUE);for(let Y=0;Y<f;Y++){let G=m[Y],Se=C(G,"section"),Te=Se.length;if(k=Math.abs((l||0)-Y)||0,s.loop&&(k=Math.abs(((l||0)-Y)%(f-U))||0),k<U?S.load(G):S.unload(G),Te){let ge=E?0:Us(G);for(let X=0;X<Te;X++){let ne=Se[X];w=Math.abs(Y===(l||0)?(a||0)-X:X-ge),k+w<U?S.load(ne):S.unload(ne)}}}nn()?d.wrapper.classList.add("has-vertical-slides"):d.wrapper.classList.remove("has-vertical-slides"),sn()?d.wrapper.classList.add("has-horizontal-slides"):d.wrapper.classList.remove("has-horizontal-slides")}}function xe({includeFragments:m=!1}={}){let f=d.wrapper.querySelectorAll(we),k=d.wrapper.querySelectorAll(qt),w={left:l>0,right:l<f.length-1,up:a>0,down:a<k.length-1};if(s.loop&&(f.length>1&&(w.left=!0,w.right=!0),k.length>1&&(w.up=!0,w.down=!0)),f.length>1&&s.navigationMode==="linear"&&(w.right=w.right||w.down,w.left=w.left||w.up),m===!0){let E=B.availableRoutes();w.left=w.left||E.prev,w.up=w.up||E.prev,w.down=w.down||E.next,w.right=w.right||E.next}if(s.rtl){let E=w.left;w.left=w.right,w.right=E}return w}function Gs(m=o){let f=Ae(),k=0;e:for(let w=0;w<f.length;w++){let E=f[w],U=E.querySelectorAll("section");for(let Y=0;Y<U.length;Y++){if(U[Y]===m)break e;U[Y].dataset.visibility!=="uncounted"&&k++}if(E===m)break;E.classList.contains("stack")===!1&&E.dataset.visibility!=="uncounted"&&k++}return k}function wl(){let m=rn(),f=Gs();if(o){let k=o.querySelectorAll(".fragment");if(k.length>0){let w=o.querySelectorAll(".fragment.visible");f+=w.length/k.length*.9}}return Math.min(f/(m-1),1)}function en(m){let f=l,k=a,w;if(m)if(M.isActive())f=parseInt(m.getAttribute("data-index-h"),10),m.getAttribute("data-index-v")&&(k=parseInt(m.getAttribute("data-index-v"),10));else{let E=nt(m),U=E?m.parentNode:m,Y=Ae();f=Math.max(Y.indexOf(U),0),k=void 0,E&&(k=Math.max(C(m.parentNode,"section").indexOf(m),0))}if(!m&&o&&o.querySelectorAll(".fragment").length>0){let E=o.querySelector(".current-fragment");w=E&&E.hasAttribute("data-fragment-index")?parseInt(E.getAttribute("data-fragment-index"),10):o.querySelectorAll(".fragment.visible").length-1}return{h:f,v:k,f:w}}function ki(){return C(d.wrapper,Pe+':not(.stack):not([data-visibility="uncounted"])')}function Ae(){return C(d.wrapper,we)}function tn(){return C(d.wrapper,".slides>section>section")}function xl(){return C(d.wrapper,we+".stack")}function sn(){return Ae().length>1}function nn(){return tn().length>1}function Sl(){return ki().map(m=>{let f={};for(let k=0;k<m.attributes.length;k++){let w=m.attributes[k];f[w.name]=w.value}return f})}function rn(){return ki().length}function an(m,f){let k=Ae()[m],w=k&&k.querySelectorAll("section");return w&&w.length&&typeof f=="number"?w?w[f]:void 0:k}function El(m,f){let k=typeof m=="number"?an(m,f):m;if(k)return k.slideBackgroundElement}function ln(){let m=en();return ye({indexh:m.h,indexv:m.v,indexf:m.f,paused:at(),overview:v.isActive()},Z.getState())}function Rl(m){if(typeof m=="object"){ve(qe(m.indexh),qe(m.indexv),qe(m.indexf));let f=qe(m.paused),k=qe(m.overview);typeof f=="boolean"&&f!==at()&&Qs(f),typeof k=="boolean"&&k!==v.isActive()&&v.toggle(k),Z.setState(m)}}function We(){if(Tt(),o&&s.autoSlide!==!1){let m=o.querySelector(".current-fragment[data-autoslide]"),f=m?m.getAttribute("data-autoslide"):null,k=o.parentNode?o.parentNode.getAttribute("data-autoslide"):null,w=o.getAttribute("data-autoslide");f?y=parseInt(f,10):w?y=parseInt(w,10):k?y=parseInt(k,10):(y=s.autoSlide,o.querySelectorAll(".fragment").length===0&&C(o,"video, audio").forEach(E=>{E.hasAttribute("data-autoplay")&&y&&E.duration*1e3/E.playbackRate>y&&(y=E.duration*1e3/E.playbackRate+1e3)})),y&&!A&&!at()&&!v.isActive()&&(!mi()||B.availableRoutes().next||s.loop===!0)&&(D=setTimeout(()=>{typeof s.autoSlideMethod=="function"?s.autoSlideMethod():xi(),We()},y),L=Date.now()),z&&z.setPlaying(D!==-1)}}function Tt(){clearTimeout(D),D=-1}function Ct(){y&&!A&&(A=!0,oe({type:"autoslidepaused"}),clearTimeout(D),z&&z.setPlaying(!1))}function Lt(){y&&A&&(A=!1,oe({type:"autoslideresumed"}),We())}function Pt({skipFragments:m=!1}={}){if(u.hasNavigatedHorizontally=!0,M.isActive())return M.prev();s.rtl?(v.isActive()||m||B.next()===!1)&&xe().left&&ve(l+1,s.navigationMode==="grid"?a:void 0):(v.isActive()||m||B.prev()===!1)&&xe().left&&ve(l-1,s.navigationMode==="grid"?a:void 0)}function It({skipFragments:m=!1}={}){if(u.hasNavigatedHorizontally=!0,M.isActive())return M.next();s.rtl?(v.isActive()||m||B.prev()===!1)&&xe().right&&ve(l-1,s.navigationMode==="grid"?a:void 0):(v.isActive()||m||B.next()===!1)&&xe().right&&ve(l+1,s.navigationMode==="grid"?a:void 0)}function yi({skipFragments:m=!1}={}){if(M.isActive())return M.prev();(v.isActive()||m||B.prev()===!1)&&xe().up&&ve(l,a-1)}function wi({skipFragments:m=!1}={}){if(u.hasNavigatedVertically=!0,M.isActive())return M.next();(v.isActive()||m||B.next()===!1)&&xe().down&&ve(l,a+1)}function on({skipFragments:m=!1}={}){if(M.isActive())return M.prev();if(m||B.prev()===!1)if(xe().up)yi({skipFragments:m});else{let f;if(f=s.rtl?C(d.wrapper,we+".future").pop():C(d.wrapper,we+".past").pop(),f&&f.classList.contains("stack")){let k=f.querySelectorAll("section").length-1||void 0;ve(l-1,k)}else s.rtl?It({skipFragments:m}):Pt({skipFragments:m})}}function xi({skipFragments:m=!1}={}){if(u.hasNavigatedHorizontally=!0,u.hasNavigatedVertically=!0,M.isActive())return M.next();if(m||B.next()===!1){let f=xe();f.down&&f.right&&s.loop&&Ws()&&(f.down=!1),f.down?wi({skipFragments:m}):s.rtl?Pt({skipFragments:m}):It({skipFragments:m})}}function Al(m){s.autoSlideStoppable&&Ct()}function cn(m){let f=m.data;if(typeof f=="string"&&f.charAt(0)==="{"&&f.charAt(f.length-1)==="}"&&(f=JSON.parse(f),f.method&&typeof i[f.method]=="function"))if($n.test(f.method)===!1){let k=i[f.method].apply(i,f.args);Os("callback",{method:f.method,result:k})}else console.warn('reveal.js: "'+f.method+'" is is blacklisted from the postMessage API')}function dn(m){b==="running"&&/section/gi.test(m.target.nodeName)&&(b="idle",oe({type:"slidetransitionend",data:{indexh:l,indexv:a,previousSlide:c,currentSlide:o}}))}function un(m){let f=ee(m.target,'a[href^="#"]');if(f){let k=f.getAttribute("href"),w=N.getIndicesFromHash(k);w&&(i.slide(w.h,w.v,w.f),m.preventDefault())}}function hn(m){Ue()}function pn(m){document.hidden===!1&&document.activeElement!==document.body&&(typeof document.activeElement.blur=="function"&&document.activeElement.blur(),document.body.focus())}function Mt(m){(document.fullscreenElement||document.webkitFullscreenElement)===d.wrapper&&(m.stopImmediatePropagation(),setTimeout(()=>{i.layout(),i.focus.focus()},1))}function Tl(m){mi()&&s.loop===!1?(ve(0,0),Lt()):A?Lt():Ct()}let gn={VERSION:Vi,initialize:di,configure:Ve,destroy:hl,sync:Xs,syncSlide:kl,syncFragments:B.sync.bind(B),slide:ve,left:Pt,right:It,up:yi,down:wi,prev:on,next:xi,navigateLeft:Pt,navigateRight:It,navigateUp:yi,navigateDown:wi,navigatePrev:on,navigateNext:xi,navigateFragment:B.goto.bind(B),prevFragment:B.prev.bind(B),nextFragment:B.next.bind(B),on:_s,off:qs,addEventListener:_s,removeEventListener:qs,layout:Ue,shuffle:vi,availableRoutes:xe,availableFragments:B.availableRoutes.bind(B),toggleHelp:Z.toggleHelp.bind(Z),toggleOverview:v.toggle.bind(v),toggleScrollView:M.toggle.bind(M),togglePause:Qs,toggleAutoSlide:fl,toggleJumpToSlide:ml,isFirstSlide:Ks,isLastSlide:mi,isLastVerticalSlide:Ws,isVerticalSlide:nt,isVerticalStack:gl,isPaused:at,isAutoSliding:vl,isSpeakerNotes:le.isSpeakerNotesWindow.bind(le),isOverview:v.isActive.bind(v),isFocused:pe.isFocused.bind(pe),isOverlayOpen:Z.isOpen.bind(Z),isScrollView:M.isActive.bind(M),isPrintView:J.isActive.bind(J),isReady:()=>r,loadSlide:S.load.bind(S),unloadSlide:S.unload.bind(S),startEmbeddedContent:()=>S.startEmbeddedContent(o),stopEmbeddedContent:()=>S.stopEmbeddedContent(o,{unloadIframes:!1}),previewIframe:Z.previewIframe.bind(Z),previewImage:Z.previewImage.bind(Z),previewVideo:Z.previewVideo.bind(Z),showPreview:Z.previewIframe.bind(Z),hidePreview:Z.close.bind(Z),addEventListeners:Hs,removeEventListeners:Et,dispatchEvent:oe,getState:ln,setState:Rl,getProgress:wl,getIndices:en,getSlidesAttributes:Sl,getSlidePastCount:Gs,getTotalSlides:rn,getSlide:an,getPreviousSlide:()=>c,getCurrentSlide:()=>o,getSlideBackground:El,getSlideNotes:le.getSlideNotes.bind(le),getSlides:ki,getHorizontalSlides:Ae,getVerticalSlides:tn,hasHorizontalSlides:sn,hasVerticalSlides:nn,hasNavigatedHorizontally:()=>u.hasNavigatedHorizontally,hasNavigatedVertically:()=>u.hasNavigatedVertically,shouldAutoAnimateBetween:fi,addKeyBinding:R.addKeyBinding.bind(R),removeKeyBinding:R.removeKeyBinding.bind(R),triggerKey:R.triggerKey.bind(R),registerKeyboardShortcut:R.registerKeyboardShortcut.bind(R),getComputedSlideSize:Rt,setCurrentScrollPage:bl,removeHiddenSlides:Oe,getScale:()=>g,getConfig:()=>s,getQueryHash:Di,getSlidePath:N.getHash.bind(N),getRevealElement:()=>e,getSlidesElement:()=>d.slides,getViewportElement:()=>d.viewport,getBackgroundsElement:()=>O.element,registerPlugin:K.registerPlugin.bind(K),hasPlugin:K.hasPlugin.bind(K),getPlugin:K.getPlugin.bind(K),getPlugins:K.getRegisteredPlugins.bind(K)};return _e(i,zi(ye({},gn),{announceStatus:Fe,getStatusText:He,focus:pe,scroll:M,progress:te,controls:W,location:N,overview:v,keyboard:R,fragments:B,backgrounds:O,slideContent:S,slideNumber:P,onUserInput:Al,closeOverlay:Z.close.bind(Z),updateSlidesVisibility:bi,layoutSlideContents:Fs,transformSlides:gi,cueAutoSlide:We,cancelAutoSlide:Tt})),gn}var Re=Ui,Wi=[];Re.initialize=e=>{let t=document.querySelector(".reveal");if(!(t instanceof HTMLElement))throw Error('Unable to find presentation root (<div class="reveal">).');return Object.assign(Re,new Ui(t,e)),Wi.map(i=>i(Re)),Re.initialize()},["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach(e=>{Re[e]=(...t)=>{Wi.push(i=>i[e].call(null,...t))}}),Re.isReady=()=>!1,Re.VERSION=Vi;var x=mn(Vl(),1),Ki=(0,T.createContext)(null),cr=[];function dr(e,t){if(e===t)return!1;if(!e||!t)return e!==t;let i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!0;for(let n of i)if(!(n in t)||e[n]!==t[n])return!0;return!1}function Zi(e,t){e&&(typeof e=="function"?e(t):e.current=t)}function ur(e){return e.tagName==="SECTION"}function Qi(e,t,i){return Array.from(e.children).filter(ur).map(s=>{let n=t.get(s);n===void 0&&(n=i.current++,t.set(s,n));let r=Qi(s,t,i);return r.length>0?[n,r]:n})}function hr(e,t,i){return e?JSON.stringify(Qi(e,t,i)):"[]"}function pr({config:e,plugins:t=cr,onReady:i,onSync:s,onSlideSync:n,onSlideChange:r,onSlideTransitionEnd:l,onFragmentShown:a,onFragmentHidden:c,onOverviewShown:o,onOverviewHidden:u,onPaused:h,onResumed:g,deckRef:p,className:d,style:b,children:y}){let z=(0,T.useRef)(null),D=(0,T.useRef)(null),L=(0,T.useRef)(null),[A,S]=(0,T.useState)(null),P=(0,T.useRef)(t),$=(0,T.useRef)(!1),_=(0,T.useRef)(e),O=(0,T.useRef)(null),M=(0,T.useRef)(new WeakMap),J=(0,T.useRef)(1),B=(0,T.useRef)(!1),v=(0,T.useRef)(0);return(0,T.useEffect)(()=>{if(B.current=!0,v.current+=1,L.current)L.current.isReady()&&S(L.current);else{let R=new Re(z.current,{...e,plugins:P.current});_.current=e,L.current=R,R.initialize().then(()=>{!B.current||L.current!==R||(S(R),i==null||i(R))})}return()=>{B.current=!1;let R=L.current;if(!R)return;let N=++v.current;Promise.resolve().then(()=>{if(!(B.current||v.current!==N)&&L.current===R){try{R.destroy()}catch{}L.current===R&&(L.current=null)}})}},[]),(0,T.useEffect)(()=>(Zi(p,A),()=>Zi(p,null)),[p,A]),(0,T.useEffect)(()=>{if(!A)return;let R=[["sync",s],["slidesync",n],["slidechanged",r],["slidetransitionend",l],["fragmentshown",a],["fragmenthidden",c],["overviewshown",o],["overviewhidden",u],["paused",h],["resumed",g]].filter(N=>N[1]!=null);for(let[N,W]of R)A.on(N,W);return()=>{for(let[N,W]of R)A.off(N,W)}},[A,s,n,r,l,a,c,o,u,h,g]),(0,T.useLayoutEffect)(()=>{var R;!A||!((R=L.current)!=null&&R.isReady())||dr(_.current,e)&&($.current=!0,L.current.configure(e??{}),_.current=e)},[A,e]),(0,T.useLayoutEffect)(()=>{var W;let R=$.current;$.current=!1;let N=hr(D.current,M.current,J);if(R){O.current=N;return}(W=L.current)!=null&&W.isReady()&&O.current!==N&&(L.current.sync(),O.current=N)}),(0,x.jsx)(Ki.Provider,{value:A,children:(0,x.jsx)("div",{className:d?`reveal ${d}`:"reveal",style:b,ref:z,children:(0,x.jsx)("div",{className:"slides",ref:D,children:y})})})}var gr={background:"data-background",backgroundImage:"data-background-image",backgroundVideo:"data-background-video",backgroundVideoLoop:"data-background-video-loop",backgroundVideoMuted:"data-background-video-muted",backgroundIframe:"data-background-iframe",backgroundColor:"data-background-color",backgroundGradient:"data-background-gradient",backgroundSize:"data-background-size",backgroundPosition:"data-background-position",backgroundRepeat:"data-background-repeat",backgroundOpacity:"data-background-opacity",backgroundTransition:"data-background-transition",visibility:"data-visibility",autoAnimate:"data-auto-animate",autoAnimateId:"data-auto-animate-id",autoAnimateRestart:"data-auto-animate-restart",autoAnimateUnmatched:"data-auto-animate-unmatched",autoAnimateEasing:"data-auto-animate-easing",autoAnimateDuration:"data-auto-animate-duration",autoAnimateDelay:"data-auto-animate-delay",transition:"data-transition",transitionSpeed:"data-transition-speed",autoSlide:"data-autoslide",notes:"data-notes",backgroundInteractive:"data-background-interactive",preload:"data-preload"};function mr(e){return JSON.stringify(Object.entries(e).filter(([t])=>t.startsWith("data-")).sort(([t],[i])=>t.localeCompare(i)))}function fr(e,t){let i={...e},s=i;for(let[n,r]of Object.entries(gr)){if(s[r]!==void 0)continue;let l=t[n];if(l!==void 0){if(l===!1){n==="autoAnimateUnmatched"&&(s[r]="false");continue}s[r]=typeof l=="boolean"?"":l}}return i}function vr({children:e,background:t,backgroundImage:i,backgroundVideo:s,backgroundVideoLoop:n,backgroundVideoMuted:r,backgroundIframe:l,backgroundColor:a,backgroundGradient:c,backgroundSize:o,backgroundPosition:u,backgroundRepeat:h,backgroundOpacity:g,backgroundTransition:p,visibility:d,autoAnimate:b,autoAnimateId:y,autoAnimateRestart:z,autoAnimateUnmatched:D,autoAnimateEasing:L,autoAnimateDuration:A,autoAnimateDelay:S,transition:P,transitionSpeed:$,autoSlide:_,notes:O,backgroundInteractive:M,preload:J,...B}){let v=(0,T.useContext)(Ki),R=(0,T.useRef)(null),N=(0,T.useRef)(null),W=(0,T.useRef)(null),te=fr(B,{background:t,backgroundImage:i,backgroundVideo:s,backgroundVideoLoop:n,backgroundVideoMuted:r,backgroundIframe:l,backgroundColor:a,backgroundGradient:c,backgroundSize:o,backgroundPosition:u,backgroundRepeat:h,backgroundOpacity:g,backgroundTransition:p,visibility:d,autoAnimate:b,autoAnimateId:y,autoAnimateRestart:z,autoAnimateUnmatched:D,autoAnimateEasing:L,autoAnimateDuration:A,autoAnimateDelay:S,transition:P,transitionSpeed:$,autoSlide:_,notes:O,backgroundInteractive:M,preload:J}),se=mr(te);return(0,T.useLayoutEffect)(()=>{let K=R.current;if(!v||!K||typeof v.syncSlide!="function")return;if(N.current!==v){N.current=v,W.current=se;return}if(se==="[]")return;let Z=N.current===v,pe=W.current===se;Z&&pe||(v.syncSlide(K),N.current=v,W.current=se)},[v,se]),(0,x.jsx)("section",{ref:R,...te,children:e})}function br({className:e,style:t,children:i}){return(0,x.jsx)("section",{className:e,style:t,children:i})}function Vt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ie=Vt();function Xi(e){Ie=e}var Me={exec:()=>null};function q(e,t=""){let i=typeof e=="string"?e:e.source,s={replace:(n,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(re.caret,"$1"),i=i.replace(n,l),s},getRegex:()=>new RegExp(i,t)};return s}var kr=(()=>{try{return!0}catch{return!1}})(),re={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},yr=/^(?:[ \t]*(?:\n|$))+/,wr=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,xr=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ke=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Sr=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ut=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Yi=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Ji=q(Yi).replace(/bull/g,Ut).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(),Er=q(Yi).replace(/bull/g,Ut).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(),Wt=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Rr=/^[^\n]+/,Kt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ar=q(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Kt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Tr=q(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ut).getRegex(),ct="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",Zt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Cr=q("^ {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",Zt).replace("tag",ct).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Gi=q(Wt).replace("hr",Ke).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",ct).getRegex(),Qt={blockquote:q(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Gi).getRegex(),code:wr,def:Ar,fences:xr,heading:Sr,hr:Ke,html:Cr,lheading:Ji,list:Tr,newline:yr,paragraph:Gi,table:Me,text:Rr},es=q("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ke).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",ct).getRegex(),Lr={...Qt,lheading:Er,table:es,paragraph:q(Wt).replace("hr",Ke).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",es).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",ct).getRegex()},Pr={...Qt,html:q(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Zt).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(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Me,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:q(Wt).replace("hr",Ke).replace("heading",` *#{1,6} *[^
|
|
34
|
+
]`).replace("lheading",Ji).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ir=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Mr=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ts=/^( {2,}|\\)\n(?!\s*$)/,Nr=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,je=/[\p{P}\p{S}]/u,dt=/[\s\p{P}\p{S}]/u,Xt=/[^\s\p{P}\p{S}]/u,zr=q(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,dt).getRegex(),is=/(?!~)[\p{P}\p{S}]/u,$r=/(?!~)[\s\p{P}\p{S}]/u,Br=/(?:[^\s\p{P}\p{S}]|~)/u,Dr=q(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",kr?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ss=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Hr=q(ss,"u").replace(/punct/g,je).getRegex(),_r=q(ss,"u").replace(/punct/g,is).getRegex(),ns="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",qr=q(ns,"gu").replace(/notPunctSpace/g,Xt).replace(/punctSpace/g,dt).replace(/punct/g,je).getRegex(),jr=q(ns,"gu").replace(/notPunctSpace/g,Br).replace(/punctSpace/g,$r).replace(/punct/g,is).getRegex(),Or=q("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Xt).replace(/punctSpace/g,dt).replace(/punct/g,je).getRegex(),Fr=q(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,je).getRegex(),Vr=q("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,Xt).replace(/punctSpace/g,dt).replace(/punct/g,je).getRegex(),Ur=q(/\\(punct)/,"gu").replace(/punct/g,je).getRegex(),Wr=q(/^<(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(),Kr=q(Zt).replace("(?:-->|$)","-->").getRegex(),Zr=q("^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",Kr).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ut=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Qr=q(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ut).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),rs=q(/^!?\[(label)\]\[(ref)\]/).replace("label",ut).replace("ref",Kt).getRegex(),as=q(/^!?\[(ref)\](?:\[\])?/).replace("ref",Kt).getRegex(),Xr=q("reflink|nolink(?!\\()","g").replace("reflink",rs).replace("nolink",as).getRegex(),ls=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Yt={_backpedal:Me,anyPunctuation:Ur,autolink:Wr,blockSkip:Dr,br:ts,code:Mr,del:Me,delLDelim:Me,delRDelim:Me,emStrongLDelim:Hr,emStrongRDelimAst:qr,emStrongRDelimUnd:Or,escape:Ir,link:Qr,nolink:as,punctuation:zr,reflink:rs,reflinkSearch:Xr,tag:Zr,text:Nr,url:Me},Yr={...Yt,link:q(/^!?\[(label)\]\((.*?)\)/).replace("label",ut).getRegex(),reflink:q(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ut).getRegex()},Jt={...Yt,emStrongRDelimAst:jr,emStrongLDelim:_r,delLDelim:Fr,delRDelim:Vr,url:q(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ls).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:q(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ls).getRegex()},Jr={...Jt,br:q(ts).replace("{2,}","*").getRegex(),text:q(Jt.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ht={normal:Qt,gfm:Lr,pedantic:Pr},Ze={normal:Yt,gfm:Jt,breaks:Jr,pedantic:Yr},Gr={"&":"&","<":"<",">":">",'"':""","'":"'"},os=e=>Gr[e];function me(e,t){if(t){if(re.escapeTest.test(e))return e.replace(re.escapeReplace,os)}else if(re.escapeTestNoEncode.test(e))return e.replace(re.escapeReplaceNoEncode,os);return e}function cs(e){try{e=encodeURI(e).replace(re.percentDecode,"%")}catch{return null}return e}function ds(e,t){var n;let i=e.replace(re.findPipe,(r,l,a)=>{let c=!1,o=l;for(;--o>=0&&a[o]==="\\";)c=!c;return c?"|":" |"}).split(re.splitPipe),s=0;if(i[0].trim()||i.shift(),i.length>0&&!((n=i.at(-1))!=null&&n.trim())&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length<t;)i.push("");for(;s<i.length;s++)i[s]=i[s].trim().replace(re.slashPipe,"|");return i}function Qe(e,t,i){let s=e.length;if(s===0)return"";let n=0;for(;n<s;){let r=e.charAt(s-n-1);if(r===t&&!i)n++;else if(r!==t&&i)n++;else break}return e.slice(0,s-n)}function ea(e,t){if(e.indexOf(t[1])===-1)return-1;let i=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])i++;else if(e[s]===t[1]&&(i--,i<0))return s;return i>0?-2:-1}function ta(e,t=0){let i=t,s="";for(let n of e)if(n===" "){let r=4-i%4;s+=" ".repeat(r),i+=r}else s+=n,i++;return s}function us(e,t,i,s,n){let r=t.href,l=t.title||null,a=e[1].replace(n.other.outputLinkReplace,"$1");s.state.inLink=!0;let c={type:e[0].charAt(0)==="!"?"image":"link",raw:i,href:r,title:l,text:a,tokens:s.inlineTokens(a)};return s.state.inLink=!1,c}function ia(e,t,i){let s=e.match(i.other.indentCodeCompensation);if(s===null)return t;let n=s[1];return t.split(`
|
|
35
|
+
`).map(r=>{let l=r.match(i.other.beginningSpace);if(l===null)return r;let[a]=l;return a.length>=n.length?r.slice(n.length):r}).join(`
|
|
36
|
+
`)}var pt=class{constructor(e){I(this,"options");I(this,"rules");I(this,"lexer");this.options=e||Ie}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Qe(i,`
|
|
37
|
+
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],s=ia(i,t[3]||"",this.rules);return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(this.rules.other.endingHash.test(i)){let s=Qe(i,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(i=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Qe(t[0],`
|
|
38
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=Qe(t[0],`
|
|
39
|
+
`).split(`
|
|
40
|
+
`),s="",n="",r=[];for(;i.length>0;){let l=!1,a=[],c;for(c=0;c<i.length;c++)if(this.rules.other.blockquoteStart.test(i[c]))a.push(i[c]),l=!0;else if(!l)a.push(i[c]);else break;i=i.slice(c);let o=a.join(`
|
|
41
|
+
`),u=o.replace(this.rules.other.blockquoteSetextReplace,`
|
|
42
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");s=s?`${s}
|
|
43
|
+
${o}`:o,n=n?`${n}
|
|
44
|
+
${u}`:u;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,r,!0),this.lexer.state.top=h,i.length===0)break;let g=r.at(-1);if((g==null?void 0:g.type)==="code")break;if((g==null?void 0:g.type)==="blockquote"){let p=g,d=p.raw+`
|
|
45
|
+
`+i.join(`
|
|
46
|
+
`),b=this.blockquote(d);r[r.length-1]=b,s=s.substring(0,s.length-p.raw.length)+b.raw,n=n.substring(0,n.length-p.text.length)+b.text;break}else if((g==null?void 0:g.type)==="list"){let p=g,d=p.raw+`
|
|
47
|
+
`+i.join(`
|
|
48
|
+
`),b=this.list(d);r[r.length-1]=b,s=s.substring(0,s.length-g.raw.length)+b.raw,n=n.substring(0,n.length-p.raw.length)+b.raw,i=d.substring(r.at(-1).raw.length).split(`
|
|
49
|
+
`);continue}}return{type:"blockquote",raw:s,tokens:r,text:n}}}list(e){var i,s;let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,l={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let a=this.rules.other.listItemRegex(n),c=!1;for(;e;){let u=!1,h="",g="";if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let p=ta(t[2].split(`
|
|
50
|
+
`,1)[0],t[1].length),d=e.split(`
|
|
51
|
+
`,1)[0],b=!p.trim(),y=0;if(this.options.pedantic?(y=2,g=p.trimStart()):b?y=t[1].length+1:(y=p.search(this.rules.other.nonSpaceChar),y=y>4?1:y,g=p.slice(y),y+=t[1].length),b&&this.rules.other.blankLine.test(d)&&(h+=d+`
|
|
52
|
+
`,e=e.substring(d.length+1),u=!0),!u){let z=this.rules.other.nextBulletRegex(y),D=this.rules.other.hrRegex(y),L=this.rules.other.fencesBeginRegex(y),A=this.rules.other.headingBeginRegex(y),S=this.rules.other.htmlBeginRegex(y),P=this.rules.other.blockquoteBeginRegex(y);for(;e;){let $=e.split(`
|
|
53
|
+
`,1)[0],_;if(d=$,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),_=d):_=d.replace(this.rules.other.tabCharGlobal," "),L.test(d)||A.test(d)||S.test(d)||P.test(d)||z.test(d)||D.test(d))break;if(_.search(this.rules.other.nonSpaceChar)>=y||!d.trim())g+=`
|
|
54
|
+
`+_.slice(y);else{if(b||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||L.test(p)||A.test(p)||D.test(p))break;g+=`
|
|
55
|
+
`+d}b=!d.trim(),h+=$+`
|
|
56
|
+
`,e=e.substring($.length+1),p=_.slice(y)}}l.loose||(c?l.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(c=!0)),l.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),l.raw+=h}let o=l.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;l.raw=l.raw.trimEnd();for(let u of l.items){if(this.lexer.state.top=!1,u.tokens=this.lexer.blockTokens(u.text,[]),u.task){if(u.text=u.text.replace(this.rules.other.listReplaceTask,""),((i=u.tokens[0])==null?void 0:i.type)==="text"||((s=u.tokens[0])==null?void 0:s.type)==="paragraph"){u.tokens[0].raw=u.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),u.tokens[0].text=u.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(u.raw);if(h){let g={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};u.checked=g.checked,l.loose?u.tokens[0]&&["paragraph","text"].includes(u.tokens[0].type)&&"tokens"in u.tokens[0]&&u.tokens[0].tokens?(u.tokens[0].raw=g.raw+u.tokens[0].raw,u.tokens[0].text=g.raw+u.tokens[0].text,u.tokens[0].tokens.unshift(g)):u.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):u.tokens.unshift(g)}}if(!l.loose){let h=u.tokens.filter(g=>g.type==="space");l.loose=h.length>0&&h.some(g=>this.rules.other.anyLine.test(g.raw))}}if(l.loose)for(let u of l.items){u.loose=!0;for(let h of u.tokens)h.type==="text"&&(h.type="paragraph")}return l}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let i=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:s,title:n}}}table(e){var l;let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let i=ds(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(l=t[3])!=null&&l.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
57
|
+
`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===s.length){for(let a of s)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<i.length;a++)r.header.push({text:i[a],tokens:this.lexer.inline(i[a]),header:!0,align:r.align[a]});for(let a of n)r.rows.push(ds(a,r.header.length).map((c,o)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[o]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let i=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:i,tokens:this.lexer.inline(i)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===`
|
|
58
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(i)){if(!this.rules.other.endAngleBracket.test(i))return;let r=Qe(i.slice(0,-1),"\\");if((i.length-r.length)%2==0)return}else{let r=ea(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let s=t[2],n="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],n=r[3])}else n=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(s=this.options.pedantic&&!this.rules.other.endAngleBracket.test(i)?s.slice(1):s.slice(1,-1)),us(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let s=t[(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!s){let n=i[0].charAt(0);return{type:"text",raw:n,text:n}}return us(i,s,i[0],this.lexer,this.rules)}}emStrong(e,t,i=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&i.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!i||this.rules.inline.punctuation.exec(i))){let n=[...s[0]].length-1,r,l,a=n,c=0,o=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);(s=o.exec(t))!=null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(l=[...r].length,s[3]||s[4]){a+=l;continue}else if((s[5]||s[6])&&n%3&&!((n+l)%3)){c+=l;continue}if(a-=l,a>0)continue;l=Math.min(l,l+a+c);let u=[...s[0]][0].length,h=e.slice(0,n+s.index+u+l);if(Math.min(n,l)%2){let p=h.slice(1,-1);return{type:"em",raw:h,text:p,tokens:this.lexer.inlineTokens(p)}}let g=h.slice(2,-2);return{type:"strong",raw:h,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(i),n=this.rules.other.startingSpaceChar.test(i)&&this.rules.other.endingSpaceChar.test(i);return s&&n&&(i=i.substring(1,i.length-1)),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,i=""){let s=this.rules.inline.delLDelim.exec(e);if(s&&(!s[1]||!i||this.rules.inline.punctuation.exec(i))){let n=[...s[0]].length-1,r,l,a=n,c=this.rules.inline.delRDelim;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(s=c.exec(t))!=null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r||(l=[...r].length,l!==n))continue;if(s[3]||s[4]){a+=l;continue}if(a-=l,a>0)continue;l=Math.min(l,l+a);let o=[...s[0]][0].length,u=e.slice(0,n+s.index+o+l),h=u.slice(n,-n);return{type:"del",raw:u,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,s;return t[2]==="@"?(i=t[1],s="mailto:"+i):(i=t[1],s=i),{type:"link",raw:t[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}url(e){var i;let t;if(t=this.rules.inline.url.exec(e)){let s,n;if(t[2]==="@")s=t[0],n="mailto:"+s;else{let r;do r=t[0],t[0]=((i=this.rules.inline._backpedal.exec(t[0]))==null?void 0:i[0])??"";while(r!==t[0]);s=t[0],n=t[1]==="www."?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:i}}}},ce=class Li{constructor(t){I(this,"tokens");I(this,"options");I(this,"state");I(this,"inlineQueue");I(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Ie,this.options.tokenizer=this.options.tokenizer||new pt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let i={other:re,block:ht.normal,inline:Ze.normal};this.options.pedantic?(i.block=ht.pedantic,i.inline=Ze.pedantic):this.options.gfm&&(i.block=ht.gfm,this.options.breaks?i.inline=Ze.breaks:i.inline=Ze.gfm),this.tokenizer.rules=i}static get rules(){return{block:ht,inline:Ze}}static lex(t,i){return new Li(i).lex(t)}static lexInline(t,i){return new Li(i).inlineTokens(t)}lex(t){t=t.replace(re.carriageReturn,`
|
|
59
|
+
`),this.blockTokens(t,this.tokens);for(let i=0;i<this.inlineQueue.length;i++){let s=this.inlineQueue[i];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[],s=!1){var n,r,l;for(this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace(re.tabCharGlobal," ").replace(re.spaceLine,""));t;){let a;if((r=(n=this.options.extensions)==null?void 0:n.block)!=null&&r.some(o=>(a=o.call({lexer:this},t,i))?(t=t.substring(a.raw.length),i.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let o=i.at(-1);a.raw.length===1&&o!==void 0?o.raw+=`
|
|
60
|
+
`:i.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="paragraph"||(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
61
|
+
`)?"":`
|
|
62
|
+
`)+a.raw,o.text+=`
|
|
63
|
+
`+a.text,this.inlineQueue.at(-1).src=o.text):i.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="paragraph"||(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
64
|
+
`)?"":`
|
|
65
|
+
`)+a.raw,o.text+=`
|
|
66
|
+
`+a.raw,this.inlineQueue.at(-1).src=o.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},i.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),i.push(a);continue}let c=t;if((l=this.options.extensions)!=null&&l.startBlock){let o=1/0,u=t.slice(1),h;this.options.extensions.startBlock.forEach(g=>{h=g.call({lexer:this},u),typeof h=="number"&&h>=0&&(o=Math.min(o,h))}),o<1/0&&o>=0&&(c=t.substring(0,o+1))}if(this.state.top&&(a=this.tokenizer.paragraph(c))){let o=i.at(-1);s&&(o==null?void 0:o.type)==="paragraph"?(o.raw+=(o.raw.endsWith(`
|
|
67
|
+
`)?"":`
|
|
68
|
+
`)+a.raw,o.text+=`
|
|
69
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):i.push(a),s=c.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
70
|
+
`)?"":`
|
|
71
|
+
`)+a.raw,o.text+=`
|
|
72
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):i.push(a);continue}if(t){let o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw Error(o)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){var c,o,u,h,g;this.tokenizer.lexer=this;let s=t,n=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)p.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,n.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)r=n[2]?n[2].length:0,s=s.slice(0,n.index+r)+"["+"a".repeat(n[0].length-r-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=((o=(c=this.options.hooks)==null?void 0:c.emStrongMask)==null?void 0:o.call({lexer:this},s))??s;let l=!1,a="";for(;t;){l||(a=""),l=!1;let p;if((h=(u=this.options.extensions)==null?void 0:u.inline)!=null&&h.some(b=>(p=b.call({lexer:this},t,i))?(t=t.substring(p.raw.length),i.push(p),!0):!1))continue;if(p=this.tokenizer.escape(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.tag(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.link(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(p.raw.length);let b=i.at(-1);p.type==="text"&&(b==null?void 0:b.type)==="text"?(b.raw+=p.raw,b.text+=p.text):i.push(p);continue}if(p=this.tokenizer.emStrong(t,s,a)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.codespan(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.br(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.del(t,s,a)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.autolink(t)){t=t.substring(p.raw.length),i.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(t))){t=t.substring(p.raw.length),i.push(p);continue}let d=t;if((g=this.options.extensions)!=null&&g.startInline){let b=1/0,y=t.slice(1),z;this.options.extensions.startInline.forEach(D=>{z=D.call({lexer:this},y),typeof z=="number"&&z>=0&&(b=Math.min(b,z))}),b<1/0&&b>=0&&(d=t.substring(0,b+1))}if(p=this.tokenizer.inlineText(d)){t=t.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(a=p.raw.slice(-1)),l=!0;let b=i.at(-1);(b==null?void 0:b.type)==="text"?(b.raw+=p.raw,b.text+=p.text):i.push(p);continue}if(t){let b="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(b);break}else throw Error(b)}}return i}},gt=class{constructor(e){I(this,"options");I(this,"parser");this.options=e||Ie}space(e){return""}code({text:e,lang:t,escaped:i}){var r;let s=(r=(t||"").match(re.notSpaceStart))==null?void 0:r[0],n=e.replace(re.endingNewline,"")+`
|
|
73
|
+
`;return s?'<pre><code class="language-'+me(s)+'">'+(i?n:me(n,!0))+`</code></pre>
|
|
74
|
+
`:"<pre><code>"+(i?n:me(n,!0))+`</code></pre>
|
|
75
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
76
|
+
${this.parser.parse(e)}</blockquote>
|
|
77
|
+
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
78
|
+
`}hr(e){return`<hr>
|
|
79
|
+
`}list(e){let t=e.ordered,i=e.start,s="";for(let l=0;l<e.items.length;l++){let a=e.items[l];s+=this.listitem(a)}let n=t?"ol":"ul",r=t&&i!==1?' start="'+i+'"':"";return"<"+n+r+`>
|
|
80
|
+
`+s+"</"+n+`>
|
|
81
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
82
|
+
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
83
|
+
`}table(e){let t="",i="";for(let n=0;n<e.header.length;n++)i+=this.tablecell(e.header[n]);t+=this.tablerow({text:i});let s="";for(let n=0;n<e.rows.length;n++){let r=e.rows[n];i="";for(let l=0;l<r.length;l++)i+=this.tablecell(r[l]);s+=this.tablerow({text:i})}return s&&(s=`<tbody>${s}</tbody>`),`<table>
|
|
84
|
+
<thead>
|
|
85
|
+
`+t+`</thead>
|
|
86
|
+
`+s+`</table>
|
|
87
|
+
`}tablerow({text:e}){return`<tr>
|
|
88
|
+
${e}</tr>
|
|
89
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
|
|
90
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${me(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){let s=this.parser.parseInline(i),n=cs(e);if(n===null)return s;e=n;let r='<a href="'+e+'"';return t&&(r+=' title="'+me(t)+'"'),r+=">"+s+"</a>",r}image({href:e,title:t,text:i,tokens:s}){s&&(i=this.parser.parseInline(s,this.parser.textRenderer));let n=cs(e);if(n===null)return me(i);e=n;let r=`<img src="${e}" alt="${me(i)}"`;return t&&(r+=` title="${me(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:me(e.text)}},Gt=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},de=class Pi{constructor(t){I(this,"options");I(this,"renderer");I(this,"textRenderer");this.options=t||Ie,this.options.renderer=this.options.renderer||new gt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Gt}static parse(t,i){return new Pi(i).parse(t)}static parseInline(t,i){return new Pi(i).parseInline(t)}parse(t){var s,n;this.renderer.parser=this;let i="";for(let r=0;r<t.length;r++){let l=t[r];if((n=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&n[l.type]){let c=l,o=this.options.extensions.renderers[c.type].call({parser:this},c);if(o!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){i+=o||"";continue}}let a=l;switch(a.type){case"space":i+=this.renderer.space(a);break;case"hr":i+=this.renderer.hr(a);break;case"heading":i+=this.renderer.heading(a);break;case"code":i+=this.renderer.code(a);break;case"table":i+=this.renderer.table(a);break;case"blockquote":i+=this.renderer.blockquote(a);break;case"list":i+=this.renderer.list(a);break;case"checkbox":i+=this.renderer.checkbox(a);break;case"html":i+=this.renderer.html(a);break;case"def":i+=this.renderer.def(a);break;case"paragraph":i+=this.renderer.paragraph(a);break;case"text":i+=this.renderer.text(a);break;default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw Error(c)}}}return i}parseInline(t,i=this.renderer){var n,r;this.renderer.parser=this;let s="";for(let l=0;l<t.length;l++){let a=t[l];if((r=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&r[a.type]){let o=this.options.extensions.renderers[a.type].call({parser:this},a);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=o||"";continue}}let c=a;switch(c.type){case"escape":s+=i.text(c);break;case"html":s+=i.html(c);break;case"link":s+=i.link(c);break;case"image":s+=i.image(c);break;case"checkbox":s+=i.checkbox(c);break;case"strong":s+=i.strong(c);break;case"em":s+=i.em(c);break;case"codespan":s+=i.codespan(c);break;case"br":s+=i.br(c);break;case"del":s+=i.del(c);break;case"text":s+=i.text(c);break;default:{let o='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw Error(o)}}}return s}},Xe=(wt=class{constructor(e){I(this,"options");I(this,"block");this.options=e||Ie}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?ce.lex:ce.lexInline}provideParser(){return this.block?de.parse:de.parseInline}},I(wt,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),I(wt,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),wt),Ne=new class{constructor(...e){I(this,"defaults",Vt());I(this,"options",this.setOptions);I(this,"parse",this.parseMarkdown(!0));I(this,"parseInline",this.parseMarkdown(!1));I(this,"Parser",de);I(this,"Renderer",gt);I(this,"TextRenderer",Gt);I(this,"Lexer",ce);I(this,"Tokenizer",pt);I(this,"Hooks",Xe);this.use(...e)}walkTokens(e,t){var s,n;let i=[];for(let r of e)switch(i=i.concat(t.call(this,r)),r.type){case"table":{let l=r;for(let a of l.header)i=i.concat(this.walkTokens(a.tokens,t));for(let a of l.rows)for(let c of a)i=i.concat(this.walkTokens(c.tokens,t));break}case"list":{let l=r;i=i.concat(this.walkTokens(l.items,t));break}default:{let l=r;(n=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&n[l.type]?this.defaults.extensions.childTokens[l.type].forEach(a=>{let c=l[a].flat(1/0);i=i.concat(this.walkTokens(c,t))}):l.tokens&&(i=i.concat(this.walkTokens(l.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let s={...i};if(s.async=this.defaults.async||s.async||!1,i.extensions&&(i.extensions.forEach(n=>{if(!n.name)throw Error("extension name required");if("renderer"in n){let r=t.renderers[n.name];r?t.renderers[n.name]=function(...l){let a=n.renderer.apply(this,l);return a===!1&&(a=r.apply(this,l)),a}:t.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let r=t[n.level];r?r.unshift(n.tokenizer):t[n.level]=[n.tokenizer],n.start&&(n.level==="block"?t.startBlock?t.startBlock.push(n.start):t.startBlock=[n.start]:n.level==="inline"&&(t.startInline?t.startInline.push(n.start):t.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(t.childTokens[n.name]=n.childTokens)}),s.extensions=t),i.renderer){let n=this.defaults.renderer||new gt(this.defaults);for(let r in i.renderer){if(!(r in n))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let l=r,a=i.renderer[l],c=n[l];n[l]=(...o)=>{let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u||""}}s.renderer=n}if(i.tokenizer){let n=this.defaults.tokenizer||new pt(this.defaults);for(let r in i.tokenizer){if(!(r in n))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let l=r,a=i.tokenizer[l],c=n[l];n[l]=(...o)=>{let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u}}s.tokenizer=n}if(i.hooks){let n=this.defaults.hooks||new Xe;for(let r in i.hooks){if(!(r in n))throw Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let l=r,a=i.hooks[l],c=n[l];Xe.passThroughHooks.has(r)?n[l]=o=>{if(this.defaults.async&&Xe.passThroughHooksRespectAsync.has(r))return(async()=>{let h=await a.call(n,o);return c.call(n,h)})();let u=a.call(n,o);return c.call(n,u)}:n[l]=(...o)=>{if(this.defaults.async)return(async()=>{let h=await a.apply(n,o);return h===!1&&(h=await c.apply(n,o)),h})();let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u}}s.hooks=n}if(i.walkTokens){let n=this.defaults.walkTokens,r=i.walkTokens;s.walkTokens=function(l){let a=[];return a.push(r.call(this,l)),n&&(a=a.concat(n.call(this,l))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ce.lex(e,t??this.defaults)}parser(e,t){return de.parse(e,t??this.defaults)}parseMarkdown(e){return(t,i)=>{let s={...i},n={...this.defaults,...s},r=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&s.async===!1)return r(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return r(Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return r(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=e),n.async)return(async()=>{let l=n.hooks?await n.hooks.preprocess(t):t,a=await(n.hooks?await n.hooks.provideLexer():e?ce.lex:ce.lexInline)(l,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let o=await(n.hooks?await n.hooks.provideParser():e?de.parse:de.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(o):o})().catch(r);try{n.hooks&&(t=n.hooks.preprocess(t));let l=(n.hooks?n.hooks.provideLexer():e?ce.lex:ce.lexInline)(t,n);n.hooks&&(l=n.hooks.processAllTokens(l)),n.walkTokens&&this.walkTokens(l,n.walkTokens);let a=(n.hooks?n.hooks.provideParser():e?de.parse:de.parseInline)(l,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(l){return r(l)}}}onError(e,t){return i=>{if(i.message+=`
|
|
91
|
+
Please report this to https://github.com/markedjs/marked.`,e){let s="<p>An error occurred:</p><pre>"+me(i.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(i);throw i}}};function V(e,t){return Ne.parse(e,t)}V.options=V.setOptions=function(e){return Ne.setOptions(e),V.defaults=Ne.defaults,Xi(V.defaults),V},V.getDefaults=Vt,V.defaults=Ie,V.use=function(...e){return Ne.use(...e),V.defaults=Ne.defaults,Xi(V.defaults),V},V.walkTokens=function(e,t){return Ne.walkTokens(e,t)},V.parseInline=Ne.parseInline,V.Parser=de,V.parser=de.parse,V.Renderer=gt,V.TextRenderer=Gt,V.Lexer=ce,V.lexer=ce.lex,V.Tokenizer=pt,V.Hooks=Xe,V.parse=V,V.options,V.setOptions,V.use,V.walkTokens,V.parseInline,de.parse,ce.lex;function hs(...e){return e.filter(Boolean).join(" ")}function sa(e,t){return e?t?{...e,...t}:e:t}function na({animation:e,index:t,as:i,asChild:s,className:n,style:r,children:l}){let a=hs("fragment",e,n);if(s){let c;try{c=T.Children.only(l)}catch{throw Error("Fragment with asChild expects exactly one React element child.")}if(!(0,T.isValidElement)(c)||c.type===T.Fragment)throw Error("Fragment with asChild expects exactly one non-Fragment React element child.");let o={className:hs(c.props.className,a),style:sa(c.props.style,r)};return t!==void 0&&(o["data-fragment-index"]=t),(0,T.cloneElement)(c,o)}return(0,x.jsx)(i??"span",{className:a,style:r,"data-fragment-index":t,children:l})}function ra({cells:e,getType:t}){let i=[],s=null,n=null,r=()=>{let c={subslides:[]};return i.push(c),s=c,n=null,c},l=()=>{let c=s??r(),o={blocks:[]};return c.subslides.push(o),n=o,o},a=c=>{let o=n??l(),u={isFragment:c,cells:[]};return o.blocks.push(u),u};for(let c of e)switch(t(c)){case"skip":break;case"slide":r(),l(),a(!1).cells.push(c);break;case"sub-slide":l(),a(!1).cells.push(c);break;case"fragment":a(!0).cells.push(c);break}return{stacks:i}}function aa({composition:e,cells:t,getId:i}){let s=new Map,n=new Map,r=new Map;for(let[l,a]of t.entries())r.set(i(a),l);return e.stacks.forEach((l,a)=>{l.subslides.forEach((c,o)=>{var g;let u;for(let p of c.blocks){if(p.isFragment)break;let d=p.cells.at(-1);d&&(u=i(d))}if(u===void 0){let p=(g=c.blocks[0])==null?void 0:g.cells[0];p&&(u=i(p))}if(u!==void 0){let p=r.get(u);p!=null&&n.set(`${a},${o},-1`,p)}let h=-1;for(let p of c.blocks)if(p.isFragment){h++;for(let b of p.cells)s.set(i(b),{h:a,v:o,f:h});let d=p.cells.at(-1);if(d){let b=r.get(i(d));b!=null&&n.set(`${a},${o},${h}`,b)}}else for(let d of p.cells)s.set(i(d),{h:a,v:o,f:-1})})}),{cellToTarget:s,targetToCellIndex:n}}function la(e,t){let{h:i,v:s,f:n}=t;return e.get(`${i},${s},${n}`)??e.get(`${i},${s},-1`)}function ps({start:e,stop:t,step:i,cells:s,cellToTarget:n,getId:r}){for(let l=e;l!==t;l+=i){let a=n.get(r(s[l]));if(a)return a}}function oa({activeIndex:e,cells:t,cellToTarget:i,getId:s}){if(e==null)return;let n=t[e];return n?i.get(s(n))||(ps({start:e-1,stop:-1,step:-1,cells:t,cellToTarget:i,getId:s})??ps({start:e+1,stop:t.length,step:1,cells:t,cellToTarget:i,getId:s})):void 0}function ca(e,t){let i={h:t.h,v:t.v,f:t.f>=0?t.f:-1};return e.h===i.h&&e.v===i.v&&e.f===i.f?null:i}const gs=({cell:e})=>{let[t]=fn(),{theme:i}=oo(),s=ho(e.id),n=Si(Fl),r=Nl(),l=Si(jl),a=(0,T.useRef)(null),c=(0,T.useRef)(null),[o,u]=(0,T.useState)(),h=be(()=>{go({autoInstantiate:l,createNewCell:r.createNewCell})}),g=be(()=>{}),p=t.display.cell_output,d=e.output!=null,b=Ml({executionTime:e.runElapsedTimeMs??e.lastExecutionTime,status:e.status,errored:e.errored,interrupted:e.interrupted,stopped:e.stopped}),y=$l({edited:e.edited,interrupted:e.interrupted,staleInputs:e.staleInputs,disabled:e.config.disabled,status:e.status}),z=zt("marimo-cell","hover-actions-parent","interactive",Bl({needsRun:y,errored:e.errored,stopped:e.stopped,disabled:e.config.disabled,status:e.status})),D=(0,x.jsx)($t,{cellId:e.id,status:e.status,output:e.output}),L=(0,x.jsxs)("div",{className:"absolute top-1 right-2 z-10 flex items-center gap-1.5",children:[(0,x.jsx)(co,{editing:!0,status:e.status,disabled:e.config.disabled??!1,staleInputs:e.staleInputs,edited:e.edited,interrupted:e.interrupted,elapsedTime:e.runElapsedTimeMs??e.lastExecutionTime,runStartTimestamp:e.runStartTimestamp,lastRunStartTimestamp:e.lastRunStartTimestamp,uninstantiated:b}),(0,x.jsx)(io,{code:e.code,editorView:a.current,currentLanguageAdapter:o,onAfterToggle:h,className:"flex items-center gap-1"}),(0,x.jsxs)("div",{className:"flex items-center shadow-none gap-1",children:[(0,x.jsx)(ao,{edited:e.edited,status:e.status,needsRun:y,connectionState:n.state,config:e.config,onClick:s}),(0,x.jsx)(ro,{status:e.status,connectionState:n.state})]})]}),A=(0,x.jsxs)("div",{tabIndex:-1,className:z,...Jl(e.id,e.name),children:[(0,x.jsx)(so,{theme:i,showPlaceholder:!1,id:e.id,code:e.code,config:e.config,status:e.status,serializedEditorState:e.serializedEditorState,runCell:s,setEditorView:S=>{a.current=S},userConfig:t,editorViewRef:a,editorViewParentRef:c,hasOutput:d,showHiddenCode:g,languageAdapter:o,setLanguageAdapter:u,showLanguageToggles:!1,inlineAiTooltip:!1,outputArea:p,tooltipParentSelector:".reveal-viewport"}),L]});return(0,x.jsxs)(x.Fragment,{children:[p==="above"&&D,A,p==="below"&&D]})},ms=e=>{let t=(0,ke.c)(11),{cell:i}=e,[s]=fn(),n=s.display.cell_output,r=zl(i.code.trim()).type==="sql"?"sql":"python",l;t[0]!==i.id||t[1]!==i.output||t[2]!==i.status?(l=(0,x.jsx)($t,{cellId:i.id,status:i.status,output:i.output}),t[0]=i.id,t[1]=i.output,t[2]=i.status,t[3]=l):l=t[3];let a=l,c;t[4]!==i.code||t[5]!==r?(c=(0,x.jsx)("div",{className:"marimo-cell",children:(0,x.jsx)(lo,{code:i.code,language:r,showHideCode:!1})}),t[4]=i.code,t[5]=r,t[6]=c):c=t[6];let o=c,u=n==="above"&&a,h=n==="below"&&a,g;return t[7]!==o||t[8]!==u||t[9]!==h?(g=(0,x.jsxs)(x.Fragment,{children:[u,o,h]}),t[7]=o,t[8]=u,t[9]=h,t[10]=g):g=t[10],g};var da=Ei(),ua=300;const ha=e=>{var $;let t=(0,da.c)(25),{layout:i,setLayout:s,cellId:n,className:r}=e,l=n?(($=i.cells.get(n))==null?void 0:$.speakerNotes)??"":"",[a,c]=(0,T.useState)(l),o=(0,T.useRef)(!1),u;t[0]!==i||t[1]!==s?(u=(_,O)=>{o.current=!1;let M=i.cells.get(_);if(((M==null?void 0:M.speakerNotes)??"")===O)return;let J=new Map(i.cells);J.set(_,{...M,speakerNotes:O}),s({...i,cells:J})},t[0]=i,t[1]=s,t[2]=u):u=t[2];let h=uo(be(u),ua),g=(0,T.useRef)(n),p,d;t[3]!==n||t[4]!==a||t[5]!==l||t[6]!==h?(p=()=>{if(g.current!==n){h.flush(),o.current=!1,c(l),g.current=n;return}!o.current&&l!==a&&c(l)},d=[n,l,a,h],t[3]=n,t[4]=a,t[5]=l,t[6]=h,t[7]=p,t[8]=d):(p=t[7],d=t[8]),(0,T.useEffect)(p,d);let b,y;t[9]===h?(b=t[10],y=t[11]):(b=()=>()=>{h.flush()},y=[h],t[9]=h,t[10]=b,t[11]=y),(0,T.useEffect)(b,y);let z;t[12]!==n||t[13]!==h?(z=_=>{c(_),n&&(o.current=!0,h(n,_))},t[12]=n,t[13]=h,t[14]=z):z=t[14];let D=z,L;t[15]===r?L=t[16]:(L=zt("h-full min-h-0 flex flex-col bg-muted/40 dark:bg-muted/20 border-t",r),t[15]=r,t[16]=L);let A;t[17]===Symbol.for("react.memo_cache_sentinel")?(A=(0,x.jsxs)("header",{className:"flex items-center gap-1.5 px-3 h-8 shrink-0 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,x.jsx)(Ce,{className:"h-3.5 w-3.5"}),(0,x.jsx)("span",{children:"Speaker notes"})]}),t[17]=A):A=t[17];let S;t[18]!==n||t[19]!==a||t[20]!==D?(S=(0,x.jsx)("div",{className:"flex-1 min-h-0 p-2",children:n?(0,x.jsx)("textarea",{value:a,onChange:_=>D(_.target.value),onClick:Ri.stopPropagation(),placeholder:"Add notes for this slide. Visible to you in speaker view (press S during presentation).",className:zt("h-full w-full resize-none rounded-sm border border-input/25 bg-background","px-3 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground","ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:border-accent"),"aria-label":"Speaker notes for the current slide"}):(0,x.jsx)("div",{className:"h-full flex items-center justify-center text-xs text-muted-foreground",children:"Select a slide to add notes."})}),t[18]=n,t[19]=a,t[20]=D,t[21]=S):S=t[21];let P;return t[22]!==L||t[23]!==S?(P=(0,x.jsxs)("section",{className:L,"aria-label":"Speaker notes",onKeyDown:pa,children:[A,S]}),t[22]=L,t[23]=S,t[24]=P):P=t[24],P};function pa(e){return e.stopPropagation()}var ga=`
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
`;const ma=(e,t)=>e.map(i=>{var s;return((s=t.get(i.id))==null?void 0:s.speakerNotes)??""}).filter(i=>i.trim().length>0).join(`
|
|
96
|
+
|
|
97
|
+
`),fa=(e,t)=>{let i=e.blocks.map(l=>ma(l.cells,t)),s=e.blocks.map((l,a)=>l.isFragment?"":i[a]).filter(l=>l.length>0).join(`
|
|
98
|
+
|
|
99
|
+
`),n=new Map,r=[];return e.blocks.forEach((l,a)=>{if(!l.isFragment)return;let c=i[a];c.length>0&&r.push(c);let o=[s,...r].filter(u=>u.length>0).join(ga);o.length>0&&n.set(a,o)}),{slideLevel:s,cumulativeByBlock:n}};var va=`<!--
|
|
100
|
+
NOTE: You need to build the notes plugin after making changes to this file.
|
|
101
|
+
-->
|
|
102
|
+
<html lang="en">
|
|
103
|
+
<head>
|
|
104
|
+
<meta charset="utf-8">
|
|
105
|
+
|
|
106
|
+
<title>reveal.js - Speaker View</title>
|
|
107
|
+
|
|
108
|
+
<style>
|
|
109
|
+
body {
|
|
110
|
+
font-family: Helvetica;
|
|
111
|
+
font-size: 18px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#current-slide,
|
|
115
|
+
#upcoming-slide,
|
|
116
|
+
#speaker-controls {
|
|
117
|
+
padding: 6px;
|
|
118
|
+
box-sizing: border-box;
|
|
119
|
+
-moz-box-sizing: border-box;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
#current-slide iframe,
|
|
123
|
+
#upcoming-slide iframe {
|
|
124
|
+
width: 100%;
|
|
125
|
+
height: 100%;
|
|
126
|
+
border: 1px solid #ddd;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
#current-slide .label,
|
|
130
|
+
#upcoming-slide .label {
|
|
131
|
+
position: absolute;
|
|
132
|
+
top: 10px;
|
|
133
|
+
left: 10px;
|
|
134
|
+
z-index: 2;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
#connection-status {
|
|
138
|
+
position: absolute;
|
|
139
|
+
top: 0;
|
|
140
|
+
left: 0;
|
|
141
|
+
width: 100%;
|
|
142
|
+
height: 100%;
|
|
143
|
+
z-index: 20;
|
|
144
|
+
padding: 30% 20% 20% 20%;
|
|
145
|
+
font-size: 18px;
|
|
146
|
+
color: #222;
|
|
147
|
+
background: #fff;
|
|
148
|
+
text-align: center;
|
|
149
|
+
box-sizing: border-box;
|
|
150
|
+
line-height: 1.4;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.overlay-element {
|
|
154
|
+
height: 34px;
|
|
155
|
+
line-height: 34px;
|
|
156
|
+
padding: 0 10px;
|
|
157
|
+
text-shadow: none;
|
|
158
|
+
background: rgba( 220, 220, 220, 0.8 );
|
|
159
|
+
color: #222;
|
|
160
|
+
font-size: 14px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.overlay-element.interactive:hover {
|
|
164
|
+
background: rgba( 220, 220, 220, 1 );
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
#current-slide {
|
|
168
|
+
position: absolute;
|
|
169
|
+
width: 60%;
|
|
170
|
+
height: 100%;
|
|
171
|
+
top: 0;
|
|
172
|
+
left: 0;
|
|
173
|
+
padding-right: 0;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
#upcoming-slide {
|
|
177
|
+
position: absolute;
|
|
178
|
+
width: 40%;
|
|
179
|
+
height: 40%;
|
|
180
|
+
right: 0;
|
|
181
|
+
top: 0;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Speaker controls */
|
|
185
|
+
#speaker-controls {
|
|
186
|
+
position: absolute;
|
|
187
|
+
top: 40%;
|
|
188
|
+
right: 0;
|
|
189
|
+
width: 40%;
|
|
190
|
+
height: 60%;
|
|
191
|
+
overflow: auto;
|
|
192
|
+
font-size: 18px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.speaker-controls-time.hidden,
|
|
196
|
+
.speaker-controls-notes.hidden {
|
|
197
|
+
display: none;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.speaker-controls-time .label,
|
|
201
|
+
.speaker-controls-pace .label,
|
|
202
|
+
.speaker-controls-notes .label {
|
|
203
|
+
text-transform: uppercase;
|
|
204
|
+
font-weight: normal;
|
|
205
|
+
font-size: 0.66em;
|
|
206
|
+
color: #666;
|
|
207
|
+
margin: 0;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.speaker-controls-time, .speaker-controls-pace {
|
|
211
|
+
border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );
|
|
212
|
+
margin-bottom: 10px;
|
|
213
|
+
padding: 10px 16px;
|
|
214
|
+
padding-bottom: 20px;
|
|
215
|
+
cursor: pointer;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.speaker-controls-time .reset-button {
|
|
219
|
+
opacity: 0;
|
|
220
|
+
float: right;
|
|
221
|
+
color: #666;
|
|
222
|
+
text-decoration: none;
|
|
223
|
+
}
|
|
224
|
+
.speaker-controls-time:hover .reset-button {
|
|
225
|
+
opacity: 1;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.speaker-controls-time .timer,
|
|
229
|
+
.speaker-controls-time .clock {
|
|
230
|
+
width: 50%;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.speaker-controls-time .timer,
|
|
234
|
+
.speaker-controls-time .clock,
|
|
235
|
+
.speaker-controls-time .pacing .hours-value,
|
|
236
|
+
.speaker-controls-time .pacing .minutes-value,
|
|
237
|
+
.speaker-controls-time .pacing .seconds-value {
|
|
238
|
+
font-size: 1.9em;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.speaker-controls-time .timer {
|
|
242
|
+
float: left;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.speaker-controls-time .clock {
|
|
246
|
+
float: right;
|
|
247
|
+
text-align: right;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.speaker-controls-time span.mute {
|
|
251
|
+
opacity: 0.3;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.speaker-controls-time .pacing-title {
|
|
255
|
+
margin-top: 5px;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.speaker-controls-time .pacing.ahead {
|
|
259
|
+
color: blue;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.speaker-controls-time .pacing.on-track {
|
|
263
|
+
color: green;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.speaker-controls-time .pacing.behind {
|
|
267
|
+
color: red;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.speaker-controls-notes {
|
|
271
|
+
padding: 10px 16px;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.speaker-controls-notes .value {
|
|
275
|
+
margin-top: 5px;
|
|
276
|
+
line-height: 1.4;
|
|
277
|
+
font-size: 1.2em;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/* Layout selector\xA0*/
|
|
281
|
+
#speaker-layout {
|
|
282
|
+
position: absolute;
|
|
283
|
+
top: 10px;
|
|
284
|
+
right: 10px;
|
|
285
|
+
color: #222;
|
|
286
|
+
z-index: 10;
|
|
287
|
+
}
|
|
288
|
+
#speaker-layout select {
|
|
289
|
+
position: absolute;
|
|
290
|
+
width: 100%;
|
|
291
|
+
height: 100%;
|
|
292
|
+
top: 0;
|
|
293
|
+
left: 0;
|
|
294
|
+
border: 0;
|
|
295
|
+
box-shadow: 0;
|
|
296
|
+
cursor: pointer;
|
|
297
|
+
opacity: 0;
|
|
298
|
+
|
|
299
|
+
font-size: 1em;
|
|
300
|
+
background-color: transparent;
|
|
301
|
+
|
|
302
|
+
-moz-appearance: none;
|
|
303
|
+
-webkit-appearance: none;
|
|
304
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
#speaker-layout select:focus {
|
|
308
|
+
outline: none;
|
|
309
|
+
box-shadow: none;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.clear {
|
|
313
|
+
clear: both;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/* Speaker layout: Wide */
|
|
317
|
+
body[data-speaker-layout="wide"] #current-slide,
|
|
318
|
+
body[data-speaker-layout="wide"] #upcoming-slide {
|
|
319
|
+
width: 50%;
|
|
320
|
+
height: 45%;
|
|
321
|
+
padding: 6px;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
body[data-speaker-layout="wide"] #current-slide {
|
|
325
|
+
top: 0;
|
|
326
|
+
left: 0;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
body[data-speaker-layout="wide"] #upcoming-slide {
|
|
330
|
+
top: 0;
|
|
331
|
+
left: 50%;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
body[data-speaker-layout="wide"] #speaker-controls {
|
|
335
|
+
top: 45%;
|
|
336
|
+
left: 0;
|
|
337
|
+
width: 100%;
|
|
338
|
+
height: 50%;
|
|
339
|
+
font-size: 1.25em;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/* Speaker layout: Tall */
|
|
343
|
+
body[data-speaker-layout="tall"] #current-slide,
|
|
344
|
+
body[data-speaker-layout="tall"] #upcoming-slide {
|
|
345
|
+
width: 45%;
|
|
346
|
+
height: 50%;
|
|
347
|
+
padding: 6px;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
body[data-speaker-layout="tall"] #current-slide {
|
|
351
|
+
top: 0;
|
|
352
|
+
left: 0;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
body[data-speaker-layout="tall"] #upcoming-slide {
|
|
356
|
+
top: 50%;
|
|
357
|
+
left: 0;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
body[data-speaker-layout="tall"] #speaker-controls {
|
|
361
|
+
padding-top: 40px;
|
|
362
|
+
top: 0;
|
|
363
|
+
left: 45%;
|
|
364
|
+
width: 55%;
|
|
365
|
+
height: 100%;
|
|
366
|
+
font-size: 1.25em;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/* Speaker layout: Notes only */
|
|
370
|
+
body[data-speaker-layout="notes-only"] #current-slide,
|
|
371
|
+
body[data-speaker-layout="notes-only"] #upcoming-slide {
|
|
372
|
+
display: none;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
body[data-speaker-layout="notes-only"] #speaker-controls {
|
|
376
|
+
padding-top: 40px;
|
|
377
|
+
top: 0;
|
|
378
|
+
left: 0;
|
|
379
|
+
width: 100%;
|
|
380
|
+
height: 100%;
|
|
381
|
+
font-size: 1.25em;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
@media screen and (max-width: 1080px) {
|
|
385
|
+
body[data-speaker-layout="default"] #speaker-controls {
|
|
386
|
+
font-size: 16px;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
@media screen and (max-width: 900px) {
|
|
391
|
+
body[data-speaker-layout="default"] #speaker-controls {
|
|
392
|
+
font-size: 14px;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
@media screen and (max-width: 800px) {
|
|
397
|
+
body[data-speaker-layout="default"] #speaker-controls {
|
|
398
|
+
font-size: 12px;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
</style>
|
|
403
|
+
</head>
|
|
404
|
+
|
|
405
|
+
<body>
|
|
406
|
+
|
|
407
|
+
<div id="connection-status">Loading speaker view...</div>
|
|
408
|
+
|
|
409
|
+
<div id="current-slide"></div>
|
|
410
|
+
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
|
|
411
|
+
<div id="speaker-controls">
|
|
412
|
+
<div class="speaker-controls-time">
|
|
413
|
+
<h4 class="label">Time <span class="reset-button">Click to Reset</span></h4>
|
|
414
|
+
<div class="clock">
|
|
415
|
+
<span class="clock-value">0:00 AM</span>
|
|
416
|
+
</div>
|
|
417
|
+
<div class="timer">
|
|
418
|
+
<span class="hours-value">00</span><span class="minutes-value">:00</span><span class="seconds-value">:00</span>
|
|
419
|
+
</div>
|
|
420
|
+
<div class="clear"></div>
|
|
421
|
+
|
|
422
|
+
<h4 class="label pacing-title" style="display: none">Pacing \u2013 Time to finish current slide</h4>
|
|
423
|
+
<div class="pacing" style="display: none">
|
|
424
|
+
<span class="hours-value">00</span><span class="minutes-value">:00</span><span class="seconds-value">:00</span>
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
|
|
428
|
+
<div class="speaker-controls-notes hidden">
|
|
429
|
+
<h4 class="label">Notes</h4>
|
|
430
|
+
<div class="value"></div>
|
|
431
|
+
</div>
|
|
432
|
+
</div>
|
|
433
|
+
<div id="speaker-layout" class="overlay-element interactive">
|
|
434
|
+
<span class="speaker-layout-label"></span>
|
|
435
|
+
<select class="speaker-layout-dropdown"></select>
|
|
436
|
+
</div>
|
|
437
|
+
|
|
438
|
+
<script>
|
|
439
|
+
|
|
440
|
+
(function() {
|
|
441
|
+
|
|
442
|
+
var notes,
|
|
443
|
+
notesValue,
|
|
444
|
+
currentState,
|
|
445
|
+
currentSlide,
|
|
446
|
+
upcomingSlide,
|
|
447
|
+
layoutLabel,
|
|
448
|
+
layoutDropdown,
|
|
449
|
+
pendingCalls = {},
|
|
450
|
+
lastRevealApiCallId = 0,
|
|
451
|
+
connected = false
|
|
452
|
+
|
|
453
|
+
var connectionStatus = document.querySelector( '#connection-status' );
|
|
454
|
+
|
|
455
|
+
var SPEAKER_LAYOUTS = {
|
|
456
|
+
'default': 'Default',
|
|
457
|
+
'wide': 'Wide',
|
|
458
|
+
'tall': 'Tall',
|
|
459
|
+
'notes-only': 'Notes only'
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
setupLayout();
|
|
463
|
+
|
|
464
|
+
let openerOrigin;
|
|
465
|
+
|
|
466
|
+
try {
|
|
467
|
+
openerOrigin = window.opener.location.origin;
|
|
468
|
+
}
|
|
469
|
+
catch ( error ) { console.warn( error ) }
|
|
470
|
+
|
|
471
|
+
// In order to prevent XSS, the speaker view will only run if its
|
|
472
|
+
// opener has the same origin as itself
|
|
473
|
+
if( window.location.origin !== openerOrigin ) {
|
|
474
|
+
connectionStatus.innerHTML = 'Cross origin error.<br>The speaker window can only be opened from the same origin.';
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
var connectionTimeout = setTimeout( function() {
|
|
479
|
+
connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';
|
|
480
|
+
}, 5000 );
|
|
481
|
+
|
|
482
|
+
window.addEventListener( 'message', function( event ) {
|
|
483
|
+
|
|
484
|
+
// Validate the origin of all messages to avoid parsing messages
|
|
485
|
+
// that aren't meant for us. Ignore when running off file:// so
|
|
486
|
+
// that the speaker view continues to work without a web server.
|
|
487
|
+
if( window.location.origin !== event.origin && window.location.origin !== 'file://' ) {
|
|
488
|
+
return
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
clearTimeout( connectionTimeout );
|
|
492
|
+
connectionStatus.style.display = 'none';
|
|
493
|
+
|
|
494
|
+
var data = JSON.parse( event.data );
|
|
495
|
+
|
|
496
|
+
// The overview mode is only useful to the reveal.js instance
|
|
497
|
+
// where navigation occurs so we don't sync it
|
|
498
|
+
if( data.state ) delete data.state.overview;
|
|
499
|
+
|
|
500
|
+
// Messages sent by the notes plugin inside of the main window
|
|
501
|
+
if( data && data.namespace === 'reveal-notes' ) {
|
|
502
|
+
if( data.type === 'connect' ) {
|
|
503
|
+
handleConnectMessage( data );
|
|
504
|
+
}
|
|
505
|
+
else if( data.type === 'state' ) {
|
|
506
|
+
handleStateMessage( data );
|
|
507
|
+
}
|
|
508
|
+
else if( data.type === 'return' ) {
|
|
509
|
+
pendingCalls[data.callId](data.result);
|
|
510
|
+
delete pendingCalls[data.callId];
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
// Messages sent by the reveal.js inside of the current slide preview
|
|
514
|
+
else if( data && data.namespace === 'reveal' ) {
|
|
515
|
+
const supportedEvents = [
|
|
516
|
+
'slidechanged',
|
|
517
|
+
'fragmentshown',
|
|
518
|
+
'fragmenthidden',
|
|
519
|
+
'paused',
|
|
520
|
+
'resumed',
|
|
521
|
+
'previewiframe',
|
|
522
|
+
'previewimage',
|
|
523
|
+
'previewvideo',
|
|
524
|
+
'closeoverlay'
|
|
525
|
+
];
|
|
526
|
+
|
|
527
|
+
if( /ready/.test( data.eventName ) ) {
|
|
528
|
+
// Send a message back to notify that the handshake is complete
|
|
529
|
+
window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' );
|
|
530
|
+
}
|
|
531
|
+
else if( supportedEvents.includes( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
|
|
532
|
+
dispatchStateToMainWindow( data.state );
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
} );
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Updates the presentation in the main window to match the state
|
|
540
|
+
* of the presentation in the notes window.
|
|
541
|
+
*/
|
|
542
|
+
const dispatchStateToMainWindow = debounce(( state ) => {
|
|
543
|
+
window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );
|
|
544
|
+
}, 500);
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Asynchronously calls the Reveal.js API of the main frame.
|
|
548
|
+
*/
|
|
549
|
+
function callRevealApi( methodName, methodArguments, callback ) {
|
|
550
|
+
|
|
551
|
+
var callId = ++lastRevealApiCallId;
|
|
552
|
+
pendingCalls[callId] = callback;
|
|
553
|
+
window.opener.postMessage( JSON.stringify( {
|
|
554
|
+
namespace: 'reveal-notes',
|
|
555
|
+
type: 'call',
|
|
556
|
+
callId: callId,
|
|
557
|
+
methodName: methodName,
|
|
558
|
+
arguments: methodArguments
|
|
559
|
+
} ), '*' );
|
|
560
|
+
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Called when the main window is trying to establish a
|
|
565
|
+
* connection.
|
|
566
|
+
*/
|
|
567
|
+
function handleConnectMessage( data ) {
|
|
568
|
+
|
|
569
|
+
if( connected === false ) {
|
|
570
|
+
connected = true;
|
|
571
|
+
|
|
572
|
+
setupIframes( data );
|
|
573
|
+
setupKeyboard();
|
|
574
|
+
setupNotes();
|
|
575
|
+
setupTimer();
|
|
576
|
+
setupHeartbeat();
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Called when the main window sends an updated state.
|
|
583
|
+
*/
|
|
584
|
+
function handleStateMessage( data ) {
|
|
585
|
+
|
|
586
|
+
// Store the most recently set state to avoid circular loops
|
|
587
|
+
// applying the same state
|
|
588
|
+
currentState = JSON.stringify( data.state );
|
|
589
|
+
|
|
590
|
+
// No need for updating the notes in case of fragment changes
|
|
591
|
+
if ( data.notes ) {
|
|
592
|
+
notes.classList.remove( 'hidden' );
|
|
593
|
+
notesValue.style.whiteSpace = data.whitespace;
|
|
594
|
+
if( data.markdown ) {
|
|
595
|
+
notesValue.innerHTML = marked.parse( data.notes );
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
notesValue.innerHTML = data.notes;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
else {
|
|
602
|
+
notes.classList.add( 'hidden' );
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
// Don't show lightboxes in the upcoming slide
|
|
606
|
+
const { previewVideo, previewImage, previewIframe, ...upcomingState } = data.state;
|
|
607
|
+
|
|
608
|
+
// Update the note slides
|
|
609
|
+
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );
|
|
610
|
+
upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ upcomingState ] }), '*' );
|
|
611
|
+
upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );
|
|
612
|
+
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
// Limit to max one state update per X ms
|
|
616
|
+
handleStateMessage = debounce( handleStateMessage, 200 );
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* Forward keyboard events to the current slide window.
|
|
620
|
+
* This enables keyboard events to work even if focus
|
|
621
|
+
* isn't set on the current slide iframe.
|
|
622
|
+
*
|
|
623
|
+
* Block F5 default handling, it reloads and disconnects
|
|
624
|
+
* the speaker notes window.
|
|
625
|
+
*/
|
|
626
|
+
function setupKeyboard() {
|
|
627
|
+
|
|
628
|
+
document.addEventListener( 'keydown', function( event ) {
|
|
629
|
+
if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {
|
|
630
|
+
event.preventDefault();
|
|
631
|
+
return false;
|
|
632
|
+
}
|
|
633
|
+
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );
|
|
634
|
+
} );
|
|
635
|
+
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Creates the preview iframes.
|
|
640
|
+
*/
|
|
641
|
+
function setupIframes( data ) {
|
|
642
|
+
|
|
643
|
+
var params = [
|
|
644
|
+
'receiver',
|
|
645
|
+
'progress=false',
|
|
646
|
+
'history=false',
|
|
647
|
+
'transition=none',
|
|
648
|
+
'autoSlide=0',
|
|
649
|
+
'backgroundTransition=none'
|
|
650
|
+
].join( '&' );
|
|
651
|
+
|
|
652
|
+
var urlSeparator = /\\?/.test(data.url) ? '&' : '?';
|
|
653
|
+
var hash = '#/' + data.state.indexh + '/' + data.state.indexv;
|
|
654
|
+
var currentURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&postMessageEvents=true' + hash;
|
|
655
|
+
var upcomingURL = data.url + urlSeparator + params + '&scrollActivationWidth=false&controls=false' + hash;
|
|
656
|
+
|
|
657
|
+
currentSlide = document.createElement( 'iframe' );
|
|
658
|
+
currentSlide.setAttribute( 'width', 1280 );
|
|
659
|
+
currentSlide.setAttribute( 'height', 1024 );
|
|
660
|
+
currentSlide.setAttribute( 'src', currentURL );
|
|
661
|
+
document.querySelector( '#current-slide' ).appendChild( currentSlide );
|
|
662
|
+
|
|
663
|
+
upcomingSlide = document.createElement( 'iframe' );
|
|
664
|
+
upcomingSlide.setAttribute( 'width', 640 );
|
|
665
|
+
upcomingSlide.setAttribute( 'height', 512 );
|
|
666
|
+
upcomingSlide.setAttribute( 'src', upcomingURL );
|
|
667
|
+
document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );
|
|
668
|
+
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Setup the notes UI.
|
|
673
|
+
*/
|
|
674
|
+
function setupNotes() {
|
|
675
|
+
|
|
676
|
+
notes = document.querySelector( '.speaker-controls-notes' );
|
|
677
|
+
notesValue = document.querySelector( '.speaker-controls-notes .value' );
|
|
678
|
+
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* We send out a heartbeat at all times to ensure we can
|
|
683
|
+
* reconnect with the main presentation window after reloads.
|
|
684
|
+
*/
|
|
685
|
+
function setupHeartbeat() {
|
|
686
|
+
|
|
687
|
+
setInterval( () => {
|
|
688
|
+
window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'heartbeat'} ), '*' );
|
|
689
|
+
}, 1000 );
|
|
690
|
+
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
function getTimings( callback ) {
|
|
694
|
+
|
|
695
|
+
callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {
|
|
696
|
+
callRevealApi( 'getConfig', [], function ( config ) {
|
|
697
|
+
var totalTime = config.totalTime;
|
|
698
|
+
var minTimePerSlide = config.minimumTimePerSlide || 0;
|
|
699
|
+
var defaultTiming = config.defaultTiming;
|
|
700
|
+
if ((defaultTiming == null) && (totalTime == null)) {
|
|
701
|
+
callback(null);
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
// Setting totalTime overrides defaultTiming
|
|
705
|
+
if (totalTime) {
|
|
706
|
+
defaultTiming = 0;
|
|
707
|
+
}
|
|
708
|
+
var timings = [];
|
|
709
|
+
for ( var i in slideAttributes ) {
|
|
710
|
+
var slide = slideAttributes[ i ];
|
|
711
|
+
var timing = defaultTiming;
|
|
712
|
+
if( slide.hasOwnProperty( 'data-timing' )) {
|
|
713
|
+
var t = slide[ 'data-timing' ];
|
|
714
|
+
timing = parseInt(t);
|
|
715
|
+
if( isNaN(timing) ) {
|
|
716
|
+
console.warn("Could not parse timing '" + t + "' of slide " + i + "; using default of " + defaultTiming);
|
|
717
|
+
timing = defaultTiming;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
timings.push(timing);
|
|
721
|
+
}
|
|
722
|
+
if ( totalTime ) {
|
|
723
|
+
// After we've allocated time to individual slides, we summarize it and
|
|
724
|
+
// subtract it from the total time
|
|
725
|
+
var remainingTime = totalTime - timings.reduce( function(a, b) { return a + b; }, 0 );
|
|
726
|
+
// The remaining time is divided by the number of slides that have 0 seconds
|
|
727
|
+
// allocated at the moment, giving the average time-per-slide on the remaining slides
|
|
728
|
+
var remainingSlides = (timings.filter( function(x) { return x == 0 }) ).length
|
|
729
|
+
var timePerSlide = Math.round( remainingTime / remainingSlides, 0 )
|
|
730
|
+
// And now we replace every zero-value timing with that average
|
|
731
|
+
timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );
|
|
732
|
+
}
|
|
733
|
+
var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length
|
|
734
|
+
if ( slidesUnderMinimum ) {
|
|
735
|
+
message = "The pacing time for " + slidesUnderMinimum + " slide(s) is under the configured minimum of " + minTimePerSlide + " seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).";
|
|
736
|
+
alert(message);
|
|
737
|
+
}
|
|
738
|
+
callback( timings );
|
|
739
|
+
} );
|
|
740
|
+
} );
|
|
741
|
+
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Return the number of seconds allocated for presenting
|
|
746
|
+
* all slides up to and including this one.
|
|
747
|
+
*/
|
|
748
|
+
function getTimeAllocated( timings, callback ) {
|
|
749
|
+
|
|
750
|
+
callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {
|
|
751
|
+
var allocated = 0;
|
|
752
|
+
for (var i in timings.slice(0, currentSlide + 1)) {
|
|
753
|
+
allocated += timings[i];
|
|
754
|
+
}
|
|
755
|
+
callback( allocated );
|
|
756
|
+
} );
|
|
757
|
+
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
/**
|
|
761
|
+
* Create the timer and clock and start updating them
|
|
762
|
+
* at an interval.
|
|
763
|
+
*/
|
|
764
|
+
function setupTimer() {
|
|
765
|
+
|
|
766
|
+
var start = new Date(),
|
|
767
|
+
timeEl = document.querySelector( '.speaker-controls-time' ),
|
|
768
|
+
clockEl = timeEl.querySelector( '.clock-value' ),
|
|
769
|
+
hoursEl = timeEl.querySelector( '.hours-value' ),
|
|
770
|
+
minutesEl = timeEl.querySelector( '.minutes-value' ),
|
|
771
|
+
secondsEl = timeEl.querySelector( '.seconds-value' ),
|
|
772
|
+
pacingTitleEl = timeEl.querySelector( '.pacing-title' ),
|
|
773
|
+
pacingEl = timeEl.querySelector( '.pacing' ),
|
|
774
|
+
pacingHoursEl = pacingEl.querySelector( '.hours-value' ),
|
|
775
|
+
pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ),
|
|
776
|
+
pacingSecondsEl = pacingEl.querySelector( '.seconds-value' );
|
|
777
|
+
|
|
778
|
+
var timings = null;
|
|
779
|
+
getTimings( function ( _timings ) {
|
|
780
|
+
|
|
781
|
+
timings = _timings;
|
|
782
|
+
if (_timings !== null) {
|
|
783
|
+
pacingTitleEl.style.removeProperty('display');
|
|
784
|
+
pacingEl.style.removeProperty('display');
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
// Update once directly
|
|
788
|
+
_updateTimer();
|
|
789
|
+
|
|
790
|
+
// Then update every second
|
|
791
|
+
setInterval( _updateTimer, 1000 );
|
|
792
|
+
|
|
793
|
+
} );
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
function _resetTimer() {
|
|
797
|
+
|
|
798
|
+
if (timings == null) {
|
|
799
|
+
start = new Date();
|
|
800
|
+
_updateTimer();
|
|
801
|
+
}
|
|
802
|
+
else {
|
|
803
|
+
// Reset timer to beginning of current slide
|
|
804
|
+
getTimeAllocated( timings, function ( slideEndTimingSeconds ) {
|
|
805
|
+
var slideEndTiming = slideEndTimingSeconds * 1000;
|
|
806
|
+
callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {
|
|
807
|
+
var currentSlideTiming = timings[currentSlide] * 1000;
|
|
808
|
+
var previousSlidesTiming = slideEndTiming - currentSlideTiming;
|
|
809
|
+
var now = new Date();
|
|
810
|
+
start = new Date(now.getTime() - previousSlidesTiming);
|
|
811
|
+
_updateTimer();
|
|
812
|
+
} );
|
|
813
|
+
} );
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
timeEl.addEventListener( 'click', function() {
|
|
819
|
+
_resetTimer();
|
|
820
|
+
return false;
|
|
821
|
+
} );
|
|
822
|
+
|
|
823
|
+
function _displayTime( hrEl, minEl, secEl, time) {
|
|
824
|
+
|
|
825
|
+
var sign = Math.sign(time) == -1 ? "-" : "";
|
|
826
|
+
time = Math.abs(Math.round(time / 1000));
|
|
827
|
+
var seconds = time % 60;
|
|
828
|
+
var minutes = Math.floor( time / 60 ) % 60 ;
|
|
829
|
+
var hours = Math.floor( time / ( 60 * 60 )) ;
|
|
830
|
+
hrEl.innerHTML = sign + zeroPadInteger( hours );
|
|
831
|
+
if (hours == 0) {
|
|
832
|
+
hrEl.classList.add( 'mute' );
|
|
833
|
+
}
|
|
834
|
+
else {
|
|
835
|
+
hrEl.classList.remove( 'mute' );
|
|
836
|
+
}
|
|
837
|
+
minEl.innerHTML = ':' + zeroPadInteger( minutes );
|
|
838
|
+
if (hours == 0 && minutes == 0) {
|
|
839
|
+
minEl.classList.add( 'mute' );
|
|
840
|
+
}
|
|
841
|
+
else {
|
|
842
|
+
minEl.classList.remove( 'mute' );
|
|
843
|
+
}
|
|
844
|
+
secEl.innerHTML = ':' + zeroPadInteger( seconds );
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
function _updateTimer() {
|
|
848
|
+
|
|
849
|
+
var diff, hours, minutes, seconds,
|
|
850
|
+
now = new Date();
|
|
851
|
+
|
|
852
|
+
diff = now.getTime() - start.getTime();
|
|
853
|
+
|
|
854
|
+
clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );
|
|
855
|
+
_displayTime( hoursEl, minutesEl, secondsEl, diff );
|
|
856
|
+
if (timings !== null) {
|
|
857
|
+
_updatePacing(diff);
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
function _updatePacing(diff) {
|
|
863
|
+
|
|
864
|
+
getTimeAllocated( timings, function ( slideEndTimingSeconds ) {
|
|
865
|
+
var slideEndTiming = slideEndTimingSeconds * 1000;
|
|
866
|
+
|
|
867
|
+
callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) {
|
|
868
|
+
var currentSlideTiming = timings[currentSlide] * 1000;
|
|
869
|
+
var timeLeftCurrentSlide = slideEndTiming - diff;
|
|
870
|
+
if (timeLeftCurrentSlide < 0) {
|
|
871
|
+
pacingEl.className = 'pacing behind';
|
|
872
|
+
}
|
|
873
|
+
else if (timeLeftCurrentSlide < currentSlideTiming) {
|
|
874
|
+
pacingEl.className = 'pacing on-track';
|
|
875
|
+
}
|
|
876
|
+
else {
|
|
877
|
+
pacingEl.className = 'pacing ahead';
|
|
878
|
+
}
|
|
879
|
+
_displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide );
|
|
880
|
+
} );
|
|
881
|
+
} );
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
/**
|
|
887
|
+
* Sets up the speaker view layout and layout selector.
|
|
888
|
+
*/
|
|
889
|
+
function setupLayout() {
|
|
890
|
+
|
|
891
|
+
layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );
|
|
892
|
+
layoutLabel = document.querySelector( '.speaker-layout-label' );
|
|
893
|
+
|
|
894
|
+
// Render the list of available layouts
|
|
895
|
+
for( var id in SPEAKER_LAYOUTS ) {
|
|
896
|
+
var option = document.createElement( 'option' );
|
|
897
|
+
option.setAttribute( 'value', id );
|
|
898
|
+
option.textContent = SPEAKER_LAYOUTS[ id ];
|
|
899
|
+
layoutDropdown.appendChild( option );
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
// Monitor the dropdown for changes
|
|
903
|
+
layoutDropdown.addEventListener( 'change', function( event ) {
|
|
904
|
+
|
|
905
|
+
setLayout( layoutDropdown.value );
|
|
906
|
+
|
|
907
|
+
}, false );
|
|
908
|
+
|
|
909
|
+
// Restore any currently persisted layout
|
|
910
|
+
setLayout( getLayout() );
|
|
911
|
+
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
/**
|
|
915
|
+
* Sets a new speaker view layout. The layout is persisted
|
|
916
|
+
* in local storage.
|
|
917
|
+
*/
|
|
918
|
+
function setLayout( value ) {
|
|
919
|
+
|
|
920
|
+
var title = SPEAKER_LAYOUTS[ value ];
|
|
921
|
+
|
|
922
|
+
layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );
|
|
923
|
+
layoutDropdown.value = value;
|
|
924
|
+
|
|
925
|
+
document.body.setAttribute( 'data-speaker-layout', value );
|
|
926
|
+
|
|
927
|
+
// Persist locally
|
|
928
|
+
if( supportsLocalStorage() ) {
|
|
929
|
+
window.localStorage.setItem( 'reveal-speaker-layout', value );
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
/**
|
|
935
|
+
* Returns the ID of the most recently set speaker layout
|
|
936
|
+
* or our default layout if none has been set.
|
|
937
|
+
*/
|
|
938
|
+
function getLayout() {
|
|
939
|
+
|
|
940
|
+
if( supportsLocalStorage() ) {
|
|
941
|
+
var layout = window.localStorage.getItem( 'reveal-speaker-layout' );
|
|
942
|
+
if( layout ) {
|
|
943
|
+
return layout;
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
// Default to the first record in the layouts hash
|
|
948
|
+
for( var id in SPEAKER_LAYOUTS ) {
|
|
949
|
+
return id;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
function supportsLocalStorage() {
|
|
955
|
+
|
|
956
|
+
try {
|
|
957
|
+
localStorage.setItem('test', 'test');
|
|
958
|
+
localStorage.removeItem('test');
|
|
959
|
+
return true;
|
|
960
|
+
}
|
|
961
|
+
catch( e ) {
|
|
962
|
+
return false;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
function zeroPadInteger( num ) {
|
|
968
|
+
|
|
969
|
+
var str = '00' + parseInt( num );
|
|
970
|
+
return str.substring( str.length - 2 );
|
|
971
|
+
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
/**
|
|
975
|
+
* Limits the frequency at which a function can be called.
|
|
976
|
+
*/
|
|
977
|
+
function debounce( fn, ms ) {
|
|
978
|
+
|
|
979
|
+
var lastTime = 0,
|
|
980
|
+
timeout;
|
|
981
|
+
|
|
982
|
+
return function() {
|
|
983
|
+
|
|
984
|
+
var args = arguments;
|
|
985
|
+
var context = this;
|
|
986
|
+
|
|
987
|
+
clearTimeout( timeout );
|
|
988
|
+
|
|
989
|
+
var timeSinceLastCall = Date.now() - lastTime;
|
|
990
|
+
if( timeSinceLastCall > ms ) {
|
|
991
|
+
fn.apply( context, args );
|
|
992
|
+
lastTime = Date.now();
|
|
993
|
+
}
|
|
994
|
+
else {
|
|
995
|
+
timeout = setTimeout( function() {
|
|
996
|
+
fn.apply( context, args );
|
|
997
|
+
lastTime = Date.now();
|
|
998
|
+
}, ms - timeSinceLastCall );
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
})();
|
|
1006
|
+
|
|
1007
|
+
<\/script>
|
|
1008
|
+
</body>
|
|
1009
|
+
</html>`;function ei(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ze=ei();function fs(e){ze=e}var $e={exec:()=>null};function j(e,t=""){let i=typeof e=="string"?e:e.source,s={replace:(n,r)=>{let l=typeof r=="string"?r:r.source;return l=l.replace(ae.caret,"$1"),i=i.replace(n,l),s},getRegex:()=>new RegExp(i,t)};return s}var ba=(()=>{try{return!0}catch{return!1}})(),ae={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},ka=/^(?:[ \t]*(?:\n|$))+/,ya=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,wa=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ye=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,xa=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ti=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,vs=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,bs=j(vs).replace(/bull/g,ti).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(),Sa=j(vs).replace(/bull/g,ti).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(),ii=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Ea=/^[^\n]+/,si=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ra=j(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",si).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Aa=j(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ti).getRegex(),mt="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",ni=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ta=j("^ {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",ni).replace("tag",mt).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ks=j(ii).replace("hr",Ye).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",mt).getRegex(),ri={blockquote:j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ks).getRegex(),code:ya,def:Ra,fences:wa,heading:xa,hr:Ye,html:Ta,lheading:bs,list:Aa,newline:ka,paragraph:ks,table:$e,text:Ea},ys=j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ye).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",mt).getRegex(),Ca={...ri,lheading:Sa,table:ys,paragraph:j(ii).replace("hr",Ye).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ys).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",mt).getRegex()},La={...ri,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ni).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(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$e,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(ii).replace("hr",Ye).replace("heading",` *#{1,6} *[^
|
|
1010
|
+
]`).replace("lheading",bs).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Pa=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Ia=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ws=/^( {2,}|\\)\n(?!\s*$)/,Ma=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ft=/[\p{P}\p{S}]/u,ai=/[\s\p{P}\p{S}]/u,xs=/[^\s\p{P}\p{S}]/u,Na=j(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,ai).getRegex(),Ss=/(?!~)[\p{P}\p{S}]/u,za=/(?!~)[\s\p{P}\p{S}]/u,$a=/(?:[^\s\p{P}\p{S}]|~)/u,Es=/(?![*_])[\p{P}\p{S}]/u,Ba=/(?![*_])[\s\p{P}\p{S}]/u,Da=/(?:[^\s\p{P}\p{S}]|[*_])/u,Ha=j(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",ba?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Rs=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,_a=j(Rs,"u").replace(/punct/g,ft).getRegex(),qa=j(Rs,"u").replace(/punct/g,Ss).getRegex(),As="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ja=j(As,"gu").replace(/notPunctSpace/g,xs).replace(/punctSpace/g,ai).replace(/punct/g,ft).getRegex(),Oa=j(As,"gu").replace(/notPunctSpace/g,$a).replace(/punctSpace/g,za).replace(/punct/g,Ss).getRegex(),Fa=j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,xs).replace(/punctSpace/g,ai).replace(/punct/g,ft).getRegex(),Va=j(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Es).getRegex(),Ua=j("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,Da).replace(/punctSpace/g,Ba).replace(/punct/g,Es).getRegex(),Wa=j(/\\(punct)/,"gu").replace(/punct/g,ft).getRegex(),Ka=j(/^<(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(),Za=j(ni).replace("(?:-->|$)","-->").getRegex(),Qa=j("^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",Za).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),vt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Xa=j(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",vt).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ts=j(/^!?\[(label)\]\[(ref)\]/).replace("label",vt).replace("ref",si).getRegex(),Cs=j(/^!?\[(ref)\](?:\[\])?/).replace("ref",si).getRegex(),Ya=j("reflink|nolink(?!\\()","g").replace("reflink",Ts).replace("nolink",Cs).getRegex(),Ls=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,li={_backpedal:$e,anyPunctuation:Wa,autolink:Ka,blockSkip:Ha,br:ws,code:Ia,del:$e,delLDelim:$e,delRDelim:$e,emStrongLDelim:_a,emStrongRDelimAst:ja,emStrongRDelimUnd:Fa,escape:Pa,link:Xa,nolink:Cs,punctuation:Na,reflink:Ts,reflinkSearch:Ya,tag:Qa,text:Ma,url:$e},Ja={...li,link:j(/^!?\[(label)\]\((.*?)\)/).replace("label",vt).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",vt).getRegex()},oi={...li,emStrongRDelimAst:Oa,emStrongLDelim:qa,delLDelim:Va,delRDelim:Ua,url:j(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Ls).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:j(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Ls).getRegex()},Ga={...oi,br:j(ws).replace("{2,}","*").getRegex(),text:j(oi.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},bt={normal:ri,gfm:Ca,pedantic:La},Je={normal:li,gfm:oi,breaks:Ga,pedantic:Ja},el={"&":"&","<":"<",">":">",'"':""","'":"'"},Ps=e=>el[e];function fe(e,t){if(t){if(ae.escapeTest.test(e))return e.replace(ae.escapeReplace,Ps)}else if(ae.escapeTestNoEncode.test(e))return e.replace(ae.escapeReplaceNoEncode,Ps);return e}function Is(e){try{e=encodeURI(e).replace(ae.percentDecode,"%")}catch{return null}return e}function Ms(e,t){var n;let i=e.replace(ae.findPipe,(r,l,a)=>{let c=!1,o=l;for(;--o>=0&&a[o]==="\\";)c=!c;return c?"|":" |"}).split(ae.splitPipe),s=0;if(i[0].trim()||i.shift(),i.length>0&&!((n=i.at(-1))!=null&&n.trim())&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length<t;)i.push("");for(;s<i.length;s++)i[s]=i[s].trim().replace(ae.slashPipe,"|");return i}function Ge(e,t,i){let s=e.length;if(s===0)return"";let n=0;for(;n<s&&e.charAt(s-n-1)===t;)n++;return e.slice(0,s-n)}function tl(e,t){if(e.indexOf(t[1])===-1)return-1;let i=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])i++;else if(e[s]===t[1]&&(i--,i<0))return s;return i>0?-2:-1}function il(e,t=0){let i=t,s="";for(let n of e)if(n===" "){let r=4-i%4;s+=" ".repeat(r),i+=r}else s+=n,i++;return s}function Ns(e,t,i,s,n){let r=t.href,l=t.title||null,a=e[1].replace(n.other.outputLinkReplace,"$1");s.state.inLink=!0;let c={type:e[0].charAt(0)==="!"?"image":"link",raw:i,href:r,title:l,text:a,tokens:s.inlineTokens(a)};return s.state.inLink=!1,c}function sl(e,t,i){let s=e.match(i.other.indentCodeCompensation);if(s===null)return t;let n=s[1];return t.split(`
|
|
1011
|
+
`).map(r=>{let l=r.match(i.other.beginningSpace);if(l===null)return r;let[a]=l;return a.length>=n.length?r.slice(n.length):r}).join(`
|
|
1012
|
+
`)}var kt=class{constructor(e){I(this,"options");I(this,"rules");I(this,"lexer");this.options=e||ze}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Ge(i,`
|
|
1013
|
+
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],s=sl(i,t[3]||"",this.rules);return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(this.rules.other.endingHash.test(i)){let s=Ge(i,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(i=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Ge(t[0],`
|
|
1014
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=Ge(t[0],`
|
|
1015
|
+
`).split(`
|
|
1016
|
+
`),s="",n="",r=[];for(;i.length>0;){let l=!1,a=[],c;for(c=0;c<i.length;c++)if(this.rules.other.blockquoteStart.test(i[c]))a.push(i[c]),l=!0;else if(!l)a.push(i[c]);else break;i=i.slice(c);let o=a.join(`
|
|
1017
|
+
`),u=o.replace(this.rules.other.blockquoteSetextReplace,`
|
|
1018
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");s=s?`${s}
|
|
1019
|
+
${o}`:o,n=n?`${n}
|
|
1020
|
+
${u}`:u;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,r,!0),this.lexer.state.top=h,i.length===0)break;let g=r.at(-1);if((g==null?void 0:g.type)==="code")break;if((g==null?void 0:g.type)==="blockquote"){let p=g,d=p.raw+`
|
|
1021
|
+
`+i.join(`
|
|
1022
|
+
`),b=this.blockquote(d);r[r.length-1]=b,s=s.substring(0,s.length-p.raw.length)+b.raw,n=n.substring(0,n.length-p.text.length)+b.text;break}else if((g==null?void 0:g.type)==="list"){let p=g,d=p.raw+`
|
|
1023
|
+
`+i.join(`
|
|
1024
|
+
`),b=this.list(d);r[r.length-1]=b,s=s.substring(0,s.length-g.raw.length)+b.raw,n=n.substring(0,n.length-p.raw.length)+b.raw,i=d.substring(r.at(-1).raw.length).split(`
|
|
1025
|
+
`);continue}}return{type:"blockquote",raw:s,tokens:r,text:n}}}list(e){var i,s;let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,l={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let a=this.rules.other.listItemRegex(n),c=!1;for(;e;){let u=!1,h="",g="";if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let p=il(t[2].split(`
|
|
1026
|
+
`,1)[0],t[1].length),d=e.split(`
|
|
1027
|
+
`,1)[0],b=!p.trim(),y=0;if(this.options.pedantic?(y=2,g=p.trimStart()):b?y=t[1].length+1:(y=p.search(this.rules.other.nonSpaceChar),y=y>4?1:y,g=p.slice(y),y+=t[1].length),b&&this.rules.other.blankLine.test(d)&&(h+=d+`
|
|
1028
|
+
`,e=e.substring(d.length+1),u=!0),!u){let z=this.rules.other.nextBulletRegex(y),D=this.rules.other.hrRegex(y),L=this.rules.other.fencesBeginRegex(y),A=this.rules.other.headingBeginRegex(y),S=this.rules.other.htmlBeginRegex(y),P=this.rules.other.blockquoteBeginRegex(y);for(;e;){let $=e.split(`
|
|
1029
|
+
`,1)[0],_;if(d=$,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),_=d):_=d.replace(this.rules.other.tabCharGlobal," "),L.test(d)||A.test(d)||S.test(d)||P.test(d)||z.test(d)||D.test(d))break;if(_.search(this.rules.other.nonSpaceChar)>=y||!d.trim())g+=`
|
|
1030
|
+
`+_.slice(y);else{if(b||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||L.test(p)||A.test(p)||D.test(p))break;g+=`
|
|
1031
|
+
`+d}b=!d.trim(),h+=$+`
|
|
1032
|
+
`,e=e.substring($.length+1),p=_.slice(y)}}l.loose||(c?l.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(c=!0)),l.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),l.raw+=h}let o=l.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;l.raw=l.raw.trimEnd();for(let u of l.items){if(this.lexer.state.top=!1,u.tokens=this.lexer.blockTokens(u.text,[]),u.task){if(u.text=u.text.replace(this.rules.other.listReplaceTask,""),((i=u.tokens[0])==null?void 0:i.type)==="text"||((s=u.tokens[0])==null?void 0:s.type)==="paragraph"){u.tokens[0].raw=u.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),u.tokens[0].text=u.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}}let h=this.rules.other.listTaskCheckbox.exec(u.raw);if(h){let g={type:"checkbox",raw:h[0]+" ",checked:h[0]!=="[ ]"};u.checked=g.checked,l.loose?u.tokens[0]&&["paragraph","text"].includes(u.tokens[0].type)&&"tokens"in u.tokens[0]&&u.tokens[0].tokens?(u.tokens[0].raw=g.raw+u.tokens[0].raw,u.tokens[0].text=g.raw+u.tokens[0].text,u.tokens[0].tokens.unshift(g)):u.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):u.tokens.unshift(g)}}if(!l.loose){let h=u.tokens.filter(g=>g.type==="space");l.loose=h.length>0&&h.some(g=>this.rules.other.anyLine.test(g.raw))}}if(l.loose)for(let u of l.items){u.loose=!0;for(let h of u.tokens)h.type==="text"&&(h.type="paragraph")}return l}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let i=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:s,title:n}}}table(e){var l;let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let i=Ms(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(l=t[3])!=null&&l.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
1033
|
+
`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===s.length){for(let a of s)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<i.length;a++)r.header.push({text:i[a],tokens:this.lexer.inline(i[a]),header:!0,align:r.align[a]});for(let a of n)r.rows.push(Ms(a,r.header.length).map((c,o)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[o]})));return r}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===`
|
|
1034
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(i)){if(!this.rules.other.endAngleBracket.test(i))return;let r=Ge(i.slice(0,-1),"\\");if((i.length-r.length)%2==0)return}else{let r=tl(t[2],"()");if(r===-2)return;if(r>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let s=t[2],n="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],n=r[3])}else n=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(s=this.options.pedantic&&!this.rules.other.endAngleBracket.test(i)?s.slice(1):s.slice(1,-1)),Ns(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let s=t[(i[2]||i[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!s){let n=i[0].charAt(0);return{type:"text",raw:n,text:n}}return Ns(i,s,i[0],this.lexer,this.rules)}}emStrong(e,t,i=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!(!s||s[3]&&i.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[2])||!i||this.rules.inline.punctuation.exec(i))){let n=[...s[0]].length-1,r,l,a=n,c=0,o=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);(s=o.exec(t))!=null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r)continue;if(l=[...r].length,s[3]||s[4]){a+=l;continue}else if((s[5]||s[6])&&n%3&&!((n+l)%3)){c+=l;continue}if(a-=l,a>0)continue;l=Math.min(l,l+a+c);let u=[...s[0]][0].length,h=e.slice(0,n+s.index+u+l);if(Math.min(n,l)%2){let p=h.slice(1,-1);return{type:"em",raw:h,text:p,tokens:this.lexer.inlineTokens(p)}}let g=h.slice(2,-2);return{type:"strong",raw:h,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(i),n=this.rules.other.startingSpaceChar.test(i)&&this.rules.other.endingSpaceChar.test(i);return s&&n&&(i=i.substring(1,i.length-1)),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,i=""){let s=this.rules.inline.delLDelim.exec(e);if(s&&(!s[1]||!i||this.rules.inline.punctuation.exec(i))){let n=[...s[0]].length-1,r,l,a=n,c=this.rules.inline.delRDelim;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(s=c.exec(t))!=null;){if(r=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!r||(l=[...r].length,l!==n))continue;if(s[3]||s[4]){a+=l;continue}if(a-=l,a>0)continue;l=Math.min(l,l+a);let o=[...s[0]][0].length,u=e.slice(0,n+s.index+o+l),h=u.slice(n,-n);return{type:"del",raw:u,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,s;return t[2]==="@"?(i=t[1],s="mailto:"+i):(i=t[1],s=i),{type:"link",raw:t[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}url(e){var i;let t;if(t=this.rules.inline.url.exec(e)){let s,n;if(t[2]==="@")s=t[0],n="mailto:"+s;else{let r;do r=t[0],t[0]=((i=this.rules.inline._backpedal.exec(t[0]))==null?void 0:i[0])??"";while(r!==t[0]);s=t[0],n=t[1]==="www."?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:i}}}},ue=class Ii{constructor(t){I(this,"tokens");I(this,"options");I(this,"state");I(this,"inlineQueue");I(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||ze,this.options.tokenizer=this.options.tokenizer||new kt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let i={other:ae,block:bt.normal,inline:Je.normal};this.options.pedantic?(i.block=bt.pedantic,i.inline=Je.pedantic):this.options.gfm&&(i.block=bt.gfm,this.options.breaks?i.inline=Je.breaks:i.inline=Je.gfm),this.tokenizer.rules=i}static get rules(){return{block:bt,inline:Je}}static lex(t,i){return new Ii(i).lex(t)}static lexInline(t,i){return new Ii(i).inlineTokens(t)}lex(t){t=t.replace(ae.carriageReturn,`
|
|
1035
|
+
`),this.blockTokens(t,this.tokens);for(let i=0;i<this.inlineQueue.length;i++){let s=this.inlineQueue[i];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[],s=!1){var n,r,l;for(this.options.pedantic&&(t=t.replace(ae.tabCharGlobal," ").replace(ae.spaceLine,""));t;){let a;if((r=(n=this.options.extensions)==null?void 0:n.block)!=null&&r.some(o=>(a=o.call({lexer:this},t,i))?(t=t.substring(a.raw.length),i.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let o=i.at(-1);a.raw.length===1&&o!==void 0?o.raw+=`
|
|
1036
|
+
`:i.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="paragraph"||(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1037
|
+
`)?"":`
|
|
1038
|
+
`)+a.raw,o.text+=`
|
|
1039
|
+
`+a.text,this.inlineQueue.at(-1).src=o.text):i.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="paragraph"||(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1040
|
+
`)?"":`
|
|
1041
|
+
`)+a.raw,o.text+=`
|
|
1042
|
+
`+a.raw,this.inlineQueue.at(-1).src=o.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},i.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),i.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),i.push(a);continue}let c=t;if((l=this.options.extensions)!=null&&l.startBlock){let o=1/0,u=t.slice(1),h;this.options.extensions.startBlock.forEach(g=>{h=g.call({lexer:this},u),typeof h=="number"&&h>=0&&(o=Math.min(o,h))}),o<1/0&&o>=0&&(c=t.substring(0,o+1))}if(this.state.top&&(a=this.tokenizer.paragraph(c))){let o=i.at(-1);s&&(o==null?void 0:o.type)==="paragraph"?(o.raw+=(o.raw.endsWith(`
|
|
1043
|
+
`)?"":`
|
|
1044
|
+
`)+a.raw,o.text+=`
|
|
1045
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):i.push(a),s=c.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let o=i.at(-1);(o==null?void 0:o.type)==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1046
|
+
`)?"":`
|
|
1047
|
+
`)+a.raw,o.text+=`
|
|
1048
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):i.push(a);continue}if(t){let o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw Error(o)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){var c,o,u,h,g;let s=t,n=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)p.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,n.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)r=n[2]?n[2].length:0,s=s.slice(0,n.index+r)+"["+"a".repeat(n[0].length-r-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=((o=(c=this.options.hooks)==null?void 0:c.emStrongMask)==null?void 0:o.call({lexer:this},s))??s;let l=!1,a="";for(;t;){l||(a=""),l=!1;let p;if((h=(u=this.options.extensions)==null?void 0:u.inline)!=null&&h.some(b=>(p=b.call({lexer:this},t,i))?(t=t.substring(p.raw.length),i.push(p),!0):!1))continue;if(p=this.tokenizer.escape(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.tag(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.link(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(p.raw.length);let b=i.at(-1);p.type==="text"&&(b==null?void 0:b.type)==="text"?(b.raw+=p.raw,b.text+=p.text):i.push(p);continue}if(p=this.tokenizer.emStrong(t,s,a)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.codespan(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.br(t)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.del(t,s,a)){t=t.substring(p.raw.length),i.push(p);continue}if(p=this.tokenizer.autolink(t)){t=t.substring(p.raw.length),i.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(t))){t=t.substring(p.raw.length),i.push(p);continue}let d=t;if((g=this.options.extensions)!=null&&g.startInline){let b=1/0,y=t.slice(1),z;this.options.extensions.startInline.forEach(D=>{z=D.call({lexer:this},y),typeof z=="number"&&z>=0&&(b=Math.min(b,z))}),b<1/0&&b>=0&&(d=t.substring(0,b+1))}if(p=this.tokenizer.inlineText(d)){t=t.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(a=p.raw.slice(-1)),l=!0;let b=i.at(-1);(b==null?void 0:b.type)==="text"?(b.raw+=p.raw,b.text+=p.text):i.push(p);continue}if(t){let b="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(b);break}else throw Error(b)}}return i}},yt=class{constructor(e){I(this,"options");I(this,"parser");this.options=e||ze}space(e){return""}code({text:e,lang:t,escaped:i}){var r;let s=(r=(t||"").match(ae.notSpaceStart))==null?void 0:r[0],n=e.replace(ae.endingNewline,"")+`
|
|
1049
|
+
`;return s?'<pre><code class="language-'+fe(s)+'">'+(i?n:fe(n,!0))+`</code></pre>
|
|
1050
|
+
`:"<pre><code>"+(i?n:fe(n,!0))+`</code></pre>
|
|
1051
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
1052
|
+
${this.parser.parse(e)}</blockquote>
|
|
1053
|
+
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
1054
|
+
`}hr(e){return`<hr>
|
|
1055
|
+
`}list(e){let t=e.ordered,i=e.start,s="";for(let l=0;l<e.items.length;l++){let a=e.items[l];s+=this.listitem(a)}let n=t?"ol":"ul",r=t&&i!==1?' start="'+i+'"':"";return"<"+n+r+`>
|
|
1056
|
+
`+s+"</"+n+`>
|
|
1057
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
1058
|
+
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
1059
|
+
`}table(e){let t="",i="";for(let n=0;n<e.header.length;n++)i+=this.tablecell(e.header[n]);t+=this.tablerow({text:i});let s="";for(let n=0;n<e.rows.length;n++){let r=e.rows[n];i="";for(let l=0;l<r.length;l++)i+=this.tablecell(r[l]);s+=this.tablerow({text:i})}return s&&(s=`<tbody>${s}</tbody>`),`<table>
|
|
1060
|
+
<thead>
|
|
1061
|
+
`+t+`</thead>
|
|
1062
|
+
`+s+`</table>
|
|
1063
|
+
`}tablerow({text:e}){return`<tr>
|
|
1064
|
+
${e}</tr>
|
|
1065
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
|
|
1066
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${fe(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){let s=this.parser.parseInline(i),n=Is(e);if(n===null)return s;e=n;let r='<a href="'+e+'"';return t&&(r+=' title="'+fe(t)+'"'),r+=">"+s+"</a>",r}image({href:e,title:t,text:i,tokens:s}){s&&(i=this.parser.parseInline(s,this.parser.textRenderer));let n=Is(e);if(n===null)return fe(i);e=n;let r=`<img src="${e}" alt="${fe(i)}"`;return t&&(r+=` title="${fe(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:fe(e.text)}},ci=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},he=class Mi{constructor(t){I(this,"options");I(this,"renderer");I(this,"textRenderer");this.options=t||ze,this.options.renderer=this.options.renderer||new yt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ci}static parse(t,i){return new Mi(i).parse(t)}static parseInline(t,i){return new Mi(i).parseInline(t)}parse(t){var s,n;let i="";for(let r=0;r<t.length;r++){let l=t[r];if((n=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&n[l.type]){let c=l,o=this.options.extensions.renderers[c.type].call({parser:this},c);if(o!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){i+=o||"";continue}}let a=l;switch(a.type){case"space":i+=this.renderer.space(a);break;case"hr":i+=this.renderer.hr(a);break;case"heading":i+=this.renderer.heading(a);break;case"code":i+=this.renderer.code(a);break;case"table":i+=this.renderer.table(a);break;case"blockquote":i+=this.renderer.blockquote(a);break;case"list":i+=this.renderer.list(a);break;case"checkbox":i+=this.renderer.checkbox(a);break;case"html":i+=this.renderer.html(a);break;case"def":i+=this.renderer.def(a);break;case"paragraph":i+=this.renderer.paragraph(a);break;case"text":i+=this.renderer.text(a);break;default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw Error(c)}}}return i}parseInline(t,i=this.renderer){var n,r;let s="";for(let l=0;l<t.length;l++){let a=t[l];if((r=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&r[a.type]){let o=this.options.extensions.renderers[a.type].call({parser:this},a);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=o||"";continue}}let c=a;switch(c.type){case"escape":s+=i.text(c);break;case"html":s+=i.html(c);break;case"link":s+=i.link(c);break;case"image":s+=i.image(c);break;case"checkbox":s+=i.checkbox(c);break;case"strong":s+=i.strong(c);break;case"em":s+=i.em(c);break;case"codespan":s+=i.codespan(c);break;case"br":s+=i.br(c);break;case"del":s+=i.del(c);break;case"text":s+=i.text(c);break;default:{let o='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw Error(o)}}}return s}},et=(xt=class{constructor(e){I(this,"options");I(this,"block");this.options=e||ze}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?ue.lex:ue.lexInline}provideParser(){return this.block?he.parse:he.parseInline}},I(xt,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),I(xt,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xt),Be=new class{constructor(...e){I(this,"defaults",ei());I(this,"options",this.setOptions);I(this,"parse",this.parseMarkdown(!0));I(this,"parseInline",this.parseMarkdown(!1));I(this,"Parser",he);I(this,"Renderer",yt);I(this,"TextRenderer",ci);I(this,"Lexer",ue);I(this,"Tokenizer",kt);I(this,"Hooks",et);this.use(...e)}walkTokens(e,t){var s,n;let i=[];for(let r of e)switch(i=i.concat(t.call(this,r)),r.type){case"table":{let l=r;for(let a of l.header)i=i.concat(this.walkTokens(a.tokens,t));for(let a of l.rows)for(let c of a)i=i.concat(this.walkTokens(c.tokens,t));break}case"list":{let l=r;i=i.concat(this.walkTokens(l.items,t));break}default:{let l=r;(n=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&n[l.type]?this.defaults.extensions.childTokens[l.type].forEach(a=>{let c=l[a].flat(1/0);i=i.concat(this.walkTokens(c,t))}):l.tokens&&(i=i.concat(this.walkTokens(l.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let s={...i};if(s.async=this.defaults.async||s.async||!1,i.extensions&&(i.extensions.forEach(n=>{if(!n.name)throw Error("extension name required");if("renderer"in n){let r=t.renderers[n.name];r?t.renderers[n.name]=function(...l){let a=n.renderer.apply(this,l);return a===!1&&(a=r.apply(this,l)),a}:t.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let r=t[n.level];r?r.unshift(n.tokenizer):t[n.level]=[n.tokenizer],n.start&&(n.level==="block"?t.startBlock?t.startBlock.push(n.start):t.startBlock=[n.start]:n.level==="inline"&&(t.startInline?t.startInline.push(n.start):t.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(t.childTokens[n.name]=n.childTokens)}),s.extensions=t),i.renderer){let n=this.defaults.renderer||new yt(this.defaults);for(let r in i.renderer){if(!(r in n))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let l=r,a=i.renderer[l],c=n[l];n[l]=(...o)=>{let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u||""}}s.renderer=n}if(i.tokenizer){let n=this.defaults.tokenizer||new kt(this.defaults);for(let r in i.tokenizer){if(!(r in n))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let l=r,a=i.tokenizer[l],c=n[l];n[l]=(...o)=>{let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u}}s.tokenizer=n}if(i.hooks){let n=this.defaults.hooks||new et;for(let r in i.hooks){if(!(r in n))throw Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let l=r,a=i.hooks[l],c=n[l];et.passThroughHooks.has(r)?n[l]=o=>{if(this.defaults.async&&et.passThroughHooksRespectAsync.has(r))return(async()=>{let h=await a.call(n,o);return c.call(n,h)})();let u=a.call(n,o);return c.call(n,u)}:n[l]=(...o)=>{if(this.defaults.async)return(async()=>{let h=await a.apply(n,o);return h===!1&&(h=await c.apply(n,o)),h})();let u=a.apply(n,o);return u===!1&&(u=c.apply(n,o)),u}}s.hooks=n}if(i.walkTokens){let n=this.defaults.walkTokens,r=i.walkTokens;s.walkTokens=function(l){let a=[];return a.push(r.call(this,l)),n&&(a=a.concat(n.call(this,l))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ue.lex(e,t??this.defaults)}parser(e,t){return he.parse(e,t??this.defaults)}parseMarkdown(e){return(t,i)=>{let s={...i},n={...this.defaults,...s},r=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&s.async===!1)return r(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return r(Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return r(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=e),n.async)return(async()=>{let l=n.hooks?await n.hooks.preprocess(t):t,a=await(n.hooks?await n.hooks.provideLexer():e?ue.lex:ue.lexInline)(l,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let o=await(n.hooks?await n.hooks.provideParser():e?he.parse:he.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(o):o})().catch(r);try{n.hooks&&(t=n.hooks.preprocess(t));let l=(n.hooks?n.hooks.provideLexer():e?ue.lex:ue.lexInline)(t,n);n.hooks&&(l=n.hooks.processAllTokens(l)),n.walkTokens&&this.walkTokens(l,n.walkTokens);let a=(n.hooks?n.hooks.provideParser():e?he.parse:he.parseInline)(l,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(l){return r(l)}}}onError(e,t){return i=>{if(i.message+=`
|
|
1067
|
+
Please report this to https://github.com/markedjs/marked.`,e){let s="<p>An error occurred:</p><pre>"+fe(i.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(i);throw i}}};function F(e,t){return Be.parse(e,t)}F.options=F.setOptions=function(e){return Be.setOptions(e),F.defaults=Be.defaults,fs(F.defaults),F},F.getDefaults=ei,F.defaults=ze,F.use=function(...e){return Be.use(...e),F.defaults=Be.defaults,fs(F.defaults),F},F.walkTokens=function(e,t){return Be.walkTokens(e,t)},F.parseInline=Be.parseInline,F.Parser=he,F.parser=he.parse,F.Renderer=yt,F.TextRenderer=ci,F.Lexer=ue,F.lexer=ue.lex,F.Tokenizer=kt,F.Hooks=et,F.parse=F,F.options,F.setOptions,F.use,F.walkTokens,F.parseInline,he.parse,ue.lex;var nl=()=>{let e,t=null,i;function s(){if(t&&!t.closed)t.focus();else{if(t=window.open("about:blank","reveal.js - Notes","width=1100,height=700"),t.marked=F,t.document.write(va),!t){alert("Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.");return}r()}}function n(h){t&&!t.closed?t.focus():(t=h,window.addEventListener("message",o),u())}function r(){let h=i.getConfig().url,g=typeof h=="string"?h:window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search;e=setInterval(function(){t.postMessage(JSON.stringify({namespace:"reveal-notes",type:"connect",state:i.getState(),url:g}),"*")},500),window.addEventListener("message",o)}function l(h,g,p){let d=i[h].apply(i,g);t.postMessage(JSON.stringify({namespace:"reveal-notes",type:"return",result:d,callId:p}),"*")}function a(h){let g=i.getCurrentSlide(),p=g.querySelectorAll("aside.notes"),d=g.querySelector(".current-fragment"),b={namespace:"reveal-notes",type:"state",notes:"",markdown:!1,whitespace:"normal",state:i.getState()};if(g.hasAttribute("data-notes")&&(b.notes=g.getAttribute("data-notes"),b.whitespace="pre-wrap"),d){let y=d.querySelector("aside.notes");y?(b.notes=y.innerHTML,b.markdown=typeof y.getAttribute("data-markdown")=="string",p=null):d.hasAttribute("data-notes")&&(b.notes=d.getAttribute("data-notes"),b.whitespace="pre-wrap",p=null)}p&&p.length&&(p=Array.from(p).filter(y=>y.closest(".fragment")===null),b.notes=p.map(y=>y.innerHTML).join(`
|
|
1068
|
+
`),b.markdown=p[0]&&typeof p[0].getAttribute("data-markdown")=="string"),t.postMessage(JSON.stringify(b),"*")}function c(h){try{return window.location.origin===h.source.location.origin}catch{return!1}}function o(h){if(c(h))try{let g=JSON.parse(h.data);g&&g.namespace==="reveal-notes"&&g.type==="connected"?(clearInterval(e),u()):g&&g.namespace==="reveal-notes"&&g.type==="call"&&l(g.methodName,g.arguments,g.callId)}catch{}}function u(){i.on("slidechanged",a),i.on("fragmentshown",a),i.on("fragmenthidden",a),i.on("overviewhidden",a),i.on("overviewshown",a),i.on("paused",a),i.on("resumed",a),i.on("previewiframe",a),i.on("previewimage",a),i.on("previewvideo",a),i.on("closeoverlay",a),a()}return{id:"notes",init:function(h){i=h,/receiver/i.test(window.location.search)||(window.location.search.match(/(\?|\&)notes/gi)===null?window.addEventListener("message",g=>{if(!t&&typeof g.data=="string"){let p;try{p=JSON.parse(g.data)}catch{}p&&p.namespace==="reveal-notes"&&p.type==="heartbeat"&&n(g.source)}}):s(),i.addKeyBinding({keyCode:83,key:"S",description:"Speaker notes view"},function(){s()}))},open:s}},tt=Ei(),zs=16/9;function rl(e){let t=e.getSlidesElement();if(t)for(let i of t.querySelectorAll("section.stack[data-previous-indexv]"))i.removeAttribute("data-previous-indexv")}var al=new Set([" ","Spacebar","ArrowRight","ArrowDown","PageDown"]),ll=new Set(["ArrowLeft","ArrowUp","PageUp"]);function ol(e){return al.has(e.key)?1:ll.has(e.key)?-1:0}function cl(e){let t=(0,tt.c)(4),i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i={width:960,height:540},t[0]=i):i=t[0];let[s,n]=(0,T.useState)(i),r,l;return t[1]===e?(r=t[2],l=t[3]):(r=()=>{let a=e.current;if(!a)return;let c=new ResizeObserver(o=>{let{width:u,height:h}=o[0].contentRect;if(u<=0||h<=0)return;let g=Math.min(u,h*zs),p=g/zs;n({width:Math.round(g),height:Math.round(p)})});return c.observe(a),()=>c.disconnect()},l=[e],t[1]=e,t[2]=r,t[3]=l),(0,T.useEffect)(r,l),s}function dl(e){var t;(t=e==null?void 0:e.getCurrentSlide())!=null&&t.querySelector(".vega-embed, marimo-vega")&&requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}var $s=e=>{let t=(0,tt.c)(6),{text:i}=e,s,n;if(t[0]!==i){let l=i.split(`
|
|
1069
|
+
`);s="notes",n=l.map((a,c)=>{let o=c===l.length-1;return a==="---"?(0,x.jsx)("hr",{},c):(0,x.jsxs)(T.Fragment,{children:[a,!o&&(0,x.jsx)("br",{})]},c)}),t[0]=i,t[1]=s,t[2]=n}else s=t[1],n=t[2];let r;return t[3]!==s||t[4]!==n?(r=(0,x.jsx)("aside",{className:s,children:n}),t[3]=s,t[4]=n,t[5]=r):r=t[5],r};Ti=function(e){var r;let{cells:t,cellId:i,showCodeOverrides:s,codeToggleEnabled:n}=e;return i==null||!n?!1:(((r=t.get(i))==null?void 0:r.showCode)??!1)||s.has(i)},Ai=function(e){var r;let{cell:t,noOutputIds:i,heldEditCellId:s,slideConfigs:n}=e;return i.has(t.id)||t.id===s?"skip":((r=n.get(t.id))==null?void 0:r.type)??"slide"},Ci=function(e){var $;let t=(0,tt.c)(15),{activeCell:i,slideConfigs:s,noOutputIds:n}=e,r=(i==null?void 0:i.id)??null,l;t[0]!==i||t[1]!==n?(l=i!=null&&n.has(i.id),t[0]=i,t[1]=n,t[2]=l):l=t[2];let a=l,c=i!=null&&(($=s.get(i.id))==null?void 0:$.type)==="skip"||a,o;t[3]===r?o=t[4]:(o={activeCellId:r,cellId:null},t[3]=r,t[4]=o);let[u,h]=(0,T.useState)(o),g=u.cellId;u.activeCellId===r?a&&g!==r&&(g=r,h({activeCellId:r,cellId:g})):(g=a?r:null,h({activeCellId:r,cellId:g}));let p=!c&&r!=null&&g===r,d=p?g:null,b;t[5]===d?b=t[6]:(b={cellId:d,show:!0},t[5]=d,t[6]=b);let[y,z]=(0,T.useState)(b),D=y.show;y.cellId!==d&&(D=!0,z({cellId:d,show:!0}));let L;t[7]===Symbol.for("react.memo_cache_sentinel")?(L=()=>z(ul),t[7]=L):L=t[7];let A=be(L),S=c||p?i??null:null,P;return t[8]!==d||t[9]!==D||t[10]!==p||t[11]!==a||t[12]!==S||t[13]!==A?(P={parkedPreviewCell:S,isHeldEdit:p,isNoOutputPreview:a,heldEditCellId:d,heldShowsCode:D,toggleHeldShowsCode:A},t[8]=d,t[9]=D,t[10]=p,t[11]=a,t[12]=S,t[13]=A,t[14]=P):P=t[14],P};function ul(e){return{...e,show:!e.show}}var Bs=e=>{let t=(0,tt.c)(24),{subslide:i,resolveShowCode:s,isEditable:n,slideConfigs:r}=e,l,a,c,o,u,h;if(t[0]!==n||t[1]!==s||t[2]!==r||t[3]!==i){let{slideLevel:y,cumulativeByBlock:z}=fa(i,r);a=y;let D=i.blocks.some(L=>L.cells.some(A=>s(A.id)));l=vr,h="h-full w-full overflow-auto flex",c=D?"mo-slide-content flex flex-col gap-3":"mo-slide-content",t[10]===Symbol.for("react.memo_cache_sentinel")?(o={margin:"auto 20px"},t[10]=o):o=t[10],u=i.blocks.map((L,A)=>{let S=L.cells.map(P=>s(P.id)?n?(0,x.jsx)(gs,{cell:P},P.id):(0,x.jsx)(ms,{cell:P},P.id):(0,x.jsx)($t,{cellId:P.id,status:P.status,output:P.output},P.id));if(L.isFragment){let P=z.get(A);return(0,x.jsxs)(na,{as:"div",children:[S,P&&(0,x.jsx)($s,{text:P})]},A)}return(0,x.jsx)(T.Fragment,{children:S},A)}),t[0]=n,t[1]=s,t[2]=r,t[3]=i,t[4]=l,t[5]=a,t[6]=c,t[7]=o,t[8]=u,t[9]=h}else l=t[4],a=t[5],c=t[6],o=t[7],u=t[8],h=t[9];let g;t[11]!==c||t[12]!==o||t[13]!==u?(g=(0,x.jsx)("div",{className:c,style:o,children:u}),t[11]=c,t[12]=o,t[13]=u,t[14]=g):g=t[14];let p;t[15]!==h||t[16]!==g?(p=(0,x.jsx)("div",{className:h,children:g}),t[15]=h,t[16]=g,t[17]=p):p=t[17];let d;t[18]===a?d=t[19]:(d=a&&(0,x.jsx)($s,{text:a}),t[18]=a,t[19]=d);let b;return t[20]!==l||t[21]!==p||t[22]!==d?(b=(0,x.jsxs)(l,{children:[p,d]}),t[20]=l,t[21]=p,t[22]=d,t[23]=b):b=t[23],b};Bt=function(e){let{isNoOutputPreview:t,isEditable:i,showCode:s}=e;return t&&i||s};let Ds;Ds=e=>{let t=(0,tt.c)(7),{cell:i,isNoOutputPreview:s,isEditable:n,showCode:r}=e;if(Bt({isNoOutputPreview:s,isEditable:n,showCode:r})){let a;return t[0]!==i||t[1]!==n?(a=n?(0,x.jsx)(gs,{cell:i}):(0,x.jsx)(ms,{cell:i}),t[0]=i,t[1]=n,t[2]=a):a=t[2],a}let l;return t[3]!==i.id||t[4]!==i.output||t[5]!==i.status?(l=(0,x.jsx)($t,{cellId:i.id,status:i.status,output:i.output}),t[3]=i.id,t[4]=i.output,t[5]=i.status,t[6]=l):l=t[6],l},yn=({slideCells:e,layout:t,setLayout:i,noOutputIds:s,activeIndex:n,onSlideChange:r,mode:l,configWidth:a,isEditable:c=!1})=>{var He,st;let o=(0,T.useRef)(null),u=(0,T.useRef)(null),{width:h,height:g}=cl(o),p=Ul()!=null,d=Si(Dl),b=(0,T.useMemo)(()=>d?[]:[nl],[d]),[y,z]=(0,T.useState)(()=>new Set),D=Xl(e),L=!Ol()&&D,A=n==null?void 0:e[n],S=A??e.at(0),{parkedPreviewCell:P,isHeldEdit:$,isNoOutputPreview:_,heldEditCellId:O,heldShowsCode:M,toggleHeldShowsCode:J}=Ci({activeCell:A,slideConfigs:t.cells,noOutputIds:s}),B=H=>Ti({cells:t.cells,cellId:H,showCodeOverrides:y,codeToggleEnabled:L}),v=(A==null?void 0:A.id)??(S==null?void 0:S.id),R=$?M:B(v),N=L&&v!=null&&(((He=t.cells.get(v))==null?void 0:He.showCode)??!1),W=(0,T.useMemo)(()=>ra({cells:e,getType:H=>Ai({cell:H,noOutputIds:s,heldEditCellId:O,slideConfigs:t.cells})}),[e,s,t.cells,O]),{cellToTarget:te,targetToCellIndex:se}=(0,T.useMemo)(()=>aa({composition:W,cells:e,getId:H=>H.id}),[W,e]),K=((st=t.deck)==null?void 0:st.transition)??"slide",Z=(0,T.useMemo)(()=>{let H=new URL(window.location.href);return H.searchParams.set("kiosk","true"),H.searchParams.set("show-chrome","false"),H.toString()},[]),pe=(0,T.useMemo)(()=>({embedded:!0,width:h,height:g,center:!1,minScale:.2,maxScale:2,transition:K,keyboardCondition:H=>!Ri.fromInput(H),url:Z}),[h,g,K,Z]),De=be(H=>{let Q=oa({activeIndex:n,cells:e,cellToTarget:te,getId:Ve=>Ve.id}),ie=Q&&ca(H.getIndices(),Q);ie&&(H.slide(ie.h,ie.v,ie.f),rl(H))});(0,T.useEffect)(()=>{let H=u.current;H!=null&&De(H)},[n,te,e,De]);let le=be(()=>{if(!(v==null||N)){if($){J();return}(0,T.startTransition)(()=>z(H=>{let Q=new Set(H);return Q.has(v)?Q.delete(v):Q.add(v),Q}))}}),di=be(H=>{var ie;De(H),L&&H.addKeyBinding({keyCode:67,key:"C",description:"Toggle code editor"},le);let Q=(ie=H.getSlidesElement())==null?void 0:ie.closest(".reveal");Q instanceof HTMLElement&&(Q.tabIndex=-1,Q.focus({preventScroll:!0}))}),it=be(()=>{if(P!=null)return;let H=u.current;if(!H)return;let Q=la(se,H.getIndices());Q!=null&&(r==null||r(Q))}),ui=be(H=>{if(!P||n==null||Ri.fromInput(H))return;let Q=ol(H);if(Q===0)return;H.preventDefault(),H.stopPropagation();let ie=n+Q;ie<0||ie>=e.length||(r==null||r(ie))}),hi=be(()=>{it(),dl(u.current)});ql(document,"keydown",ui,{capture:!0});let Oe=$?null:_?"Hidden as there is no output":"Skipped in presentation",St=$?M:B(P==null?void 0:P.id),pi=Bt({isNoOutputPreview:_,isEditable:c,showCode:St}),Fe=(0,x.jsx)("div",{ref:o,className:"h-full w-full min-w-0 flex items-center justify-center overflow-hidden",children:(0,x.jsxs)("div",{className:"group relative",style:{width:h,height:g},children:[(0,x.jsx)(pr,{deckRef:u,className:"aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-none focus-visible:outline-none",config:pe,onReady:di,onSlideChange:hi,onFragmentShown:it,onFragmentHidden:it,plugins:b,children:W.stacks.map((H,Q)=>H.subslides.length===1?(0,x.jsx)(Bs,{subslide:H.subslides[0],resolveShowCode:B,isEditable:c,slideConfigs:t.cells},Q):(0,x.jsx)(br,{children:H.subslides.map((ie,Ve)=>(0,x.jsx)(Bs,{subslide:ie,resolveShowCode:B,isEditable:c,slideConfigs:t.cells},Ve))},Q))}),P&&(0,x.jsxs)("div",{className:"absolute inset-0 z-10 border rounded bg-background flex flex-col overflow-hidden","aria-label":Oe??void 0,children:[Oe&&(0,x.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 text-xs text-muted-foreground border-b bg-muted/40",children:[(0,x.jsx)(to,{className:"h-3.5 w-3.5"}),(0,x.jsx)("span",{children:Oe})]}),(0,x.jsx)("div",{className:"flex-1 overflow-auto flex",children:(0,x.jsx)("div",{className:pi?"mo-slide-content flex flex-col gap-3":"mo-slide-content",style:{margin:"auto 20px"},children:(0,x.jsx)(Ds,{cell:P,isNoOutputPreview:_,isEditable:c,showCode:St})})})]},P.id),(0,x.jsxs)("div",{className:"absolute top-2 right-2 z-20 opacity-0 group-hover:opacity-70 text-muted-foreground transition-opacity",children:[L&&(0,x.jsx)(vn,{content:N?"Code is always shown for this slide":R?"Hide code (C)":"Show code (C)",children:(0,x.jsx)(bn,{"data-testid":"marimo-plugin-slides-toggle-code",variant:"ghost",size:"icon",className:zt("text-muted-foreground h-7 w-7",R&&"text-foreground bg-muted",N&&"opacity-50 cursor-not-allowed"),"aria-pressed":R,"aria-disabled":N,"aria-label":N?"Code always shown":R?"Hide code":"Show code",onClick:le,children:(0,x.jsx)(Ql,{className:"h-4 w-4"})})}),(0,x.jsx)(vn,{content:"Fullscreen (F)",children:(0,x.jsx)(bn,{"data-testid":"marimo-plugin-slides-fullscreen",variant:"ghost",size:"icon",className:"text-muted-foreground h-7 w-7","aria-label":"Enter fullscreen",onClick:()=>{var H,Q;(Q=(H=u.current)==null?void 0:H.getViewportElement())==null||Q.requestFullscreen().catch(ie=>{_l.error("Failed to request fullscreen",ie)})},children:(0,x.jsx)(Wl,{className:"h-4 w-4"})})})]})]})});return l==="read"?(0,x.jsx)("div",{className:"flex-1 min-w-0 flex flex-row gap-3",children:Fe}):(0,x.jsxs)("div",{className:"flex-1 min-w-0 flex flex-row gap-3",children:[(0,x.jsxs)(mo,{direction:"vertical",autoSaveId:"marimo:slides:notes-panel",className:"flex-1 min-w-0",children:[(0,x.jsx)(kn,{defaultSize:92,minSize:60,children:Fe}),(0,x.jsx)(fo,{className:"mo-slides-notes-resize",hitAreaMargins:{coarse:12,fine:4},disabled:p}),(0,x.jsx)(kn,{defaultSize:10,minSize:4,collapsible:!0,collapsedSize:4,children:(0,x.jsx)(ha,{layout:t,setLayout:i,cellId:S==null?void 0:S.id})})]}),(0,x.jsx)(Yl,{configWidth:a,layout:t,setLayout:i,activeConfigCell:S})]})}});export{bo as __tla,Ai as deckSlideType,yn as default,Bt as parkedRendersSource,Ti as shouldShowCode,Ci as useParkedPreview};
|