@marimo-team/frontend 0.15.5 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-Cn5-l2X1.js → ConnectedDataExplorerComponent-BErMbWvG.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CEXMKKA4.js → ImageComparisonComponent-fTHv1Ih0.js} +1 -1
  3. package/dist/assets/{VegaLite-Bt14Ds9k.js → VegaLite-Bdi-TyfY.js} +6 -6
  4. package/dist/assets/_baseEach-CNBxBxvS.js +1 -0
  5. package/dist/assets/_baseMap-D1WHjKrd.js +1 -0
  6. package/dist/assets/_baseUniq-CCgDNtZb.js +1 -0
  7. package/dist/assets/_createAggregator-DcD0kTA5.js +1 -0
  8. package/dist/assets/agent-panel-Crv430aI.js +268 -0
  9. package/dist/assets/agent-panel-D92Mfy1i.css +1 -0
  10. package/dist/assets/{any-language-editor-DiwNT6zp.js → any-language-editor-CQh552Wu.js} +1 -1
  11. package/dist/assets/architectureDiagram-W76B3OCA-BAJeBxzt.js +36 -0
  12. package/dist/assets/{between-horizontal-start-FyewyCGn.js → between-horizontal-start-Boxgxbt_.js} +1 -1
  13. package/dist/assets/{blockDiagram-QIGZ2CNN-BrOkAf_c.js → blockDiagram-QIGZ2CNN-CL-1svEK.js} +1 -1
  14. package/dist/assets/{c4Diagram-FPNF74CW-BHPzDxE2.js → c4Diagram-FPNF74CW-BbEqbCTl.js} +5 -5
  15. package/dist/assets/channel-_2eNSz0n.js +1 -0
  16. package/dist/assets/chat-panel-CXh5Wl6C.js +3 -0
  17. package/dist/assets/{chunk-4BX2VUAB-DLxaCNYh.js → chunk-4BX2VUAB-C--8TXeE.js} +1 -1
  18. package/dist/assets/{chunk-55IACEB6-DdzvO3HR.js → chunk-55IACEB6-Bj00HDqq.js} +1 -1
  19. package/dist/assets/{chunk-FMBD7UC4-R5o-nSiG.js → chunk-FMBD7UC4-C-lhB6hN.js} +1 -1
  20. package/dist/assets/{chunk-K7UQS3LO-DxaMrGgG.js → chunk-K7UQS3LO-B-pGTXPt.js} +1 -1
  21. package/dist/assets/{chunk-QN33PNHL-DqS9-FYm.js → chunk-QN33PNHL-DqUzGhvm.js} +1 -1
  22. package/dist/assets/{chunk-QZHKN3VN-BZ-TzajS.js → chunk-QZHKN3VN-TntJHfSk.js} +1 -1
  23. package/dist/assets/{chunk-TVAH2DTR-BsgP2dyv.js → chunk-TVAH2DTR-HUJb1psV.js} +1 -1
  24. package/dist/assets/{chunk-TZMSLE5B-D-h3ahXI.js → chunk-TZMSLE5B-BK3C__t3.js} +1 -1
  25. package/dist/assets/{circle-play-CQtRZ-rT.js → circle-play-DBLOv1Yu.js} +1 -1
  26. package/dist/assets/classDiagram-KNZD7YFC-BGmh9POF.js +1 -0
  27. package/dist/assets/classDiagram-v2-RKCZMP56-BGmh9POF.js +1 -0
  28. package/dist/assets/{clear-button-BY6Z_ViL.js → clear-button-BeoFbEKH.js} +1 -1
  29. package/dist/assets/clone-BFDSPAj3.js +1 -0
  30. package/dist/assets/command-palette-CXZiSv0I.js +1 -0
  31. package/dist/assets/common-C7oJcmCT.js +1 -0
  32. package/dist/assets/{compile-Ct_jzdKr.js → compile-7L0MwhyI.js} +1 -1
  33. package/dist/assets/cose-bilkent-S5V4N54A-BMkGLcVC.js +1 -0
  34. package/dist/assets/dagre-5GWH7T2D-BJtRienS.js +4 -0
  35. package/dist/assets/{data-grid-overlay-editor-BN_wulc3.js → data-grid-overlay-editor-DBkmGtNs.js} +1 -1
  36. package/dist/assets/datasources-panel-B7FbYLiy.js +1 -0
  37. package/dist/assets/{dependency-graph-panel-BOmSCZf7.js → dependency-graph-panel-DEdOxp2X.js} +4 -4
  38. package/dist/assets/diagram-N5W7TBWH-CmECY3nb.js +24 -0
  39. package/dist/assets/diagram-QEK2KX5R-DMOVSNKD.js +43 -0
  40. package/dist/assets/diagram-S2PKOQOG-BiJ96PNQ.js +24 -0
  41. package/dist/assets/{documentation-panel-BxjJO_Gw.js → documentation-panel-xULhaEv3.js} +1 -1
  42. package/dist/assets/edit-page-BrYda9VE.js +129 -0
  43. package/dist/assets/{ellipsis-vertical-UHbmjI2n.js → ellipsis-vertical-BBqXIlc2.js} +1 -1
  44. package/dist/assets/{empty-state-BIBXzY_0.js → empty-state-B3dA3G5P.js} +1 -1
  45. package/dist/assets/{erDiagram-AWTI2OKA-E84mAle_.js → erDiagram-AWTI2OKA-MP1DiFRo.js} +1 -1
  46. package/dist/assets/{error-panel-MEvQ6K7h.js → error-panel-Cc1sv-Ag.js} +1 -1
  47. package/dist/assets/file-explorer-panel-Bw59Kva1.js +1 -0
  48. package/dist/assets/{flowDiagram-PVAE7QVJ-DfbIRSAW.js → flowDiagram-PVAE7QVJ-BX7caPp7.js} +1 -1
  49. package/dist/assets/{ganttDiagram-OWAHRB6G-DR4HZ1z_.js → ganttDiagram-OWAHRB6G-B462g4Yf.js} +3 -3
  50. package/dist/assets/gitGraphDiagram-NY62KEGX-CGgvZ9-9.js +65 -0
  51. package/dist/assets/{glide-data-editor-nNmo1lPq.js → glide-data-editor-C0gUFZON.js} +4 -4
  52. package/dist/assets/graph-CHRVBzY5.js +1 -0
  53. package/dist/assets/{home-page-9eW6qida.js → home-page-Fb2osjys.js} +3 -3
  54. package/dist/assets/{index-DMomwMcN.js → index-BVgAenPd.js} +1 -1
  55. package/dist/assets/{index-B8llrTSo.js → index-BY93Ejhl.js} +1 -1
  56. package/dist/assets/{index-BFSnz7iM.js → index-C-8WADat.js} +1 -1
  57. package/dist/assets/{index-CPN7TRA1.js → index-C-GhZ7ti.js} +1 -1
  58. package/dist/assets/{index-DyLSuOH1.js → index-C1v_Z9et.js} +1 -1
  59. package/dist/assets/{index-VPWqq2Pg.js → index-C4Tn5NvJ.js} +1 -1
  60. package/dist/assets/{index-BAH034Ue.js → index-C77h_TXN.js} +1 -1
  61. package/dist/assets/{index-Dt9UWeWn.js → index-CQDrxQ0j.js} +1 -1
  62. package/dist/assets/{index-DWOaniGT.js → index-CWMgowgL.js} +1 -1
  63. package/dist/assets/{index-B1_GXGaP.js → index-Clbi_Yaq.js} +1 -1
  64. package/dist/assets/{index-B7yXbrLa.js → index-CpTPJo4k.js} +1 -1
  65. package/dist/assets/{index-CknhX2Vy.css → index-Cx0bsY1w.css} +1 -1
  66. package/dist/assets/{index-DqzMPAC8.js → index-D1vmG6DS.js} +2 -2
  67. package/dist/assets/{index-c6If577Q.js → index-D9UKkrr2.js} +1 -1
  68. package/dist/assets/{index-CB2pnVQG.js → index-DEQvTChO.js} +1 -1
  69. package/dist/assets/{index-OC46250R.js → index-DKEudB02.js} +205 -197
  70. package/dist/assets/{index-CSgxTUzD.js → index-DRMm6SNo.js} +1 -1
  71. package/dist/assets/{index-Bq516OmX.js → index-DoRmcrKM.js} +1 -1
  72. package/dist/assets/{index-DSU75csX.js → index-lYa_leQE.js} +1 -1
  73. package/dist/assets/{index-BLu5CX6z.js → index-vmICa5KN.js} +1 -1
  74. package/dist/assets/{index-uacyUula.js → index-z9bohSQJ.js} +1 -1
  75. package/dist/assets/infoDiagram-STP46IZ2-CVyrdLc8.js +2 -0
  76. package/dist/assets/isEmpty-DU_ogP_D.js +1 -0
  77. package/dist/assets/{journeyDiagram-BIP6EPQ6-BBiFyygf.js → journeyDiagram-BIP6EPQ6-C6EgLP_Q.js} +1 -1
  78. package/dist/assets/{kanban-definition-6OIFK2YF-DhgA6Nt6.js → kanban-definition-6OIFK2YF-BXzYO1yj.js} +4 -4
  79. package/dist/assets/layout-jihVw5-i.js +1 -0
  80. package/dist/assets/linear-C4blANlC.js +1 -0
  81. package/dist/assets/{links-CbvGxbsJ.js → links-D59GIweI.js} +3 -3
  82. package/dist/assets/{logs-panel-B9SmTZAW.js → logs-panel-D401qzZh.js} +1 -1
  83. package/dist/assets/markdown-renderer-Cd9eYyaL.js +263 -0
  84. package/dist/assets/{agent-panel-DpQ6muj-.css → markdown-renderer-ClyzDMmG.css} +1 -1
  85. package/dist/assets/mermaid-BEVuRz_O.js +1 -0
  86. package/dist/assets/{mermaid.core-4nVOEVX3.js → mermaid.core-CaSnaLH0.js} +41 -41
  87. package/dist/assets/min-DUMu_zeK.js +1 -0
  88. package/dist/assets/{mindmap-definition-Q6HEUPPD-CVLQNn1q.js → mindmap-definition-Q6HEUPPD-BXUM5MT2.js} +2 -2
  89. package/dist/assets/{number-overlay-editor-CzRzXLcd.js → number-overlay-editor-4uWXGlPG.js} +1 -1
  90. package/dist/assets/{outline-panel-uvsS-YEQ.js → outline-panel-DIzkvm2I.js} +1 -1
  91. package/dist/assets/packages-panel-CJL0MVlj.js +1 -0
  92. package/dist/assets/{pieDiagram-ADFJNKIX-C5IQ5DBZ.js → pieDiagram-ADFJNKIX-Dxt5PVNo.js} +3 -3
  93. package/dist/assets/{quadrantDiagram-LMRXKWRM-CFXFnQxx.js → quadrantDiagram-LMRXKWRM-D4pUaA31.js} +1 -1
  94. package/dist/assets/{react-plotly-mzdv02_Y.js → react-plotly-cJZ0VWBq.js} +1 -1
  95. package/dist/assets/{requirementDiagram-4UW4RH46-D9bPC89T.js → requirementDiagram-4UW4RH46-DVRTjgas.js} +1 -1
  96. package/dist/assets/run-page-BUEnMC9w.js +1 -0
  97. package/dist/assets/sankeyDiagram-GR3RE2ED-CVFnD9C-.js +10 -0
  98. package/dist/assets/scratchpad-panel-BIgRENkI.js +1 -0
  99. package/dist/assets/secrets-panel-xY5-V_BD.js +1 -0
  100. package/dist/assets/{sequenceDiagram-C3RYC4MD-6N7_hY4k.js → sequenceDiagram-C3RYC4MD-_lY4ZN_S.js} +4 -4
  101. package/dist/assets/{slides-component-EcjC8sDK.js → slides-component-Xjymwj7X.js} +1 -1
  102. package/dist/assets/snippets-panel-CTPYW41n.js +1 -0
  103. package/dist/assets/sortBy-BNZKwiq_.js +1 -0
  104. package/dist/assets/state-C4NiC9tO.js +1 -0
  105. package/dist/assets/stateDiagram-KXAO66HF-Da0JQWCn.js +1 -0
  106. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5lYZOOt.js +1 -0
  107. package/dist/assets/storage-CMdLzB_c.js +26 -0
  108. package/dist/assets/terminal-BPwTkXae.js +10 -0
  109. package/dist/assets/time-Dv5_Ouz_.js +1 -0
  110. package/dist/assets/{timeline-definition-XQNQX7LJ-BEaynAiY.js → timeline-definition-XQNQX7LJ-Dxh5Zu2e.js} +1 -1
  111. package/dist/assets/tracing-BCIurUfa.js +2 -0
  112. package/dist/assets/{tracing-panel-BmuHLPrY.js → tracing-panel-DAzrzNmm.js} +2 -2
  113. package/dist/assets/{trash-UBqfK4mR.js → trash-Dc6DSjz_.js} +1 -1
  114. package/dist/assets/{tree-XiEycetl.js → tree-jheoerAX.js} +1 -1
  115. package/dist/assets/{treemap-75Q7IDZK-CnuVFbBG.js → treemap-75Q7IDZK-IgpxeGaf.js} +21 -21
  116. package/dist/assets/{ts-tags-CloPe9IY.js → ts-tags-DxCDHihD.js} +1 -1
  117. package/dist/assets/variable-panel-DYAiLBmF.js +1 -0
  118. package/dist/assets/{vega-component-DsTH4tuX.js → vega-component-BpfpiPKI.js} +1 -1
  119. package/dist/assets/{xychartDiagram-6GGTOJPD-Dcz3O-A3.js → xychartDiagram-6GGTOJPD-CmNigJ31.js} +1 -1
  120. package/dist/index.html +2 -2
  121. package/package.json +8 -4
  122. package/src/__tests__/mocks.ts +43 -0
  123. package/src/components/app-config/user-config-form.tsx +32 -0
  124. package/src/components/chat/acp/__tests__/__snapshots__/prompt.test.ts.snap +55 -23
  125. package/src/components/chat/acp/__tests__/context-utils.test.ts +222 -0
  126. package/src/components/chat/acp/__tests__/prompt.test.ts +1 -1
  127. package/src/components/chat/acp/__tests__/state.test.ts +2 -6
  128. package/src/components/chat/acp/agent-docs.tsx +33 -6
  129. package/src/components/chat/acp/agent-panel.css +0 -18
  130. package/src/components/chat/acp/agent-panel.tsx +397 -72
  131. package/src/components/chat/acp/agent-selector.tsx +7 -1
  132. package/src/components/chat/acp/blocks.tsx +40 -10
  133. package/src/components/chat/acp/common.tsx +10 -2
  134. package/src/components/chat/acp/context-utils.ts +127 -0
  135. package/src/components/chat/acp/prompt.ts +34 -10
  136. package/src/components/chat/acp/state.ts +1 -1
  137. package/src/components/chat/acp/types.ts +8 -0
  138. package/src/components/chat/chat-panel.tsx +23 -88
  139. package/src/components/chat/chat-utils.ts +127 -1
  140. package/src/components/chat/markdown-renderer.css +39 -0
  141. package/src/components/chat/markdown-renderer.tsx +7 -38
  142. package/src/components/chat/tool-call-accordion.tsx +113 -23
  143. package/src/components/editor/Cell.tsx +6 -0
  144. package/src/components/editor/actions/name-cell-input.tsx +6 -1
  145. package/src/components/editor/actions/useCellActionButton.tsx +3 -1
  146. package/src/components/editor/ai/__tests__/completion-utils.test.ts +178 -1
  147. package/src/components/editor/ai/add-cell-with-ai.tsx +68 -66
  148. package/src/components/editor/ai/ai-completion-editor.tsx +29 -26
  149. package/src/components/editor/ai/completion-handlers.tsx +44 -6
  150. package/src/components/editor/ai/completion-utils.ts +92 -0
  151. package/src/components/editor/ai/transport/chat-transport.tsx +36 -0
  152. package/src/components/editor/cell/StagedAICell.tsx +51 -0
  153. package/src/components/editor/cell/cell-actions.tsx +2 -1
  154. package/src/components/terminal/__tests__/state.test.ts +207 -0
  155. package/src/components/terminal/hooks.ts +41 -0
  156. package/src/components/terminal/state.ts +75 -0
  157. package/src/components/terminal/terminal.tsx +334 -13
  158. package/src/components/terminal/theme.tsx +56 -0
  159. package/src/core/ai/__tests__/staged-cells.test.ts +356 -0
  160. package/src/core/ai/staged-cells.ts +208 -0
  161. package/src/core/cells/cells.ts +1 -1
  162. package/src/core/codemirror/lsp/federated-lsp.ts +1 -1
  163. package/src/core/islands/main.ts +2 -2
  164. package/src/core/kernel/messages.ts +8 -12
  165. package/src/core/saving/__tests__/filename.test.ts +37 -0
  166. package/src/core/static/__tests__/download-html.test.ts +43 -1
  167. package/src/core/websocket/useMarimoWebSocket.tsx +2 -2
  168. package/src/css/app/Cell.css +11 -0
  169. package/src/plugins/core/RenderHTML.tsx +36 -2
  170. package/src/plugins/core/__test__/RenderHTML.test.ts +72 -0
  171. package/src/plugins/core/registerReactComponent.tsx +28 -0
  172. package/src/plugins/impl/FileBrowserPlugin.tsx +8 -2
  173. package/src/stories/cell.stories.tsx +1 -1
  174. package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
  175. package/src/utils/__tests__/cell-urls.test.ts +29 -0
  176. package/src/utils/__tests__/filenames.test.ts +18 -0
  177. package/src/utils/__tests__/path.test.ts +38 -0
  178. package/src/utils/__tests__/urls.test.ts +56 -1
  179. package/src/utils/errors.ts +9 -0
  180. package/dist/assets/_baseEach-C1FLm7WW.js +0 -1
  181. package/dist/assets/_baseMap-DBVArUYD.js +0 -1
  182. package/dist/assets/_baseUniq-Dk7ZPJ3N.js +0 -1
  183. package/dist/assets/_createAggregator-Bn38fDd3.js +0 -1
  184. package/dist/assets/agent-panel-COUYnuIK.js +0 -475
  185. package/dist/assets/architectureDiagram-W76B3OCA-DBzWQKKu.js +0 -36
  186. package/dist/assets/channel-CjhbjOv4.js +0 -1
  187. package/dist/assets/chat-panel-BPXKoTnZ.js +0 -7
  188. package/dist/assets/chat-panel-Brrs_eeH.css +0 -1
  189. package/dist/assets/classDiagram-KNZD7YFC-DHs5cFzy.js +0 -1
  190. package/dist/assets/classDiagram-v2-RKCZMP56-DHs5cFzy.js +0 -1
  191. package/dist/assets/clone-DM1YNjEn.js +0 -1
  192. package/dist/assets/command-palette-S0bzQp7v.js +0 -1
  193. package/dist/assets/common-B8U9k2Ly.js +0 -1
  194. package/dist/assets/cose-bilkent-S5V4N54A-wz1Sfx7j.js +0 -1
  195. package/dist/assets/dagre-5GWH7T2D-BfpcVBgq.js +0 -4
  196. package/dist/assets/datasources-panel-DfuURLJw.js +0 -1
  197. package/dist/assets/diagram-N5W7TBWH-Bf0oqqQh.js +0 -24
  198. package/dist/assets/diagram-QEK2KX5R-ZTc3qikh.js +0 -43
  199. package/dist/assets/diagram-S2PKOQOG-tLScBy7Z.js +0 -24
  200. package/dist/assets/edit-page-DJ8kJZ9w.js +0 -129
  201. package/dist/assets/file-explorer-panel-CzNUJ63G.js +0 -1
  202. package/dist/assets/gitGraphDiagram-NY62KEGX-C1t6QtVa.js +0 -65
  203. package/dist/assets/graph-CssCVWIq.js +0 -1
  204. package/dist/assets/index-DcCIe7np.js +0 -28
  205. package/dist/assets/infoDiagram-STP46IZ2-CwiAoz9f.js +0 -2
  206. package/dist/assets/layout-DpQrxGW-.js +0 -1
  207. package/dist/assets/linear-NsreOeBF.js +0 -1
  208. package/dist/assets/mermaid-DSt0r6IQ.js +0 -1
  209. package/dist/assets/min-D259kI3t.js +0 -1
  210. package/dist/assets/packages-panel-xMz9W2hW.js +0 -1
  211. package/dist/assets/run-page-Bb68qdhQ.js +0 -1
  212. package/dist/assets/sankeyDiagram-GR3RE2ED-BSJOau8E.js +0 -10
  213. package/dist/assets/scratchpad-panel-BF4BO-U4.js +0 -1
  214. package/dist/assets/secrets-panel-CdIX44dQ.js +0 -1
  215. package/dist/assets/snippets-panel-Dco9h0rb.js +0 -1
  216. package/dist/assets/sortBy-aLGA-PGK.js +0 -1
  217. package/dist/assets/stateDiagram-KXAO66HF-Bd68WT3b.js +0 -1
  218. package/dist/assets/stateDiagram-v2-UMBNRL4Z-BXz_GSwb.js +0 -1
  219. package/dist/assets/storage-CGlP4lCF.js +0 -26
  220. package/dist/assets/terminal-CxkHubcu.js +0 -9
  221. package/dist/assets/time-D2nr1UgQ.js +0 -1
  222. package/dist/assets/tracing-kTqHxa7q.js +0 -2
  223. package/dist/assets/variable-panel-noTnH-AQ.js +0 -1
@@ -0,0 +1 @@
1
+ import{aG as M,aH as G,aI as k,aJ as f,aK as y,aL as _}from"./index-DKEudB02.js";import{a as x,f as m,c as a,i as l,v,r as z}from"./_baseUniq-CCgDNtZb.js";import{i as L}from"./isEmpty-DU_ogP_D.js";var H=M(function(o){return x(G(o,1,k,!0))}),d="\0";class b{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return y(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return L(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return L(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return a(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),a(_(this._in[t]),e),delete this._in[t],delete this._preds[t],a(_(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(e))e=d;else{for(var s=e+="";!l(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}}children(t){if(l(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return _(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return _(e)}successors(t){var e=this._sucs[t];if(e)return _(e)}neighbors(t){var e=this.predecessors(t);if(e)return H(e,this.successors(t))}isLeaf(t){return(this.isDirected()?this.successors(t):this.neighbors(t)).length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),a(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return this._isCompound&&a(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return y(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return v(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return z(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,l(s)||(s=""+s);var h=c(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var u=(function(j,D,P,w){var g=""+D,p=""+P;if(!j&&g>p){var F=g;g=p,p=F}var O={v:g,w:p};return w&&(O.name=w),O})(this._isDirected,t,e,s);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[h]=u,N(this._preds[e],t),N(this._sucs[t],e),this._in[e][h]=u,this._out[t][h]=u,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],E(this._preds[e],t),E(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=v(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=v(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}}function N(o,t){o[t]?o[t]++:o[t]=1}function E(o,t){--o[t]||delete o[t]}function c(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+""+i+""+(l(s)?"\0":s)}function C(o,t){return c(o,t.v,t.w,t.name)}b.prototype._nodeCount=0,b.prototype._edgeCount=0;export{b as G};
@@ -1,9 +1,9 @@
1
- import{c as R,a as C,al as V,ch as he,cR as J,cS as ue,ba as xe,cT as fe,M as Z,j as s,cU as pe,aJ as A,cV as ge,aO as q,cW as ye,cX as be,cY as je,d as K,cD as ve,cx as ee,r as D,b as E,cZ as ke,c_ as we,c$ as te,d0 as Ne,N as _e,d1 as ae,U as G,d2 as Se,bB as ze,cd as se,d3 as Ce,am as Me,d4 as Ie,d5 as De,I as Pe,au as Te,av as Oe,d6 as Q,d7 as Re,d8 as Ae,S as We,ap as Fe,d9 as $e,da as Le,db as Ue,bF as Ve,dc as Be,dd as He,de as Ye,df as Je,dg as re,aF as qe}from"./index-OC46250R.js";import{G as Ee,A as Ge,o as Qe,a as Xe,b as Ze,M as Ke,Y as et,L as tt,c as at,C as st,S as rt,P as ot}from"./links-CbvGxbsJ.js";import{C as nt}from"./circle-play-CQtRZ-rT.js";import{T as it}from"./tree-XiEycetl.js";import"./index-VPWqq2Pg.js";/**
1
+ import{c as R,a as C,au as V,cp as he,dR as E,dS as ue,bi as xe,dT as fe,W as Z,j as s,dU as pe,aS as W,dV as ge,aX as G,dW as ye,dX as be,dY as je,d as K,cL as ve,cF as ee,r as D,b as J,dZ as ke,d_ as we,d$ as te,dG as Ne,X as _e,e0 as ae,a1 as q,dF as Se,bJ as ze,cl as se,e1 as Ce,av as Me,e2 as Ie,e3 as De,T as Pe,aD as Te,aE as Oe,e4 as X,e5 as Re,e6 as We,a0 as Ae,ay as Fe,e7 as Le,e8 as $e,e9 as Ue,bN as Ve,ea as He,eb as Ye,ec as Be,ed as Ee,ee as re,aO as Ge}from"./index-DKEudB02.js";import{G as Je,A as qe,o as Xe,a as Qe,b as Ze,M as Ke,Y as et,L as tt,c as at,d as st,S as rt,P as ot}from"./links-D59GIweI.js";import{C as nt}from"./circle-play-DBLOv1Yu.js";import{T as it}from"./tree-jheoerAX.js";import"./index-C4Tn5NvJ.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const lt=R("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ct=R("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),dt=R("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),mt=R("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ht={intro:["Introduction",lt,"Get started with marimo basics"],dataflow:["Dataflow",Ge,"Learn how cells interact with each other"],ui:["UI Elements",R("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",Z,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Ee,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",mt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",J,"Using marimo to edit markdown files"]},ut=()=>{const e=C.c(6),{openTutorial:t}=V();let a,o,r,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(dt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(ge,{asChild:!0,children:s.jsxs(q,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ye,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1],e[2]!==t?(r=he.entries(ht).map(n=>{const[c,m]=n,[h,d,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Qe(l.path)},children:[s.jsx(d,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:h}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=r):r=e[3],e[4]!==r?(i=s.jsxs(be,{children:[o,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:r})]}),e[4]=r,e[5]=i):i=e[5],i},xt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Xe,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ze,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Ke,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:et,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:Z,url:A.releasesPage}],ft=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(B,{Icon:tt,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:xt.map(pt)})]}),e[1]=a):a=e[1],a},B=e=>{const t=C.c(8),{Icon:a,control:o,children:r}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==r||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,r]}),t[2]=r,t[3]=i,t[4]=n):n=t[4],t[5]!==o||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,o]}),t[5]=o,t[6]=n,t[7]=c):c=t[7],c};function pt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const oe=K.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=K.createContext(""),gt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${qe()}-${encodeURIComponent(e)}`}const yt=()=>{const e=C.c(56),[t,a]=D.useState(0),{getRecentFiles:o,getRunningNotebooks:r}=V();let i,n;e[0]!==o?(i=()=>o(),e[0]=o,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=E(i,n);let m,h,d,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(St)},h={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=h):(m=e[3],h=e[4]),at(m,h),e[5]!==r?(d=async()=>{const O=await r();return ae.keyBy(O.files,zt)},e[5]=r,e[6]=d):d=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=E(d,u);let x,f,p,g,y,b,w,j,N,v,S,z,_,M,k,I,W,P,T,F;if(e[9]!==c||e[10]!==l){N=Symbol.for("react.early_return_sentinel");e:{const O=ke(c,l);if(O.error)throw O.error;const X=O.data;if(!X){let U;e[24]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(G,{centered:!0,size:"xlarge"}),e[24]=U):U=e[24],N=U;break e}const[me,H]=X;let $,L;g=me,p=D.Suspense,f=oe,w={runningNotebooks:H,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?($=s.jsx(ut,{}),L=s.jsx(st,{showAppConfig:!1}),e[25]=$,e[26]=L):($=e[25],L=e[26]);const Y=`This will shutdown the notebook server and terminate all running notebooks (${H.size}). You'll lose all data that's in memory.`;e[27]!==Y?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[$,L,s.jsx(rt,{description:Y})]}),e[27]=Y,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),y=s.jsx(_t,{}),b=s.jsx(ft,{}),e[29]=y,e[30]=b,e[31]=_):(y=e[29],b=e[30],_=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(B,{Icon:nt,children:"Running notebooks"}),e[32]=v):v=e[32],S=[...H.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=f,e[13]=p,e[14]=g,e[15]=y,e[16]=b,e[17]=w,e[18]=j,e[19]=N,e[20]=v,e[21]=S,e[22]=z,e[23]=_}else x=e[11],f=e[12],p=e[13],g=e[14],y=e[15],b=e[16],w=e[17],j=e[18],N=e[19],v=e[20],S=e[21],z=e[22],_=e[23];return N!==Symbol.for("react.early_return_sentinel")?N:(e[33]!==x||e[34]!==v||e[35]!==S?(M=s.jsx(x,{header:v,files:S}),e[33]=x,e[34]=v,e[35]=S,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(B,{Icon:Se,children:"Recent notebooks"}),e[37]=k):k=e[37],e[38]!==g.files?(I=s.jsx(ce,{header:k,files:g.files}),e[38]=g.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(ze,{children:s.jsx(bt,{})}),e[40]=W):W=e[40],e[41]!==y||e[42]!==b||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==_?(P=s.jsxs("div",{className:z,children:[_,y,b,M,I,W]}),e[41]=y,e[42]=b,e[43]=M,e[44]=I,e[45]=z,e[46]=_,e[47]=P):P=e[47],e[48]!==f||e[49]!==w||e[50]!==j||e[51]!==P?(T=s.jsxs(f,{value:w,children:[j,P]}),e[48]=f,e[49]=w,e[50]=j,e[51]=P,e[52]=T):T=e[52],e[53]!==p||e[54]!==T?(F=s.jsx(p,{children:T}),e[53]=p,e[54]=T,e[55]=F):F=e[55],F)},bt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=V(),[a,o]=se(gt),[r,i]=D.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:h,error:d,isFetching:u,refetch:l}=E(n,c);if(m){let k;return e[5]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(G,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=k):k=e[5],k}if(d){let k,I;return e[6]!==d?(k=Ce(d),e[6]=d,e[7]=k):k=e[7],e[8]!==k?(I=s.jsx(Le,{kind:"danger",className:"rounded p-4",children:k}),e[8]=k,e[9]=I):I=e[9],I}let x,f,p,g,y,b,w,j,N,v,S,z,_,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ue,{size:13}),f=k=>i(k.target.value),e[10]=x,e[11]=f):(x=e[10],f=e[11]),e[12]!==r?(p=s.jsx(Ve,{id:"search",value:r,icon:x,onChange:f,placeholder:"Search",className:"mb-0 border-border"}),e[12]=r,e[13]=p):p=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(jt,{}),e[14]=g):g=e[14],e[15]!==o?(y=k=>o(!!k),e[15]=o,e[16]=y):y=e[16],e[17]!==a||e[18]!==y?(b=s.jsx(Be,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:y}),e[17]=a,e[18]=y,e[19]=b):b=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(He,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=w):w=e[20],e[21]!==p||e[22]!==b?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[p,g,b,w]}),e[21]=p,e[22]=b,e[23]=j):j=e[23],e[24]!==l?(N=s.jsx(Ye,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=N):N=e[25],e[26]!==u?(v=u&&s.jsx(G,{size:"small"}),e[26]=u,e[27]=v):v=e[27],e[28]!==N||e[29]!==v||e[30]!==j?(S=s.jsxs(B,{Icon:ct,control:j,children:["Workspace",N,v]}),e[28]=N,e[29]=v,e[30]=j,e[31]=S):S=e[31],e[32]!==r||e[33]!==h.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(vt,{searchText:r,files:h.files})}),e[32]=r,e[33]=h.files,e[34]=z):z=e[34],e[35]!==S||e[36]!==z?(_=s.jsxs("div",{className:"flex flex-col gap-2",children:[S,z]}),e[35]=S,e[36]=z,e[37]=_):_=e[37],e[38]!==_||e[39]!==h.root?(M=s.jsx(ne,{value:h.root,children:_}),e[38]=_,e[39]=h.root,e[40]=M):M=e[40],M},jt=()=>{const e=C.c(5),t=Me(ie);let a,o,r;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(Je,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2],e[3]!==a?(r=s.jsxs(q,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[o,"Collapse all"]}),e[3]=a,e[4]=r):r=e[4],r},vt=e=>{const t=C.c(12),{files:a,searchText:o}=e,[r,i]=se(ie),n=Object.keys(r).length===0,c=D.useRef(void 0);let m,h,d,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},h=[n],t[0]=n,t[1]=m,t[2]=h):(m=t[1],h=t[2]),D.useEffect(m,h),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==r||t[5]!==i?(d=async l=>{const x=r[l]??!1;i({...r,[l]:!x})},t[4]=r,t[5]=i,t[6]=d):d=t[6],t[7]!==a||t[8]!==r||t[9]!==o||t[10]!==d?(u=s.jsx(it,{ref:c,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:Ct,data:a,openByDefault:!1,initialOpenState:r,onToggle:d,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Mt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:kt}),t[7]=a,t[8]=r,t[9]=o,t[10]=d,t[11]=u):u=t[11],u},kt=e=>{const t=C.c(19),{node:a,style:o}=e,r=a.data.isDirectory?"directory":Ie(a.data.name),i=De[r];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=D.use(ne);let h;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(h=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const g=a.data.path.startsWith(m)&&re.isAbsolute(a.data.path)?re.rest(a.data.path,m):a.data.path,y=g.endsWith(".md")||g.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${g}`).toString(),target:le(g),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,y&&s.jsx(J,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:g}),s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=h):h=t[7];const d=h;let u,l,x,f,p;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=Pe("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=g=>{g.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(wt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==d?(f=d(),t[12]=d,t[13]=f):f=t[13],t[14]!==o||t[15]!==l||t[16]!==x||t[17]!==f?(p=s.jsxs("div",{style:o,className:u,onClick:l,children:[x,f]}),t[14]=o,t[15]=l,t[16]=x,t[17]=f,t[18]=p):p=t[18],p},wt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=r):r=t[0],r}let o;return t[1]!==a.isOpen?(o=a.isOpen?s.jsx(Te,{className:"w-5 h-5 shrink-0"}):s.jsx(Oe,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=o):o=t[2],o},ce=e=>{const t=C.c(7),{header:a,files:o}=e;if(o.length===0)return null;let r,i,n;return t[0]!==o?(r=o.map(It),t[0]=o,t[1]=r):r=t[1],t[2]!==r?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:r}),t[2]=r,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},Nt=e=>{const t=C.c(40),{file:a}=e;let o;t[0]!==a.path?(o=we(a.path),t[0]=a.path,t[1]=o):o=t[1];const r=o;let i,n,c,m;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==r){const N=te(r?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let v;t[9]!==a.path?(v=a.path.endsWith(".md"),t[9]=a.path,t[10]=v):v=t[10],i=v,n="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",c=a.path,m=N.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=r,t[5]=i,t[6]=n,t[7]=c,t[8]=m}else i=t[5],n=t[6],c=t[7],m=t[8];const h=a.initializationId||a.path;let d,u,l,x,f,p,g,y,b,w,j;return t[11]!==h?(d=le(h),t[11]=h,t[12]=d):d=t[12],t[13]!==i?(u=i&&s.jsx("span",{className:"opacity-80",children:s.jsx(J,{})}),t[13]=i,t[14]=u):u=t[14],t[15]!==a.name||t[16]!==u?(l=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,u]}),t[15]=a.name,t[16]=u,t[17]=l):l=t[17],t[18]!==a.path?(x=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=x):x=t[19],t[20]!==l||t[21]!==x?(f=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[l,x]}),t[20]=l,t[21]=x,t[22]=f):f=t[22],t[23]!==a.path?(p=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=p):p=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=g):g=t[25],t[26]!==p?(y=s.jsxs("div",{className:"flex gap-3 items-center",children:[p,g]}),t[26]=p,t[27]=y):y=t[27],t[28]!==a.lastModified?(b=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:Ne(1e3*a.lastModified)}),t[28]=a.lastModified,t[29]=b):b=t[29],t[30]!==y||t[31]!==b?(w=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[30]=y,t[31]=b,t[32]=w):w=t[32],t[33]!==f||t[34]!==w||t[35]!==n||t[36]!==c||t[37]!==m||t[38]!==d?(j=s.jsxs("a",{className:n,href:m,target:d,children:[f,w]},c),t[33]=f,t[34]=w,t[35]=n,t[36]=c,t[37]=m,t[38]=d,t[39]=j):j=t[39],j},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:o,closeModal:r}=_e(),{shutdownSession:i}=V(),{runningNotebooks:n,setRunningNotebooks:c}=D.use(oe);if(!n.has(a))return null;let m,h,d;return t[0]!==r||t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Re,{onClick:()=>{const l=n.get(a);Ae(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Dt))}),r(),We({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=r,t[1]=a,t[2]=o,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(ot,{size:14}),t[7]=h):h=t[7],t[8]!==m?(d=s.jsx(Fe,{content:"Shutdown",children:s.jsx(q,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:h})}),t[8]=m,t[9]=d):d=t[9],d},_t=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=$e(),e[0]=t):t=e[0];const a=t;let o,r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs("a",{className:`relative rounded-lg p-6 group
6
+ */const lt=R("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ct=R("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),dt=R("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),mt=R("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ht={intro:["Introduction",lt,"Get started with marimo basics"],dataflow:["Dataflow",qe,"Learn how cells interact with each other"],ui:["UI Elements",R("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",Z,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",mt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",E,"Using marimo to edit markdown files"]},ut=()=>{const e=C.c(6),{openTutorial:t}=V();let a,o,r,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(dt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(ge,{asChild:!0,children:s.jsxs(G,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ye,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1],e[2]!==t?(r=he.entries(ht).map(n=>{const[c,m]=n,[h,d,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Xe(l.path)},children:[s.jsx(d,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:h}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=r):r=e[3],e[4]!==r?(i=s.jsxs(be,{children:[o,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:r})]}),e[4]=r,e[5]=i):i=e[5],i},xt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Qe,url:W.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ze,url:W.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Ke,url:W.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:et,url:W.youtube},{title:"Changelog",description:"See what's new in marimo",icon:Z,url:W.releasesPage}],ft=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(H,{Icon:tt,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:xt.map(pt)})]}),e[1]=a):a=e[1],a},H=e=>{const t=C.c(8),{Icon:a,control:o,children:r}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==r||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,r]}),t[2]=r,t[3]=i,t[4]=n):n=t[4],t[5]!==o||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,o]}),t[5]=o,t[6]=n,t[7]=c):c=t[7],c};function pt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const oe=K.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=K.createContext(""),gt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${Ge()}-${encodeURIComponent(e)}`}const yt=()=>{const e=C.c(56),[t,a]=D.useState(0),{getRecentFiles:o,getRunningNotebooks:r}=V();let i,n;e[0]!==o?(i=()=>o(),e[0]=o,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=J(i,n);let m,h,d,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(St)},h={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=h):(m=e[3],h=e[4]),at(m,h),e[5]!==r?(d=async()=>{const O=await r();return ae.keyBy(O.files,zt)},e[5]=r,e[6]=d):d=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=J(d,u);let x,f,p,g,y,b,w,j,N,v,S,z,_,M,k,I,A,P,T,F;if(e[9]!==c||e[10]!==l){N=Symbol.for("react.early_return_sentinel");e:{const O=ke(c,l);if(O.error)throw O.error;const Q=O.data;if(!Q){let U;e[24]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(q,{centered:!0,size:"xlarge"}),e[24]=U):U=e[24],N=U;break e}const[me,Y]=Q;let L,$;g=me,p=D.Suspense,f=oe,w={runningNotebooks:Y,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?(L=s.jsx(ut,{}),$=s.jsx(st,{showAppConfig:!1}),e[25]=L,e[26]=$):(L=e[25],$=e[26]);const B=`This will shutdown the notebook server and terminate all running notebooks (${Y.size}). You'll lose all data that's in memory.`;e[27]!==B?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[L,$,s.jsx(rt,{description:B})]}),e[27]=B,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),y=s.jsx(_t,{}),b=s.jsx(ft,{}),e[29]=y,e[30]=b,e[31]=_):(y=e[29],b=e[30],_=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(H,{Icon:nt,children:"Running notebooks"}),e[32]=v):v=e[32],S=[...Y.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=f,e[13]=p,e[14]=g,e[15]=y,e[16]=b,e[17]=w,e[18]=j,e[19]=N,e[20]=v,e[21]=S,e[22]=z,e[23]=_}else x=e[11],f=e[12],p=e[13],g=e[14],y=e[15],b=e[16],w=e[17],j=e[18],N=e[19],v=e[20],S=e[21],z=e[22],_=e[23];return N!==Symbol.for("react.early_return_sentinel")?N:(e[33]!==x||e[34]!==v||e[35]!==S?(M=s.jsx(x,{header:v,files:S}),e[33]=x,e[34]=v,e[35]=S,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(H,{Icon:Se,children:"Recent notebooks"}),e[37]=k):k=e[37],e[38]!==g.files?(I=s.jsx(ce,{header:k,files:g.files}),e[38]=g.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsx(ze,{children:s.jsx(bt,{})}),e[40]=A):A=e[40],e[41]!==y||e[42]!==b||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==_?(P=s.jsxs("div",{className:z,children:[_,y,b,M,I,A]}),e[41]=y,e[42]=b,e[43]=M,e[44]=I,e[45]=z,e[46]=_,e[47]=P):P=e[47],e[48]!==f||e[49]!==w||e[50]!==j||e[51]!==P?(T=s.jsxs(f,{value:w,children:[j,P]}),e[48]=f,e[49]=w,e[50]=j,e[51]=P,e[52]=T):T=e[52],e[53]!==p||e[54]!==T?(F=s.jsx(p,{children:T}),e[53]=p,e[54]=T,e[55]=F):F=e[55],F)},bt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=V(),[a,o]=se(gt),[r,i]=D.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:h,error:d,isFetching:u,refetch:l}=J(n,c);if(m){let k;return e[5]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(q,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=k):k=e[5],k}if(d){let k,I;return e[6]!==d?(k=Ce(d),e[6]=d,e[7]=k):k=e[7],e[8]!==k?(I=s.jsx($e,{kind:"danger",className:"rounded p-4",children:k}),e[8]=k,e[9]=I):I=e[9],I}let x,f,p,g,y,b,w,j,N,v,S,z,_,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ue,{size:13}),f=k=>i(k.target.value),e[10]=x,e[11]=f):(x=e[10],f=e[11]),e[12]!==r?(p=s.jsx(Ve,{id:"search",value:r,icon:x,onChange:f,placeholder:"Search",className:"mb-0 border-border"}),e[12]=r,e[13]=p):p=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(jt,{}),e[14]=g):g=e[14],e[15]!==o?(y=k=>o(!!k),e[15]=o,e[16]=y):y=e[16],e[17]!==a||e[18]!==y?(b=s.jsx(He,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:y}),e[17]=a,e[18]=y,e[19]=b):b=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(Ye,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=w):w=e[20],e[21]!==p||e[22]!==b?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[p,g,b,w]}),e[21]=p,e[22]=b,e[23]=j):j=e[23],e[24]!==l?(N=s.jsx(Be,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=N):N=e[25],e[26]!==u?(v=u&&s.jsx(q,{size:"small"}),e[26]=u,e[27]=v):v=e[27],e[28]!==N||e[29]!==v||e[30]!==j?(S=s.jsxs(H,{Icon:ct,control:j,children:["Workspace",N,v]}),e[28]=N,e[29]=v,e[30]=j,e[31]=S):S=e[31],e[32]!==r||e[33]!==h.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(vt,{searchText:r,files:h.files})}),e[32]=r,e[33]=h.files,e[34]=z):z=e[34],e[35]!==S||e[36]!==z?(_=s.jsxs("div",{className:"flex flex-col gap-2",children:[S,z]}),e[35]=S,e[36]=z,e[37]=_):_=e[37],e[38]!==_||e[39]!==h.root?(M=s.jsx(ne,{value:h.root,children:_}),e[38]=_,e[39]=h.root,e[40]=M):M=e[40],M},jt=()=>{const e=C.c(5),t=Me(ie);let a,o,r;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx(Ee,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2],e[3]!==a?(r=s.jsxs(G,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[o,"Collapse all"]}),e[3]=a,e[4]=r):r=e[4],r},vt=e=>{const t=C.c(12),{files:a,searchText:o}=e,[r,i]=se(ie),n=Object.keys(r).length===0,c=D.useRef(void 0);let m,h,d,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},h=[n],t[0]=n,t[1]=m,t[2]=h):(m=t[1],h=t[2]),D.useEffect(m,h),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==r||t[5]!==i?(d=async l=>{const x=r[l]??!1;i({...r,[l]:!x})},t[4]=r,t[5]=i,t[6]=d):d=t[6],t[7]!==a||t[8]!==r||t[9]!==o||t[10]!==d?(u=s.jsx(it,{ref:c,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:Ct,data:a,openByDefault:!1,initialOpenState:r,onToggle:d,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Mt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:kt}),t[7]=a,t[8]=r,t[9]=o,t[10]=d,t[11]=u):u=t[11],u},kt=e=>{const t=C.c(19),{node:a,style:o}=e,r=a.data.isDirectory?"directory":Ie(a.data.name),i=De[r];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=D.use(ne);let h;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(h=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const g=a.data.path.startsWith(m)&&re.isAbsolute(a.data.path)?re.rest(a.data.path,m):a.data.path,y=g.endsWith(".md")||g.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${g}`).toString(),target:le(g),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,y&&s.jsx(E,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:g}),s.jsx(X,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=h):h=t[7];const d=h;let u,l,x,f,p;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=Pe("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=g=>{g.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(wt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==d?(f=d(),t[12]=d,t[13]=f):f=t[13],t[14]!==o||t[15]!==l||t[16]!==x||t[17]!==f?(p=s.jsxs("div",{style:o,className:u,onClick:l,children:[x,f]}),t[14]=o,t[15]=l,t[16]=x,t[17]=f,t[18]=p):p=t[18],p},wt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=r):r=t[0],r}let o;return t[1]!==a.isOpen?(o=a.isOpen?s.jsx(Te,{className:"w-5 h-5 shrink-0"}):s.jsx(Oe,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=o):o=t[2],o},ce=e=>{const t=C.c(7),{header:a,files:o}=e;if(o.length===0)return null;let r,i,n;return t[0]!==o?(r=o.map(It),t[0]=o,t[1]=r):r=t[1],t[2]!==r?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:r}),t[2]=r,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},Nt=e=>{const t=C.c(40),{file:a}=e;let o;t[0]!==a.path?(o=we(a.path),t[0]=a.path,t[1]=o):o=t[1];const r=o;let i,n,c,m;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==r){const N=te(r?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let v;t[9]!==a.path?(v=a.path.endsWith(".md"),t[9]=a.path,t[10]=v):v=t[10],i=v,n="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",c=a.path,m=N.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=r,t[5]=i,t[6]=n,t[7]=c,t[8]=m}else i=t[5],n=t[6],c=t[7],m=t[8];const h=a.initializationId||a.path;let d,u,l,x,f,p,g,y,b,w,j;return t[11]!==h?(d=le(h),t[11]=h,t[12]=d):d=t[12],t[13]!==i?(u=i&&s.jsx("span",{className:"opacity-80",children:s.jsx(E,{})}),t[13]=i,t[14]=u):u=t[14],t[15]!==a.name||t[16]!==u?(l=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,u]}),t[15]=a.name,t[16]=u,t[17]=l):l=t[17],t[18]!==a.path?(x=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=x):x=t[19],t[20]!==l||t[21]!==x?(f=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[l,x]}),t[20]=l,t[21]=x,t[22]=f):f=t[22],t[23]!==a.path?(p=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=p):p=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(X,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=g):g=t[25],t[26]!==p?(y=s.jsxs("div",{className:"flex gap-3 items-center",children:[p,g]}),t[26]=p,t[27]=y):y=t[27],t[28]!==a.lastModified?(b=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:Ne(1e3*a.lastModified)}),t[28]=a.lastModified,t[29]=b):b=t[29],t[30]!==y||t[31]!==b?(w=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[30]=y,t[31]=b,t[32]=w):w=t[32],t[33]!==f||t[34]!==w||t[35]!==n||t[36]!==c||t[37]!==m||t[38]!==d?(j=s.jsxs("a",{className:n,href:m,target:d,children:[f,w]},c),t[33]=f,t[34]=w,t[35]=n,t[36]=c,t[37]=m,t[38]=d,t[39]=j):j=t[39],j},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:o,closeModal:r}=_e(),{shutdownSession:i}=V(),{runningNotebooks:n,setRunningNotebooks:c}=D.use(oe);if(!n.has(a))return null;let m,h,d;return t[0]!==r||t[1]!==a||t[2]!==o||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Re,{onClick:()=>{const l=n.get(a);We(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Dt))}),r(),Ae({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=r,t[1]=a,t[2]=o,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(ot,{size:14}),t[7]=h):h=t[7],t[8]!==m?(d=s.jsx(Fe,{content:"Shutdown",children:s.jsx(G,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:h})}),t[8]=m,t[9]=d):d=t[9],d},_t=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Le(),e[0]=t):t=e[0];const a=t;let o,r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs("a",{className:`relative rounded-lg p-6 group
7
7
  text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
8
8
  transition-all duration-300 cursor-pointer
9
- `,href:a,target:"_blank",rel:"noreferrer",children:[o,s.jsx("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:s.jsx(Q,{size:24})})]}),e[2]=r):r=e[2],r};function St(e){return e+1}function zt(e){return e.path}function Ct(e){return e.path}function Mt(){return null}function It(e){return s.jsx(Nt,{file:e},e.path)}function Dt(e){return e.path}export{yt as default};
9
+ `,href:a,target:"_blank",rel:"noreferrer",children:[o,s.jsx("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:s.jsx(X,{size:24})})]}),e[2]=r):r=e[2],r};function St(e){return e+1}function zt(e){return e.path}function Ct(e){return e.path}function Mt(){return null}function It(e){return s.jsx(Nt,{file:e},e.path)}function Dt(e){return e.path}export{yt as default};
@@ -1 +1 @@
1
- import{f as u,e as p,o as S,q as a,h as m,y as b,s as c,t as e,z as r}from"./index-OC46250R.js";const Q=m.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"\u26A0 Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,nodeProps:[["isolate",-3,3,13,17,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new r("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new r("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new r("[~RPwxU~ZOp~~",11,15),new r("[~RPrsU~ZOn~~",11,14),new r("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new r("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),P=b.parser.configure({top:"SingleExpression"}),o=Q.configure({props:[c({Text:e.content,Is:e.definitionOperator,AttributeName:e.attributeName,VueAttributeName:e.keyword,Identifier:e.variableName,"AttributeValue ScriptAttributeValue":e.attributeValue,Entity:e.character,"{{ }}":e.brace,"@ :":e.punctuation})]}),i={parser:P},y={parser:o.configure({wrap:a((O,t)=>O.name=="InterpolationContent"?i:null)})},g={parser:o.configure({wrap:a((O,t)=>O.name=="AttributeScript"?i:null),top:"Attribute"})},n=S();function s(O){return O.configure({dialect:"selfClosing",wrap:a(X)},"vue")}const l=s(n.language);function X(O,t){switch(O.name){case"Attribute":return/^(@|:|v-)/.test(t.read(O.from,O.from+2))?g:null;case"Text":return y}return null}function R(O={}){let t=n;if(O.base){if(O.base.language.name!="html"||!(O.base.language instanceof u))throw new RangeError("The base option must be the result of calling html(...)");t=O.base}return new p(t.language==n.language?l:s(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:["{",'"']}})])}export{R as vue,l as vueLanguage};
1
+ import{f as u,e as p,o as S,q as a,h as m,y as b,s as c,t as e,z as r}from"./index-DKEudB02.js";const Q=m.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"\u26A0 Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,nodeProps:[["isolate",-3,3,13,17,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new r("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new r("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new r("[~RPwxU~ZOp~~",11,15),new r("[~RPrsU~ZOn~~",11,14),new r("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new r("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),P=b.parser.configure({top:"SingleExpression"}),o=Q.configure({props:[c({Text:e.content,Is:e.definitionOperator,AttributeName:e.attributeName,VueAttributeName:e.keyword,Identifier:e.variableName,"AttributeValue ScriptAttributeValue":e.attributeValue,Entity:e.character,"{{ }}":e.brace,"@ :":e.punctuation})]}),i={parser:P},y={parser:o.configure({wrap:a((O,t)=>O.name=="InterpolationContent"?i:null)})},g={parser:o.configure({wrap:a((O,t)=>O.name=="AttributeScript"?i:null),top:"Attribute"})},n=S();function s(O){return O.configure({dialect:"selfClosing",wrap:a(X)},"vue")}const l=s(n.language);function X(O,t){switch(O.name){case"Attribute":return/^(@|:|v-)/.test(t.read(O.from,O.from+2))?g:null;case"Text":return y}return null}function R(O={}){let t=n;if(O.base){if(O.base.language.name!="html"||!(O.base.language instanceof u))throw new RangeError("The base option must be the result of calling html(...)");t=O.base}return new p(t.language==n.language?l:s(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:["{",'"']}})])}export{R as vue,l as vueLanguage};
@@ -1 +1 @@
1
- import{o as R,e as w,p as U,f as X,q as G,v as j,h as z,s as S,i as x,k as Z,t as i,w as E,x as V,n as f}from"./index-OC46250R.js";function D(O){return O>=65&&O<=90||O>=97&&O<=122}const F=new f(O=>{let $=O.pos;for(;;){let{next:e}=O;if(e<0)break;if(e==123){let r=O.peek(1);if(r==123){if(O.pos>$)break;return void O.acceptToken(1,2)}if(r==37){if(O.pos>$)break;let n=2,o=2;for(;;){let Q=O.peek(n);if(Q==32||Q==10)++n;else if(Q==35)for(++n;;){let t=O.peek(n);if(t<0||t==10)break;n++}else{if(Q!=45||o!=2){let t=Q==101&&O.peek(n+1)==110&&O.peek(n+2)==100;return void O.acceptToken(t?3:2,o)}o=++n}}}}if(O.advance(),e==10)break}O.pos>$&&O.acceptToken(180)});function b(O,$,e){return new f(r=>{let n=r.pos;for(;;){let{next:o}=r;if(o==123&&r.peek(1)==37){let Q=2;for(;;Q++){let l=r.peek(Q);if(l!=32&&l!=10)break}let t="";for(;;Q++){let l=r.peek(Q);if(!D(l))break;t+=String.fromCharCode(l)}if(t==O){if(r.pos>n)break;r.acceptToken(e,2);break}}else if(o<0)break;if(r.advance(),o==10)break}r.pos>n&&r.acceptToken($)})}const C=b("endcomment",182,5),N=b("endraw",181,4),I=new f(O=>{if(O.next==35){for(O.advance();!(O.next==10||O.next<0)&&(O.next!=37&&O.next!=125||O.peek(1)!=125);)O.advance();O.acceptToken(6)}}),A={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},B={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},L=z.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&`Q!jO,59QO&gQ!jO'#G^OsQhO'#CsOOQW'#G^'#G^OOOP,59l,59lO)PQhO,59lOsQhO,59pOsQhO,59tO)ZQhO,59vOsQhO,59yOsQhO,5:OOsQhO,5:SO!]QhO,5:WO!]QhO,5:`O)`QhO,5:dO)eQhO,5:fO)jQhO,5:hO)oQhO,5:kO)tQhO,5:qOsQhO,5:vOsQhO,5:xOsQhO,5;OOsQhO,5;QOsQhO,5;TOsQhO,5;XOsQhO,5;ZO+TQhO,5;]O+[OPO'#CdOOOP,59o,59oO#{OPO,59oO+jQxO'#DWOOOP,59x,59xO$ZOPO,59xO+oQxO'#DaOOOP,59},59}O$iOPO,59}O+tQxO'#DfOOOP,5:V,5:VO$wOPO,5:VO+yQxO'#DqOOOP,5:_,5:_O%VOPO,5:_O,OQxO'#DvOOOS'#GQ'#GQO,TOSO'#ERO,]OSO,5:jOOOQ'#GR'#GRO,bOQO'#EXO,jOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,oQxO'#EkOOOP-E9x-E9xO,tQ#|O,59SOsQhO,59VOsQhO,59VO,yQhO'#C|OOQW'#F|'#F|O-OQhO1G.lOOOP1G.l1G.lOsQhO,59VOsQhO,59ZO-WQ!jO,59_O-iQ!jO1G/WO-pQhO1G/WOOOP1G/W1G/WO-xQ!jO1G/[O.ZQ!jO1G/`OOOP1G/b1G/bO.lQ!jO1G/eO.}Q!jO1G/jO/qQ!jO1G/nO/xQhO1G/rO/}QhO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0SQhO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0_Q!jO1G0bO0fQ!jO1G0dO1QQ!jO1G0jO1cQ!jO1G0lO1jQ!jO1G0oO1{Q!jO1G0sO2^Q!jO1G0uO2oQhO'#EsO2vQhO'#ExO2}QhO'#FRO3UQhO'#FYO3]QhO'#F^O3dQhO'#FqOOQW'#Ga'#GaOOQW'#GT'#GTO3kQhO1G0wOsQhO'#EtOsQhO'#EyOsQhO'#E}OOQW'#FP'#FPOsQhO'#FSOsQhO'#FWO!]QhO'#FZO!]QhO'#F_OOQW'#Fc'#FcOOQW'#Fe'#FeO3rQhO'#FfOsQhO'#FhOsQhO'#FjOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO3wQhO,59rOOOP1G/d1G/dO3|QhO,59{OOOP1G/i1G/iO4RQhO,5:QOOOP1G/q1G/qO4WQhO,5:]OOOP1G/y1G/yO4]QhO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4bQxO'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4gQxO'#EYOOOP1G0n1G0nO4lQhO,5;VOOQW1G.n1G.nOOQW1G.q1G.qO7QQ!jO1G.qOOQW'#DO'#DOO7[QhO,59hOOQW-E9z-E9zOOOP7+$W7+$WO9UQ!jO1G.qO9`Q!jO1G.uOsQhO1G.yO;uQhO7+$rOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQhO'#F}O;}QhO7+%YOOOP7+%Y7+%YOsQhO7+%^OsQhO7+%fO<VQhO'#GPO<[QhO7+%nOOOP7+%n7+%nO<dQhO7+%nO<iQhO7+%|OOOP7+%|7+%|O!]QhO'#E`OOQW'#GS'#GSO<qQhO7+&OOsQhO'#E`OOOP7+&O7+&OOOOP7+&U7+&UO=PQhO7+&WOOOP7+&W7+&WOOOP7+&Z7+&ZOOOP7+&_7+&_OOOP7+&a7+&aOOQW,5;_,5;_O2oQhO,5;_OOQW'#Ev'#EvOOQW,5;d,5;dO2vQhO,5;dOOQW'#E{'#E{OOQW,5;m,5;mO2}QhO,5;mOOQW'#FU'#FUOOQW,5;t,5;tO3UQhO,5;tOOQW'#F['#F[OOQW,5;x,5;xO3]QhO,5;xOOQW'#Fa'#FaOOQW,5<],5<]O3dQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&c7+&cO=XQ!jO,5;`O>rQ!jO,5;eO@]Q!jO,5;iOBYQ!jO,5;nOCsQ!jO,5;rOEfQhO,5;uOEkQhO,5;yOEpQhO,5<QOGgQ!jO,5<SOIYQ!jO,5<UOKYQ!jO,5<XOMVQ!jO,5<ZONxQ!jO,5<^O!!cQ!jO,5<bO!$`Q!jO,5<dOOOP1G/^1G/^OOOP1G/g1G/gOOOP1G/l1G/lOOOP1G/w1G/wOOOP1G/|1G/|O!&]QhO,5:nO!&bQhO,5:tOOOP1G0q1G0qOsQhO1G/SO!&gQ!jO7+$eOOOP<<H^<<H^O!&xQ!jO,5<iOOQW-E9{-E9{OOOP<<Ht<<HtO!)ZQ!jO<<HxO!)bQ!jO<<IQOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IY<<IYO!)iQhO<<IYOOOP<<Ih<<IhO!)qQhO,5:zOOQW-E:Q-E:QOOOP<<Ij<<IjO!)vQ!jO,5:zOOOP<<Ir<<IrOOQW1G0y1G0yOOQW1G1O1G1OOOQW1G1X1G1XOOQW1G1`1G1`OOQW1G1d1G1dOOQW1G1w1G1wO!*eQhO1G1^OsQhO1G1aOsQhO1G1eO!,XQhO1G1lO!-{QhO1G1lO!.QQhO1G1nO!]QhO'#FlOOQW'#GU'#GUO!/tQhO1G1pO!1hQhO1G1uOOOP1G0Y1G0YOOOP1G0`1G0`O!3[Q!jO7+$nOOQW<<HP<<HPOOQW'#Dp'#DpO!5_QhO'#DoOOQW'#GO'#GOO!6xQhOAN>dOOOPAN>dAN>dO!7QQhOAN>lOOOPAN>lAN>lO!7YQhOAN>tOOOPAN>tAN>tOsQhO1G0fO!]QhO1G0fO!7bQ!jO7+&{O!8qQ!jO7+'PO!:QQhO7+'WO!;tQhO,5<WOOQW-E:S-E:SOsQhO,5:ZOOQW-E9|-E9|OOOPG24OG24OOOOPG24WG24WOOOPG24`G24`O!;yQ!jO7+&QOOQW7+&Q7+&QO!<eQhO<<JgO!=uQhO<<JkO!?VQhO<<JrOsQhO1G1rO!@yQ!jO1G/uO!BmQ!jO7+'^",stateData:"!Dm~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OfeOifOjfOkfOlfOmfOnfOofO%RbO~OuhOvgOyiO}jO!PkO!SlO!XmO!]nO!aoO!ipO!mqO!orO!qsO!ttO!zuO#PvO#RwO#XxO#ZyO#^zO#b{O#d|O#f}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jO`!qOa!kOb!lOq!mO~OX!pO~P%}Od!rOX%QX]%QX`%QXa%QXb%QXq%QXh%QXv%QX!^%QX#T%QX#U%QXm%QX#i%QX#k%QX#n%QX#r%QX#t%QX#w%QX#{%QX$S%QX$W%QX$Z%QX$]%QX$_%QX$b%QX$d%QX$g%QX$k%QX$m%QX#p%QX#y%QX$i%QXe%QX%R%QX#V%QX$P%QX$U%QX~Oq!mOv!vO~PsOv!yO~Ov#PO~Ov#QO~On#RO~Ov#SO~Ov#TO~Om#oO#U#lO#i#fO#n#gO#r#hO#t#iO#w#jO#{#kO$S#mO$W#nO$Z#pO$]#qO$_#rO$b#sO$d#tO$g#uO$k#vO$m#wO~Ov#xO~P)yO$zPOPWXQWXRWX~O{#zO~O!U#|O~O!Z$OO~O!f$QO~O!k$SO~O$|!`OT!uX~OT$VO~O${!cOS!{X~OS$YO~O#`$[O~O^$]O~O%R$`O~OX$cOq!mO~O]!jO`!qOa!kOb!lOh$fO~Ov$hO~P%}Oq!mOv$hO~O]!jO`!qOa!kOb!lOv$iO~O]!jO`!qOa!kOb!lOv$jO~O]!jO`!qOa!kOb!lOv$kO~O]!jO`!qOa!kOb!lOv$lO~O]!jO`!qOa!kOb!lO!^$mO~Ov$oO~P/`O!b$pO~O!b$qO~Os$uOv$tO!^$rO~Ov$wO~P%}O]!jO`!qOa!kOb!lOv$|O!^$xO#T${O#U${O~O]!jO`!qOa!kOb!lOv$}O~Ov%PO~P%}O]!jO`!qOa!kOb!lOv%QO~O]!jO`!qOa!kOb!lOv%RO~O]!jO`!qOa!kOb!lOv%SO~O#k%VO~P)yO#p%YO~P)yO#y%]O~P)yO$P%`O~P)yO$U%cO~P)yO$i%fO~P)yOv%hO~P)yOn%pO~Ov%xO~Ov%yO~Ov%zO~Ov%{O~Ov%|O~O!w%}O~O!}&OO~Ov&PO~Oa!kOX_i]_iq_ih_iv_i!^_i#T_i#U_im_i#i_i#k_i#n_i#r_i#t_i#w_i#{_i$S_i$W_i$Z_i$]_i$__i$b_i$d_i$g_i$k_i$m_i#p_i#y_i$i_ie_i%R_i#V_i$P_i$U_i~O`!qOb!lO~P4qOs&QOXpaqpavpampa#Upa#ipa#npa#rpa#tpa#wpa#{pa$Spa$Wpa$Zpa$]pa$_pa$bpa$dpa$gpa$kpa$mpa#kpa#ppa#ypa$Ppa$Upa$ipa~O`_ib_i~P4qO`!qOa!kOb!lOXci]ciqcihcivci!^ci#Tci#Ucimci#ici#kci#nci#rci#tci#wci#{ci$Sci$Wci$Zci$]ci$_ci$bci$dci$gci$kci$mci#pci#yci$icieci%Rci#Vci$Pci$Uci~Oq!mOv&SO~Ov&VO!^$mO~On&YO~Ov&[O!^$rO~On&]O~Oq!mOv&^O~Ov&aO!^$xO#T${O#U${O~Oq!mOv&cO~O]!jO`!qOa!kOb!lOm#ha#U#ha#i#ha#k#ha#n#ha#r#ha#t#ha#w#ha#{#ha$S#ha$W#ha$Z#ha$]#ha$_#ha$b#ha$d#ha$g#ha$k#ha$m#ha~O]!jO`!qOa!kOb!lOm#ma#U#ma#i#ma#n#ma#p#ma#r#ma#t#ma#w#ma#{#ma$S#ma$W#ma$Z#ma$]#ma$_#ma$b#ma$d#ma$g#ma$k#ma$m#ma~O]!jO`!qOa!kOb!lOm#qav#qa#U#qa#i#qa#n#qa#r#qa#t#qa#w#qa#{#qa$S#qa$W#qa$Z#qa$]#qa$_#qa$b#qa$d#qa$g#qa$k#qa$m#qa#k#qa#p#qa#y#qa$P#qa$U#qa$i#qa~O]!jO`!qOa!kOb!lOm#va#U#va#i#va#n#va#r#va#t#va#w#va#y#va#{#va$S#va$W#va$Z#va$]#va$_#va$b#va$d#va$g#va$k#va$m#va~Om#zav#za#U#za#i#za#n#za#r#za#t#za#w#za#{#za$S#za$W#za$Z#za$]#za$_#za$b#za$d#za$g#za$k#za$m#za#k#za#p#za#y#za$P#za$U#za$i#za~P/`O!b&kO~O!b&lO~Os&nO!^$rOm$Yav$Ya#U$Ya#i$Ya#n$Ya#r$Ya#t$Ya#w$Ya#{$Ya$S$Ya$W$Ya$Z$Ya$]$Ya$_$Ya$b$Ya$d$Ya$g$Ya$k$Ya$m$Ya#k$Ya#p$Ya#y$Ya$P$Ya$U$Ya$i$Ya~Om$[av$[a#U$[a#i$[a#n$[a#r$[a#t$[a#w$[a#{$[a$S$[a$W$[a$Z$[a$]$[a$_$[a$b$[a$d$[a$g$[a$k$[a$m$[a#k$[a#p$[a#y$[a$P$[a$U$[a$i$[a~P%}O]!jO`!qOa!kOb!lO!^&pOm$^av$^a#U$^a#i$^a#n$^a#r$^a#t$^a#w$^a#{$^a$S$^a$W$^a$Z$^a$]$^a$_$^a$b$^a$d$^a$g$^a$k$^a$m$^a#k$^a#p$^a#y$^a$P$^a$U$^a$i$^a~O]!jO`!qOa!kOb!lOm$aav$aa#U$aa#i$aa#n$aa#r$aa#t$aa#w$aa#{$aa$S$aa$W$aa$Z$aa$]$aa$_$aa$b$aa$d$aa$g$aa$k$aa$m$aa#k$aa#p$aa#y$aa$P$aa$U$aa$i$aa~Om$cav$ca#U$ca#i$ca#n$ca#r$ca#t$ca#w$ca#{$ca$S$ca$W$ca$Z$ca$]$ca$_$ca$b$ca$d$ca$g$ca$k$ca$m$ca#k$ca#p$ca#y$ca$P$ca$U$ca$i$ca~P%}O]!jO`!qOa!kOb!lOm$fa#U$fa#i$fa#n$fa#r$fa#t$fa#w$fa#{$fa$S$fa$W$fa$Z$fa$]$fa$_$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~O]!jO`!qOa!kOb!lOm$jav$ja#U$ja#i$ja#n$ja#r$ja#t$ja#w$ja#{$ja$S$ja$W$ja$Z$ja$]$ja$_$ja$b$ja$d$ja$g$ja$k$ja$m$ja#k$ja#p$ja#y$ja$P$ja$U$ja$i$ja~O]!jO`!qOa!kOb!lOm$lav$la#U$la#i$la#n$la#r$la#t$la#w$la#{$la$S$la$W$la$Z$la$]$la$_$la$b$la$d$la$g$la$k$la$m$la#k$la#p$la#y$la$P$la$U$la$i$la~Ov&tO~Ov&uO~O]!jO`!qOa!kOb!lOe&wO~O]!jO`!qOa!kOb!lOv$qa!^$qam$qa#U$qa#i$qa#n$qa#r$qa#t$qa#w$qa#{$qa$S$qa$W$qa$Z$qa$]$qa$_$qa$b$qa$d$qa$g$qa$k$qa$m$qa#k$qa#p$qa#y$qa$P$qa$U$qa$i$qa~O]!jO`!qOa!kOb!lO%R&xO~Ov&|O~P!(xOv'OO~P!(xOv'QO!^$rO~Os'RO~O]!jO`!qOa!kOb!lO#V'SOv#Sa!^#Sa#T#Sa#U#Sa~O!^$mOm#ziv#zi#U#zi#i#zi#n#zi#r#zi#t#zi#w#zi#{#zi$S#zi$W#zi$Z#zi$]#zi$_#zi$b#zi$d#zi$g#zi$k#zi$m#zi#k#zi#p#zi#y#zi$P#zi$U#zi$i#zi~O!^$rOm$Yiv$Yi#U$Yi#i$Yi#n$Yi#r$Yi#t$Yi#w$Yi#{$Yi$S$Yi$W$Yi$Z$Yi$]$Yi$_$Yi$b$Yi$d$Yi$g$Yi$k$Yi$m$Yi#k$Yi#p$Yi#y$Yi$P$Yi$U$Yi$i$Yi~On'VO~Oq!mOm$[iv$[i#U$[i#i$[i#n$[i#r$[i#t$[i#w$[i#{$[i$S$[i$W$[i$Z$[i$]$[i$_$[i$b$[i$d$[i$g$[i$k$[i$m$[i#k$[i#p$[i#y$[i$P$[i$U$[i$i$[i~O!^&pOm$^iv$^i#U$^i#i$^i#n$^i#r$^i#t$^i#w$^i#{$^i$S$^i$W$^i$Z$^i$]$^i$_$^i$b$^i$d$^i$g$^i$k$^i$m$^i#k$^i#p$^i#y$^i$P$^i$U$^i$i$^i~Oq!mOm$civ$ci#U$ci#i$ci#n$ci#r$ci#t$ci#w$ci#{$ci$S$ci$W$ci$Z$ci$]$ci$_$ci$b$ci$d$ci$g$ci$k$ci$m$ci#k$ci#p$ci#y$ci$P$ci$U$ci$i$ci~O]!jO`!qOa!kOb!lOXpqqpqvpqmpq#Upq#ipq#npq#rpq#tpq#wpq#{pq$Spq$Wpq$Zpq$]pq$_pq$bpq$dpq$gpq$kpq$mpq#kpq#ppq#ypq$Ppq$Upq$ipq~Os'YOv!cX%R!cXm!cX#U!cX#i!cX#n!cX#r!cX#t!cX#w!cX#{!cX$P!cX$S!cX$W!cX$Z!cX$]!cX$_!cX$b!cX$d!cX$g!cX$k!cX$m!cX$U!cX~Ov'[O%R&xO~Ov']O%R&xO~Ov'^O!^$rO~Om#}q#U#}q#i#}q#n#}q#r#}q#t#}q#w#}q#{#}q$P#}q$S#}q$W#}q$Z#}q$]#}q$_#}q$b#}q$d#}q$g#}q$k#}q$m#}q~P!(xOm$Rq#U$Rq#i$Rq#n$Rq#r$Rq#t$Rq#w$Rq#{$Rq$S$Rq$U$Rq$W$Rq$Z$Rq$]$Rq$_$Rq$b$Rq$d$Rq$g$Rq$k$Rq$m$Rq~P!(xO!^$rOm$Yqv$Yq#U$Yq#i$Yq#n$Yq#r$Yq#t$Yq#w$Yq#{$Yq$S$Yq$W$Yq$Z$Yq$]$Yq$_$Yq$b$Yq$d$Yq$g$Yq$k$Yq$m$Yq#k$Yq#p$Yq#y$Yq$P$Yq$U$Yq$i$Yq~Os'dO~O]!jO`!qOa!kOb!lOv#Sq!^#Sq#T#Sq#U#Sq~O%R&xOm#}y#U#}y#i#}y#n#}y#r#}y#t#}y#w#}y#{#}y$P#}y$S#}y$W#}y$Z#}y$]#}y$_#}y$b#}y$d#}y$g#}y$k#}y$m#}y~O%R&xOm$Ry#U$Ry#i$Ry#n$Ry#r$Ry#t$Ry#w$Ry#{$Ry$S$Ry$U$Ry$W$Ry$Z$Ry$]$Ry$_$Ry$b$Ry$d$Ry$g$Ry$k$Ry$m$Ry~O!^$rOm$Yyv$Yy#U$Yy#i$Yy#n$Yy#r$Yy#t$Yy#w$Yy#{$Yy$S$Yy$W$Yy$Z$Yy$]$Yy$_$Yy$b$Yy$d$Yy$g$Yy$k$Yy$m$Yy#k$Yy#p$Yy#y$Yy$P$Yy$U$Yy$i$Yy~O]!jO`!qOa!kOb!lOv!ci%R!cim!ci#U!ci#i!ci#n!ci#r!ci#t!ci#w!ci#{!ci$P!ci$S!ci$W!ci$Z!ci$]!ci$_!ci$b!ci$d!ci$g!ci$k!ci$m!ci$U!ci~O]!jO`!qOa!kOb!lOm$`qv$`q!^$`q#U$`q#i$`q#n$`q#r$`q#t$`q#w$`q#{$`q$S$`q$W$`q$Z$`q$]$`q$_$`q$b$`q$d$`q$g$`q$k$`q$m$`q#k$`q#p$`q#y$`q$P$`q$U$`q$i$`q~O",goto:"7o%UPPPPPPPP%VP%V%g&zPP&zPPP&zPPP&zPPPPPPPP'xP(YP(]PP(](mP(}P(]P(]P(])TP)eP(])kP){P(]PP(]*RPP*c*m*wP(]*}P+_P(]P(]P(]P(]+eP+u+xP(]+{P,],`P(]P(]P,cPPP(]P(]P(],gP,wP(]P(]P(]P,}-_P-oP,}-uP.VP,}P,}P,}.]P.mP,}P,}.s/TP,}/ZP/kP,}P,},}P,}P,}P/q,}P,}P,}/uP0VP,}P,}P0]0{1c2R2]2o3R3X3_3e4TPPPPPP4Z4kP%V7_m^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dQ!}oQ#OpQ%n#lQ%o#mQ&_$xQ'W&pR'`'S!wfRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dm!nch!o!t!u#U#X$g$v%O%q%t&o&sR$a!mm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#y!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#{!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR#}!WmWOTUVWX[`!Q!T!W!Z!^!ga&z&W&X&{&}'T'U'a'ba&y&W&X&{&}'T'U'a'bQ!YWR$P!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$R!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$U!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$X!eT$y#V$zm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$Z!gm#c}#]#^#_#`#a#b#e%U%X%[%_%b%em#]}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%T#]R&d%Um#^}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%W#^R&e%Xm#_}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%Z#_R&f%[m#`}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%^#`R&g%_m#a}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%a#aR&h%bT&q%r&rm#b}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%d#bR&i%eQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!ocQ!uh^$b!o!u$g$v%O&o&sQ$g!tQ$v#UQ%O#XQ&o%qR&s%tQ$n!|S&U$n&jR&j%mQ&{&WQ&}&XW'Z&{&}'a'bQ'a'TR'b'UQ$s#RW&Z$s&m'P'cQ&m%pQ'P&]R'c'VQ!aYR$T!aQ!dZR$W!dQ$z#VR&`$zQ#e}Q%U#]Q%X#^Q%[#_Q%_#`Q%b#aQ%e#b_%g#e%U%X%[%_%b%eQ&r%rR'X&rm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!seQ!thQ!wiQ!xjQ!zlQ!{mQ!|nQ#UvQ#VwQ#WxQ#XyQ#YzQ#Z{Q#[|Q$^!kQ$_!lQ$d!qQ$e!rQ%i#fQ%j#gQ%k#hQ%l#jQ%m#kQ%q#qQ%r#rQ%s#sQ%t#tQ%u#uQ%v#vQ%w#wQ&R$fQ&T$mQ&W$pQ&X$qQ&b${Q&v&QQ'T&kQ'U&lQ'_'RQ'e'YR'f'dm#d}#]#^#_#`#a#b#e%U%X%[%_%b%e",nodeNames:"\u26A0 {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when , ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render RenderParameter Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",maxTerm:189,nodeProps:[["closedBy",1,"}}",-4,2,3,4,5,"%}",22,")"],["openedBy",9,"{{",21,"(",38,"{%"],["group",-12,11,12,15,19,23,25,26,27,28,29,30,31,"Expression"]],skippedNodes:[0,6],repeatNodeCount:11,tokenData:")Q~RkXY!vYZ!v]^!vpq!vqr#Xrs#duv$Uwx$axy$|yz%R{|%W|}&r}!O&w!O!P'T!Q![&a![!]'e!^!_'j!_!`'r!`!a'j!c!}'z#R#S'z#T#o'z#p#q(p#q#r(u%W;'S'z;'S;:j(j<%lO'z~!{S%O~XY!vYZ!v]^!vpq!v~#[P!_!`#_~#dOa~~#gUOY#dZr#drs#ys;'S#d;'S;=`$O<%lO#d~$OOn~~$RP;=`<%l#d~$XP#q#r$[~$aOv~~$dUOY$aZw$awx#yx;'S$a;'S;=`$v<%lO$a~$yP;=`<%l$a~%ROf~~%WOe~P%ZQ!O!P%a!Q![&aP%dP!Q![%gP%lRoP!Q![%g!g!h%u#X#Y%uP%xR{|&R}!O&R!Q![&XP&UP!Q![&XP&^PoP!Q![&XP&fSoP!O!P%a!Q![&a!g!h%u#X#Y%u~&wO!^~~&zRuv$U!O!P%a!Q![&a~'YQ]S!O!P'`!Q![%g~'eOh~~'jOs~~'oPa~!_!`#_~'wPd~!_!`#__(TV^WuQ%RT!Q!['z!c!}'z#R#S'z#T#o'z%W;'S'z;'S;:j(j<%lO'z_(mP;=`<%l'z~(uOq~~(xP#q#r({~)QOX~",tokenizers:[F,N,C,I,0,1,2,3],topRules:{Template:[0,7]},specialized:[{term:187,get:O=>A[O]||-1},{term:37,get:O=>B[O]||-1}],tokenPrec:0});function q(O,$){return O.split(" ").map(e=>({label:e,type:$}))}const v=q("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),u=q("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),y=q("empty forloop tablerowloop in with as contains","keyword"),H=q("first index index0 last length rindex","property"),M=q("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function k(O={}){let $=O.filters?O.filters.concat(v):v,e=O.tags?O.tags.concat(u):u,r=O.variables?O.variables.concat(y):y,{properties:n}=O;return o=>{var Q;let t=(function(s){var m;let{state:d,pos:P}=s,a=V(d).resolveInner(P,-1).enterUnfinishedNodesBefore(P),c=((m=a.childBefore(P))===null||m===void 0?void 0:m.name)||a.name;if(a.name=="FilterName")return{type:"filter",node:a};if(s.explicit&&c=="|")return{type:"filter"};if(a.name=="TagName")return{type:"tag",node:a};if(s.explicit&&c=="{%")return{type:"tag"};if(a.name=="PropertyName"&&a.parent.name=="MemberExpression")return{type:"property",node:a,target:a.parent};if(a.name=="."&&a.parent.name=="MemberExpression")return{type:"property",target:a.parent};if(a.name=="MemberExpression"&&c==".")return{type:"property",target:a};if(a.name=="VariableName")return{type:"expression",from:a.from};let p=s.matchBefore(/[\w\u00c0-\uffff]+$/);return p?{type:"expression",from:p.from}:s.explicit&&a.name!="CommentText"&&a.name!="StringLiteral"&&a.name!="NumberLiteral"&&a.name!="InlineComment"?{type:"expression"}:null})(o);if(!t)return null;let l,Y=(Q=t.from)!==null&&Q!==void 0?Q:t.node?t.node.from:o.pos;return l=t.type=="filter"?$:t.type=="tag"?e:t.type=="expression"?r:(function(s,m,d,P){let a=[];for(;;){let c=m.getChild("Expression");if(!c)return[];if(c.name=="forloop")return a.length?[]:H;if(c.name=="tablerowloop")return a.length?[]:M;if(c.name=="VariableName"){a.unshift(s.sliceDoc(c.from,c.to));break}if(c.name!="MemberExpression")return[];{let p=c.getChild("PropertyName");p&&a.unshift(s.sliceDoc(p.from,p.to)),m=c}}return P?P(a,s,d):[]})(o.state,t.target,o,n),l.length?{options:l,from:Y,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const _=U.inputHandler.of((O,$,e,r)=>r=="%"&&$==e&&O.state.doc.sliceString($-1,e+1)=="{}"&&(O.dispatch(O.state.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:"%%"},range:j.cursor(n.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function h(O){return $=>{let e=O.test($.textAfter);return $.lineIndent($.node.from)+(e?0:$.unit)}}const K=X.define({name:"liquid",parser:L.configure({props:[S({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.tagName,FilterName:i.function(i.variableName),PropertyName:i.propertyName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),x.add({Tag:E({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":h(/^\s*(\{%-?\s*)?end\w/),IfDirective:h(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:h(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),Z.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let $=O.firstChild,e=O.lastChild;return $&&$.name=="Tag"?{from:$.to,to:e.name=="EndTag"?e.from:O.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),g=R();function W(O){return K.configure({wrap:G($=>$.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const T=W(g.language);function J(O={}){let $=O.base||g,e=$.language==g.language?T:W($.language);return new w(e,[$.support,e.data.of({autocomplete:k(O)}),$.language.data.of({closeBrackets:{brackets:["{"]}}),_])}export{_ as closePercentBrace,J as liquid,k as liquidCompletionSource,T as liquidLanguage};
1
+ import{o as R,e as w,p as U,f as X,q as G,v as j,h as z,s as S,i as x,k as Z,t as i,w as E,x as V,n as f}from"./index-DKEudB02.js";function D(O){return O>=65&&O<=90||O>=97&&O<=122}const F=new f(O=>{let $=O.pos;for(;;){let{next:e}=O;if(e<0)break;if(e==123){let r=O.peek(1);if(r==123){if(O.pos>$)break;return void O.acceptToken(1,2)}if(r==37){if(O.pos>$)break;let n=2,o=2;for(;;){let Q=O.peek(n);if(Q==32||Q==10)++n;else if(Q==35)for(++n;;){let t=O.peek(n);if(t<0||t==10)break;n++}else{if(Q!=45||o!=2){let t=Q==101&&O.peek(n+1)==110&&O.peek(n+2)==100;return void O.acceptToken(t?3:2,o)}o=++n}}}}if(O.advance(),e==10)break}O.pos>$&&O.acceptToken(180)});function b(O,$,e){return new f(r=>{let n=r.pos;for(;;){let{next:o}=r;if(o==123&&r.peek(1)==37){let Q=2;for(;;Q++){let l=r.peek(Q);if(l!=32&&l!=10)break}let t="";for(;;Q++){let l=r.peek(Q);if(!D(l))break;t+=String.fromCharCode(l)}if(t==O){if(r.pos>n)break;r.acceptToken(e,2);break}}else if(o<0)break;if(r.advance(),o==10)break}r.pos>n&&r.acceptToken($)})}const C=b("endcomment",182,5),N=b("endraw",181,4),I=new f(O=>{if(O.next==35){for(O.advance();!(O.next==10||O.next<0)&&(O.next!=37&&O.next!=125||O.peek(1)!=125);)O.advance();O.acceptToken(6)}}),A={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},B={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},L=z.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&`Q!jO,59QO&gQ!jO'#G^OsQhO'#CsOOQW'#G^'#G^OOOP,59l,59lO)PQhO,59lOsQhO,59pOsQhO,59tO)ZQhO,59vOsQhO,59yOsQhO,5:OOsQhO,5:SO!]QhO,5:WO!]QhO,5:`O)`QhO,5:dO)eQhO,5:fO)jQhO,5:hO)oQhO,5:kO)tQhO,5:qOsQhO,5:vOsQhO,5:xOsQhO,5;OOsQhO,5;QOsQhO,5;TOsQhO,5;XOsQhO,5;ZO+TQhO,5;]O+[OPO'#CdOOOP,59o,59oO#{OPO,59oO+jQxO'#DWOOOP,59x,59xO$ZOPO,59xO+oQxO'#DaOOOP,59},59}O$iOPO,59}O+tQxO'#DfOOOP,5:V,5:VO$wOPO,5:VO+yQxO'#DqOOOP,5:_,5:_O%VOPO,5:_O,OQxO'#DvOOOS'#GQ'#GQO,TOSO'#ERO,]OSO,5:jOOOQ'#GR'#GRO,bOQO'#EXO,jOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,oQxO'#EkOOOP-E9x-E9xO,tQ#|O,59SOsQhO,59VOsQhO,59VO,yQhO'#C|OOQW'#F|'#F|O-OQhO1G.lOOOP1G.l1G.lOsQhO,59VOsQhO,59ZO-WQ!jO,59_O-iQ!jO1G/WO-pQhO1G/WOOOP1G/W1G/WO-xQ!jO1G/[O.ZQ!jO1G/`OOOP1G/b1G/bO.lQ!jO1G/eO.}Q!jO1G/jO/qQ!jO1G/nO/xQhO1G/rO/}QhO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0SQhO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0_Q!jO1G0bO0fQ!jO1G0dO1QQ!jO1G0jO1cQ!jO1G0lO1jQ!jO1G0oO1{Q!jO1G0sO2^Q!jO1G0uO2oQhO'#EsO2vQhO'#ExO2}QhO'#FRO3UQhO'#FYO3]QhO'#F^O3dQhO'#FqOOQW'#Ga'#GaOOQW'#GT'#GTO3kQhO1G0wOsQhO'#EtOsQhO'#EyOsQhO'#E}OOQW'#FP'#FPOsQhO'#FSOsQhO'#FWO!]QhO'#FZO!]QhO'#F_OOQW'#Fc'#FcOOQW'#Fe'#FeO3rQhO'#FfOsQhO'#FhOsQhO'#FjOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO3wQhO,59rOOOP1G/d1G/dO3|QhO,59{OOOP1G/i1G/iO4RQhO,5:QOOOP1G/q1G/qO4WQhO,5:]OOOP1G/y1G/yO4]QhO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4bQxO'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4gQxO'#EYOOOP1G0n1G0nO4lQhO,5;VOOQW1G.n1G.nOOQW1G.q1G.qO7QQ!jO1G.qOOQW'#DO'#DOO7[QhO,59hOOQW-E9z-E9zOOOP7+$W7+$WO9UQ!jO1G.qO9`Q!jO1G.uOsQhO1G.yO;uQhO7+$rOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQhO'#F}O;}QhO7+%YOOOP7+%Y7+%YOsQhO7+%^OsQhO7+%fO<VQhO'#GPO<[QhO7+%nOOOP7+%n7+%nO<dQhO7+%nO<iQhO7+%|OOOP7+%|7+%|O!]QhO'#E`OOQW'#GS'#GSO<qQhO7+&OOsQhO'#E`OOOP7+&O7+&OOOOP7+&U7+&UO=PQhO7+&WOOOP7+&W7+&WOOOP7+&Z7+&ZOOOP7+&_7+&_OOOP7+&a7+&aOOQW,5;_,5;_O2oQhO,5;_OOQW'#Ev'#EvOOQW,5;d,5;dO2vQhO,5;dOOQW'#E{'#E{OOQW,5;m,5;mO2}QhO,5;mOOQW'#FU'#FUOOQW,5;t,5;tO3UQhO,5;tOOQW'#F['#F[OOQW,5;x,5;xO3]QhO,5;xOOQW'#Fa'#FaOOQW,5<],5<]O3dQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&c7+&cO=XQ!jO,5;`O>rQ!jO,5;eO@]Q!jO,5;iOBYQ!jO,5;nOCsQ!jO,5;rOEfQhO,5;uOEkQhO,5;yOEpQhO,5<QOGgQ!jO,5<SOIYQ!jO,5<UOKYQ!jO,5<XOMVQ!jO,5<ZONxQ!jO,5<^O!!cQ!jO,5<bO!$`Q!jO,5<dOOOP1G/^1G/^OOOP1G/g1G/gOOOP1G/l1G/lOOOP1G/w1G/wOOOP1G/|1G/|O!&]QhO,5:nO!&bQhO,5:tOOOP1G0q1G0qOsQhO1G/SO!&gQ!jO7+$eOOOP<<H^<<H^O!&xQ!jO,5<iOOQW-E9{-E9{OOOP<<Ht<<HtO!)ZQ!jO<<HxO!)bQ!jO<<IQOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IY<<IYO!)iQhO<<IYOOOP<<Ih<<IhO!)qQhO,5:zOOQW-E:Q-E:QOOOP<<Ij<<IjO!)vQ!jO,5:zOOOP<<Ir<<IrOOQW1G0y1G0yOOQW1G1O1G1OOOQW1G1X1G1XOOQW1G1`1G1`OOQW1G1d1G1dOOQW1G1w1G1wO!*eQhO1G1^OsQhO1G1aOsQhO1G1eO!,XQhO1G1lO!-{QhO1G1lO!.QQhO1G1nO!]QhO'#FlOOQW'#GU'#GUO!/tQhO1G1pO!1hQhO1G1uOOOP1G0Y1G0YOOOP1G0`1G0`O!3[Q!jO7+$nOOQW<<HP<<HPOOQW'#Dp'#DpO!5_QhO'#DoOOQW'#GO'#GOO!6xQhOAN>dOOOPAN>dAN>dO!7QQhOAN>lOOOPAN>lAN>lO!7YQhOAN>tOOOPAN>tAN>tOsQhO1G0fO!]QhO1G0fO!7bQ!jO7+&{O!8qQ!jO7+'PO!:QQhO7+'WO!;tQhO,5<WOOQW-E:S-E:SOsQhO,5:ZOOQW-E9|-E9|OOOPG24OG24OOOOPG24WG24WOOOPG24`G24`O!;yQ!jO7+&QOOQW7+&Q7+&QO!<eQhO<<JgO!=uQhO<<JkO!?VQhO<<JrOsQhO1G1rO!@yQ!jO1G/uO!BmQ!jO7+'^",stateData:"!Dm~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OfeOifOjfOkfOlfOmfOnfOofO%RbO~OuhOvgOyiO}jO!PkO!SlO!XmO!]nO!aoO!ipO!mqO!orO!qsO!ttO!zuO#PvO#RwO#XxO#ZyO#^zO#b{O#d|O#f}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jO`!qOa!kOb!lOq!mO~OX!pO~P%}Od!rOX%QX]%QX`%QXa%QXb%QXq%QXh%QXv%QX!^%QX#T%QX#U%QXm%QX#i%QX#k%QX#n%QX#r%QX#t%QX#w%QX#{%QX$S%QX$W%QX$Z%QX$]%QX$_%QX$b%QX$d%QX$g%QX$k%QX$m%QX#p%QX#y%QX$i%QXe%QX%R%QX#V%QX$P%QX$U%QX~Oq!mOv!vO~PsOv!yO~Ov#PO~Ov#QO~On#RO~Ov#SO~Ov#TO~Om#oO#U#lO#i#fO#n#gO#r#hO#t#iO#w#jO#{#kO$S#mO$W#nO$Z#pO$]#qO$_#rO$b#sO$d#tO$g#uO$k#vO$m#wO~Ov#xO~P)yO$zPOPWXQWXRWX~O{#zO~O!U#|O~O!Z$OO~O!f$QO~O!k$SO~O$|!`OT!uX~OT$VO~O${!cOS!{X~OS$YO~O#`$[O~O^$]O~O%R$`O~OX$cOq!mO~O]!jO`!qOa!kOb!lOh$fO~Ov$hO~P%}Oq!mOv$hO~O]!jO`!qOa!kOb!lOv$iO~O]!jO`!qOa!kOb!lOv$jO~O]!jO`!qOa!kOb!lOv$kO~O]!jO`!qOa!kOb!lOv$lO~O]!jO`!qOa!kOb!lO!^$mO~Ov$oO~P/`O!b$pO~O!b$qO~Os$uOv$tO!^$rO~Ov$wO~P%}O]!jO`!qOa!kOb!lOv$|O!^$xO#T${O#U${O~O]!jO`!qOa!kOb!lOv$}O~Ov%PO~P%}O]!jO`!qOa!kOb!lOv%QO~O]!jO`!qOa!kOb!lOv%RO~O]!jO`!qOa!kOb!lOv%SO~O#k%VO~P)yO#p%YO~P)yO#y%]O~P)yO$P%`O~P)yO$U%cO~P)yO$i%fO~P)yOv%hO~P)yOn%pO~Ov%xO~Ov%yO~Ov%zO~Ov%{O~Ov%|O~O!w%}O~O!}&OO~Ov&PO~Oa!kOX_i]_iq_ih_iv_i!^_i#T_i#U_im_i#i_i#k_i#n_i#r_i#t_i#w_i#{_i$S_i$W_i$Z_i$]_i$__i$b_i$d_i$g_i$k_i$m_i#p_i#y_i$i_ie_i%R_i#V_i$P_i$U_i~O`!qOb!lO~P4qOs&QOXpaqpavpampa#Upa#ipa#npa#rpa#tpa#wpa#{pa$Spa$Wpa$Zpa$]pa$_pa$bpa$dpa$gpa$kpa$mpa#kpa#ppa#ypa$Ppa$Upa$ipa~O`_ib_i~P4qO`!qOa!kOb!lOXci]ciqcihcivci!^ci#Tci#Ucimci#ici#kci#nci#rci#tci#wci#{ci$Sci$Wci$Zci$]ci$_ci$bci$dci$gci$kci$mci#pci#yci$icieci%Rci#Vci$Pci$Uci~Oq!mOv&SO~Ov&VO!^$mO~On&YO~Ov&[O!^$rO~On&]O~Oq!mOv&^O~Ov&aO!^$xO#T${O#U${O~Oq!mOv&cO~O]!jO`!qOa!kOb!lOm#ha#U#ha#i#ha#k#ha#n#ha#r#ha#t#ha#w#ha#{#ha$S#ha$W#ha$Z#ha$]#ha$_#ha$b#ha$d#ha$g#ha$k#ha$m#ha~O]!jO`!qOa!kOb!lOm#ma#U#ma#i#ma#n#ma#p#ma#r#ma#t#ma#w#ma#{#ma$S#ma$W#ma$Z#ma$]#ma$_#ma$b#ma$d#ma$g#ma$k#ma$m#ma~O]!jO`!qOa!kOb!lOm#qav#qa#U#qa#i#qa#n#qa#r#qa#t#qa#w#qa#{#qa$S#qa$W#qa$Z#qa$]#qa$_#qa$b#qa$d#qa$g#qa$k#qa$m#qa#k#qa#p#qa#y#qa$P#qa$U#qa$i#qa~O]!jO`!qOa!kOb!lOm#va#U#va#i#va#n#va#r#va#t#va#w#va#y#va#{#va$S#va$W#va$Z#va$]#va$_#va$b#va$d#va$g#va$k#va$m#va~Om#zav#za#U#za#i#za#n#za#r#za#t#za#w#za#{#za$S#za$W#za$Z#za$]#za$_#za$b#za$d#za$g#za$k#za$m#za#k#za#p#za#y#za$P#za$U#za$i#za~P/`O!b&kO~O!b&lO~Os&nO!^$rOm$Yav$Ya#U$Ya#i$Ya#n$Ya#r$Ya#t$Ya#w$Ya#{$Ya$S$Ya$W$Ya$Z$Ya$]$Ya$_$Ya$b$Ya$d$Ya$g$Ya$k$Ya$m$Ya#k$Ya#p$Ya#y$Ya$P$Ya$U$Ya$i$Ya~Om$[av$[a#U$[a#i$[a#n$[a#r$[a#t$[a#w$[a#{$[a$S$[a$W$[a$Z$[a$]$[a$_$[a$b$[a$d$[a$g$[a$k$[a$m$[a#k$[a#p$[a#y$[a$P$[a$U$[a$i$[a~P%}O]!jO`!qOa!kOb!lO!^&pOm$^av$^a#U$^a#i$^a#n$^a#r$^a#t$^a#w$^a#{$^a$S$^a$W$^a$Z$^a$]$^a$_$^a$b$^a$d$^a$g$^a$k$^a$m$^a#k$^a#p$^a#y$^a$P$^a$U$^a$i$^a~O]!jO`!qOa!kOb!lOm$aav$aa#U$aa#i$aa#n$aa#r$aa#t$aa#w$aa#{$aa$S$aa$W$aa$Z$aa$]$aa$_$aa$b$aa$d$aa$g$aa$k$aa$m$aa#k$aa#p$aa#y$aa$P$aa$U$aa$i$aa~Om$cav$ca#U$ca#i$ca#n$ca#r$ca#t$ca#w$ca#{$ca$S$ca$W$ca$Z$ca$]$ca$_$ca$b$ca$d$ca$g$ca$k$ca$m$ca#k$ca#p$ca#y$ca$P$ca$U$ca$i$ca~P%}O]!jO`!qOa!kOb!lOm$fa#U$fa#i$fa#n$fa#r$fa#t$fa#w$fa#{$fa$S$fa$W$fa$Z$fa$]$fa$_$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~O]!jO`!qOa!kOb!lOm$jav$ja#U$ja#i$ja#n$ja#r$ja#t$ja#w$ja#{$ja$S$ja$W$ja$Z$ja$]$ja$_$ja$b$ja$d$ja$g$ja$k$ja$m$ja#k$ja#p$ja#y$ja$P$ja$U$ja$i$ja~O]!jO`!qOa!kOb!lOm$lav$la#U$la#i$la#n$la#r$la#t$la#w$la#{$la$S$la$W$la$Z$la$]$la$_$la$b$la$d$la$g$la$k$la$m$la#k$la#p$la#y$la$P$la$U$la$i$la~Ov&tO~Ov&uO~O]!jO`!qOa!kOb!lOe&wO~O]!jO`!qOa!kOb!lOv$qa!^$qam$qa#U$qa#i$qa#n$qa#r$qa#t$qa#w$qa#{$qa$S$qa$W$qa$Z$qa$]$qa$_$qa$b$qa$d$qa$g$qa$k$qa$m$qa#k$qa#p$qa#y$qa$P$qa$U$qa$i$qa~O]!jO`!qOa!kOb!lO%R&xO~Ov&|O~P!(xOv'OO~P!(xOv'QO!^$rO~Os'RO~O]!jO`!qOa!kOb!lO#V'SOv#Sa!^#Sa#T#Sa#U#Sa~O!^$mOm#ziv#zi#U#zi#i#zi#n#zi#r#zi#t#zi#w#zi#{#zi$S#zi$W#zi$Z#zi$]#zi$_#zi$b#zi$d#zi$g#zi$k#zi$m#zi#k#zi#p#zi#y#zi$P#zi$U#zi$i#zi~O!^$rOm$Yiv$Yi#U$Yi#i$Yi#n$Yi#r$Yi#t$Yi#w$Yi#{$Yi$S$Yi$W$Yi$Z$Yi$]$Yi$_$Yi$b$Yi$d$Yi$g$Yi$k$Yi$m$Yi#k$Yi#p$Yi#y$Yi$P$Yi$U$Yi$i$Yi~On'VO~Oq!mOm$[iv$[i#U$[i#i$[i#n$[i#r$[i#t$[i#w$[i#{$[i$S$[i$W$[i$Z$[i$]$[i$_$[i$b$[i$d$[i$g$[i$k$[i$m$[i#k$[i#p$[i#y$[i$P$[i$U$[i$i$[i~O!^&pOm$^iv$^i#U$^i#i$^i#n$^i#r$^i#t$^i#w$^i#{$^i$S$^i$W$^i$Z$^i$]$^i$_$^i$b$^i$d$^i$g$^i$k$^i$m$^i#k$^i#p$^i#y$^i$P$^i$U$^i$i$^i~Oq!mOm$civ$ci#U$ci#i$ci#n$ci#r$ci#t$ci#w$ci#{$ci$S$ci$W$ci$Z$ci$]$ci$_$ci$b$ci$d$ci$g$ci$k$ci$m$ci#k$ci#p$ci#y$ci$P$ci$U$ci$i$ci~O]!jO`!qOa!kOb!lOXpqqpqvpqmpq#Upq#ipq#npq#rpq#tpq#wpq#{pq$Spq$Wpq$Zpq$]pq$_pq$bpq$dpq$gpq$kpq$mpq#kpq#ppq#ypq$Ppq$Upq$ipq~Os'YOv!cX%R!cXm!cX#U!cX#i!cX#n!cX#r!cX#t!cX#w!cX#{!cX$P!cX$S!cX$W!cX$Z!cX$]!cX$_!cX$b!cX$d!cX$g!cX$k!cX$m!cX$U!cX~Ov'[O%R&xO~Ov']O%R&xO~Ov'^O!^$rO~Om#}q#U#}q#i#}q#n#}q#r#}q#t#}q#w#}q#{#}q$P#}q$S#}q$W#}q$Z#}q$]#}q$_#}q$b#}q$d#}q$g#}q$k#}q$m#}q~P!(xOm$Rq#U$Rq#i$Rq#n$Rq#r$Rq#t$Rq#w$Rq#{$Rq$S$Rq$U$Rq$W$Rq$Z$Rq$]$Rq$_$Rq$b$Rq$d$Rq$g$Rq$k$Rq$m$Rq~P!(xO!^$rOm$Yqv$Yq#U$Yq#i$Yq#n$Yq#r$Yq#t$Yq#w$Yq#{$Yq$S$Yq$W$Yq$Z$Yq$]$Yq$_$Yq$b$Yq$d$Yq$g$Yq$k$Yq$m$Yq#k$Yq#p$Yq#y$Yq$P$Yq$U$Yq$i$Yq~Os'dO~O]!jO`!qOa!kOb!lOv#Sq!^#Sq#T#Sq#U#Sq~O%R&xOm#}y#U#}y#i#}y#n#}y#r#}y#t#}y#w#}y#{#}y$P#}y$S#}y$W#}y$Z#}y$]#}y$_#}y$b#}y$d#}y$g#}y$k#}y$m#}y~O%R&xOm$Ry#U$Ry#i$Ry#n$Ry#r$Ry#t$Ry#w$Ry#{$Ry$S$Ry$U$Ry$W$Ry$Z$Ry$]$Ry$_$Ry$b$Ry$d$Ry$g$Ry$k$Ry$m$Ry~O!^$rOm$Yyv$Yy#U$Yy#i$Yy#n$Yy#r$Yy#t$Yy#w$Yy#{$Yy$S$Yy$W$Yy$Z$Yy$]$Yy$_$Yy$b$Yy$d$Yy$g$Yy$k$Yy$m$Yy#k$Yy#p$Yy#y$Yy$P$Yy$U$Yy$i$Yy~O]!jO`!qOa!kOb!lOv!ci%R!cim!ci#U!ci#i!ci#n!ci#r!ci#t!ci#w!ci#{!ci$P!ci$S!ci$W!ci$Z!ci$]!ci$_!ci$b!ci$d!ci$g!ci$k!ci$m!ci$U!ci~O]!jO`!qOa!kOb!lOm$`qv$`q!^$`q#U$`q#i$`q#n$`q#r$`q#t$`q#w$`q#{$`q$S$`q$W$`q$Z$`q$]$`q$_$`q$b$`q$d$`q$g$`q$k$`q$m$`q#k$`q#p$`q#y$`q$P$`q$U$`q$i$`q~O",goto:"7o%UPPPPPPPP%VP%V%g&zPP&zPPP&zPPP&zPPPPPPPP'xP(YP(]PP(](mP(}P(]P(]P(])TP)eP(])kP){P(]PP(]*RPP*c*m*wP(]*}P+_P(]P(]P(]P(]+eP+u+xP(]+{P,],`P(]P(]P,cPPP(]P(]P(],gP,wP(]P(]P(]P,}-_P-oP,}-uP.VP,}P,}P,}.]P.mP,}P,}.s/TP,}/ZP/kP,}P,},}P,}P,}P/q,}P,}P,}/uP0VP,}P,}P0]0{1c2R2]2o3R3X3_3e4TPPPPPP4Z4kP%V7_m^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dQ!}oQ#OpQ%n#lQ%o#mQ&_$xQ'W&pR'`'S!wfRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dm!nch!o!t!u#U#X$g$v%O%q%t&o&sR$a!mm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#y!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#{!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR#}!WmWOTUVWX[`!Q!T!W!Z!^!ga&z&W&X&{&}'T'U'a'ba&y&W&X&{&}'T'U'a'bQ!YWR$P!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$R!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$U!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$X!eT$y#V$zm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$Z!gm#c}#]#^#_#`#a#b#e%U%X%[%_%b%em#]}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%T#]R&d%Um#^}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%W#^R&e%Xm#_}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%Z#_R&f%[m#`}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%^#`R&g%_m#a}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%a#aR&h%bT&q%r&rm#b}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%d#bR&i%eQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!ocQ!uh^$b!o!u$g$v%O&o&sQ$g!tQ$v#UQ%O#XQ&o%qR&s%tQ$n!|S&U$n&jR&j%mQ&{&WQ&}&XW'Z&{&}'a'bQ'a'TR'b'UQ$s#RW&Z$s&m'P'cQ&m%pQ'P&]R'c'VQ!aYR$T!aQ!dZR$W!dQ$z#VR&`$zQ#e}Q%U#]Q%X#^Q%[#_Q%_#`Q%b#aQ%e#b_%g#e%U%X%[%_%b%eQ&r%rR'X&rm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!seQ!thQ!wiQ!xjQ!zlQ!{mQ!|nQ#UvQ#VwQ#WxQ#XyQ#YzQ#Z{Q#[|Q$^!kQ$_!lQ$d!qQ$e!rQ%i#fQ%j#gQ%k#hQ%l#jQ%m#kQ%q#qQ%r#rQ%s#sQ%t#tQ%u#uQ%v#vQ%w#wQ&R$fQ&T$mQ&W$pQ&X$qQ&b${Q&v&QQ'T&kQ'U&lQ'_'RQ'e'YR'f'dm#d}#]#^#_#`#a#b#e%U%X%[%_%b%e",nodeNames:"\u26A0 {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when , ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render RenderParameter Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",maxTerm:189,nodeProps:[["closedBy",1,"}}",-4,2,3,4,5,"%}",22,")"],["openedBy",9,"{{",21,"(",38,"{%"],["group",-12,11,12,15,19,23,25,26,27,28,29,30,31,"Expression"]],skippedNodes:[0,6],repeatNodeCount:11,tokenData:")Q~RkXY!vYZ!v]^!vpq!vqr#Xrs#duv$Uwx$axy$|yz%R{|%W|}&r}!O&w!O!P'T!Q![&a![!]'e!^!_'j!_!`'r!`!a'j!c!}'z#R#S'z#T#o'z#p#q(p#q#r(u%W;'S'z;'S;:j(j<%lO'z~!{S%O~XY!vYZ!v]^!vpq!v~#[P!_!`#_~#dOa~~#gUOY#dZr#drs#ys;'S#d;'S;=`$O<%lO#d~$OOn~~$RP;=`<%l#d~$XP#q#r$[~$aOv~~$dUOY$aZw$awx#yx;'S$a;'S;=`$v<%lO$a~$yP;=`<%l$a~%ROf~~%WOe~P%ZQ!O!P%a!Q![&aP%dP!Q![%gP%lRoP!Q![%g!g!h%u#X#Y%uP%xR{|&R}!O&R!Q![&XP&UP!Q![&XP&^PoP!Q![&XP&fSoP!O!P%a!Q![&a!g!h%u#X#Y%u~&wO!^~~&zRuv$U!O!P%a!Q![&a~'YQ]S!O!P'`!Q![%g~'eOh~~'jOs~~'oPa~!_!`#_~'wPd~!_!`#__(TV^WuQ%RT!Q!['z!c!}'z#R#S'z#T#o'z%W;'S'z;'S;:j(j<%lO'z_(mP;=`<%l'z~(uOq~~(xP#q#r({~)QOX~",tokenizers:[F,N,C,I,0,1,2,3],topRules:{Template:[0,7]},specialized:[{term:187,get:O=>A[O]||-1},{term:37,get:O=>B[O]||-1}],tokenPrec:0});function q(O,$){return O.split(" ").map(e=>({label:e,type:$}))}const v=q("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),u=q("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),y=q("empty forloop tablerowloop in with as contains","keyword"),H=q("first index index0 last length rindex","property"),M=q("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function k(O={}){let $=O.filters?O.filters.concat(v):v,e=O.tags?O.tags.concat(u):u,r=O.variables?O.variables.concat(y):y,{properties:n}=O;return o=>{var Q;let t=(function(s){var m;let{state:d,pos:P}=s,a=V(d).resolveInner(P,-1).enterUnfinishedNodesBefore(P),c=((m=a.childBefore(P))===null||m===void 0?void 0:m.name)||a.name;if(a.name=="FilterName")return{type:"filter",node:a};if(s.explicit&&c=="|")return{type:"filter"};if(a.name=="TagName")return{type:"tag",node:a};if(s.explicit&&c=="{%")return{type:"tag"};if(a.name=="PropertyName"&&a.parent.name=="MemberExpression")return{type:"property",node:a,target:a.parent};if(a.name=="."&&a.parent.name=="MemberExpression")return{type:"property",target:a.parent};if(a.name=="MemberExpression"&&c==".")return{type:"property",target:a};if(a.name=="VariableName")return{type:"expression",from:a.from};let p=s.matchBefore(/[\w\u00c0-\uffff]+$/);return p?{type:"expression",from:p.from}:s.explicit&&a.name!="CommentText"&&a.name!="StringLiteral"&&a.name!="NumberLiteral"&&a.name!="InlineComment"?{type:"expression"}:null})(o);if(!t)return null;let l,Y=(Q=t.from)!==null&&Q!==void 0?Q:t.node?t.node.from:o.pos;return l=t.type=="filter"?$:t.type=="tag"?e:t.type=="expression"?r:(function(s,m,d,P){let a=[];for(;;){let c=m.getChild("Expression");if(!c)return[];if(c.name=="forloop")return a.length?[]:H;if(c.name=="tablerowloop")return a.length?[]:M;if(c.name=="VariableName"){a.unshift(s.sliceDoc(c.from,c.to));break}if(c.name!="MemberExpression")return[];{let p=c.getChild("PropertyName");p&&a.unshift(s.sliceDoc(p.from,p.to)),m=c}}return P?P(a,s,d):[]})(o.state,t.target,o,n),l.length?{options:l,from:Y,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const _=U.inputHandler.of((O,$,e,r)=>r=="%"&&$==e&&O.state.doc.sliceString($-1,e+1)=="{}"&&(O.dispatch(O.state.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:"%%"},range:j.cursor(n.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function h(O){return $=>{let e=O.test($.textAfter);return $.lineIndent($.node.from)+(e?0:$.unit)}}const K=X.define({name:"liquid",parser:L.configure({props:[S({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.tagName,FilterName:i.function(i.variableName),PropertyName:i.propertyName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),x.add({Tag:E({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":h(/^\s*(\{%-?\s*)?end\w/),IfDirective:h(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:h(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),Z.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let $=O.firstChild,e=O.lastChild;return $&&$.name=="Tag"?{from:$.to,to:e.name=="EndTag"?e.from:O.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),g=R();function W(O){return K.configure({wrap:G($=>$.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const T=W(g.language);function J(O={}){let $=O.base||g,e=$.language==g.language?T:W($.language);return new w(e,[$.support,e.data.of({autocomplete:k(O)}),$.language.data.of({closeBrackets:{brackets:["{"]}}),_])}export{_ as closePercentBrace,J as liquid,k as liquidCompletionSource,T as liquidLanguage};