@marimo-team/frontend 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/assets/ConnectedDataExplorerComponent-2wVcyvDj.js +19 -0
  2. package/dist/assets/{ImageComparisonComponent-fTHv1Ih0.js → ImageComparisonComponent-D2j6i0hv.js} +1 -1
  3. package/dist/assets/{VegaLite-Bdi-TyfY.js → VegaLite-BckFaf2D.js} +1 -1
  4. package/dist/assets/_baseEach-CvTX9w0Y.js +1 -0
  5. package/dist/assets/_baseMap-CtlwA90f.js +1 -0
  6. package/dist/assets/_baseUniq-BKktIGQ1.js +1 -0
  7. package/dist/assets/{_createAggregator-DcD0kTA5.js → _createAggregator-C5CVY-0t.js} +1 -1
  8. package/dist/assets/{agent-panel-Crv430aI.js → agent-panel-RGLNjkYe.js} +76 -57
  9. package/dist/assets/{any-language-editor-CQh552Wu.js → any-language-editor-DjuXwGCA.js} +1 -1
  10. package/dist/assets/{architectureDiagram-W76B3OCA-BAJeBxzt.js → architectureDiagram-W76B3OCA-Dyj4ds_R.js} +1 -1
  11. package/dist/assets/{between-horizontal-start-Boxgxbt_.js → between-horizontal-start-Dt2aKpPf.js} +1 -1
  12. package/dist/assets/{blockDiagram-QIGZ2CNN-CL-1svEK.js → blockDiagram-QIGZ2CNN-o-i7DDvN.js} +1 -1
  13. package/dist/assets/{c4Diagram-FPNF74CW-BbEqbCTl.js → c4Diagram-FPNF74CW-DGHEwWrx.js} +1 -1
  14. package/dist/assets/channel-Co6iMgWq.js +1 -0
  15. package/dist/assets/chat-panel-9alr8FS4.js +3 -0
  16. package/dist/assets/{chunk-4BX2VUAB-C--8TXeE.js → chunk-4BX2VUAB-BJecb-Ri.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-Bj00HDqq.js → chunk-55IACEB6-CAATkc4w.js} +1 -1
  18. package/dist/assets/{chunk-FMBD7UC4-C-lhB6hN.js → chunk-FMBD7UC4-DPuNbQ-f.js} +1 -1
  19. package/dist/assets/{chunk-K7UQS3LO-B-pGTXPt.js → chunk-K7UQS3LO-C8TWVLiH.js} +1 -1
  20. package/dist/assets/{chunk-QN33PNHL-DqUzGhvm.js → chunk-QN33PNHL-DiZZ09q4.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-TntJHfSk.js → chunk-QZHKN3VN-BIUM7usu.js} +1 -1
  22. package/dist/assets/{chunk-TVAH2DTR-HUJb1psV.js → chunk-TVAH2DTR-vGTArPBG.js} +1 -1
  23. package/dist/assets/{chunk-TZMSLE5B-BK3C__t3.js → chunk-TZMSLE5B-D2KRqp_x.js} +1 -1
  24. package/dist/assets/{circle-play-DBLOv1Yu.js → circle-play-cjeNez0N.js} +1 -1
  25. package/dist/assets/classDiagram-KNZD7YFC-BbJ0rY3y.js +1 -0
  26. package/dist/assets/classDiagram-v2-RKCZMP56-BbJ0rY3y.js +1 -0
  27. package/dist/assets/{clear-button-BeoFbEKH.js → clear-button-C97JtAez.js} +1 -1
  28. package/dist/assets/clone-BMP0PsTa.js +1 -0
  29. package/dist/assets/{command-palette-CXZiSv0I.js → command-palette-B93Pjcky.js} +1 -1
  30. package/dist/assets/{common-C7oJcmCT.js → common-Du9rSOwD.js} +1 -1
  31. package/dist/assets/{compile-7L0MwhyI.js → compile-CZXqyOxa.js} +1 -1
  32. package/dist/assets/{cose-bilkent-S5V4N54A-BMkGLcVC.js → cose-bilkent-S5V4N54A-CqUN5Y9b.js} +1 -1
  33. package/dist/assets/{dagre-5GWH7T2D-BJtRienS.js → dagre-5GWH7T2D-RJqTI9DM.js} +1 -1
  34. package/dist/assets/{data-grid-overlay-editor-DBkmGtNs.js → data-grid-overlay-editor-DZN0q1LV.js} +1 -1
  35. package/dist/assets/datasources-panel-v7H3cR0p.js +1 -0
  36. package/dist/assets/{dependency-graph-panel-DEdOxp2X.js → dependency-graph-panel-CEog_O7V.js} +1 -1
  37. package/dist/assets/{diagram-N5W7TBWH-CmECY3nb.js → diagram-N5W7TBWH-D-l4zZ9d.js} +1 -1
  38. package/dist/assets/{diagram-QEK2KX5R-DMOVSNKD.js → diagram-QEK2KX5R-CCOmBUt-.js} +1 -1
  39. package/dist/assets/{diagram-S2PKOQOG-BiJ96PNQ.js → diagram-S2PKOQOG-C_I_9jnZ.js} +1 -1
  40. package/dist/assets/{documentation-panel-xULhaEv3.js → documentation-panel-C1BtMZ3M.js} +1 -1
  41. package/dist/assets/edit-page-B-oevUZ9.js +129 -0
  42. package/dist/assets/{ellipsis-vertical-BBqXIlc2.js → ellipsis-vertical-BEb-J8z6.js} +1 -1
  43. package/dist/assets/{empty-state-B3dA3G5P.js → empty-state-C99UyDE3.js} +1 -1
  44. package/dist/assets/{erDiagram-AWTI2OKA-MP1DiFRo.js → erDiagram-AWTI2OKA-BePOLi5M.js} +1 -1
  45. package/dist/assets/{error-panel-Cc1sv-Ag.js → error-panel-Bs34jXFh.js} +1 -1
  46. package/dist/assets/file-explorer-panel-Ck6UL861.js +1 -0
  47. package/dist/assets/{flowDiagram-PVAE7QVJ-BX7caPp7.js → flowDiagram-PVAE7QVJ-BgjFu5l7.js} +1 -1
  48. package/dist/assets/{ganttDiagram-OWAHRB6G-B462g4Yf.js → ganttDiagram-OWAHRB6G-YOPb3XSV.js} +4 -4
  49. package/dist/assets/{gitGraphDiagram-NY62KEGX-CGgvZ9-9.js → gitGraphDiagram-NY62KEGX-CGhqaDTy.js} +1 -1
  50. package/dist/assets/{glide-data-editor-C0gUFZON.js → glide-data-editor-9QUH6iso.js} +11 -11
  51. package/dist/assets/{graph-CHRVBzY5.js → graph-DQQFGrho.js} +1 -1
  52. package/dist/assets/home-page-DRKpPCrF.js +9 -0
  53. package/dist/assets/{index-C1v_Z9et.js → index-2252nrk6.js} +1 -1
  54. package/dist/assets/{index-CQDrxQ0j.js → index-Aeo6WiK7.js} +1 -1
  55. package/dist/assets/{index-C4Tn5NvJ.js → index-B8jXZ12t.js} +1 -1
  56. package/dist/assets/{index-DoRmcrKM.js → index-BAbIIxHU.js} +1 -1
  57. package/dist/assets/{index-BY93Ejhl.js → index-BJNCMUmG.js} +1 -1
  58. package/dist/assets/{index-CpTPJo4k.js → index-BW3k9Gss.js} +1 -1
  59. package/dist/assets/{index-D1vmG6DS.js → index-BjgnbONl.js} +1 -1
  60. package/dist/assets/{index-z9bohSQJ.js → index-BprjMYH5.js} +1 -1
  61. package/dist/assets/{index-BVgAenPd.js → index-C1ez98sk.js} +1 -1
  62. package/dist/assets/{index-D9UKkrr2.js → index-C2MD0vgD.js} +1 -1
  63. package/dist/assets/index-C7CoaNFb.js +578 -0
  64. package/dist/assets/{index-C-GhZ7ti.js → index-CFKO7WXI.js} +1 -1
  65. package/dist/assets/{index-lYa_leQE.js → index-CUFv_thQ.js} +1 -1
  66. package/dist/assets/{index-vmICa5KN.js → index-C_tkBKNO.js} +1 -1
  67. package/dist/assets/{index-C77h_TXN.js → index-CfaDbEdi.js} +1 -1
  68. package/dist/assets/{index-DEQvTChO.js → index-ClzeQrN7.js} +1 -1
  69. package/dist/assets/index-DadI618h.css +1 -0
  70. package/dist/assets/{index-DRMm6SNo.js → index-DdnKZNxM.js} +1 -1
  71. package/dist/assets/{index-CWMgowgL.js → index-G5QZppK2.js} +1 -1
  72. package/dist/assets/{index-Clbi_Yaq.js → index-SGLNXrGP.js} +1 -1
  73. package/dist/assets/{index-C-8WADat.js → index-aE43R74q.js} +1 -1
  74. package/dist/assets/infoDiagram-STP46IZ2-CJLOpSAf.js +2 -0
  75. package/dist/assets/{isEmpty-DU_ogP_D.js → isEmpty-D-4c7sMv.js} +1 -1
  76. package/dist/assets/{journeyDiagram-BIP6EPQ6-C6EgLP_Q.js → journeyDiagram-BIP6EPQ6-C94u3Mv3.js} +1 -1
  77. package/dist/assets/{kanban-definition-6OIFK2YF-BXzYO1yj.js → kanban-definition-6OIFK2YF-BEXYFzz7.js} +1 -1
  78. package/dist/assets/{layout-jihVw5-i.js → layout-Bz2BJ2ru.js} +1 -1
  79. package/dist/assets/{linear-C4blANlC.js → linear-D8s7K76e.js} +1 -1
  80. package/dist/assets/links-BpXlz1GG.js +7 -0
  81. package/dist/assets/{logs-panel-D401qzZh.js → logs-panel-DC7wpmPz.js} +1 -1
  82. package/dist/assets/{markdown-renderer-Cd9eYyaL.js → markdown-renderer-DRdSWR9X.js} +20 -20
  83. package/dist/assets/{mermaid-BEVuRz_O.js → mermaid-Y3x4hmD0.js} +1 -1
  84. package/dist/assets/{mermaid.core-CaSnaLH0.js → mermaid.core-DzthE35Y.js} +4 -4
  85. package/dist/assets/min-BBO3-1Hg.js +1 -0
  86. package/dist/assets/{mindmap-definition-Q6HEUPPD-BXUM5MT2.js → mindmap-definition-Q6HEUPPD-DktvuLe1.js} +1 -1
  87. package/dist/assets/{number-overlay-editor-4uWXGlPG.js → number-overlay-editor-BEfwI1IT.js} +1 -1
  88. package/dist/assets/outline-panel-CdsnAy2w.js +1 -0
  89. package/dist/assets/{packages-panel-CJL0MVlj.js → packages-panel-DiTA-d_D.js} +1 -1
  90. package/dist/assets/{pieDiagram-ADFJNKIX-Dxt5PVNo.js → pieDiagram-ADFJNKIX-DQDNQ-de.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-LMRXKWRM-D4pUaA31.js → quadrantDiagram-LMRXKWRM-0kgIXc2-.js} +1 -1
  92. package/dist/assets/{react-plotly-cJZ0VWBq.js → react-plotly-DJqqfM7c.js} +1 -1
  93. package/dist/assets/{requirementDiagram-4UW4RH46-DVRTjgas.js → requirementDiagram-4UW4RH46-B5rb0ypd.js} +1 -1
  94. package/dist/assets/{run-page-BUEnMC9w.js → run-page-CFmLrv1R.js} +1 -1
  95. package/dist/assets/{sankeyDiagram-GR3RE2ED-CVFnD9C-.js → sankeyDiagram-GR3RE2ED-Dom7IlnF.js} +1 -1
  96. package/dist/assets/{scratchpad-panel-BIgRENkI.js → scratchpad-panel-CuHWpHO8.js} +1 -1
  97. package/dist/assets/{secrets-panel-xY5-V_BD.js → secrets-panel-CfHc5YD0.js} +1 -1
  98. package/dist/assets/{sequenceDiagram-C3RYC4MD-_lY4ZN_S.js → sequenceDiagram-C3RYC4MD-PNJWXQbw.js} +1 -1
  99. package/dist/assets/{slides-component-DMjQomc3.css → slides-component-C-LoGC1U.css} +1 -1
  100. package/dist/assets/{slides-component-Xjymwj7X.js → slides-component-CJgaTRZ0.js} +1 -1
  101. package/dist/assets/snippets-panel-B2EC1txM.js +1 -0
  102. package/dist/assets/sortBy-DZnlX29-.js +1 -0
  103. package/dist/assets/{state-C4NiC9tO.js → state-CWict9RU.js} +1 -1
  104. package/dist/assets/{stateDiagram-KXAO66HF-Da0JQWCn.js → stateDiagram-KXAO66HF-BE58aJnr.js} +1 -1
  105. package/dist/assets/stateDiagram-v2-UMBNRL4Z-CdThjimL.js +1 -0
  106. package/dist/assets/storage-DRaR04wR.js +26 -0
  107. package/dist/assets/{terminal-BPwTkXae.js → terminal-BX3Su5q7.js} +1 -1
  108. package/dist/assets/{time-Dv5_Ouz_.js → time-hUzZfpNE.js} +1 -1
  109. package/dist/assets/{timeline-definition-XQNQX7LJ-Dxh5Zu2e.js → timeline-definition-XQNQX7LJ-CqQP9t51.js} +1 -1
  110. package/dist/assets/tracing-B10Q1n-L.js +2 -0
  111. package/dist/assets/{tracing-panel-DAzrzNmm.js → tracing-panel-Du8WCnno.js} +2 -2
  112. package/dist/assets/{trash-Dc6DSjz_.js → trash-B81GTiv6.js} +1 -1
  113. package/dist/assets/{tree-jheoerAX.js → tree-6vW2ogkh.js} +1 -1
  114. package/dist/assets/{treemap-75Q7IDZK-IgpxeGaf.js → treemap-75Q7IDZK-CdwDwwsz.js} +27 -27
  115. package/dist/assets/variable-panel-D5qgJI7k.js +1 -0
  116. package/dist/assets/{vega-component-BpfpiPKI.js → vega-component-DJaJWMJM.js} +1 -1
  117. package/dist/assets/worker-fHbtoWvT.js +1 -0
  118. package/dist/assets/{xychartDiagram-6GGTOJPD-CmNigJ31.js → xychartDiagram-6GGTOJPD-WFtXqaM9.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +3 -2
  121. package/src/components/app-config/user-config-form.tsx +46 -1
  122. package/src/components/chat/acp/__tests__/__snapshots__/prompt.test.ts.snap +62 -43
  123. package/src/components/chat/acp/__tests__/atoms.test.ts +1 -1
  124. package/src/components/chat/acp/__tests__/state.test.ts +36 -36
  125. package/src/components/chat/acp/agent-panel.tsx +24 -27
  126. package/src/components/chat/acp/blocks.tsx +6 -6
  127. package/src/components/chat/acp/prompt.ts +62 -43
  128. package/src/components/chat/chat-panel.tsx +5 -1
  129. package/src/components/chat/markdown-renderer.tsx +6 -10
  130. package/src/components/chat/tool-call-accordion.tsx +52 -20
  131. package/src/components/data-table/SearchBar.tsx +8 -7
  132. package/src/components/data-table/__tests__/column_formatting.test.ts +50 -35
  133. package/src/components/data-table/__tests__/data-table.test.tsx +39 -1
  134. package/src/components/data-table/cell-hover-template/feature.ts +14 -0
  135. package/src/components/data-table/cell-hover-template/types.ts +11 -0
  136. package/src/components/data-table/charts/components/form-fields.tsx +41 -37
  137. package/src/components/data-table/charts/forms/common-chart.tsx +2 -2
  138. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +5 -2
  139. package/src/components/data-table/column-formatting/feature.ts +62 -29
  140. package/src/components/data-table/column-formatting/types.ts +1 -0
  141. package/src/components/data-table/column-header.tsx +3 -1
  142. package/src/components/data-table/column-summary/chart-spec-model.tsx +24 -7
  143. package/src/components/data-table/column-summary/column-summary.tsx +18 -9
  144. package/src/components/data-table/columns.tsx +42 -18
  145. package/src/components/data-table/data-table.tsx +10 -2
  146. package/src/components/data-table/date-popover.tsx +85 -75
  147. package/src/components/data-table/filter-pills.tsx +14 -9
  148. package/src/components/data-table/header-items.tsx +5 -1
  149. package/src/components/data-table/pagination.tsx +20 -13
  150. package/src/components/data-table/renderers.tsx +28 -0
  151. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +10 -8
  152. package/src/components/datasources/column-preview.tsx +6 -2
  153. package/src/components/datasources/datasources.tsx +8 -12
  154. package/src/components/editor/ai/transport/chat-transport.tsx +4 -1
  155. package/src/components/editor/cell/CellStatus.tsx +23 -20
  156. package/src/components/editor/cell/CreateCellButton.tsx +3 -4
  157. package/src/components/editor/cell/code/language-toggle.tsx +3 -4
  158. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +39 -28
  159. package/src/components/editor/controls/notebook-menu-dropdown.tsx +4 -2
  160. package/src/components/editor/file-tree/requesting-tree.tsx +14 -8
  161. package/src/components/editor/renderers/CellArray.tsx +3 -4
  162. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +3 -3
  163. package/src/components/editor/renderers/slides-layout/types.ts +1 -0
  164. package/src/components/pages/home-page.tsx +4 -1
  165. package/src/components/slides/slides-component.tsx +1 -1
  166. package/src/components/slides/slides.css +6 -0
  167. package/src/components/terminal/theme.tsx +1 -0
  168. package/src/components/tracing/tracing-spec.ts +5 -4
  169. package/src/components/ui/range-slider.tsx +4 -2
  170. package/src/components/ui/slider.tsx +3 -1
  171. package/src/components/variables/variables-table.tsx +3 -0
  172. package/src/core/MarimoApp.tsx +9 -6
  173. package/src/core/ai/context/__tests__/registry.test.ts +6 -4
  174. package/src/core/ai/context/providers/cell-output.ts +3 -2
  175. package/src/core/ai/context/providers/error.ts +3 -1
  176. package/src/core/ai/context/providers/file.ts +7 -2
  177. package/src/core/ai/context/providers/tables.ts +3 -2
  178. package/src/core/ai/context/providers/variable.ts +6 -4
  179. package/src/core/ai/staged-cells.ts +34 -1
  180. package/src/core/cells/__tests__/add-missing-import.test.ts +67 -22
  181. package/src/core/cells/add-missing-import.ts +24 -7
  182. package/src/core/cells/cells.ts +26 -27
  183. package/src/core/cells/logs.ts +1 -1
  184. package/src/core/codemirror/find-replace/search-highlight.ts +3 -1
  185. package/src/core/codemirror/language/LanguageAdapters.ts +9 -3
  186. package/src/core/codemirror/lsp/notebook-lsp.ts +8 -2
  187. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  188. package/src/core/codemirror/rtc/loro/awareness.ts +52 -17
  189. package/src/core/codemirror/rtc/loro/sync.ts +12 -4
  190. package/src/core/config/config-schema.ts +1 -0
  191. package/src/core/config/config.ts +4 -0
  192. package/src/core/hotkeys/hotkeys.ts +8 -4
  193. package/src/core/i18n/__tests__/locale-provider.test.tsx +176 -0
  194. package/src/core/i18n/locale-provider.tsx +35 -0
  195. package/src/core/i18n/with-locale.tsx +12 -0
  196. package/src/core/islands/components/web-components.tsx +13 -10
  197. package/src/core/kernel/RuntimeState.ts +4 -1
  198. package/src/core/kernel/messages.ts +2 -2
  199. package/src/core/network/DeferredRequestRegistry.ts +16 -4
  200. package/src/core/runtime/runtime.ts +5 -4
  201. package/src/core/wasm/bridge.ts +5 -1
  202. package/src/core/wasm/store.ts +4 -1
  203. package/src/core/wasm/worker/message-buffer.ts +3 -2
  204. package/src/core/websocket/types.ts +22 -16
  205. package/src/hooks/useFormatting.ts +97 -0
  206. package/src/hooks/useTimer.ts +8 -5
  207. package/src/plugins/core/registerReactComponent.tsx +16 -10
  208. package/src/plugins/impl/DataTablePlugin.tsx +4 -0
  209. package/src/plugins/impl/RangeSliderPlugin.tsx +5 -3
  210. package/src/plugins/impl/SliderPlugin.tsx +3 -1
  211. package/src/plugins/impl/anywidget/model.ts +16 -5
  212. package/src/plugins/impl/data-editor/types.ts +7 -5
  213. package/src/plugins/impl/data-explorer/components/column-summary.tsx +20 -13
  214. package/src/plugins/impl/panel/utils.ts +6 -4
  215. package/src/plugins/layout/OutlinePlugin.tsx +69 -0
  216. package/src/plugins/layout/StatPlugin.tsx +4 -1
  217. package/src/plugins/plugins.ts +2 -0
  218. package/src/utils/__tests__/dates.test.ts +45 -24
  219. package/src/utils/__tests__/numbers.test.ts +42 -30
  220. package/src/utils/__tests__/once.test.ts +187 -0
  221. package/src/utils/dates.ts +15 -10
  222. package/src/utils/edit-distance.ts +8 -6
  223. package/src/utils/errors.ts +1 -1
  224. package/src/utils/id-tree.tsx +21 -10
  225. package/src/utils/localStorage.ts +13 -4
  226. package/src/utils/numbers.ts +11 -11
  227. package/src/utils/once.ts +32 -0
  228. package/src/utils/paths.ts +4 -1
  229. package/src/utils/pluralize.ts +12 -5
  230. package/src/utils/python-poet/poet.ts +30 -15
  231. package/src/utils/time.ts +5 -1
  232. package/dist/assets/ConnectedDataExplorerComponent-BErMbWvG.js +0 -19
  233. package/dist/assets/_baseEach-CNBxBxvS.js +0 -1
  234. package/dist/assets/_baseMap-D1WHjKrd.js +0 -1
  235. package/dist/assets/_baseUniq-CCgDNtZb.js +0 -1
  236. package/dist/assets/channel-_2eNSz0n.js +0 -1
  237. package/dist/assets/chat-panel-CXh5Wl6C.js +0 -3
  238. package/dist/assets/classDiagram-KNZD7YFC-BGmh9POF.js +0 -1
  239. package/dist/assets/classDiagram-v2-RKCZMP56-BGmh9POF.js +0 -1
  240. package/dist/assets/clone-BFDSPAj3.js +0 -1
  241. package/dist/assets/datasources-panel-B7FbYLiy.js +0 -1
  242. package/dist/assets/edit-page-BrYda9VE.js +0 -129
  243. package/dist/assets/file-explorer-panel-Bw59Kva1.js +0 -1
  244. package/dist/assets/home-page-Fb2osjys.js +0 -9
  245. package/dist/assets/index-Cx0bsY1w.css +0 -1
  246. package/dist/assets/index-DKEudB02.js +0 -578
  247. package/dist/assets/infoDiagram-STP46IZ2-CVyrdLc8.js +0 -2
  248. package/dist/assets/links-D59GIweI.js +0 -7
  249. package/dist/assets/min-DUMu_zeK.js +0 -1
  250. package/dist/assets/outline-panel-DIzkvm2I.js +0 -1
  251. package/dist/assets/snippets-panel-CTPYW41n.js +0 -1
  252. package/dist/assets/sortBy-BNZKwiq_.js +0 -1
  253. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5lYZOOt.js +0 -1
  254. package/dist/assets/storage-CMdLzB_c.js +0 -26
  255. package/dist/assets/tracing-BCIurUfa.js +0 -2
  256. package/dist/assets/variable-panel-DYAiLBmF.js +0 -1
  257. package/dist/assets/worker-X5rxzQGQ.js +0 -1
@@ -1 +0,0 @@
1
- const e=1e3;function t(e,t){const n=e.map(e=>`"${e}"`).join(", ");return new Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function n(n={}){let r={};function s(e){r=e}let a,i={};function o(e){i.unregisterHandler&&i.unregisterHandler(),i=e,i.registerHandler?.(k)}function d(e){a="function"!=typeof e?(t,n)=>{const r=e[t];if(r)return r(n);const s=e._;if(!s)throw new Error(`The requested method has no handler: ${t}`);return s(t,n)}:e}const{maxRequestTime:c=e}=n;n.transport&&o(n.transport),n.requestHandler&&d(n.requestHandler),n._debugHooks&&s(n._debugHooks);let u=0;const l=new Map,p=new Map;function h(e,...n){const s=n[0];return new Promise((n,a)=>{if(!i.send)throw t(["send"],"make requests");const o=u<=1e10?++u:u=0,d={type:"request",id:o,method:e,params:s};l.set(o,{resolve:n,reject:a}),c!==1/0&&p.set(o,setTimeout(()=>{p.delete(o),a(new Error("RPC request timed out."))},c)),r.onSend?.(d),i.send(d)})}const m=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),f=m;function y(e,...n){const s=n[0];if(!i.send)throw t(["send"],"send messages");const a={type:"message",id:e,payload:s};r.onSend?.(a),i.send(a)}const g=new Proxy(y,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>y(t,e)}),_=g,v=new Map,w=new Set;async function k(e){if(r.onReceive?.(e),!("type"in e))throw new Error("Message does not contain a type.");if("request"===e.type){if(!i.send||!a)throw t(["send","requestHandler"],"handle requests");const{id:s,method:o,params:d}=e;let c;try{c={type:"response",id:s,success:!0,payload:await a(o,d)}}catch(n){if(!(n instanceof Error))throw n;c={type:"response",id:s,success:!1,error:n.message}}return r.onSend?.(c),void i.send(c)}if("response"===e.type){const t=p.get(e.id);null!=t&&clearTimeout(t);const{resolve:n,reject:r}=l.get(e.id)??{};return void(e.success?n?.(e.payload):r?.(new Error(e.error)))}if("message"===e.type){for(const n of w)n(e.id,e.payload);const t=v.get(e.id);if(!t)return;for(const n of t)n(e.payload);return}throw new Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:o,setRequestHandler:d,request:m,requestProxy:f,send:g,sendProxy:_,addMessageListener:function(e,n){if(!i.registerHandler)throw t(["registerHandler"],"register message listeners");"*"!==e?(v.has(e)||v.set(e,new Set),v.get(e)?.add(n)):w.add(n)},removeMessageListener:function(e,t){"*"!==e?(v.get(e)?.delete(t),0===v.get(e)?.size&&v.delete(e)):w.delete(t)},proxy:{send:_,request:f},_setDebugHooks:s}}const r="[transport-id]";function s(e,t={}){const{transportId:n,filter:s,remotePort:a}=t,i=e,o=a??e;let d;return{send(e){o.postMessage(function(e,t){const{transportId:n}=t;return null!=n?{[r]:n,data:e}:e}(e,{transportId:n}))},registerHandler(e){d=t=>{const a=t.data,[i,o]=function(e,t){const{transportId:n,filter:s}=t,a=s?.();if(null!=n&&null!=a)throw new Error("Cannot use both `transportId` and `filter` at the same time");let i=e;if(n){if(e[r]!==n)return[!0];i=e.data}return!1===a?[!0]:[!1,i]}(a,{transportId:n,filter:()=>s?.(t)});i||e(o)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}const a=()=>{},i=(e,t)=>{const n=`[${e}]`;return{debug:(...e)=>console.debug(n,...e),log:(...e)=>t.log(n,...e),warn:(...e)=>t.warn(n,...e),error:(...e)=>t.error(n,...e),trace:(...e)=>t.trace(n,...e),get:n=>i(`${e}:${n}`,t),disabled:(e=!0)=>e?d:t}},o={debug:(...e)=>{console.debug(...e)},log:(...e)=>{console.log(...e)},warn:(...e)=>{console.warn(...e)},error:(...e)=>{console.error(...e)},trace:(...e)=>{console.trace(...e)},get:e=>i(`marimo:${e}`,o),disabled:(e=!0)=>e?d:o},d={debug:()=>a,log:()=>a,warn:()=>a,error:()=>a,trace:()=>a,get:()=>d,disabled:()=>d};const c="undefined"!=typeof window&&window.Logger||o,u=e=>(new TextDecoder).decode(e);var l,p;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(l||(l={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(p||(p={}));const h=l.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),m=e=>{switch(typeof e){case"undefined":return h.undefined;case"string":return h.string;case"number":return Number.isNaN(e)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":return Array.isArray(e)?h.array:null===e?h.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?h.promise:"undefined"!=typeof Map&&e instanceof Map?h.map:"undefined"!=typeof Set&&e instanceof Set?h.set:"undefined"!=typeof Date&&e instanceof Date?h.date:h.object;default:return h.unknown}},f=l.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class y extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(const s of e.issues)if("invalid_union"===s.code)s.unionErrors.map(r);else if("invalid_return_type"===s.code)r(s.returnTypeError);else if("invalid_arguments"===s.code)r(s.argumentsError);else if(0===s.path.length)n._errors.push(t(s));else{let e=n,r=0;for(;r<s.path.length;){const n=s.path[r];r===s.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(s))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(e){if(!(e instanceof y))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,l.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},n=[];for(const r of this.issues)if(r.path.length>0){const n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}y.create=e=>new y(e);const g=(e,t)=>{let n;switch(e.code){case f.invalid_type:n=e.received===h.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case f.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,l.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:n=`Unrecognized key(s) in object: ${l.joinValues(e.keys,", ")}`;break;case f.invalid_union:n="Invalid input";break;case f.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${l.joinValues(e.options)}`;break;case f.invalid_enum_value:n=`Invalid enum value. Expected ${l.joinValues(e.options)}, received '${e.received}'`;break;case f.invalid_arguments:n="Invalid function arguments";break;case f.invalid_return_type:n="Invalid function return type";break;case f.invalid_date:n="Invalid date";break;case f.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:l.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case f.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case f.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case f.custom:n="Invalid input";break;case f.invalid_intersection_types:n="Intersection results could not be merged";break;case f.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case f.not_finite:n="Number must be finite";break;default:n=t.defaultError,l.assertNever(e)}return{message:n}};let _=g;function v(e,t){const n=_,r=(e=>{const{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(void 0!==s.message)return{...s,path:a,message:s.message};let o="";const d=r.filter(e=>!!e).slice().reverse();for(const c of d)o=c(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}})({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===g?void 0:g].filter(e=>!!e)});e.common.issues.push(r)}class w{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const r of t){if("aborted"===r.status)return k;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const r of t){const e=await r.key,t=await r.value;n.push({key:e,value:t})}return w.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const r of t){const{key:t,value:s}=r;if("aborted"===t.status)return k;if("aborted"===s.status)return k;"dirty"===t.status&&e.dirty(),"dirty"===s.status&&e.dirty(),"__proto__"===t.value||void 0===s.value&&!r.alwaysSet||(n[t.value]=s.value)}return{status:e.value,value:n}}}const k=Object.freeze({status:"aborted"}),b=e=>({status:"dirty",value:e}),x=e=>({status:"valid",value:e}),S=e=>"aborted"===e.status,O=e=>"dirty"===e.status,T=e=>"valid"===e.status,E=e=>"undefined"!=typeof Promise&&e instanceof Promise;var N;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:e?.message}(N||(N={}));class P{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const j=(e,t)=>{if(T(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new y(e.common.issues);return this._error=t,this._error}}};function A(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:s};return{errorMap:(t,s)=>{const{message:a}=e;return"invalid_enum_value"===t.code?{message:a??s.defaultError}:void 0===s.data?{message:a??r??s.defaultError}:"invalid_type"!==t.code?{message:s.defaultError}:{message:a??n??s.defaultError}},description:s}}class C{get description(){return this._def.description}_getType(e){return m(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:m(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new w,ctx:{common:e.parent.common,data:e.data,parsedType:m(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(E(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){const n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:m(e)},r=this._parseSync({data:e,path:n.path,parent:n});return j(n,r)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:m(e)};if(!this["~standard"].async)try{const n=this._parseSync({data:e,path:[],parent:t});return T(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>T(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:m(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(E(r)?r:Promise.resolve(r));return j(n,s)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{const s=e(t),a=()=>r.addIssue({code:f.custom,...n(t)});return"undefined"!=typeof Promise&&s instanceof Promise?s.then(e=>!!e||(a(),!1)):!!s||(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1))}_refinement(e){return new je({schema:this,typeName:Me.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Ae.create(this,this._def)}nullable(){return Ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return fe.create(this)}promise(){return Pe.create(this,this._def)}or(e){return _e.create([this,e],this._def)}and(e){return we.create(this,e,this._def)}transform(e){return new je({...A(this._def),schema:this,typeName:Me.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Ze({...A(this._def),innerType:this,defaultValue:t,typeName:Me.ZodDefault})}brand(){return new $e({typeName:Me.ZodBranded,type:this,...A(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Fe({...A(this._def),innerType:this,catchValue:t,typeName:Me.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Re.create(this,e)}readonly(){return Le.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Z=/^c[^\s-]{8,}$/i,F=/^[0-9a-z]+$/,I=/^[0-9A-HJKMNP-TV-Z]{26}$/i,$=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,R=/^[a-z0-9_-]{21}$/i,L=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,M=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,D=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let z;const q=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,U=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,V=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,H=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,B=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,W=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,K="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",J=new RegExp(`^${K}$`);function Y(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function G(e){return new RegExp(`^${Y(e)}$`)}function X(e){let t=`${K}T${Y(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Q(e,t){return!("v4"!==t&&t||!q.test(e))||!("v6"!==t&&t||!V.test(e))}function ee(e,t){if(!L.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return"object"==typeof s&&null!==s&&((!("typ"in s)||"JWT"===s?.typ)&&(!!s.alg&&(!t||s.alg===t)))}catch{return!1}}function te(e,t){return!("v4"!==t&&t||!U.test(e))||!("v6"!==t&&t||!H.test(e))}class ne extends C{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==h.string){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.string,received:t.parsedType}),k}const t=new w;let n;for(const r of this._def.checks)if("min"===r.kind)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),v(n,{code:f.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("max"===r.kind)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),v(n,{code:f.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("length"===r.kind){const s=e.data.length>r.value,a=e.data.length<r.value;(s||a)&&(n=this._getOrReturnCtx(e,n),s?v(n,{code:f.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}):a&&v(n,{code:f.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if("email"===r.kind)D.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"email",code:f.invalid_string,message:r.message}),t.dirty());else if("emoji"===r.kind)z||(z=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),z.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"emoji",code:f.invalid_string,message:r.message}),t.dirty());else if("uuid"===r.kind)$.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"uuid",code:f.invalid_string,message:r.message}),t.dirty());else if("nanoid"===r.kind)R.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"nanoid",code:f.invalid_string,message:r.message}),t.dirty());else if("cuid"===r.kind)Z.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"cuid",code:f.invalid_string,message:r.message}),t.dirty());else if("cuid2"===r.kind)F.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"cuid2",code:f.invalid_string,message:r.message}),t.dirty());else if("ulid"===r.kind)I.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"ulid",code:f.invalid_string,message:r.message}),t.dirty());else if("url"===r.kind)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),v(n,{validation:"url",code:f.invalid_string,message:r.message}),t.dirty()}else if("regex"===r.kind){r.regex.lastIndex=0;r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"regex",code:f.invalid_string,message:r.message}),t.dirty())}else if("trim"===r.kind)e.data=e.data.trim();else if("includes"===r.kind)e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty());else if("toLowerCase"===r.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===r.kind)e.data=e.data.toUpperCase();else if("startsWith"===r.kind)e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty());else if("endsWith"===r.kind)e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty());else if("datetime"===r.kind){X(r).test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:"datetime",message:r.message}),t.dirty())}else if("date"===r.kind){J.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:"date",message:r.message}),t.dirty())}else if("time"===r.kind){G(r).test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{code:f.invalid_string,validation:"time",message:r.message}),t.dirty())}else"duration"===r.kind?M.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"duration",code:f.invalid_string,message:r.message}),t.dirty()):"ip"===r.kind?Q(e.data,r.version)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"ip",code:f.invalid_string,message:r.message}),t.dirty()):"jwt"===r.kind?ee(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"jwt",code:f.invalid_string,message:r.message}),t.dirty()):"cidr"===r.kind?te(e.data,r.version)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"cidr",code:f.invalid_string,message:r.message}),t.dirty()):"base64"===r.kind?B.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"base64",code:f.invalid_string,message:r.message}),t.dirty()):"base64url"===r.kind?W.test(e.data)||(n=this._getOrReturnCtx(e,n),v(n,{validation:"base64url",code:f.invalid_string,message:r.message}),t.dirty()):l.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:f.invalid_string,...N.errToObj(n)})}_addCheck(e){return new ne({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...N.errToObj(e)})}url(e){return this._addCheck({kind:"url",...N.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...N.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...N.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...N.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...N.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...N.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...N.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...N.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...N.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...N.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...N.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...N.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...N.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...N.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...N.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...N.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...N.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...N.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...N.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...N.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...N.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...N.errToObj(t)})}nonempty(e){return this.min(1,N.errToObj(e))}trim(){return new ne({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ne({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ne({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function re(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r;return Number.parseInt(e.toFixed(s).replace(".",""))%Number.parseInt(t.toFixed(s).replace(".",""))/10**s}ne.create=e=>new ne({checks:[],typeName:Me.ZodString,coerce:e?.coerce??!1,...A(e)});class se extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==h.number){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.number,received:t.parsedType}),k}let t;const n=new w;for(const r of this._def.checks)if("int"===r.kind)l.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),v(t,{code:f.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty());else if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.too_small,minimum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else"multipleOf"===r.kind?0!==re(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),v(t,{code:f.not_finite,message:r.message}),n.dirty()):l.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,N.toString(t))}gt(e,t){return this.setLimit("min",e,!1,N.toString(t))}lte(e,t){return this.setLimit("max",e,!0,N.toString(t))}lt(e,t){return this.setLimit("max",e,!1,N.toString(t))}setLimit(e,t,n,r){return new se({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:N.toString(r)}]})}_addCheck(e){return new se({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:N.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:N.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:N.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:N.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:N.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:N.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:N.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:N.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:N.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&l.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}se.create=e=>new se({checks:[],typeName:Me.ZodNumber,coerce:e?.coerce||!1,...A(e)});class ae extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==h.bigint)return this._getInvalidInput(e);let t;const n=new w;for(const r of this._def.checks)if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.too_small,type:"bigint",minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),v(t,{code:f.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):l.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.bigint,received:t.parsedType}),k}gte(e,t){return this.setLimit("min",e,!0,N.toString(t))}gt(e,t){return this.setLimit("min",e,!1,N.toString(t))}lte(e,t){return this.setLimit("max",e,!0,N.toString(t))}lt(e,t){return this.setLimit("max",e,!1,N.toString(t))}setLimit(e,t,n,r){return new ae({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:N.toString(r)}]})}_addCheck(e){return new ae({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:N.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:N.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:N.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:N.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:N.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}ae.create=e=>new ae({checks:[],typeName:Me.ZodBigInt,coerce:e?.coerce??!1,...A(e)});class ie extends C{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==h.boolean){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.boolean,received:t.parsedType}),k}return x(e.data)}}ie.create=e=>new ie({typeName:Me.ZodBoolean,coerce:e?.coerce||!1,...A(e)});class oe extends C{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==h.date){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.date,received:t.parsedType}),k}if(Number.isNaN(e.data.getTime())){return v(this._getOrReturnCtx(e),{code:f.invalid_date}),k}const t=new w;let n;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),v(n,{code:f.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:"date"}),t.dirty()):"max"===r.kind?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),v(n,{code:f.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):l.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new oe({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:N.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:N.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}oe.create=e=>new oe({checks:[],coerce:e?.coerce||!1,typeName:Me.ZodDate,...A(e)});class de extends C{_parse(e){if(this._getType(e)!==h.symbol){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.symbol,received:t.parsedType}),k}return x(e.data)}}de.create=e=>new de({typeName:Me.ZodSymbol,...A(e)});class ce extends C{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.undefined,received:t.parsedType}),k}return x(e.data)}}ce.create=e=>new ce({typeName:Me.ZodUndefined,...A(e)});class ue extends C{_parse(e){if(this._getType(e)!==h.null){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.null,received:t.parsedType}),k}return x(e.data)}}ue.create=e=>new ue({typeName:Me.ZodNull,...A(e)});class le extends C{constructor(){super(...arguments),this._any=!0}_parse(e){return x(e.data)}}le.create=e=>new le({typeName:Me.ZodAny,...A(e)});class pe extends C{constructor(){super(...arguments),this._unknown=!0}_parse(e){return x(e.data)}}pe.create=e=>new pe({typeName:Me.ZodUnknown,...A(e)});class he extends C{_parse(e){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.never,received:t.parsedType}),k}}he.create=e=>new he({typeName:Me.ZodNever,...A(e)});class me extends C{_parse(e){if(this._getType(e)!==h.undefined){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.void,received:t.parsedType}),k}return x(e.data)}}me.create=e=>new me({typeName:Me.ZodVoid,...A(e)});class fe extends C{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==h.array)return v(t,{code:f.invalid_type,expected:h.array,received:t.parsedType}),k;if(null!==r.exactLength){const e=t.data.length>r.exactLength.value,s=t.data.length<r.exactLength.value;(e||s)&&(v(t,{code:e?f.too_big:f.too_small,minimum:s?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(null!==r.minLength&&t.data.length<r.minLength.value&&(v(t,{code:f.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),null!==r.maxLength&&t.data.length>r.maxLength.value&&(v(t,{code:f.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new P(t,e,t.path,n)))).then(e=>w.mergeArray(n,e));const s=[...t.data].map((e,n)=>r.type._parseSync(new P(t,e,t.path,n)));return w.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new fe({...this._def,minLength:{value:e,message:N.toString(t)}})}max(e,t){return new fe({...this._def,maxLength:{value:e,message:N.toString(t)}})}length(e,t){return new fe({...this._def,exactLength:{value:e,message:N.toString(t)}})}nonempty(e){return this.min(1,e)}}function ye(e){if(e instanceof ge){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ae.create(ye(r))}return new ge({...e._def,shape:()=>t})}return e instanceof fe?new fe({...e._def,type:ye(e.element)}):e instanceof Ae?Ae.create(ye(e.unwrap())):e instanceof Ce?Ce.create(ye(e.unwrap())):e instanceof ke?ke.create(e.items.map(e=>ye(e))):e}fe.create=(e,t)=>new fe({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Me.ZodArray,...A(t)});class ge extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=l.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==h.object){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.object,received:t.parsedType}),k}const{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof he&&"strip"===this._def.unknownKeys))for(const o in n.data)s.includes(o)||a.push(o);const i=[];for(const o of s){const e=r[o],t=n.data[o];i.push({key:{status:"valid",value:o},value:e._parse(new P(n,t,n.path,o)),alwaysSet:o in n.data})}if(this._def.catchall instanceof he){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of a)i.push({key:{status:"valid",value:t},value:{status:"valid",value:n.data[t]}});else if("strict"===e)a.length>0&&(v(n,{code:f.unrecognized_keys,keys:a}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of a){const r=n.data[t];i.push({key:{status:"valid",value:t},value:e._parse(new P(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of i){const n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>w.mergeObjectSync(t,e)):w.mergeObjectSync(t,i)}get shape(){return this._def.shape()}strict(e){return N.errToObj,new ge({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{const r=this._def.errorMap?.(t,n).message??n.defaultError;return"unrecognized_keys"===t.code?{message:N.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new ge({...this._def,unknownKeys:"strip"})}passthrough(){return new ge({...this._def,unknownKeys:"passthrough"})}extend(e){return new ge({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ge({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Me.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ge({...this._def,catchall:e})}pick(e){const t={};for(const n of l.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new ge({...this._def,shape:()=>t})}omit(e){const t={};for(const n of l.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new ge({...this._def,shape:()=>t})}deepPartial(){return ye(this)}partial(e){const t={};for(const n of l.objectKeys(this.shape)){const r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}return new ge({...this._def,shape:()=>t})}required(e){const t={};for(const n of l.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Ae;)e=e._def.innerType;t[n]=e}return new ge({...this._def,shape:()=>t})}keyof(){return Te(l.objectKeys(this.shape))}}ge.create=(e,t)=>new ge({shape:()=>e,unknownKeys:"strip",catchall:he.create(),typeName:Me.ZodObject,...A(t)}),ge.strictCreate=(e,t)=>new ge({shape:()=>e,unknownKeys:"strict",catchall:he.create(),typeName:Me.ZodObject,...A(t)}),ge.lazycreate=(e,t)=>new ge({shape:e,unknownKeys:"strip",catchall:he.create(),typeName:Me.ZodObject,...A(t)});class _e extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;const n=e.map(e=>new y(e.ctx.common.issues));return v(t,{code:f.invalid_union,unionErrors:n}),k});{let e;const r=[];for(const a of n){const n={...t,common:{...t.common,issues:[]},parent:null},s=a._parseSync({data:t.data,path:t.path,parent:n});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const s=r.map(e=>new y(e));return v(t,{code:f.invalid_union,unionErrors:s}),k}}get options(){return this._def.options}}function ve(e,t){const n=m(e),r=m(t);if(e===t)return{valid:!0,data:e};if(n===h.object&&r===h.object){const n=l.objectKeys(t),r=l.objectKeys(e).filter(e=>-1!==n.indexOf(e)),s={...e,...t};for(const a of r){const n=ve(e[a],t[a]);if(!n.valid)return{valid:!1};s[a]=n.data}return{valid:!0,data:s}}if(n===h.array&&r===h.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let r=0;r<e.length;r++){const s=ve(e[r],t[r]);if(!s.valid)return{valid:!1};n.push(s.data)}return{valid:!0,data:n}}return n===h.date&&r===h.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}_e.create=(e,t)=>new _e({options:e,typeName:Me.ZodUnion,...A(t)});class we extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(S(e)||S(r))return k;const s=ve(e.value,r.value);return s.valid?((O(e)||O(r))&&t.dirty(),{status:t.value,value:s.data}):(v(n,{code:f.invalid_intersection_types}),k)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}we.create=(e,t,n)=>new we({left:e,right:t,typeName:Me.ZodIntersection,...A(n)});class ke extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.array)return v(n,{code:f.invalid_type,expected:h.array,received:n.parsedType}),k;if(n.data.length<this._def.items.length)return v(n,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;!this._def.rest&&n.data.length>this._def.items.length&&(v(n,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...n.data].map((e,t)=>{const r=this._def.items[t]||this._def.rest;return r?r._parse(new P(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>w.mergeArray(t,e)):w.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new ke({...this._def,rest:e})}}ke.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ke({items:e,typeName:Me.ZodTuple,rest:null,...A(t)})};class be extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.map)return v(n,{code:f.invalid_type,expected:h.map,received:n.parsedType}),k;const r=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new P(n,e,n.path,[a,"key"])),value:s._parse(new P(n,t,n.path,[a,"value"]))}));if(n.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const n of a){const r=await n.key,s=await n.value;if("aborted"===r.status||"aborted"===s.status)return k;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}})}{const e=new Map;for(const n of a){const r=n.key,s=n.value;if("aborted"===r.status||"aborted"===s.status)return k;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}}}}be.create=(e,t,n)=>new be({valueType:t,keyType:e,typeName:Me.ZodMap,...A(n)});class xe extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.set)return v(n,{code:f.invalid_type,expected:h.set,received:n.parsedType}),k;const r=this._def;null!==r.minSize&&n.data.size<r.minSize.value&&(v(n,{code:f.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),null!==r.maxSize&&n.data.size>r.maxSize.value&&(v(n,{code:f.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const s=this._def.valueType;function a(e){const n=new Set;for(const r of e){if("aborted"===r.status)return k;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}const i=[...n.data.values()].map((e,t)=>s._parse(new P(n,e,n.path,t)));return n.common.async?Promise.all(i).then(e=>a(e)):a(i)}min(e,t){return new xe({...this._def,minSize:{value:e,message:N.toString(t)}})}max(e,t){return new xe({...this._def,maxSize:{value:e,message:N.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}xe.create=(e,t)=>new xe({valueType:e,minSize:null,maxSize:null,typeName:Me.ZodSet,...A(t)});class Se extends C{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Se.create=(e,t)=>new Se({getter:e,typeName:Me.ZodLazy,...A(t)});class Oe extends C{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return v(t,{received:t.data,code:f.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Te(e,t){return new Ee({values:e,typeName:Me.ZodEnum,...A(t)})}Oe.create=(e,t)=>new Oe({value:e,typeName:Me.ZodLiteral,...A(t)});class Ee extends C{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return v(t,{expected:l.joinValues(n),received:t.parsedType,code:f.invalid_type}),k}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return v(t,{received:t.data,code:f.invalid_enum_value,options:n}),k}return x(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Ee.create(e,{...this._def,...t})}exclude(e,t=this._def){return Ee.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}Ee.create=Te;class Ne extends C{_parse(e){const t=l.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==h.string&&n.parsedType!==h.number){const e=l.objectValues(t);return v(n,{expected:l.joinValues(e),received:n.parsedType,code:f.invalid_type}),k}if(this._cache||(this._cache=new Set(l.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=l.objectValues(t);return v(n,{received:n.data,code:f.invalid_enum_value,options:e}),k}return x(e.data)}get enum(){return this._def.values}}Ne.create=(e,t)=>new Ne({values:e,typeName:Me.ZodNativeEnum,...A(t)});class Pe extends C{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==h.promise&&!1===t.common.async)return v(t,{code:f.invalid_type,expected:h.promise,received:t.parsedType}),k;const n=t.parsedType===h.promise?t.data:Promise.resolve(t.data);return x(n.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Pe.create=(e,t)=>new Pe({type:e,typeName:Me.ZodPromise,...A(t)});class je extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Me.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,s={addIssue:e=>{v(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),"preprocess"===r.type){const e=r.transform(n.data,s);if(n.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return k;const r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?k:"dirty"===r.status||"dirty"===t.value?b(r.value):r});{if("aborted"===t.value)return k;const r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?k:"dirty"===r.status||"dirty"===t.value?b(r.value):r}}if("refinement"===r.type){const e=e=>{const t=r.refinement(e,s);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?k:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>"aborted"===n.status?k:("dirty"===n.status&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if("transform"===r.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!T(e))return k;const a=r.transform(e.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>T(e)?Promise.resolve(r.transform(e.value,s)).then(e=>({status:t.value,value:e})):k)}l.assertNever(r)}}je.create=(e,t,n)=>new je({schema:e,typeName:Me.ZodEffects,effect:t,...A(n)}),je.createWithPreprocess=(e,t,n)=>new je({schema:t,effect:{type:"preprocess",transform:e},typeName:Me.ZodEffects,...A(n)});class Ae extends C{_parse(e){return this._getType(e)===h.undefined?x(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ae.create=(e,t)=>new Ae({innerType:e,typeName:Me.ZodOptional,...A(t)});class Ce extends C{_parse(e){return this._getType(e)===h.null?x(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ce.create=(e,t)=>new Ce({innerType:e,typeName:Me.ZodNullable,...A(t)});class Ze extends C{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===h.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ze.create=(e,t)=>new Ze({innerType:e,typeName:Me.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...A(t)});class Fe extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return E(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new y(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new y(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Fe.create=(e,t)=>new Fe({innerType:e,typeName:Me.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...A(t)});class Ie extends C{_parse(e){if(this._getType(e)!==h.nan){const t=this._getOrReturnCtx(e);return v(t,{code:f.invalid_type,expected:h.nan,received:t.parsedType}),k}return{status:"valid",value:e.data}}}Ie.create=e=>new Ie({typeName:Me.ZodNaN,...A(e)});class $e extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Re extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?k:"dirty"===e.status?(t.dirty(),b(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?k:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new Re({in:e,out:t,typeName:Me.ZodPipeline})}}class Le extends C{_parse(e){const t=this._def.innerType._parse(e),n=e=>(T(e)&&(e.value=Object.freeze(e.value)),e);return E(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}var Me;Le.create=(e,t)=>new Le({innerType:e,typeName:Me.ZodReadonly,...A(t)}),function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Me||(Me={}));const De=ne.create;he.create,fe.create;const ze=ge.create;_e.create,we.create,ke.create,Ee.create,Pe.create,Ae.create,Ce.create;const qe=ze({detail:De()}),Ue=ze({error:De()});function Ve(e){if(!e)return"Unknown error";if(e instanceof Error){const t=qe.safeParse(e.cause);return t.success?t.data.detail:function(e){const t=function(e){try{return JSON.parse(e)}catch{return e}}(e);if(!t)return e;const n=qe.safeParse(t);if(n.success)return n.data.detail;const r=Ue.safeParse(t);if(r.success)return r.data.error;return e}(e.message)}if("object"==typeof e){const t=qe.safeParse(e);if(t.success)return t.data.detail;const n=Ue.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function He(e,t){if(!e)throw new Error(t)}function Be(e){return e.FS}const We="notebook.py",Ke="/marimo",Je=We,Ye=e=>{const t=Be(e);try{t.mkdirTree(Ke)}catch{}t.chdir(Ke)},Ge=e=>{Be(e).mount(e.FS.filesystems.IDBFS,{root:"."},Ke)},Xe=async e=>{await tt(e,!0)},Qe=async e=>{await tt(e,!1)},et=e=>{const{pyodide:t,filename:n,code:r}=e,s=Be(t);if(n&&n!==We){const e=(e=>{try{return u(s.readFile(e))}catch{return null}})(n);if(e)return{code:e,filename:n}}return s.writeFile(We,r),{code:r,filename:We}};function tt(e,t){return new Promise((n,r)=>{Be(e).syncfs(t,e=>{e instanceof Error?r(e):n()})})}var nt,rt=Object.defineProperty,st=(e,t)=>rt(e,"name",{value:t,configurable:!0}),at=(nt=function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')},typeof require<"u"?require:typeof Proxy<"u"?new Proxy(nt,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):nt);function it(e){return!isNaN(parseFloat(e))&&isFinite(e)}function ot(e){return e.charAt(0).toUpperCase()+e.substring(1)}function dt(e){return function(){return this[e]}}st(it,"_isNumber"),st(ot,"_capitalize"),st(dt,"_getter");var ct,ut,lt=["isConstructor","isEval","isNative","isToplevel"],pt=["columnNumber","lineNumber"],ht=["fileName","functionName","source"],mt=lt.concat(pt,ht,["args"],["evalOrigin"]);function ft(e){if(e)for(var t=0;t<mt.length;t++)void 0!==e[mt[t]]&&this["set"+ot(mt[t])](e[mt[t]])}for(st(ft,"StackFrame"),ft.prototype={getArgs:function(){return this.args},setArgs:function(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("Args must be an Array");this.args=e},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(e){if(e instanceof ft)this.evalOrigin=e;else{if(!(e instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new ft(e)}},toString:function(){var e=this.getFileName()||"",t=this.getLineNumber()||"",n=this.getColumnNumber()||"",r=this.getFunctionName()||"";return this.getIsEval()?e?"[eval] ("+e+":"+t+":"+n+")":"[eval]:"+t+":"+n:r?r+" ("+e+":"+t+":"+n+")":e+":"+t+":"+n}},ft.fromString=st(function(e){var t=e.indexOf("("),n=e.lastIndexOf(")"),r=e.substring(0,t),s=e.substring(t+1,n).split(","),a=e.substring(n+1);if(0===a.indexOf("@"))var i=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,""),o=i[1],d=i[2],c=i[3];return new ft({functionName:r,args:s||void 0,fileName:o,lineNumber:d||void 0,columnNumber:c||void 0})},"StackFrame$$fromString"),ct=0;ct<lt.length;ct++)ft.prototype["get"+ot(lt[ct])]=dt(lt[ct]),ft.prototype["set"+ot(lt[ct])]=function(e){return function(t){this[e]=!!t}}(lt[ct]);for(ut=0;ut<pt.length;ut++)ft.prototype["get"+ot(pt[ut])]=dt(pt[ut]),ft.prototype["set"+ot(pt[ut])]=function(e){return function(t){if(!it(t))throw new TypeError(e+" must be a Number");this[e]=Number(t)}}(pt[ut]);for(yt=0;yt<ht.length;yt++)ft.prototype["get"+ot(ht[yt])]=dt(ht[yt]),ft.prototype["set"+ot(ht[yt])]=function(e){return function(t){this[e]=String(t)}}(ht[yt]);var yt,gt=ft;function _t(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:st(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw new Error("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:st(function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:st(function(t){return t.stack.split("\n").filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf("(eval ")>-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var t=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],""):t;var r=this.extractLocation(n?n[1]:t),s=n&&t||void 0,a=["eval","<anonymous>"].indexOf(r[0])>-1?void 0:r[0];return new gt({functionName:s,fileName:a,lineNumber:r[1],columnNumber:r[2],source:e})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:st(function(e){return e.stack.split("\n").filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new gt({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,s=this.extractLocation(e.replace(t,""));return new gt({functionName:r,fileName:s[0],lineNumber:s[1],columnNumber:s[2],source:e})},this)},"ErrorStackParser$$parseFFOrSafari")}}st(_t,"ErrorStackParser");var vt,wt,kt,bt,xt,St,Ot,Tt,Et,Nt=new _t,Pt="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!process.browser,jt=Pt&&typeof module<"u"&&typeof module.exports<"u"&&typeof at<"u"&&typeof __dirname<"u",At=Pt&&!jt,Ct=typeof Deno<"u",Zt=!Pt&&!Ct,Ft=Zt&&"object"==typeof window&&"object"==typeof document&&"function"==typeof document.createElement&&"sessionStorage"in window&&"function"!=typeof importScripts,It=Zt&&"function"==typeof importScripts&&"object"==typeof self;async function $t(){if(!Pt||(vt=(await import("./__vite-browser-external-CIEyP2s7.js")).default,bt=await import("./__vite-browser-external-CIEyP2s7.js"),xt=await import("./__vite-browser-external-CIEyP2s7.js"),kt=(await import("./__vite-browser-external-CIEyP2s7.js")).default,wt=await import("./__vite-browser-external-CIEyP2s7.js"),Ot=wt.sep,typeof at<"u"))return;let e={fs:bt,crypto:await import("./__vite-browser-external-CIEyP2s7.js"),ws:await import("./__vite-browser-external-CIEyP2s7.js"),child_process:await import("./__vite-browser-external-CIEyP2s7.js")};globalThis.require=function(t){return e[t]}}function Rt(e,t){return wt.resolve(t||".",e)}function Lt(e,t){return void 0===t&&(t=location),new URL(e,t).toString()}function Mt(e,t){return e.startsWith("file://")&&(e=e.slice(7)),e.includes("://")?{response:fetch(e)}:{binary:xt.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}function Dt(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}async function zt(e,t){let{response:n,binary:r}=Tt(e,t);if(r)return r;let s=await n;if(!s.ok)throw new Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await s.arrayBuffer())}if("object"==typeof navigator&&"string"==typeof navigator.userAgent&&-1==navigator.userAgent.indexOf("Chrome")&&navigator.userAgent.indexOf("Safari"),st($t,"initNodeModules"),st(Rt,"node_resolvePath"),st(Lt,"browser_resolvePath"),St=Pt?Rt:Lt,Pt||(Ot="/"),st(Mt,"node_getBinaryResponse"),st(Dt,"browser_getBinaryResponse"),Tt=Pt?Mt:Dt,st(zt,"loadBinaryFile"),Ft)Et=st(async e=>await import(e),"loadScript");else if(It)Et=st(async e=>{try{globalThis.importScripts(e)}catch(nn){if(!(nn instanceof TypeError))throw nn;await import(e)}},"loadScript");else{if(!Pt)throw new Error("Cannot determine runtime environment");Et=qt}async function qt(e){e.startsWith("file://")&&(e=e.slice(7)),e.includes("://")?kt.runInThisContext(await(await fetch(e)).text()):await import(vt.pathToFileURL(e).href)}async function Ut(e){if(Pt){await $t();let t=await xt.readFile(e,{encoding:"utf8"});return JSON.parse(t)}return await(await fetch(e)).json()}async function Vt(){if(jt)return __dirname;let e;try{throw new Error}catch(r){e=r}let t=Nt.parse(e)[0].fileName;if(Pt&&!t.startsWith("file://")&&(t=`file://${t}`),At){let e=await import("./__vite-browser-external-CIEyP2s7.js");return(await import("./__vite-browser-external-CIEyP2s7.js")).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(Ot);if(-1===n)throw new Error("Could not extract indexURL path from pyodide module location");return t.slice(0,n)}function Ht(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,s={DIR_MODE:16895,FILE_MODE:33279,mount:function(e){if(!e.opts.fileSystemHandle)throw new Error("opts.fileSystemHandle is required");return n.mount.apply(null,arguments)},syncfs:async(e,t,n)=>{try{let r=s.getLocalSet(e),a=await s.getRemoteSet(e),i=t?a:r,o=t?r:a;await s.reconcile(e,i,o),n(null)}catch(r){n(r)}},getLocalSet:e=>{let n=Object.create(null);function s(e){return"."!==e&&".."!==e}function a(e){return t=>r.join2(e,t)}st(s,"isRealDir"),st(a,"toAbsolute");let i=t.readdir(e.mountpoint).filter(s).map(a(e.mountpoint));for(;i.length;){let e=i.pop(),r=t.stat(e);t.isDir(r.mode)&&i.push.apply(i,t.readdir(e).filter(s).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:"local",entries:n}},getRemoteSet:async e=>{let t=Object.create(null),n=await Bt(e.opts.fileSystemHandle);for(let[a,i]of n)"."!==a&&(t[r.join2(e.mountpoint,a)]={timestamp:"file"===i.kind?new Date((await i.getFile()).lastModified):new Date,mode:"file"===i.kind?s.FILE_MODE:s.DIR_MODE});return{type:"remote",entries:t,handles:n}},loadLocalEntry:e=>{let r=t.lookupPath(e).node,s=t.stat(e);if(t.isDir(s.mode))return{timestamp:s.mtime,mode:s.mode};if(t.isFile(s.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:s.mtime,mode:s.mode,contents:r.contents};throw new Error("node type not supported")},storeLocalEntry:(e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else{if(!t.isFile(n.mode))throw new Error("node type not supported");t.writeFile(e,n.contents,{canOwn:!0})}t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},removeLocalEntry:e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},loadRemoteEntry:async e=>{if("file"===e.kind){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:s.FILE_MODE,timestamp:new Date(t.lastModified)}}if("directory"===e.kind)return{mode:s.DIR_MODE,timestamp:new Date};throw new Error("unknown kind: "+e.kind)},storeRemoteEntry:async(e,n,s)=>{let a=e.get(r.dirname(n)),i=t.isFile(s.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if("file"===i.kind){let e=await i.createWritable();await e.write(s.contents),await e.close()}e.set(n,i)},removeRemoteEntry:async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},reconcile:async(e,n,a)=>{let i=0,o=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],s=a.entries[e];(!s||t.isFile(r.mode)&&r.timestamp.getTime()>s.timestamp.getTime())&&(o.push(e),i++)}),o.sort();let d=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(d.push(e),i++)}),d.sort().reverse(),!i)return;let c="remote"===n.type?n.handles:a.handles;for(let t of o){let n=r.normalize(t.replace(e.mountpoint,"/")).substring(1);if("local"===a.type){let e=c.get(n),r=await s.loadRemoteEntry(e);s.storeLocalEntry(t,r)}else{let e=s.loadLocalEntry(t);await s.storeRemoteEntry(c,n,e)}}for(let t of d)if("local"===a.type)s.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,"/")).substring(1);await s.removeRemoteEntry(c,n)}}};e.FS.filesystems.NATIVEFS_ASYNC=s}st(qt,"nodeLoadScript"),st(Ut,"loadLockFile"),st(Vt,"calculateDirname"),st(Ht,"initializeNativeFS");var Bt=st(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),"directory"===r.kind&&await n(r)}st(n,"collect"),await n(e);let r=new Map;r.set(".",e);for(let s of t){let t=(await e.resolve(s)).join("/");r.set(t,s)}return r},"getFsHandles");function Wt(e){let t={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Xt(e),quit(e,n){throw t.exited={status:e,toThrow:n},n},print:e.stdout,printErr:e.stderr,thisProgram:e._sysExecutable,arguments:e.args,API:{config:e},locateFile:t=>e.indexURL+t,instantiateWasm:Qt(e.indexURL)};return t}function Kt(e){return function(t){try{t.FS.mkdirTree(e)}catch(n){console.error(`Error occurred while making a home directory '${e}':`),console.error(n),console.error("Using '/' for a home directory instead"),e="/"}t.FS.chdir(e)}}function Jt(e){return function(t){Object.assign(t.ENV,e)}}function Yt(e){return e?[async t=>{t.addRunDependency("fsInitHook");try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency("fsInitHook")}}]:[]}function Gt(e){let t=zt(e);return async e=>{let n=e._py_version_major(),r=e._py_version_minor();e.FS.mkdirTree("/lib"),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency("install-stdlib");try{let s=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,s)}catch(s){console.error("Error occurred while installing the standard library:"),console.error(s)}finally{e.removeRunDependency("install-stdlib")}}}function Xt(e){let t;return t=null!=e.stdLibURL?e.stdLibURL:e.indexURL+"python_stdlib.zip",[...Yt(e.fsInit),Gt(t),Kt(e.env.HOME),Jt(e.env),Ht]}function Qt(e){if(typeof WasmOffsetConverter<"u")return;let{binary:t,response:n}=Tt(e+"pyodide.asm.wasm");return function(e,r){return async function(){try{let s;s=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:i}=s;r(a,i)}catch(s){console.warn("wasm instantiation failed!"),console.warn(s)}}(),{}}}st(Wt,"createSettings"),st(Kt,"createHomeDirectory"),st(Jt,"setEnvironment"),st(Yt,"callFsInitHook"),st(Gt,"installStdlib"),st(Xt,"getFileSystemInitializationFuncs"),st(Qt,"getInstantiateWasmFunc");var en="0.27.7";async function tn(e={}){var t,n;await $t();let r=e.indexURL||await Vt();r=St(r),r.endsWith("/")||(r+="/"),e.indexURL=r;let s={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void 0,lockFileURL:r+"pyodide-lock.json",args:[],env:{},packageCacheDir:r,packages:[],enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:"e94377f5ce7dcf67e0417b69a0016733c2cfb6b4622ee8c490a6f17eb58e863b"},a=Object.assign(s,e);(t=a.env).HOME??(t.HOME="/home/pyodide"),(n=a.env).PYTHONINSPECT??(n.PYTHONINSPECT="1");let i,o=Wt(a),d=o.API;if(d.lockFilePromise=Ut(a.lockFileURL),"function"!=typeof _createPyodideModule){let e=`${a.indexURL}pyodide.asm.js`;await Et(e)}if(e._loadSnapshot){let t=await e._loadSnapshot;i=ArrayBuffer.isView(t)?t:new Uint8Array(t),o.noInitialRun=!0,o.INITIAL_MEMORY=i.length}let c,u=await _createPyodideModule(o);if(o.exited)throw o.exited.toThrow;if(e.pyproxyToStringRepr&&d.setPyProxyToStringMethod(!0),d.version!==en&&a.checkAPIVersion)throw new Error(`Pyodide version does not match: '${en}' <==> '${d.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);u.locateFile=e=>{throw new Error("Didn't expect to load any more file_packager files!")},i&&(c=d.restoreSnapshot(i));let l=d.finalizeBootstrap(c,e._snapshotDeserializer);return d.sys.path.insert(0,""),l.version.includes("dev")||d.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${l.version}/full/`),d._pyodide.set_excepthook(),await d.packageIndexReady,d.initializeStreams(a.stdin,a.stdout,a.stderr),l}st(tn,"loadPyodide");const nn=new class{spans=[];startSpan(e,t={}){const n={name:e,startTime:Date.now(),attributes:t,end:(e="ok")=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t="ok"){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){const r=this.startSpan(t||e.name,n);try{const t=e();return this.endSpan(r),t}catch(s){throw this.endSpan(r,"error"),s}}wrapAsync(e,t,n={}){return async(...r)=>{const s=this.startSpan(t||e.name,n);try{const t=await e(...r);return this.endSpan(s),t}catch(a){throw this.endSpan(s,"error"),a}}}logSpans(){}};globalThis.t=nn;class rn{pyodide=null;get requirePyodide(){return He(this.pyodide,"Pyodide not loaded"),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!tn)throw new Error("loadPyodide is not defined");const t=nn.startSpan("loadPyodide");try{const n=await tn({packages:["micropip","msgspec",(e.version,"marimo-base"),"Markdown","pymdown-extensions","narwhals","packaging"],_makeSnapshot:false,lockFileURL:`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`});return this.pyodide=n,t.end("ok"),n}catch(n){throw c.error("Failed to load Pyodide",n),n}}async mountFilesystem(e){const t=nn.startSpan("mountFilesystem");return Ye(this.requirePyodide),Ge(this.requirePyodide),await Xe(this.requirePyodide),t.end("ok"),et({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){const{code:t,filename:n,onMessage:r,queryParameters:s,userConfig:a}=e;self.messenger={callback:r},self.query_params=s,self.user_config=a;const i=nn.startSpan("startSession.runPython"),o=n||Je,[d,c,u]=this.requirePyodide.runPython(`\n print("[py] Starting marimo...")\n import asyncio\n import js\n from marimo._pyodide.bootstrap import create_session, instantiate\n\n assert js.messenger, "messenger is not defined"\n assert js.query_params, "query_params is not defined"\n\n session, bridge = create_session(\n filename="${o}",\n query_params=js.query_params.to_py(),\n message_callback=js.messenger.callback,\n user_config=js.user_config.to_py(),\n )\n\n def init(auto_instantiate=True):\n instantiate(session, auto_instantiate)\n asyncio.create_task(session.start())\n\n # Find the packages to install\n with open("${o}", "r") as f:\n packages = session.find_packages(f.read())\n\n bridge, init, packages`);i.end();const l=new Set(u.toJs());return this.loadNotebookDeps(t,l).then(()=>c(a.runtime.auto_instantiate)),d}async loadNotebookDeps(e,t){const n=this.requirePyodide;e.includes("mo.sql")&&(e=`import sqlglot\n${e=`import duckdb\n${e=`import pandas\n${e}`}`}`).includes("polars")&&(e=`import pyarrow\n${e}`),e=`import pyodide_http\n${e=`import jedi\n${e=`import pygments\n${e=`import docutils\n${e}`}`}`}`;const r=[...t];let s=nn.startSpan("pyodide.loadPackage");await n.loadPackagesFromImports(e,{errorCallback:c.error,messageCallback:c.log}),s.end(),s=nn.startSpan("micropip.install");const a=r.filter(e=>!n.loadedPackages[e]);a.length>0&&await n.runPythonAsync(`\n import micropip\n import sys\n # Filter out builtins\n missing = [p for p in ${JSON.stringify(a)} if p not in sys.modules]\n if len(missing) > 0:\n print("Loading from micropip:", missing)\n await micropip.install(missing)\n `).catch(e=>{c.error("Failed to load packages from micropip",e)}),s.end()}}async function sn(e){try{return await import(`/wasm/controller.js?version=${e}`)}catch{return new rn}}const an=nn.startSpan("worker:init");const on=new class{constructor(e){this.onMessage=e,this.buffer=[]}buffer;started=!1;push=e=>{this.started?this.onMessage(e):this.buffer.push(e)};start=()=>{this.started=!0,this.buffer.forEach(e=>this.onMessage(e)),this.buffer=[]}}(e=>{ln.send.kernelMessage({message:e})}),dn=new class{promise;resolve;reject;status="pending";constructor(){this.promise=new Promise((e,t)=>{this.reject=e=>{this.status="rejected",t(e)},this.resolve=t=>{this.status="resolved",e(t)}})}};let cn=!1;const un={startSession:async e=>{if(await mn,cn)c.warn("Session already started");else{cn=!0;try{He(self.controller,"Controller not loaded"),await(self.controller.mountFilesystem?.({code:e.code,filename:e.filename}));const t=nn.wrapAsync(self.controller.startSession.bind(self.controller)),n=function(e){let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}}(()=>{ln.send.initializingMessage({message:"Initializing notebook..."}),ln.send.initialized({})});ln.send.initializingMessage({message:"Loading notebook and dependencies..."});const r=await t({code:e.code,filename:e.filename,queryParameters:e.queryParameters,userConfig:e.userConfig,onMessage:e=>{n(),on.push(e)}});dn.resolve(r),an.end("ok")}catch(t){ln.send.initializedError({error:Ve(t)}),an.end("error")}}},loadPackages:async e=>{const t=nn.startSpan("loadPackages");await mn,e.includes("mo.sql")&&(e=`import sqlglot\n${e=`import duckdb\n${e=`import pandas\n${e}`}`}`).includes("polars")&&(e=`import pyarrow\n${e}`),await self.pyodide.loadPackagesFromImports(e,{messageCallback:c.log,errorCallback:c.error}),t.end()},readFile:async e=>{const t=nn.startSpan("readFile");await mn;const n=u(self.pyodide.FS.readFile(e));return t.end(),n},setInterruptBuffer:async e=>{await mn,self.pyodide.setInterruptBuffer(e)},addPackage:async e=>{await mn;const{package:t}=e,n=t.split(" ").map(e=>e.trim()),r=await self.pyodide.runPythonAsync(`\n import micropip\n import json\n response = None\n try:\n await micropip.install(${JSON.stringify(n)})\n response = {"success": True}\n except Exception as e:\n response = {"success": False, "error": str(e)}\n json.dumps(response)\n `);return JSON.parse(r)},removePackage:async e=>{await mn;const{package:t}=e,n=await self.pyodide.runPythonAsync(`\n import micropip\n import json\n response = None\n try:\n micropip.uninstall("${t}")\n response = {"success": True}\n except Exception as e:\n response = {"success": False, "error": str(e)}\n json.dumps(response)\n `);return JSON.parse(n)},listPackages:async()=>{const e=nn.startSpan("listPackages");await mn;const t=await self.pyodide.runPythonAsync('\n import json\n import micropip\n\n packages = micropip.list()\n packages = [\n {"name": p.name, "version": p.version}\n for p in packages.values()\n ]\n json.dumps(sorted(packages, key=lambda pkg: pkg["name"]))\n ');return e.end(),{packages:JSON.parse(t)}},saveNotebook:async e=>{await mn;const t=self.pyodide.runPython("\n from marimo._pyodide.bootstrap import save_file\n save_file\n ");await t(JSON.stringify(e),Je)},bridge:async e=>{const t=nn.startSpan("bridge",{functionName:e.functionName});await mn;const{functionName:n,payload:r}=e;"format"===n&&await self.pyodide.runPythonAsync('\n import micropip\n\n try:\n import black\n except ModuleNotFoundError:\n await micropip.install("black")\n '),"export_markdown"===n&&await self.pyodide.runPythonAsync('\n import micropip\n\n try:\n import yaml\n except ModuleNotFoundError:\n await micropip.install("pyyaml")\n ');const s=await dn.promise,a=null==r?null:"string"==typeof r?r:JSON.stringify(r),i=null==a?await s[n]():await s[n](a);return hn.has(n)&&Qe(self.pyodide),t.end(),"string"==typeof i?JSON.parse(i):i}},ln=function(e){return n(e)}({transport:(pn={transportId:"marimo-transport"},s(self,pn)),requestHandler:un});var pn;ln.send("ready",{}),ln.addMessageListener("consumerReady",async()=>{await mn,on.start()});const hn=new Set(["save","save_app_config","rename_file","create_file_or_directory","delete_file_or_directory","move_file_or_directory","update_file"]);const mn=nn.wrapAsync(async function(){try{const e=self.name,t=function(e){return e.includes("dev"),`v${en}`}(e),n=await nn.wrapAsync(sn)(e);self.controller=n,ln.send.initializingMessage({message:"Loading marimo..."}),self.pyodide=await nn.wrapAsync(n.bootstrap.bind(n))({version:e,pyodideVersion:t})}catch(e){c.error("Error bootstrapping",e),ln.send.initializedError({error:Ve(e)})}})();