@marimo-team/frontend 0.25.3-dev108 → 0.25.3-dev112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/__vite-browser-external-CC-8m5lM.js +1 -0
- package/dist/assets/__vite-browser-external-XYxUVbCI.js +1 -0
- package/dist/assets/{edit-page-EmacXgdB.js → edit-page-DQIDFr6D.js} +1 -1
- package/dist/assets/{index-hwaZTQ9l.js → index-BK10QsEp.js} +3 -3
- package/dist/assets/{panels-B0lqLcI0.js → panels-BYAbCxyB.js} +1 -1
- package/dist/assets/{run-page-DHE6ET5K.js → run-page-WQVzpHJp.js} +1 -1
- package/dist/assets/{save-worker-pCkSHhuz.js → save-worker-hzK9hmkP.js} +1 -1
- package/dist/assets/{state-DAqdiGqq.js → state-Djmjs8Ik.js} +1 -1
- package/dist/assets/{worker-bSCjCvwz.js → worker-C_3ZriwH.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/src/hooks/useDebounce.ts +1 -2
- package/src/hooks/useEventListener.ts +1 -2
- package/src/utils/tracer.ts +9 -5
- package/dist/assets/__vite-browser-external-8vDMR0Kk.js +0 -1
- package/dist/assets/__vite-browser-external-mKcnhO20.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-BDjgaBtz.js";import{t as c}from"./react-DVplv7_D.js";import{$ as l,B as u,D as d,Dt as f,Et as p,Gn as m,Hr as h,I as g,Ii as ee,Jn as te,Kn as ne,Mr as re,Oo as ie,Ot as ae,R as oe,So as se,St as ce,T as le,Vi as ue,Wn as de,b as fe,ei as pe,g as me,h as he,l as ge,mr as _e,pr as ve,qn as ye,r as be}from"./cells-2HETnlvE.js";import{C as _,E as v,F as y,I as b,K as xe,N as x,O as Se,R as S,S as C,V as Ce,b as w,c as T,v as E,z as D}from"./schemas-ChRqMOTL.js";import{t as we}from"./compiler-runtime-BrajqUja.js";import{D as Te,d as Ee,w as De}from"./config-DpY86_Yq.js";import{c as Oe,i as ke,n as Ae,o as je,p as O,r as Me,s as Ne,t as Pe}from"./state-DAqdiGqq.js";import{g as k,t as A}from"./useEventListener-CjDeLqFC.js";import{t as j}from"./objects-rLPlQ3X_.js";import{i as Fe}from"./utils-B4K466FK.js";import{a as M,f as Ie,m as Le,r as Re,v as ze}from"./session-CMLIzZKw.js";import{M as Be,T as N,_ as Ve,l as He,o as Ue,w as P,x as We}from"./config-CD1IuZFJ.js";import{r as Ge}from"./state-B_MCKzBL.js";import{i as Ke,o as qe,r as Je}from"./state-C5WAeuTu.js";import{r as Ye}from"./ErrorBoundary-DxSzjvbx.js";import{n as F,t as I}from"./cn-ldLVeaqm.js";import{t as Xe}from"./jsx-runtime-B74pBk57.js";import{i as L,s as R}from"./fullscreen-BWTs8pYZ.js";import{a as z,c as B,i as V,l as Ze,n as H,o as U,r as Qe,s as $e}from"./use-restore-focus-DdS7Tl0F.js";import{Dt as et,Et as tt,xt as nt}from"./JsonOutput-B7pGj79O.js";import{p as rt}from"./download-Dod42wfD.js";import{t as it}from"./tooltip-CkGm8X7m.js";import{t as at}from"./button-D8gVKwe-.js";import{t as ot}from"./createLucideIcon-DfJ2oMlA.js";import{P as st,a as ct,c as lt,i as ut,n as dt}from"./layout-C-NAerIZ.js";import{d as ft,n as pt}from"./markdown-renderer-BhiTvxtL.js";import{v as mt}from"./write-secret-modal-BEx-EUlh.js";import{n as ht}from"./spinner-DyNE-o8o.js";import{c as gt,l as _t,s as vt}from"./readonly-python-code-Cqkfdeyo.js";import{s as yt}from"./MarimoErrorOutput-Bzo6Bkp5.js";import{t as bt}from"./use-toast-Wu434mLr.js";import{i as xt}from"./strings-C25fhMR_.js";import{t as St}from"./requests-BIFR-h4M.js";import{t as Ct}from"./useDebounce-DwTQ_1Pu.js";import{n as wt}from"./useAsyncData-qvoPYHtx.js";import{t as Tt}from"./RenderHTML-D6AC0IhC.js";import{t as Et}from"./package-data-CKPmBDtg.js";import{f as Dt}from"./useInstallPackage-wcDq9hYT.js";import{a as Ot}from"./errors-CNsgAw6m.js";import{s as kt}from"./react-icons.esm-D6tfmvq8.js";import{r as At}from"./events-CbeVJ6OD.js";import{i as jt}from"./cell-link-D3rkqgbU.js";import{t as Mt}from"./useDelayElapsed-BlsDT4TV.js";import{t as Nt}from"./requests-DuLJN9Tf.js";import{r as Pt,s as Ft,t as It}from"./state-Cv2JW3l9.js";import{n as Lt}from"./runs-C49hleBy.js";function W(e){return xe(T,e)}var Rt=ot(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),zt=ot(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Bt=ot(`unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),G=e(c(),1),K=we(),q=Xe(),Vt=e=>{let{requires:t,fallback:n,delay:r,children:a}=e,o=n===void 0?null:n,s=r===void 0?0:r,c=i(t),l=Mt(c?0:s);return c?a:l?o:null},Ht=e=>{let t=(0,K.c)(6),{title:n}=e,r=Ct(n,300),i=n===r,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(ht,{className:`size-20 animate-spin text-primary`,"data-testid":`large-spinner`,strokeWidth:1}),t[0]=a):a=t[0];let o=i?`opacity-100`:`opacity-0`,s;t[1]===o?s=t[2]:(s=I(`mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300`,o),t[1]=o,t[2]=s);let c;return t[3]!==r||t[4]!==s?(c=(0,q.jsxs)(`div`,{className:`flex flex-col h-full flex-1 items-center justify-center p-4`,children:[a,(0,q.jsx)(`div`,{className:s,children:r})]}),t[3]=r,t[4]=s,t[5]=c):c=t[5],c};function Ut(e,t){return e===`edit`||e===`home`||e===`gallery`?!0:e===`present`||M(Fe.includeCode,`false`)||M(Fe.showCode,`false`)?!1:M(Fe.showCode,`true`)?!0:t}function Wt(e){let t=Ut(e.mode,e.showAppCode),n=e.hasCells&&e.hasCachedOutputs;return{showCode:t,showCachedOutputs:n,canPaint:e.hasCells&&(t||n||e.allCellsIdle)}}var Gt=r(e=>{let t=!1,n=!0;for(let r of Object.values(e(fe).cellRuntime))pt(r.output)||(t=!0),r.status!==`idle`&&(n=!1);return{hasCachedOutputs:t,allCellsIdle:n}}),Kt=r(e=>e(Gt).hasCachedOutputs),qt=r(e=>e(Gt).allCellsIdle),Jt=r(e=>Wt({mode:e(Ie),showAppCode:e(Ge),hasCells:e(me),hasCachedOutputs:e(Kt),allCellsIdle:e(qt)})),Yt=r(e=>e(Jt).canPaint),Xt=e=>{let t=(0,K.c)(2),{children:n}=e;if(!Be())return n;let r;return t[0]===n?r=t[1]:(r=(0,q.jsx)(Zt,{children:n}),t[0]=n,t[1]=r),r},Zt=e=>{let t=(0,K.c)(8),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let{error:a}=wt($t,r),o=i(Yt),s=(0,G.useRef)(!1),c,l;if(t[1]!==o||t[2]!==a?(c=()=>{a&&o&&!s.current&&(s.current=!0,k.error(`Pyodide failed to initialize`,a),bt({title:`Failed to start the notebook runtime`,description:Ot(a),variant:`danger`}))},l=[a,o],t[1]=o,t[2]=a,t[3]=c,t[4]=l):(c=t[3],l=t[4]),(0,G.useEffect)(c,l),a&&!o)throw a;let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(Qt,{}),t[5]=u):u=t[5];let d;return t[6]===n?d=t[7]:(d=(0,q.jsx)(Vt,{requires:Yt,fallback:u,children:n}),t[6]=n,t[7]=d),d},Qt=()=>{let e=(0,K.c)(2),t=i(qe),n=t.kind===`loading`?t.message:`Loading…`,r;return e[0]===n?r=e[1]:(r=(0,q.jsx)(Ht,{title:n}),e[0]=n,e[1]=r),r};async function $t(){return await O.INSTANCE.initialized.promise,!0}var en={idle:`./favicon.ico`,success:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`,running:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`,error:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`};function tn(){let e=document.querySelector(`link[rel~='icon']`);if(e)return e;let t=document.createElement(`link`);return t.rel=`icon`,document.head.append(t),t}function nn(e){if(document.visibilityState===`visible`)return;let t=()=>{e===0?new Notification(`Execution completed`,{body:`Your notebook run completed successfully.`,icon:en.success}):new Notification(`Execution failed`,{body:`Your notebook run encountered ${e} error(s).`,icon:en.error})};!(`Notification`in window)||Notification.permission===`denied`||(Notification.permission===`granted`?t():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e===`granted`&&t()}))}var rn=e=>{let t=(0,K.c)(11),{isRunning:n}=e,r=i(be),a,o;t[0]!==n||t[1]!==r?(a=()=>{let e=tn();if(!n&&e.href.includes(`favicon`)||(e.href=en[n?`running`:r===0?`success`:`error`],!document.hasFocus()))return;let t=setTimeout(()=>{e.href=en.idle},3e3);return()=>clearTimeout(t)},o=[n,r],t[0]=n,t[1]=r,t[2]=a,t[3]=o):(a=t[2],o=t[3]),(0,G.useEffect)(a,o);let s=st(n)??n,c,l;t[4]!==n||t[5]!==r||t[6]!==s?(c=()=>{s&&!n&&nn(r)},l=[r,s,n],t[4]=n,t[5]=r,t[6]=s,t[7]=c,t[8]=l):(c=t[7],l=t[8]),(0,G.useEffect)(c,l);let u;return t[9]===n?u=t[10]:(u=()=>{if(!n){let e=tn();e.href=en.idle}},t[9]=n,t[10]=u),A(window,`focus`,u),null};function an(){let{cellIds:e,cellRuntime:t}=a.get(fe),n=e.inOrderIds.find(e=>t[e]?.status===`running`);n&&jt(n,`focus`)}var on=e=>{let t=(0,K.c)(18),{connection:n,isRunning:r,onReconnect:a}=e,{mode:o}=i(ze),s=n.state===N.CLOSED&&(o===`read`||n.code!==P.KERNEL_STARTUP_ERROR),c=n.state===N.OPEN,l=s&&n.code===P.KERNEL_DISCONNECTED,u;t[0]===s?u=t[1]:(u=s&&(0,q.jsx)(un,{}),t[0]=s,t[1]=u);let d=o===`read`?`fixed`:`absolute`,f;t[2]===d?f=t[3]:(f=I(`z-50 top-4 left-4`,d),t[2]=d,t[3]=f);let p;t[4]!==c||t[5]!==r?(p=c&&r&&(0,q.jsx)(ln,{}),t[4]=c,t[5]=r,t[6]=p):p=t[6];let m;t[7]!==l||t[8]!==s||t[9]!==a?(m=s&&(0,q.jsx)(cn,{onReconnect:l?a:void 0}),t[7]=l,t[8]=s,t[9]=a,t[10]=m):m=t[10];let h;t[11]!==f||t[12]!==p||t[13]!==m?(h=(0,q.jsxs)(`div`,{className:f,children:[p,m]}),t[11]=f,t[12]=p,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==u||t[16]!==h?(g=(0,q.jsxs)(q.Fragment,{children:[u,h]}),t[15]=u,t[16]=h,t[17]=g):g=t[17],g},sn=`print:hidden pointer-events-auto hover:cursor-pointer`,cn=e=>{let t=(0,K.c)(12),{onReconnect:n}=e,r=!n,i=r?`App disconnected`:`App disconnected — click to reconnect`,a=r?0:-1,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=I(sn,`bg-transparent border-0 p-0`),t[0]=o):o=t[0];let s=r?`App disconnected`:`Reconnect to app`,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Bt,{className:`w-[25px] h-[25px] text-(--red-11)`}),t[1]=c):c=t[1];let l;t[2]!==r||t[3]!==n||t[4]!==s?(l=(0,q.jsx)(`button`,{type:`button`,className:o,"aria-label":s,"data-testid":`disconnected-indicator`,onClick:n,disabled:r,children:c}),t[2]=r,t[3]=n,t[4]=s,t[5]=l):l=t[5];let u;t[6]!==a||t[7]!==l?(u=(0,q.jsx)(`span`,{tabIndex:a,children:l}),t[6]=a,t[7]=l,t[8]=u):u=t[8];let d;return t[9]!==i||t[10]!==u?(d=(0,q.jsx)(it,{content:i,children:u}),t[9]=i,t[10]=u,t[11]=d):d=t[11],d},ln=()=>{let e=(0,K.c)(6),t=i(le),n=t?`Scratchpad is running`:`Jump to running cell`,r=t?void 0:an,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(Rt,{className:`running-app-icon`,size:30,strokeWidth:1}),e[0]=a):a=e[0];let o;e[1]===r?o=e[2]:(o=(0,q.jsx)(`div`,{className:sn,"data-testid":`loading-indicator`,onClick:r,children:a}),e[1]=r,e[2]=o);let s;return e[3]!==o||e[4]!==n?(s=(0,q.jsx)(it,{content:n,side:`right`,children:o}),e[3]=o,e[4]=n,e[5]=s):s=e[5],s},un=()=>{let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`noise`}),(0,q.jsx)(`div`,{className:`disconnected-gradient`})]}),e[0]=t):t=e[0],t},dn=H,fn=Ze,pn=L($e),mn=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(U,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});mn.displayName=U.displayName;var hn=F(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),gn=G.forwardRef((e,t)=>{let n=(0,K.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({side:o,className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?`right`:o,c;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(mn,{}),n[5]=c):c=n[5];let l;n[6]!==i||n[7]!==s?(l=I(hn({side:s}),i),n[6]=i,n[7]=s,n[8]=l):l=n[8];let u;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsxs)(Qe,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,q.jsx)(kt,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[9]=u):u=n[9];let d;return n[10]!==r||n[11]!==a||n[12]!==t||n[13]!==l?(d=(0,q.jsx)(pn,{children:(0,q.jsxs)(R,{children:[c,(0,q.jsxs)(V,{ref:t,className:l,...a,children:[r,u]})]})}),n[10]=r,n[11]=a,n[12]=t,n[13]=l,n[14]=d):d=n[14],d});gn.displayName=V.displayName;var _n=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`text-lg font-semibold text-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(B,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});_n.displayName=B.displayName;var vn=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(z,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vn.displayName=z.displayName;var yn=(0,G.memo)(()=>{let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(tt,{name:nt.SIDEBAR}),e[0]=t):t=e[0],t});yn.displayName=`SidebarSlot`;var bn=e=>{let t=(0,K.c)(6),{openWidth:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(fn,{className:`lg:hidden`,asChild:!0,children:(0,q.jsx)(at,{variant:`ghost`,className:`bg-background`,children:(0,q.jsx)(zt,{className:`w-5 h-5`})})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i={maxWidth:n},t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(yn,{}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,q.jsxs)(dn,{children:[r,(0,q.jsx)(gn,{className:`w-full px-3 h-full flex flex-col overflow-y-auto`,style:i,side:`left`,children:a})]}),t[4]=i,t[5]=o),o},xn=e=>{let t=(0,K.c)(8),{isOpen:n,toggle:r}=e,i=n?`Collapse sidebar`:`Expand sidebar`,a=n?`rotate-0`:`rotate-180`,o;t[0]===a?o=t[1]:(o=I(`h-5 w-5 transition-transform ease-in-out duration-700`,a),t[0]=a,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,q.jsx)(rt,{className:o}),t[2]=o,t[3]=s);let c;return t[4]!==i||t[5]!==s||t[6]!==r?(c=(0,q.jsx)(`div`,{className:`invisible lg:visible absolute top-[12px] right-[16px] z-20`,children:(0,q.jsx)(at,{"aria-label":i,onClick:r,className:`w-10 h-8`,variant:`ghost`,size:`icon`,children:s})}),t[4]=i,t[5]=s,t[6]=r,t[7]=c):c=t[7],c},Sn=e=>{let t=(0,K.c)(11),{isOpen:n,toggle:r,width:i}=e,a=n?i:Pe,o;t[0]===a?o=t[1]:(o={width:a},t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=I(`app-sidebar auto-collapse-nav`,`top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300`),t[2]=s):s=t[2];let c;t[3]!==n||t[4]!==r?(c=(0,q.jsx)(xn,{isOpen:n,toggle:r}),t[3]=n,t[4]=r,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`div`,{className:`relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l`,children:(0,q.jsx)(yn,{})}),t[6]=l):l=t[6];let u;return t[7]!==n||t[8]!==o||t[9]!==c?(u=(0,q.jsxs)(`aside`,{"data-expanded":n,style:o,className:s,children:[c,l]}),t[7]=n,t[8]=o,t[9]=c,t[10]=u):u=t[10],u},Cn=e=>{let n=(0,K.c)(15),{children:r}=e,[i,a]=t(Me),{isOpen:o,width:s}=i;if(et(nt.SIDEBAR).length===0)return r;let c;n[0]===s?c=n[1]:(c=Ae(s),n[0]=s,n[1]=c);let l=c,u;n[2]!==a||n[3]!==o?(u=()=>a({type:`toggle`,isOpen:!o}),n[2]=a,n[3]=o,n[4]=u):u=n[4];let d;n[5]!==o||n[6]!==l||n[7]!==u?(d=(0,q.jsx)(Sn,{isOpen:o,width:l,toggle:u}),n[5]=o,n[6]=l,n[7]=u,n[8]=d):d=n[8];let f;n[9]===l?f=n[10]:(f=(0,q.jsx)(`div`,{className:`absolute top-3 left-4 flex items-center z-50`,children:(0,q.jsx)(bn,{openWidth:l})}),n[9]=l,n[10]=f);let p;return n[11]!==r||n[12]!==d||n[13]!==f?(p=(0,q.jsxs)(`div`,{className:`inset-0 absolute flex`,children:[d,f,r]}),n[11]=r,n[12]=d,n[13]=f,n[14]=p):p=n[14],p},wn=e=>{let t=(0,K.c)(19),{width:n,connection:r,isRunning:i,children:a,onReconnect:o}=e,s=r.state,c;t[0]===i?c=t[1]:(c=(0,q.jsx)(rn,{isRunning:i}),t[0]=i,t[1]=c);let l;t[2]!==r||t[3]!==i||t[4]!==o?(l=(0,q.jsx)(on,{connection:r,isRunning:i,onReconnect:o}),t[2]=r,t[3]=i,t[4]=o,t[5]=l):l=t[5];let u=r.state===N.CLOSED&&r.code!==P.KERNEL_STARTUP_ERROR&&`disconnected`,d=n===`full`&&`config-width-full`,f=n===`columns`?`overflow-x-auto`:`overflow-x-auto sm:overflow-x-hidden`,p;t[6]!==u||t[7]!==d||t[8]!==f?(p=I(`mathjax_ignore`,u,`bg-background w-full h-full text-textColor`,`flex flex-col overflow-y-auto`,d,f,`print:height-fit`),t[6]=u,t[7]=d,t[8]=f,t[9]=p):p=t[9];let m;t[10]!==a||t[11]!==s||t[12]!==p||t[13]!==n?(m=(0,q.jsx)(Xt,{children:(0,q.jsx)(Cn,{children:(0,q.jsx)(`div`,{id:`App`,"data-config-width":n,"data-connection-state":s,className:p,children:a})})}),t[10]=a,t[11]=s,t[12]=p,t[13]=n,t[14]=m):m=t[14];let h;return t[15]!==c||t[16]!==l||t[17]!==m?(h=(0,q.jsxs)(q.Fragment,{children:[c,l,m]}),t[15]=c,t[16]=l,t[17]=m,t[18]=h):h=t[18],h},Tn=(0,G.memo)(e=>{let t=(0,K.c)(9),{appConfig:n,mode:r,children:a}=e,{selectedLayout:o}=_t();if(!i(Le)&&(r===`edit`||r===`present`&&o===`vertical`))return a;let s=r===`read`,c;t[0]!==o||t[1]!==s?(c=vt({selectedLayout:o,isReading:s,searchParams:new URLSearchParams(window.location.search)}),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===l?u=t[4]:(u=ct.find(e=>e.type===l),t[3]=l,t[4]=u);let d=u;if(!d)return a;let f;return t[5]!==n||t[6]!==r||t[7]!==d?(f=(0,q.jsx)(En,{appConfig:n,mode:r,plugin:d}),t[5]=n,t[6]=r,t[7]=d,t[8]=f):f=t[8],f});Tn.displayName=`CellsRenderer`;var En=e=>{let t=(0,K.c)(12),{appConfig:n,mode:r,plugin:i}=e,a=_t(),o=g(),{setCurrentLayoutData:s}=gt(),c,l;t[0]!==a||t[1]!==o||t[2]!==i?(c=ge(o),l=ut({state:a,plugin:i,cells:c}),t[0]=a,t[1]=o,t[2]=i,t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u=l,d=i.Component,f;return t[5]!==d||t[6]!==n||t[7]!==c||t[8]!==u||t[9]!==r||t[10]!==s?(f=(0,q.jsx)(d,{appConfig:n,mode:r,cells:c,layout:u,setLayout:s}),t[5]=d,t[6]=n,t[7]=c,t[8]=u,t[9]=r,t[10]=s,t[11]=f):f=t[11],f},Dn=class e{hasStarted=!1;static get INSTANCE(){let t=`_marimo_private_RuntimeState`;return window[t]||(window[t]=new e(je)),window[t]}_sendComponentValues;uiElementRegistry;constructor(e){this.uiElementRegistry=e}get sendComponentValues(){if(!this._sendComponentValues)throw Error(`sendComponentValues is not set`);return this._sendComponentValues}start(e){if(this.hasStarted){k.warn(`RuntimeState already started`);return}this._sendComponentValues=e,document.addEventListener(At.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){k.warn(`RuntimeState already stopped`);return}document.removeEventListener(At.TYPE,this.handleReadyEvent),this.hasStarted=!1}handleReadyEvent=e=>{let t=e.detail.objectId;if(!this.uiElementRegistry.has(t))return;let n=this.uiElementRegistry.lookupValue(t);n!==void 0&&this.sendComponentValues({objectIds:[t],values:[n]}).catch(e=>{k.warn(e)})}},On=b().min(1).describe(`Identifies a project. Unique within the host and unchanged while the project exists.`),J=b().min(1).describe(`Identifies a notebook. Unique within the host and unchanged while the notebook exists.`),kn=b().min(1).describe(`Identifies a runtime. Unique within the host; every start and restart creates a new id.`),An=b().min(1).describe(`Identifies an attachment. Unique within the host.`),jn=b().min(1).describe("Identifies a run independently of the request's `Idempotency-Key`. Events carry the key in `request_id`."),Y=b().min(1).describe(`Identifies an execution. Unique within the host.`),Mn=b().min(1).describe(`Identifies a console, display, or variable item. Unique within the host; sending an item again with the same id replaces it.`),X=b().min(1).describe("Identifies a cell within its notebook. Stable while the host serves the notebook; whether it survives a reload of the store depends on the format. `setup` is the setup cell."),Nn=x({pid:v().min(1).describe(`The process id.`),started_at:W({offset:!0}).describe(`When the process started.`)}).describe("The process that wrote a record. A client checks that a process\nwith this `pid` that started at `started_at` still exists. If it\ndoes not, the record is stale and may be removed.\n");x({version:Se(1).describe(`The version of this record's format. This document describes version 1.`),process:Nn,name:b().describe("A label for the host to show people, such as `VS Code` or `marimo`. Two hosts can share a name; the filename is the identity."),url:b().describe("Where the host's API is. The scheme is `http`, and the host part is `127.0.0.1` or `[::1]`, written exactly that way."),token:b().min(1).describe(`The secret a client sends to prove it read the record.`)}).describe(`A host record is the file a host writes so that clients can find
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-BDjgaBtz.js";import{t as c}from"./react-DVplv7_D.js";import{$ as l,B as u,D as d,Dt as f,Et as p,Gn as m,Hr as h,I as g,Ii as ee,Jn as te,Kn as ne,Mr as re,Oo as ie,Ot as ae,R as oe,So as se,St as ce,T as le,Vi as ue,Wn as de,b as fe,ei as pe,g as me,h as he,l as ge,mr as _e,pr as ve,qn as ye,r as be}from"./cells-2HETnlvE.js";import{C as _,E as v,F as y,I as b,K as xe,N as x,O as Se,R as S,S as C,V as Ce,b as w,c as T,v as E,z as D}from"./schemas-ChRqMOTL.js";import{t as we}from"./compiler-runtime-BrajqUja.js";import{D as Te,d as Ee,w as De}from"./config-DpY86_Yq.js";import{c as Oe,i as ke,n as Ae,o as je,p as O,r as Me,s as Ne,t as Pe}from"./state-Djmjs8Ik.js";import{g as k,t as A}from"./useEventListener-CjDeLqFC.js";import{t as j}from"./objects-rLPlQ3X_.js";import{i as Fe}from"./utils-B4K466FK.js";import{a as M,f as Ie,m as Le,r as Re,v as ze}from"./session-CMLIzZKw.js";import{M as Be,T as N,_ as Ve,l as He,o as Ue,w as P,x as We}from"./config-CD1IuZFJ.js";import{r as Ge}from"./state-B_MCKzBL.js";import{i as Ke,o as qe,r as Je}from"./state-C5WAeuTu.js";import{r as Ye}from"./ErrorBoundary-DxSzjvbx.js";import{n as F,t as I}from"./cn-ldLVeaqm.js";import{t as Xe}from"./jsx-runtime-B74pBk57.js";import{i as L,s as R}from"./fullscreen-BWTs8pYZ.js";import{a as z,c as B,i as V,l as Ze,n as H,o as U,r as Qe,s as $e}from"./use-restore-focus-DdS7Tl0F.js";import{Dt as et,Et as tt,xt as nt}from"./JsonOutput-B7pGj79O.js";import{p as rt}from"./download-Dod42wfD.js";import{t as it}from"./tooltip-CkGm8X7m.js";import{t as at}from"./button-D8gVKwe-.js";import{t as ot}from"./createLucideIcon-DfJ2oMlA.js";import{P as st,a as ct,c as lt,i as ut,n as dt}from"./layout-C-NAerIZ.js";import{d as ft,n as pt}from"./markdown-renderer-BhiTvxtL.js";import{v as mt}from"./write-secret-modal-BEx-EUlh.js";import{n as ht}from"./spinner-DyNE-o8o.js";import{c as gt,l as _t,s as vt}from"./readonly-python-code-Cqkfdeyo.js";import{s as yt}from"./MarimoErrorOutput-Bzo6Bkp5.js";import{t as bt}from"./use-toast-Wu434mLr.js";import{i as xt}from"./strings-C25fhMR_.js";import{t as St}from"./requests-BIFR-h4M.js";import{t as Ct}from"./useDebounce-DwTQ_1Pu.js";import{n as wt}from"./useAsyncData-qvoPYHtx.js";import{t as Tt}from"./RenderHTML-D6AC0IhC.js";import{t as Et}from"./package-data-CKPmBDtg.js";import{f as Dt}from"./useInstallPackage-wcDq9hYT.js";import{a as Ot}from"./errors-CNsgAw6m.js";import{s as kt}from"./react-icons.esm-D6tfmvq8.js";import{r as At}from"./events-CbeVJ6OD.js";import{i as jt}from"./cell-link-D3rkqgbU.js";import{t as Mt}from"./useDelayElapsed-BlsDT4TV.js";import{t as Nt}from"./requests-DuLJN9Tf.js";import{r as Pt,s as Ft,t as It}from"./state-Cv2JW3l9.js";import{n as Lt}from"./runs-C49hleBy.js";function W(e){return xe(T,e)}var Rt=ot(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),zt=ot(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Bt=ot(`unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),G=e(c(),1),K=we(),q=Xe(),Vt=e=>{let{requires:t,fallback:n,delay:r,children:a}=e,o=n===void 0?null:n,s=r===void 0?0:r,c=i(t),l=Mt(c?0:s);return c?a:l?o:null},Ht=e=>{let t=(0,K.c)(6),{title:n}=e,r=Ct(n,300),i=n===r,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(ht,{className:`size-20 animate-spin text-primary`,"data-testid":`large-spinner`,strokeWidth:1}),t[0]=a):a=t[0];let o=i?`opacity-100`:`opacity-0`,s;t[1]===o?s=t[2]:(s=I(`mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300`,o),t[1]=o,t[2]=s);let c;return t[3]!==r||t[4]!==s?(c=(0,q.jsxs)(`div`,{className:`flex flex-col h-full flex-1 items-center justify-center p-4`,children:[a,(0,q.jsx)(`div`,{className:s,children:r})]}),t[3]=r,t[4]=s,t[5]=c):c=t[5],c};function Ut(e,t){return e===`edit`||e===`home`||e===`gallery`?!0:e===`present`||M(Fe.includeCode,`false`)||M(Fe.showCode,`false`)?!1:M(Fe.showCode,`true`)?!0:t}function Wt(e){let t=Ut(e.mode,e.showAppCode),n=e.hasCells&&e.hasCachedOutputs;return{showCode:t,showCachedOutputs:n,canPaint:e.hasCells&&(t||n||e.allCellsIdle)}}var Gt=r(e=>{let t=!1,n=!0;for(let r of Object.values(e(fe).cellRuntime))pt(r.output)||(t=!0),r.status!==`idle`&&(n=!1);return{hasCachedOutputs:t,allCellsIdle:n}}),Kt=r(e=>e(Gt).hasCachedOutputs),qt=r(e=>e(Gt).allCellsIdle),Jt=r(e=>Wt({mode:e(Ie),showAppCode:e(Ge),hasCells:e(me),hasCachedOutputs:e(Kt),allCellsIdle:e(qt)})),Yt=r(e=>e(Jt).canPaint),Xt=e=>{let t=(0,K.c)(2),{children:n}=e;if(!Be())return n;let r;return t[0]===n?r=t[1]:(r=(0,q.jsx)(Zt,{children:n}),t[0]=n,t[1]=r),r},Zt=e=>{let t=(0,K.c)(8),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[0]=r):r=t[0];let{error:a}=wt($t,r),o=i(Yt),s=(0,G.useRef)(!1),c,l;if(t[1]!==o||t[2]!==a?(c=()=>{a&&o&&!s.current&&(s.current=!0,k.error(`Pyodide failed to initialize`,a),bt({title:`Failed to start the notebook runtime`,description:Ot(a),variant:`danger`}))},l=[a,o],t[1]=o,t[2]=a,t[3]=c,t[4]=l):(c=t[3],l=t[4]),(0,G.useEffect)(c,l),a&&!o)throw a;let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(Qt,{}),t[5]=u):u=t[5];let d;return t[6]===n?d=t[7]:(d=(0,q.jsx)(Vt,{requires:Yt,fallback:u,children:n}),t[6]=n,t[7]=d),d},Qt=()=>{let e=(0,K.c)(2),t=i(qe),n=t.kind===`loading`?t.message:`Loading…`,r;return e[0]===n?r=e[1]:(r=(0,q.jsx)(Ht,{title:n}),e[0]=n,e[1]=r),r};async function $t(){return await O.INSTANCE.initialized.promise,!0}var en={idle:`./favicon.ico`,success:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`,running:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`,error:`data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA`};function tn(){let e=document.querySelector(`link[rel~='icon']`);if(e)return e;let t=document.createElement(`link`);return t.rel=`icon`,document.head.append(t),t}function nn(e){if(document.visibilityState===`visible`)return;let t=()=>{e===0?new Notification(`Execution completed`,{body:`Your notebook run completed successfully.`,icon:en.success}):new Notification(`Execution failed`,{body:`Your notebook run encountered ${e} error(s).`,icon:en.error})};!(`Notification`in window)||Notification.permission===`denied`||(Notification.permission===`granted`?t():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e===`granted`&&t()}))}var rn=e=>{let t=(0,K.c)(11),{isRunning:n}=e,r=i(be),a,o;t[0]!==n||t[1]!==r?(a=()=>{let e=tn();if(!n&&e.href.includes(`favicon`)||(e.href=en[n?`running`:r===0?`success`:`error`],!document.hasFocus()))return;let t=setTimeout(()=>{e.href=en.idle},3e3);return()=>clearTimeout(t)},o=[n,r],t[0]=n,t[1]=r,t[2]=a,t[3]=o):(a=t[2],o=t[3]),(0,G.useEffect)(a,o);let s=st(n)??n,c,l;t[4]!==n||t[5]!==r||t[6]!==s?(c=()=>{s&&!n&&nn(r)},l=[r,s,n],t[4]=n,t[5]=r,t[6]=s,t[7]=c,t[8]=l):(c=t[7],l=t[8]),(0,G.useEffect)(c,l);let u;return t[9]===n?u=t[10]:(u=()=>{if(!n){let e=tn();e.href=en.idle}},t[9]=n,t[10]=u),A(window,`focus`,u),null};function an(){let{cellIds:e,cellRuntime:t}=a.get(fe),n=e.inOrderIds.find(e=>t[e]?.status===`running`);n&&jt(n,`focus`)}var on=e=>{let t=(0,K.c)(18),{connection:n,isRunning:r,onReconnect:a}=e,{mode:o}=i(ze),s=n.state===N.CLOSED&&(o===`read`||n.code!==P.KERNEL_STARTUP_ERROR),c=n.state===N.OPEN,l=s&&n.code===P.KERNEL_DISCONNECTED,u;t[0]===s?u=t[1]:(u=s&&(0,q.jsx)(un,{}),t[0]=s,t[1]=u);let d=o===`read`?`fixed`:`absolute`,f;t[2]===d?f=t[3]:(f=I(`z-50 top-4 left-4`,d),t[2]=d,t[3]=f);let p;t[4]!==c||t[5]!==r?(p=c&&r&&(0,q.jsx)(ln,{}),t[4]=c,t[5]=r,t[6]=p):p=t[6];let m;t[7]!==l||t[8]!==s||t[9]!==a?(m=s&&(0,q.jsx)(cn,{onReconnect:l?a:void 0}),t[7]=l,t[8]=s,t[9]=a,t[10]=m):m=t[10];let h;t[11]!==f||t[12]!==p||t[13]!==m?(h=(0,q.jsxs)(`div`,{className:f,children:[p,m]}),t[11]=f,t[12]=p,t[13]=m,t[14]=h):h=t[14];let g;return t[15]!==u||t[16]!==h?(g=(0,q.jsxs)(q.Fragment,{children:[u,h]}),t[15]=u,t[16]=h,t[17]=g):g=t[17],g},sn=`print:hidden pointer-events-auto hover:cursor-pointer`,cn=e=>{let t=(0,K.c)(12),{onReconnect:n}=e,r=!n,i=r?`App disconnected`:`App disconnected — click to reconnect`,a=r?0:-1,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=I(sn,`bg-transparent border-0 p-0`),t[0]=o):o=t[0];let s=r?`App disconnected`:`Reconnect to app`,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(Bt,{className:`w-[25px] h-[25px] text-(--red-11)`}),t[1]=c):c=t[1];let l;t[2]!==r||t[3]!==n||t[4]!==s?(l=(0,q.jsx)(`button`,{type:`button`,className:o,"aria-label":s,"data-testid":`disconnected-indicator`,onClick:n,disabled:r,children:c}),t[2]=r,t[3]=n,t[4]=s,t[5]=l):l=t[5];let u;t[6]!==a||t[7]!==l?(u=(0,q.jsx)(`span`,{tabIndex:a,children:l}),t[6]=a,t[7]=l,t[8]=u):u=t[8];let d;return t[9]!==i||t[10]!==u?(d=(0,q.jsx)(it,{content:i,children:u}),t[9]=i,t[10]=u,t[11]=d):d=t[11],d},ln=()=>{let e=(0,K.c)(6),t=i(le),n=t?`Scratchpad is running`:`Jump to running cell`,r=t?void 0:an,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(Rt,{className:`running-app-icon`,size:30,strokeWidth:1}),e[0]=a):a=e[0];let o;e[1]===r?o=e[2]:(o=(0,q.jsx)(`div`,{className:sn,"data-testid":`loading-indicator`,onClick:r,children:a}),e[1]=r,e[2]=o);let s;return e[3]!==o||e[4]!==n?(s=(0,q.jsx)(it,{content:n,side:`right`,children:o}),e[3]=o,e[4]=n,e[5]=s):s=e[5],s},un=()=>{let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`noise`}),(0,q.jsx)(`div`,{className:`disconnected-gradient`})]}),e[0]=t):t=e[0],t},dn=H,fn=Ze,pn=L($e),mn=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(U,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});mn.displayName=U.displayName;var hn=F(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),gn=G.forwardRef((e,t)=>{let n=(0,K.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({side:o,className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?`right`:o,c;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,q.jsx)(mn,{}),n[5]=c):c=n[5];let l;n[6]!==i||n[7]!==s?(l=I(hn({side:s}),i),n[6]=i,n[7]=s,n[8]=l):l=n[8];let u;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsxs)(Qe,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,q.jsx)(kt,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[9]=u):u=n[9];let d;return n[10]!==r||n[11]!==a||n[12]!==t||n[13]!==l?(d=(0,q.jsx)(pn,{children:(0,q.jsxs)(R,{children:[c,(0,q.jsxs)(V,{ref:t,className:l,...a,children:[r,u]})]})}),n[10]=r,n[11]=a,n[12]=t,n[13]=l,n[14]=d):d=n[14],d});gn.displayName=V.displayName;var _n=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`text-lg font-semibold text-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(B,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});_n.displayName=B.displayName;var vn=G.forwardRef((e,t)=>{let n=(0,K.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=I(`text-sm text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,q.jsx)(z,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vn.displayName=z.displayName;var yn=(0,G.memo)(()=>{let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(tt,{name:nt.SIDEBAR}),e[0]=t):t=e[0],t});yn.displayName=`SidebarSlot`;var bn=e=>{let t=(0,K.c)(6),{openWidth:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,q.jsx)(fn,{className:`lg:hidden`,asChild:!0,children:(0,q.jsx)(at,{variant:`ghost`,className:`bg-background`,children:(0,q.jsx)(zt,{className:`w-5 h-5`})})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i={maxWidth:n},t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsx)(yn,{}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,q.jsxs)(dn,{children:[r,(0,q.jsx)(gn,{className:`w-full px-3 h-full flex flex-col overflow-y-auto`,style:i,side:`left`,children:a})]}),t[4]=i,t[5]=o),o},xn=e=>{let t=(0,K.c)(8),{isOpen:n,toggle:r}=e,i=n?`Collapse sidebar`:`Expand sidebar`,a=n?`rotate-0`:`rotate-180`,o;t[0]===a?o=t[1]:(o=I(`h-5 w-5 transition-transform ease-in-out duration-700`,a),t[0]=a,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,q.jsx)(rt,{className:o}),t[2]=o,t[3]=s);let c;return t[4]!==i||t[5]!==s||t[6]!==r?(c=(0,q.jsx)(`div`,{className:`invisible lg:visible absolute top-[12px] right-[16px] z-20`,children:(0,q.jsx)(at,{"aria-label":i,onClick:r,className:`w-10 h-8`,variant:`ghost`,size:`icon`,children:s})}),t[4]=i,t[5]=s,t[6]=r,t[7]=c):c=t[7],c},Sn=e=>{let t=(0,K.c)(11),{isOpen:n,toggle:r,width:i}=e,a=n?i:Pe,o;t[0]===a?o=t[1]:(o={width:a},t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=I(`app-sidebar auto-collapse-nav`,`top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300`),t[2]=s):s=t[2];let c;t[3]!==n||t[4]!==r?(c=(0,q.jsx)(xn,{isOpen:n,toggle:r}),t[3]=n,t[4]=r,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`div`,{className:`relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l`,children:(0,q.jsx)(yn,{})}),t[6]=l):l=t[6];let u;return t[7]!==n||t[8]!==o||t[9]!==c?(u=(0,q.jsxs)(`aside`,{"data-expanded":n,style:o,className:s,children:[c,l]}),t[7]=n,t[8]=o,t[9]=c,t[10]=u):u=t[10],u},Cn=e=>{let n=(0,K.c)(15),{children:r}=e,[i,a]=t(Me),{isOpen:o,width:s}=i;if(et(nt.SIDEBAR).length===0)return r;let c;n[0]===s?c=n[1]:(c=Ae(s),n[0]=s,n[1]=c);let l=c,u;n[2]!==a||n[3]!==o?(u=()=>a({type:`toggle`,isOpen:!o}),n[2]=a,n[3]=o,n[4]=u):u=n[4];let d;n[5]!==o||n[6]!==l||n[7]!==u?(d=(0,q.jsx)(Sn,{isOpen:o,width:l,toggle:u}),n[5]=o,n[6]=l,n[7]=u,n[8]=d):d=n[8];let f;n[9]===l?f=n[10]:(f=(0,q.jsx)(`div`,{className:`absolute top-3 left-4 flex items-center z-50`,children:(0,q.jsx)(bn,{openWidth:l})}),n[9]=l,n[10]=f);let p;return n[11]!==r||n[12]!==d||n[13]!==f?(p=(0,q.jsxs)(`div`,{className:`inset-0 absolute flex`,children:[d,f,r]}),n[11]=r,n[12]=d,n[13]=f,n[14]=p):p=n[14],p},wn=e=>{let t=(0,K.c)(19),{width:n,connection:r,isRunning:i,children:a,onReconnect:o}=e,s=r.state,c;t[0]===i?c=t[1]:(c=(0,q.jsx)(rn,{isRunning:i}),t[0]=i,t[1]=c);let l;t[2]!==r||t[3]!==i||t[4]!==o?(l=(0,q.jsx)(on,{connection:r,isRunning:i,onReconnect:o}),t[2]=r,t[3]=i,t[4]=o,t[5]=l):l=t[5];let u=r.state===N.CLOSED&&r.code!==P.KERNEL_STARTUP_ERROR&&`disconnected`,d=n===`full`&&`config-width-full`,f=n===`columns`?`overflow-x-auto`:`overflow-x-auto sm:overflow-x-hidden`,p;t[6]!==u||t[7]!==d||t[8]!==f?(p=I(`mathjax_ignore`,u,`bg-background w-full h-full text-textColor`,`flex flex-col overflow-y-auto`,d,f,`print:height-fit`),t[6]=u,t[7]=d,t[8]=f,t[9]=p):p=t[9];let m;t[10]!==a||t[11]!==s||t[12]!==p||t[13]!==n?(m=(0,q.jsx)(Xt,{children:(0,q.jsx)(Cn,{children:(0,q.jsx)(`div`,{id:`App`,"data-config-width":n,"data-connection-state":s,className:p,children:a})})}),t[10]=a,t[11]=s,t[12]=p,t[13]=n,t[14]=m):m=t[14];let h;return t[15]!==c||t[16]!==l||t[17]!==m?(h=(0,q.jsxs)(q.Fragment,{children:[c,l,m]}),t[15]=c,t[16]=l,t[17]=m,t[18]=h):h=t[18],h},Tn=(0,G.memo)(e=>{let t=(0,K.c)(9),{appConfig:n,mode:r,children:a}=e,{selectedLayout:o}=_t();if(!i(Le)&&(r===`edit`||r===`present`&&o===`vertical`))return a;let s=r===`read`,c;t[0]!==o||t[1]!==s?(c=vt({selectedLayout:o,isReading:s,searchParams:new URLSearchParams(window.location.search)}),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===l?u=t[4]:(u=ct.find(e=>e.type===l),t[3]=l,t[4]=u);let d=u;if(!d)return a;let f;return t[5]!==n||t[6]!==r||t[7]!==d?(f=(0,q.jsx)(En,{appConfig:n,mode:r,plugin:d}),t[5]=n,t[6]=r,t[7]=d,t[8]=f):f=t[8],f});Tn.displayName=`CellsRenderer`;var En=e=>{let t=(0,K.c)(12),{appConfig:n,mode:r,plugin:i}=e,a=_t(),o=g(),{setCurrentLayoutData:s}=gt(),c,l;t[0]!==a||t[1]!==o||t[2]!==i?(c=ge(o),l=ut({state:a,plugin:i,cells:c}),t[0]=a,t[1]=o,t[2]=i,t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u=l,d=i.Component,f;return t[5]!==d||t[6]!==n||t[7]!==c||t[8]!==u||t[9]!==r||t[10]!==s?(f=(0,q.jsx)(d,{appConfig:n,mode:r,cells:c,layout:u,setLayout:s}),t[5]=d,t[6]=n,t[7]=c,t[8]=u,t[9]=r,t[10]=s,t[11]=f):f=t[11],f},Dn=class e{hasStarted=!1;static get INSTANCE(){let t=`_marimo_private_RuntimeState`;return window[t]||(window[t]=new e(je)),window[t]}_sendComponentValues;uiElementRegistry;constructor(e){this.uiElementRegistry=e}get sendComponentValues(){if(!this._sendComponentValues)throw Error(`sendComponentValues is not set`);return this._sendComponentValues}start(e){if(this.hasStarted){k.warn(`RuntimeState already started`);return}this._sendComponentValues=e,document.addEventListener(At.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){k.warn(`RuntimeState already stopped`);return}document.removeEventListener(At.TYPE,this.handleReadyEvent),this.hasStarted=!1}handleReadyEvent=e=>{let t=e.detail.objectId;if(!this.uiElementRegistry.has(t))return;let n=this.uiElementRegistry.lookupValue(t);n!==void 0&&this.sendComponentValues({objectIds:[t],values:[n]}).catch(e=>{k.warn(e)})}},On=b().min(1).describe(`Identifies a project. Unique within the host and unchanged while the project exists.`),J=b().min(1).describe(`Identifies a notebook. Unique within the host and unchanged while the notebook exists.`),kn=b().min(1).describe(`Identifies a runtime. Unique within the host; every start and restart creates a new id.`),An=b().min(1).describe(`Identifies an attachment. Unique within the host.`),jn=b().min(1).describe("Identifies a run independently of the request's `Idempotency-Key`. Events carry the key in `request_id`."),Y=b().min(1).describe(`Identifies an execution. Unique within the host.`),Mn=b().min(1).describe(`Identifies a console, display, or variable item. Unique within the host; sending an item again with the same id replaces it.`),X=b().min(1).describe("Identifies a cell within its notebook. Stable while the host serves the notebook; whether it survives a reload of the store depends on the format. `setup` is the setup cell."),Nn=x({pid:v().min(1).describe(`The process id.`),started_at:W({offset:!0}).describe(`When the process started.`)}).describe("The process that wrote a record. A client checks that a process\nwith this `pid` that started at `started_at` still exists. If it\ndoes not, the record is stale and may be removed.\n");x({version:Se(1).describe(`The version of this record's format. This document describes version 1.`),process:Nn,name:b().describe("A label for the host to show people, such as `VS Code` or `marimo`. Two hosts can share a name; the filename is the identity."),url:b().describe("Where the host's API is. The scheme is `http`, and the host part is `127.0.0.1` or `[::1]`, written exactly that way."),token:b().min(1).describe(`The secret a client sends to prove it read the record.`)}).describe(`A host record is the file a host writes so that clients can find
|
|
2
2
|
it. A host writes \`<marimo-state-dir>/hosts-v1/<id>.json\` once its API
|
|
3
3
|
is serving at \`url\`, where \`<id>\` is an identifier the host makes
|
|
4
4
|
up each time it starts. The record does not change while the host
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{D as a,La as o,g as s,oo as c,x as l}from"./cells-2HETnlvE.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./panels-B0lqLcI0.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{C as _}from"./config-DpY86_Yq.js";import{r as v}from"./utils-B4K466FK.js";import{t as y}from"./session-CMLIzZKw.js";import{T as b,_ as x,l as S,p as C}from"./config-CD1IuZFJ.js";import{t as w}from"./cn-ldLVeaqm.js";import{t as T}from"./jsx-runtime-B74pBk57.js";import{a as E,c as D,i as O,l as k,n as A,s as j,t as M}from"./alert-dialog-C-sWmKva.js";import{F as N,Ft as ee}from"./JsonOutput-B7pGj79O.js";import{n as te}from"./download-Dod42wfD.js";import{i as P,n as F,r as ne,t as re}from"./tabs-CY8E4r9U.js";import{n as I,t as L}from"./button-D8gVKwe-.js";import{n as ie}from"./paths-bkIFVj8h.js";import{t as ae}from"./arrow-left-BaPN-xbg.js";import{t as R}from"./copy-Djr5m5ac.js";import{t as oe}from"./house-CpsMWsLL.js";import{t as z}from"./spinner-DyNE-o8o.js";import{l as B,s as V}from"./readonly-python-code-Cqkfdeyo.js";import{Jt as H,Qt as U,Xt as W,Yt as G,nn as K,tn as q}from"./input-DmHMEZGh.js";import{n as J}from"./copy-KlhazlhB.js";import{t as Y}from"./use-toast-Wu434mLr.js";import{r as se}from"./requests-BIFR-h4M.js";import{t as ce}from"./shell-Fj8a65ii.js";import{t as le}from"./share-BZW3tzEX.js";import{a as X}from"./cell-link-D3rkqgbU.js";import{n as ue,t as de}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{n as fe}from"./code-visibility-DYDagVy7.js";import{n as pe,t as me}from"./marimo-icons-CqliHyTr.js";import{t as he}from"./state-Cv2JW3l9.js";var ge=e(i(),1),Z=g(),Q=T(),_e=()=>{let e=(0,Z.c)(25),[n,r]=t(he);if(n===null)return null;let i;e[0]===n?i=e[1]:(i=async()=>{try{await navigator.clipboard.writeText(n),Y({title:`Copied to clipboard`,description:`Error details have been copied to your clipboard.`})}catch{Y({title:`Failed to copy`,description:`Could not copy to clipboard.`,variant:`danger`})}},e[0]=n,e[1]=i);let a=i,o;e[2]===r?o=e[3]:(o=()=>{r(null)},e[2]=r,e[3]=o);let s=o,l=ve,u;e[4]===s?u=e[5]:(u=e=>!e&&s(),e[4]=s,e[5]=u);let d;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(k,{className:`flex items-center gap-2 text-destructive`,children:[(0,Q.jsx)(c,{className:`h-5 w-5`}),`Kernel Startup Failed`]}),(0,Q.jsx)(E,{children:`The kernel failed to start. This usually happens when the package manager can't install your notebook's dependencies.`})]}),e[6]=d):d=e[6];let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Error Details`}),e[7]=f):f=e[7];let p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(R,{className:`h-3 w-3`}),e[8]=p):p=e[8];let m;e[9]===a?m=e[10]:(m=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[f,(0,Q.jsxs)(L,{variant:`outline`,size:`xs`,onClick:a,className:`flex items-center gap-1`,children:[p,`Copy`]})]}),e[9]=a,e[10]=m);let h;e[11]===n?h=e[12]:(h=(0,Q.jsx)(`pre`,{className:`bg-muted p-4 rounded-md text-sm font-mono overflow-auto max-h-80`,children:n}),e[11]=n,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,Q.jsxs)(`div`,{className:`my-4 overflow-hidden`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsxs)(L,{variant:`outline`,onClick:l,className:`flex items-center gap-2`,children:[(0,Q.jsx)(oe,{className:`h-4 w-4`}),`Return to Home`]}),e[16]=_):_=e[16];let v;e[17]===s?v=e[18]:(v=(0,Q.jsxs)(j,{children:[_,(0,Q.jsx)(A,{onClick:s,children:`Dismiss`})]}),e[17]=s,e[18]=v);let y;e[19]!==v||e[20]!==g?(y=(0,Q.jsxs)(O,{className:`max-w-2xl`,children:[d,g,v]}),e[19]=v,e[20]=g,e[21]=y):y=e[21];let b;return e[22]!==y||e[23]!==u?(b=(0,Q.jsx)(M,{open:!0,onOpenChange:u,children:y}),e[22]=y,e[23]=u,e[24]=b):b=e[24],b};function ve(){let e=document.baseURI.split(`?`)[0];window.open(e,`_self`)}var ye=e=>{let t=(0,Z.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Q.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},be=e=>{let t=(0,Z.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===b.CLOSED&&(0,Q.jsx)(ye,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o},xe=n(e=>e(s)||!C(e(x).state)),Se=e=>{let t=(0,Z.c)(22),{appConfig:n,hideHeader:i}=e,{setCells:o}=a(),{sendComponentValues:s}=se(),c;t[0]===s?c=t[1]:(c=()=>(m.INSTANCE.start(s),Ce),t[0]=s,t[1]=c);let h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[2]=h):h=t[2],(0,ge.useEffect)(c,h);let g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(g=y(),t[3]=g):g=t[3];let _;t[4]===o?_=t[5]:(_={autoInstantiate:!0,setCells:o,sessionId:g},t[4]=o,t[5]=_);let{connection:v,reconnect:b}=f(_),x=r(l),S;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{if(typeof window>`u`){S=null;break bb0}let e=new URL(window.location.href);if(!e.searchParams.has(`file`)){S=null;break bb0}e.searchParams.delete(`file`);let t=e.searchParams.toString();S=t?`${e.pathname}?${t}`:e.pathname}t[6]=S}else S=t[6];let C=S,T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(_e,{}),t[7]=T):T=t[7];let E=i?`hidden`:`sm:pt-8`,D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=C&&(0,Q.jsx)(`div`,{className:`flex items-center px-6 pt-4 sm:-mt-8`,children:(0,Q.jsxs)(`a`,{href:C,"aria-label":`Back to gallery`,className:w(I({variant:`text`,size:`sm`}),`gap-2 px-0 text-muted-foreground hover:text-foreground`),children:[(0,Q.jsx)(ae,{className:`size-4`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:`Back`})]})}),t[8]=D):D=t[8];let O;t[9]!==v||t[10]!==E?(O=(0,Q.jsx)(be,{connection:v,className:E,children:D}),t[9]=v,t[10]=E,t[11]=O):O=t[11];let k;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(z,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground mt-2`,children:`Connecting...`})]}),t[12]=k):k=t[12];let A;t[13]===n?A=t[14]:(A=(0,Q.jsx)(p,{requires:xe,delay:2e3,fallback:k,children:(0,Q.jsx)(d,{appConfig:n,mode:`read`})}),t[13]=n,t[14]=A);let j;return t[15]!==n.width||t[16]!==v||t[17]!==x||t[18]!==b||t[19]!==A||t[20]!==O?(j=(0,Q.jsxs)(u,{connection:v,isRunning:x,width:n.width,onReconnect:b,children:[T,O,A]}),t[15]=n.width,t[16]=v,t[17]=x,t[18]=b,t[19]=A,t[20]=O,t[21]=j):j=t[21],j};function Ce(){m.INSTANCE.stop()}var we=()=>{let e=(0,Z.c)(3),t=r(o);if(!S()||!t)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`span`,{children:[`Static`,` `,(0,Q.jsx)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) font-medium underline`,children:`marimo`}),` `,`notebook - Run or edit for full interactivity`]}),e[0]=n):n=e[0];let i;return e[1]===t?i=e[2]:(i=(0,Q.jsxs)(`div`,{className:`px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm`,"data-testid":`static-notebook-banner`,children:[n,(0,Q.jsx)(`span`,{className:`shrink-0`,children:(0,Q.jsx)(Te,{code:t})})]}),e[1]=t,e[2]=i),i},Te=e=>{let t=(0,Z.c)(44),{code:n}=e,r=ie.basename(X()||`notebook.py`),[i]=_(),a=i.sharing?.molab??!0,o=Ee(window.location.href,r),s=o!==r,c=ce(o),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(K,{asChild:!0,children:(0,Q.jsx)(L,{"data-testid":`static-notebook-dialog-trigger`,variant:`outline`,size:`xs`,children:`Run or Edit`})}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=(0,Q.jsx)(q,{children:r}),t[1]=r,t[2]=u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) hover:underline font-medium`,children:`marimo`}),t[3]=d):d=t[3];let f=s?`Run it`:`Download it, then run it`,p;t[4]===f?p=t[5]:(p=(0,Q.jsxs)(`p`,{children:[`This is a static`,` `,d,` `,`notebook. `,f,` `,`locally for full interactivity.`]}),t[4]=f,t[5]=p);let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsxs)(ne,{"aria-label":`Package manager`,children:[(0,Q.jsx)(P,{value:`uv`,children:`uv`}),(0,Q.jsx)(P,{value:`pip`,children:`pip`}),(0,Q.jsx)(P,{value:`conda`,children:`conda`})]}),t[6]=m):m=t[6];let h=`uvx marimo edit --sandbox ${c}`,g;t[7]===h?g=t[8]:(g=(0,Q.jsx)(F,{value:`uv`,children:(0,Q.jsx)($,{command:h})}),t[7]=h,t[8]=g);let y=`pip install marimo\nmarimo edit ${c}`,b;t[9]===y?b=t[10]:(b=(0,Q.jsx)(F,{value:`pip`,children:(0,Q.jsx)($,{command:y})}),t[9]=y,t[10]=b);let x=`conda install -c conda-forge marimo\nmarimo edit ${c}`,S;t[11]===x?S=t[12]:(S=(0,Q.jsx)(F,{value:`conda`,children:(0,Q.jsx)($,{command:x})}),t[11]=x,t[12]=S);let C;t[13]!==b||t[14]!==S||t[15]!==g?(C=(0,Q.jsxs)(re,{defaultValue:`uv`,children:[m,g,b,S]}),t[13]=b,t[14]=S,t[15]=g,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==a?(w=a&&(0,Q.jsx)(De,{code:n}),t[17]=n,t[18]=a,t[19]=w):w=t[19];let T;t[20]!==C||t[21]!==w||t[22]!==p?(T=(0,Q.jsx)(W,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:`pt-3 text-left space-y-3`,children:[p,C,w]})}),t[20]=C,t[21]=w,t[22]=p,t[23]=T):T=t[23];let E;t[24]!==T||t[25]!==u?(E=(0,Q.jsxs)(U,{children:[u,T]}),t[24]=T,t[25]=u,t[26]=E):E=t[26];let D;t[27]===n?D=t[28]:(D=async()=>{await J(n),Y({title:`Copied to clipboard`})},t[27]=n,t[28]=D);let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Q.jsx)(R,{className:`w-3 h-3 mr-2`}),t[29]=O):O=t[29];let k;t[30]===D?k=t[31]:(k=(0,Q.jsxs)(L,{"data-testid":`copy-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:D,children:[O,`Copy code`]}),t[30]=D,t[31]=k);let A;t[32]!==n||t[33]!==r?(A=()=>{te(new Blob([n],{type:`text/plain`}),r)},t[32]=n,t[33]=r,t[34]=A):A=t[34];let j;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(ee,{className:`w-3 h-3 mr-2`}),t[35]=j):j=t[35];let M;t[36]===A?M=t[37]:(M=(0,Q.jsxs)(L,{"data-testid":`download-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:A,children:[j,`Download`]}),t[36]=A,t[37]=M);let N;t[38]!==k||t[39]!==M?(N=(0,Q.jsxs)(`div`,{className:`flex gap-3 pt-2`,children:[k,M]}),t[38]=k,t[39]=M,t[40]=N):N=t[40];let I;return t[41]!==E||t[42]!==N?(I=(0,Q.jsxs)(H,{children:[l,(0,Q.jsxs)(G,{children:[E,N]})]}),t[41]=E,t[42]=N,t[43]=I):I=t[43],I};function Ee(e,t){let n=new URL(e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return t;let r=n.pathname.endsWith(`.html`)&&n.search===``,i=n.protocol===`https:`&&(n.hostname===`marimo.app`||n.hostname===`links.marimo.app`||n.hostname===`static.marimo.app`&&n.pathname.startsWith(`/static`)||n.pathname.includes(`/notebooks/nb`));return!r&&!i?t:(n.hash=``,n.href)}var $=e=>{let t=(0,Z.c)(10),{command:n}=e,r;t[0]===n?r=t[1]:(r=(0,Q.jsx)(`pre`,{className:`p-3 pr-10 font-mono text-(--sky-11) leading-relaxed whitespace-pre-wrap break-all`,children:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=async()=>{await J(n),Y({title:`Command copied to clipboard`})},t[2]=n,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(R,{className:`w-3.5 h-3.5`}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Q.jsx)(L,{"aria-label":`Copy command`,className:`absolute right-2 top-2`,variant:`ghost`,size:`icon`,onClick:i,children:a}),t[5]=i,t[6]=o);let s;return t[7]!==r||t[8]!==o?(s=(0,Q.jsxs)(`div`,{className:`relative rounded-lg border bg-(--sky-2) border-(--sky-7)`,children:[r,o]}),t[7]=r,t[8]=o,t[9]=s):s=t[9],s},De=e=>{let t=(0,Z.c)(8),{code:n}=e,r;t[0]===n?r=t[1]:(r=le({code:n,baseUrl:`${v.molab}/new`}),t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(pe,{size:12,strokeWidth:1.5,className:`mr-1.5 mt-px text-(--grass-11)`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsx)(L,{asChild:!0,variant:`outline`,size:`xs`,className:`shrink-0`,children:(0,Q.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open in molab`]})}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsxs)(`p`,{className:`text-sm text-(--sky-12)`,children:[`Run this notebook in `,(0,Q.jsx)(`span`,{className:`font-semibold`,children:`molab`}),`, marimo's cloud-hosted notebook platform.`]}),t[5]=s):s=t[5];let c;return t[6]===o?c=t[7]:(c=(0,Q.jsxs)(`div`,{className:`pt-3 border-t flex gap-2 items-center`,children:[o,s]}),t[6]=o,t[7]=c),c},Oe=e=>{let t=(0,Z.c)(17),n=r(fe).kind,i=n===`static`||n===`wasm`,{selectedLayout:a}=B(),o;t[0]===a?o=t[1]:(o=V({selectedLayout:a,isReading:!0,searchParams:new URLSearchParams(window.location.search)}),t[0]=a,t[1]=o);let s=i&&o===`slides`,c;t[2]===s?c=t[3]:(c=!s&&(0,Q.jsx)(we,{}),t[2]=s,t[3]=c);let l;t[4]!==s||t[5]!==e.appConfig?(l=(0,Q.jsx)(Se,{appConfig:e.appConfig,hideHeader:s}),t[4]=s,t[5]=e.appConfig,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==s?(u=i&&!s&&(0,Q.jsx)(ke,{}),t[7]=i,t[8]=s,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,Q.jsxs)(de,{children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(N,{}),t[14]=f):f=t[14];let p;return t[15]===d?p=t[16]:(p=(0,Q.jsx)(h,{children:(0,Q.jsxs)(ue,{direction:`horizontal`,autoSaveId:`marimo:chrome:v1:run1`,children:[d,f]})}),t[15]=d,t[16]=p),p},ke=()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`fixed bottom-0 right-0 z-50 print:hidden`,"data-testid":`watermark`,children:(0,Q.jsxs)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{children:`made with marimo`}),(0,Q.jsx)(me,{className:`h-4 w-auto`})]})}),e[0]=t):t=e[0],t};export{Oe as default};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{D as a,La as o,g as s,oo as c,x as l}from"./cells-2HETnlvE.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./panels-BYAbCxyB.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{C as _}from"./config-DpY86_Yq.js";import{r as v}from"./utils-B4K466FK.js";import{t as y}from"./session-CMLIzZKw.js";import{T as b,_ as x,l as S,p as C}from"./config-CD1IuZFJ.js";import{t as w}from"./cn-ldLVeaqm.js";import{t as T}from"./jsx-runtime-B74pBk57.js";import{a as E,c as D,i as O,l as k,n as A,s as j,t as M}from"./alert-dialog-C-sWmKva.js";import{F as N,Ft as ee}from"./JsonOutput-B7pGj79O.js";import{n as te}from"./download-Dod42wfD.js";import{i as P,n as F,r as ne,t as re}from"./tabs-CY8E4r9U.js";import{n as I,t as L}from"./button-D8gVKwe-.js";import{n as ie}from"./paths-bkIFVj8h.js";import{t as ae}from"./arrow-left-BaPN-xbg.js";import{t as R}from"./copy-Djr5m5ac.js";import{t as oe}from"./house-CpsMWsLL.js";import{t as z}from"./spinner-DyNE-o8o.js";import{l as B,s as V}from"./readonly-python-code-Cqkfdeyo.js";import{Jt as H,Qt as U,Xt as W,Yt as G,nn as K,tn as q}from"./input-DmHMEZGh.js";import{n as J}from"./copy-KlhazlhB.js";import{t as Y}from"./use-toast-Wu434mLr.js";import{r as se}from"./requests-BIFR-h4M.js";import{t as ce}from"./shell-Fj8a65ii.js";import{t as le}from"./share-BZW3tzEX.js";import{a as X}from"./cell-link-D3rkqgbU.js";import{n as ue,t as de}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{n as fe}from"./code-visibility-DYDagVy7.js";import{n as pe,t as me}from"./marimo-icons-CqliHyTr.js";import{t as he}from"./state-Cv2JW3l9.js";var ge=e(i(),1),Z=g(),Q=T(),_e=()=>{let e=(0,Z.c)(25),[n,r]=t(he);if(n===null)return null;let i;e[0]===n?i=e[1]:(i=async()=>{try{await navigator.clipboard.writeText(n),Y({title:`Copied to clipboard`,description:`Error details have been copied to your clipboard.`})}catch{Y({title:`Failed to copy`,description:`Could not copy to clipboard.`,variant:`danger`})}},e[0]=n,e[1]=i);let a=i,o;e[2]===r?o=e[3]:(o=()=>{r(null)},e[2]=r,e[3]=o);let s=o,l=ve,u;e[4]===s?u=e[5]:(u=e=>!e&&s(),e[4]=s,e[5]=u);let d;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(D,{children:[(0,Q.jsxs)(k,{className:`flex items-center gap-2 text-destructive`,children:[(0,Q.jsx)(c,{className:`h-5 w-5`}),`Kernel Startup Failed`]}),(0,Q.jsx)(E,{children:`The kernel failed to start. This usually happens when the package manager can't install your notebook's dependencies.`})]}),e[6]=d):d=e[6];let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Error Details`}),e[7]=f):f=e[7];let p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(R,{className:`h-3 w-3`}),e[8]=p):p=e[8];let m;e[9]===a?m=e[10]:(m=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[f,(0,Q.jsxs)(L,{variant:`outline`,size:`xs`,onClick:a,className:`flex items-center gap-1`,children:[p,`Copy`]})]}),e[9]=a,e[10]=m);let h;e[11]===n?h=e[12]:(h=(0,Q.jsx)(`pre`,{className:`bg-muted p-4 rounded-md text-sm font-mono overflow-auto max-h-80`,children:n}),e[11]=n,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,Q.jsxs)(`div`,{className:`my-4 overflow-hidden`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsxs)(L,{variant:`outline`,onClick:l,className:`flex items-center gap-2`,children:[(0,Q.jsx)(oe,{className:`h-4 w-4`}),`Return to Home`]}),e[16]=_):_=e[16];let v;e[17]===s?v=e[18]:(v=(0,Q.jsxs)(j,{children:[_,(0,Q.jsx)(A,{onClick:s,children:`Dismiss`})]}),e[17]=s,e[18]=v);let y;e[19]!==v||e[20]!==g?(y=(0,Q.jsxs)(O,{className:`max-w-2xl`,children:[d,g,v]}),e[19]=v,e[20]=g,e[21]=y):y=e[21];let b;return e[22]!==y||e[23]!==u?(b=(0,Q.jsx)(M,{open:!0,onOpenChange:u,children:y}),e[22]=y,e[23]=u,e[24]=b):b=e[24],b};function ve(){let e=document.baseURI.split(`?`)[0];window.open(e,`_self`)}var ye=e=>{let t=(0,Z.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Q.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},be=e=>{let t=(0,Z.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===b.CLOSED&&(0,Q.jsx)(ye,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o},xe=n(e=>e(s)||!C(e(x).state)),Se=e=>{let t=(0,Z.c)(22),{appConfig:n,hideHeader:i}=e,{setCells:o}=a(),{sendComponentValues:s}=se(),c;t[0]===s?c=t[1]:(c=()=>(m.INSTANCE.start(s),Ce),t[0]=s,t[1]=c);let h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[2]=h):h=t[2],(0,ge.useEffect)(c,h);let g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(g=y(),t[3]=g):g=t[3];let _;t[4]===o?_=t[5]:(_={autoInstantiate:!0,setCells:o,sessionId:g},t[4]=o,t[5]=_);let{connection:v,reconnect:b}=f(_),x=r(l),S;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{if(typeof window>`u`){S=null;break bb0}let e=new URL(window.location.href);if(!e.searchParams.has(`file`)){S=null;break bb0}e.searchParams.delete(`file`);let t=e.searchParams.toString();S=t?`${e.pathname}?${t}`:e.pathname}t[6]=S}else S=t[6];let C=S,T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(_e,{}),t[7]=T):T=t[7];let E=i?`hidden`:`sm:pt-8`,D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=C&&(0,Q.jsx)(`div`,{className:`flex items-center px-6 pt-4 sm:-mt-8`,children:(0,Q.jsxs)(`a`,{href:C,"aria-label":`Back to gallery`,className:w(I({variant:`text`,size:`sm`}),`gap-2 px-0 text-muted-foreground hover:text-foreground`),children:[(0,Q.jsx)(ae,{className:`size-4`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:`Back`})]})}),t[8]=D):D=t[8];let O;t[9]!==v||t[10]!==E?(O=(0,Q.jsx)(be,{connection:v,className:E,children:D}),t[9]=v,t[10]=E,t[11]=O):O=t[11];let k;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(z,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground mt-2`,children:`Connecting...`})]}),t[12]=k):k=t[12];let A;t[13]===n?A=t[14]:(A=(0,Q.jsx)(p,{requires:xe,delay:2e3,fallback:k,children:(0,Q.jsx)(d,{appConfig:n,mode:`read`})}),t[13]=n,t[14]=A);let j;return t[15]!==n.width||t[16]!==v||t[17]!==x||t[18]!==b||t[19]!==A||t[20]!==O?(j=(0,Q.jsxs)(u,{connection:v,isRunning:x,width:n.width,onReconnect:b,children:[T,O,A]}),t[15]=n.width,t[16]=v,t[17]=x,t[18]=b,t[19]=A,t[20]=O,t[21]=j):j=t[21],j};function Ce(){m.INSTANCE.stop()}var we=()=>{let e=(0,Z.c)(3),t=r(o);if(!S()||!t)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`span`,{children:[`Static`,` `,(0,Q.jsx)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) font-medium underline`,children:`marimo`}),` `,`notebook - Run or edit for full interactivity`]}),e[0]=n):n=e[0];let i;return e[1]===t?i=e[2]:(i=(0,Q.jsxs)(`div`,{className:`px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm`,"data-testid":`static-notebook-banner`,children:[n,(0,Q.jsx)(`span`,{className:`shrink-0`,children:(0,Q.jsx)(Te,{code:t})})]}),e[1]=t,e[2]=i),i},Te=e=>{let t=(0,Z.c)(44),{code:n}=e,r=ie.basename(X()||`notebook.py`),[i]=_(),a=i.sharing?.molab??!0,o=Ee(window.location.href,r),s=o!==r,c=ce(o),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(K,{asChild:!0,children:(0,Q.jsx)(L,{"data-testid":`static-notebook-dialog-trigger`,variant:`outline`,size:`xs`,children:`Run or Edit`})}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=(0,Q.jsx)(q,{children:r}),t[1]=r,t[2]=u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) hover:underline font-medium`,children:`marimo`}),t[3]=d):d=t[3];let f=s?`Run it`:`Download it, then run it`,p;t[4]===f?p=t[5]:(p=(0,Q.jsxs)(`p`,{children:[`This is a static`,` `,d,` `,`notebook. `,f,` `,`locally for full interactivity.`]}),t[4]=f,t[5]=p);let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsxs)(ne,{"aria-label":`Package manager`,children:[(0,Q.jsx)(P,{value:`uv`,children:`uv`}),(0,Q.jsx)(P,{value:`pip`,children:`pip`}),(0,Q.jsx)(P,{value:`conda`,children:`conda`})]}),t[6]=m):m=t[6];let h=`uvx marimo edit --sandbox ${c}`,g;t[7]===h?g=t[8]:(g=(0,Q.jsx)(F,{value:`uv`,children:(0,Q.jsx)($,{command:h})}),t[7]=h,t[8]=g);let y=`pip install marimo\nmarimo edit ${c}`,b;t[9]===y?b=t[10]:(b=(0,Q.jsx)(F,{value:`pip`,children:(0,Q.jsx)($,{command:y})}),t[9]=y,t[10]=b);let x=`conda install -c conda-forge marimo\nmarimo edit ${c}`,S;t[11]===x?S=t[12]:(S=(0,Q.jsx)(F,{value:`conda`,children:(0,Q.jsx)($,{command:x})}),t[11]=x,t[12]=S);let C;t[13]!==b||t[14]!==S||t[15]!==g?(C=(0,Q.jsxs)(re,{defaultValue:`uv`,children:[m,g,b,S]}),t[13]=b,t[14]=S,t[15]=g,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==a?(w=a&&(0,Q.jsx)(De,{code:n}),t[17]=n,t[18]=a,t[19]=w):w=t[19];let T;t[20]!==C||t[21]!==w||t[22]!==p?(T=(0,Q.jsx)(W,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:`pt-3 text-left space-y-3`,children:[p,C,w]})}),t[20]=C,t[21]=w,t[22]=p,t[23]=T):T=t[23];let E;t[24]!==T||t[25]!==u?(E=(0,Q.jsxs)(U,{children:[u,T]}),t[24]=T,t[25]=u,t[26]=E):E=t[26];let D;t[27]===n?D=t[28]:(D=async()=>{await J(n),Y({title:`Copied to clipboard`})},t[27]=n,t[28]=D);let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Q.jsx)(R,{className:`w-3 h-3 mr-2`}),t[29]=O):O=t[29];let k;t[30]===D?k=t[31]:(k=(0,Q.jsxs)(L,{"data-testid":`copy-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:D,children:[O,`Copy code`]}),t[30]=D,t[31]=k);let A;t[32]!==n||t[33]!==r?(A=()=>{te(new Blob([n],{type:`text/plain`}),r)},t[32]=n,t[33]=r,t[34]=A):A=t[34];let j;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(ee,{className:`w-3 h-3 mr-2`}),t[35]=j):j=t[35];let M;t[36]===A?M=t[37]:(M=(0,Q.jsxs)(L,{"data-testid":`download-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:A,children:[j,`Download`]}),t[36]=A,t[37]=M);let N;t[38]!==k||t[39]!==M?(N=(0,Q.jsxs)(`div`,{className:`flex gap-3 pt-2`,children:[k,M]}),t[38]=k,t[39]=M,t[40]=N):N=t[40];let I;return t[41]!==E||t[42]!==N?(I=(0,Q.jsxs)(H,{children:[l,(0,Q.jsxs)(G,{children:[E,N]})]}),t[41]=E,t[42]=N,t[43]=I):I=t[43],I};function Ee(e,t){let n=new URL(e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return t;let r=n.pathname.endsWith(`.html`)&&n.search===``,i=n.protocol===`https:`&&(n.hostname===`marimo.app`||n.hostname===`links.marimo.app`||n.hostname===`static.marimo.app`&&n.pathname.startsWith(`/static`)||n.pathname.includes(`/notebooks/nb`));return!r&&!i?t:(n.hash=``,n.href)}var $=e=>{let t=(0,Z.c)(10),{command:n}=e,r;t[0]===n?r=t[1]:(r=(0,Q.jsx)(`pre`,{className:`p-3 pr-10 font-mono text-(--sky-11) leading-relaxed whitespace-pre-wrap break-all`,children:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=async()=>{await J(n),Y({title:`Command copied to clipboard`})},t[2]=n,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(R,{className:`w-3.5 h-3.5`}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Q.jsx)(L,{"aria-label":`Copy command`,className:`absolute right-2 top-2`,variant:`ghost`,size:`icon`,onClick:i,children:a}),t[5]=i,t[6]=o);let s;return t[7]!==r||t[8]!==o?(s=(0,Q.jsxs)(`div`,{className:`relative rounded-lg border bg-(--sky-2) border-(--sky-7)`,children:[r,o]}),t[7]=r,t[8]=o,t[9]=s):s=t[9],s},De=e=>{let t=(0,Z.c)(8),{code:n}=e,r;t[0]===n?r=t[1]:(r=le({code:n,baseUrl:`${v.molab}/new`}),t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(pe,{size:12,strokeWidth:1.5,className:`mr-1.5 mt-px text-(--grass-11)`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsx)(L,{asChild:!0,variant:`outline`,size:`xs`,className:`shrink-0`,children:(0,Q.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open in molab`]})}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsxs)(`p`,{className:`text-sm text-(--sky-12)`,children:[`Run this notebook in `,(0,Q.jsx)(`span`,{className:`font-semibold`,children:`molab`}),`, marimo's cloud-hosted notebook platform.`]}),t[5]=s):s=t[5];let c;return t[6]===o?c=t[7]:(c=(0,Q.jsxs)(`div`,{className:`pt-3 border-t flex gap-2 items-center`,children:[o,s]}),t[6]=o,t[7]=c),c},Oe=e=>{let t=(0,Z.c)(17),n=r(fe).kind,i=n===`static`||n===`wasm`,{selectedLayout:a}=B(),o;t[0]===a?o=t[1]:(o=V({selectedLayout:a,isReading:!0,searchParams:new URLSearchParams(window.location.search)}),t[0]=a,t[1]=o);let s=i&&o===`slides`,c;t[2]===s?c=t[3]:(c=!s&&(0,Q.jsx)(we,{}),t[2]=s,t[3]=c);let l;t[4]!==s||t[5]!==e.appConfig?(l=(0,Q.jsx)(Se,{appConfig:e.appConfig,hideHeader:s}),t[4]=s,t[5]=e.appConfig,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==s?(u=i&&!s&&(0,Q.jsx)(ke,{}),t[7]=i,t[8]=s,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,Q.jsxs)(de,{children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(N,{}),t[14]=f):f=t[14];let p;return t[15]===d?p=t[16]:(p=(0,Q.jsx)(h,{children:(0,Q.jsxs)(ue,{direction:`horizontal`,autoSaveId:`marimo:chrome:v1:run1`,children:[d,f]})}),t[15]=d,t[16]=p),p},ke=()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`fixed bottom-0 right-0 z-50 print:hidden`,"data-testid":`watermark`,children:(0,Q.jsxs)(`a`,{href:v.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{children:`made with marimo`}),(0,Q.jsx)(me,{className:`h-4 w-auto`})]})}),e[0]=t):t=e[0],t};export{Oe as default};
|
|
@@ -54,7 +54,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
54
54
|
|
|
55
55
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function ya(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;ya(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const ba=new Set([`type`,`properties`,`required`,`additionalProperties`]),xa=[`oneOf`,`anyOf`];function Sa(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ca(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ba.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Sa(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}v(n,r,e.length===1?e[0]:Ca(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Sa(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function wa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ba)if(t in e)return;let n=t.filter(e=>xa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ca(t);else{let e=n[0],i=xa.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ca([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,ma(e,r))}function Ta(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):ma(i,s),ma(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())ya(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])wa(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}ma(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,v(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Da(t,`input`,e.processors),output:Da(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function L(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return L(r.element,n);if(r.type===`set`)return L(r.valueType,n);if(r.type===`lazy`)return L(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return L(r.innerType,n);if(r.type===`intersection`)return L(r.left,n)||L(r.right,n);if(r.type===`record`||r.type===`map`)return L(r.keyType,n)||L(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:L(r.in,n)||L(r.out,n);if(r.type===`object`){for(let e in r.shape)if(L(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(L(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(L(e,n))return!0;return!!(r.rest&&L(r.rest,n))}return!1}const Ea=(e,t={})=>n=>{let r=ha({...n,processors:t});return I(e,r),va(r,e),Ta(r,e)},Da=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ha({...i??{},target:a,io:t,processors:n});return I(e,o),va(o,e),Ta(o,e)},R=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},z=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Oa=(e,t)=>{R(e,`minimum`,t),z(e,`maximum`,t)},ka=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Aa=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},ja=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ma=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Na=(e,t)=>R(e,`minimum`,t.minimum),Pa=(e,t)=>z(e,`maximum`,t.maximum),Fa=e=>(t,n)=>{Ma(t,n.format);let[r,i]=e[n.format];R(t,`minimum`,r),z(t,`maximum`,i)},Ia={greater_than:(e,t)=>R(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>z(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>ka(e,t.value),number_format:Fa(Me),bigint_format:Fa(Ne),min_length:Na,max_length:Pa,length_equals:(e,t)=>Oa(e,t.length),min_size:Na,max_size:Pa,size_equals:(e,t)=>Oa(e,t.size),string_format:(e,t)=>{Ma(e,t.format),t.pattern&&Aa(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>ja(e,t.mime)};function La(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ia[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&R(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&R(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&z(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&z(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&ka(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&ja(t,i.mime);for(let e of i.patterns??[])Aa(t,e);return t}const Ra={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},za=new Map([[fr,an],[mr,on]]),Ba=e=>za.get(e)??e,Va=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=La(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ra[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Ba);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ha=(e,t,n,r)=>{n.not={}},Ua=(e,t,n,r)=>{let i=e._zod.def,a=ue(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Wa=(e,t,n,r)=>{ga(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ga=(e,t,n,r)=>{ga(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Ka=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=La(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=I(a.element,t,{...r,path:[...r.path,`items`]})};function qa(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?qa(t.out):t.type===`catch`?qa(t.innerType):e._zod.optin}const Ja=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&ga(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)v(i.properties,e,I(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?qa(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=I(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ya=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>I(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Xa=(e,t,n,r)=>{let i=e._zod.def,a=I(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=I(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},Za=(e,t,n,r)=>{let i=e._zod.def,a=I(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Qa=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},$a=Symbol();function eo(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(ga(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),$a):JSON.parse(o)}const to=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=eo(i.defaultValue,e,t,n,r);o!==$a&&(n.default=o)},no=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=eo(i.defaultValue,e,t,n,r);o!==$a&&(n._prefault=o)},ro=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{ga(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},io=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;I(o,t,r);let s=t.seen.get(e);s.ref=o},ao=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},oo=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},so=new WeakSet([Object.prototype,Error.prototype]);function co(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const B=O(`ZodError`,(e,t)=>{yt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);so.has(n)||(so.add(n),co(n,`format`,e=>t=>St(e,t)),co(n,`flatten`,e=>t=>xt(e,t)),co(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,fe,2)}),co(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,fe,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),lo=wt(B),uo=Tt(B),fo=Et(B),po=Ot(B),mo=Pt(B),ho=Ft(B),go=It(B),_o=Lt(B),vo=Rt(B),yo=zt(B),bo=Bt(B),xo=Vt(B);function So(){A.localeError||j(hi())}function Co(){A.memoizer||j({memoizer:fi()})}const V=O(`ZodType`,(e,t)=>(So(),N.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(x(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return S(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(js(e,t))},superRefine(e,t){return this.check(Ms(e,t))},overwrite(e){return this.check(F(e))},optional(){return ps(this)},exactOptional(){return hs(this)},nullable(){return _s(this)},nullish(){return ps(_s(this))},nonoptional(e){return Cs(this,e)},array(){return ts(this)},or(e){return as([this,e])},and(e){return ss(this,e)},transform(e){return Ds(this,ds(e))},default(e){return ys(this,e)},prefault(e){return xs(this,e)},catch(e){return Ts(this,e)},pipe(e){return Ds(this,e)},readonly(){return ks(this)},describe(e){let t=this.clone();return yi.add(t,{description:e}),t},meta(...e){if(e.length===0)return yi.get(this);let t=this.clone();return yi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return et(this,`~standard`,{...Pn(this),jsonSchema:{input:Da(this,`input`),output:Da(this,`output`)}})},set"~standard"(e){T(this,`~standard`,e)},parse:function e(t,n){return lo(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await uo(this,t,n,{callee:e})},safeParse(e,t){return fo(this,e,t)},async safeParseAsync(e,t){return po(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){T(this,`spa`,e)},validate(e,t){return jt(this,e,t)},validateAsync(e,t){return Nt(this,e,t)},encode:function e(t,n){return mo(this,t,n,{callee:e})},decode:function e(t,n){return ho(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await go(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await _o(this,t,n,{callee:e})},safeEncode(e,t){return vo(this,e,t)},safeDecode(e,t){return yo(this,e,t)},async safeEncodeAsync(e,t){return bo(this,e,t)},async safeDecodeAsync(e,t){return xo(this,e,t)},toJSONSchema(e){return Ea(this,{})(e)},get description(){return yi.get(this)?.description},get _def(){return this._zod.def}}),wo=O(`_ZodString`,(e,t)=>{Fn.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Va(e,t,n,r)},tt({format:e=>La(e).format??null,minLength:e=>La(e).minimum??null,maxLength:e=>La(e).maximum??null},{regex(...e){return this.check($i(...e))},includes(...e){return this.check(na(...e))},startsWith(...e){return this.check(ra(...e))},endsWith(...e){return this.check(ia(...e))},min(...e){return this.check(Zi(...e))},max(...e){return this.check(Xi(...e))},length(...e){return this.check(Qi(...e))},nonempty(...e){return this.check(Zi(1,...e))},lowercase(e){return this.check(ea(e))},uppercase(e){return this.check(ta(e))},trim(){return this.check(oa())},normalize(...e){return this.check(aa(...e))},toLowerCase(){return this.check(sa())},toUpperCase(){return this.check(ca())},slugify(){return this.check(la())}})),To=O(`ZodString`,(e,t)=>{Fn.init(e,t),wo.init(e,t)},{email(e){return this.check(Si(jo,e))},url(e){return this.check(Oi(Po,e))},jwt(e){return this.check(Ui(Yo,e))},emoji(e){return this.check(ki(Fo,e))},guid(e){return this.check(Ci(Mo,e))},uuid(e){return this.check(wi(No,e))},uuidv4(e){return this.check(Ti(No,e))},uuidv6(e){return this.check(Ei(No,e))},uuidv7(e){return this.check(Di(No,e))},nanoid(e){return this.check(Ai(Io,e))},cuid(e){return this.check(ji(Lo,e))},cuid2(e){return this.check(Mi(Ro,e))},ulid(e){return this.check(Ni(zo,e))},base64(e){return this.check(Bi(Ko,e))},base64url(e){return this.check(Vi(qo,e))},xid(e){return this.check(Pi(Bo,e))},ksuid(e){return this.check(Fi(Vo,e))},ipv4(e){return this.check(Ii(Ho,e))},ipv6(e){return this.check(Li(Uo,e))},cidrv4(e){return this.check(Ri(Wo,e))},cidrv6(e){return this.check(zi(Go,e))},e164(e){return this.check(Hi(Jo,e))},datetime(e){return this.check(Wi(Do,e))},date(e){return this.check(Gi(Oo,e))},time(e){return this.check(Ki(ko,e))},duration(e){return this.check(qi(Ao,e))}});function Eo(e){return xi(To,e)}const H=O(`ZodStringFormat`,(e,t)=>{P.init(e,t),wo.init(e,t)}),Do=O(`ZodISODateTime`,(e,t)=>{er.init(e,t),H.init(e,t)}),Oo=O(`ZodISODate`,(e,t)=>{tr.init(e,t),H.init(e,t)}),ko=O(`ZodISOTime`,(e,t)=>{nr.init(e,t),H.init(e,t)}),Ao=O(`ZodISODuration`,(e,t)=>{rr.init(e,t),H.init(e,t)}),jo=O(`ZodEmail`,(e,t)=>{Rn.init(e,t),H.init(e,t)}),Mo=O(`ZodGUID`,(e,t)=>{In.init(e,t),H.init(e,t)}),No=O(`ZodUUID`,(e,t)=>{Ln.init(e,t),H.init(e,t)}),Po=O(`ZodURL`,(e,t)=>{Kn.init(e,t),H.init(e,t)}),Fo=O(`ZodEmoji`,(e,t)=>{qn.init(e,t),H.init(e,t)}),Io=O(`ZodNanoID`,(e,t)=>{Jn.init(e,t),H.init(e,t)}),Lo=O(`ZodCUID`,(e,t)=>{Yn.init(e,t),H.init(e,t)}),Ro=O(`ZodCUID2`,(e,t)=>{Xn.init(e,t),H.init(e,t)}),zo=O(`ZodULID`,(e,t)=>{Zn.init(e,t),H.init(e,t)}),Bo=O(`ZodXID`,(e,t)=>{Qn.init(e,t),H.init(e,t)}),Vo=O(`ZodKSUID`,(e,t)=>{$n.init(e,t),H.init(e,t)}),Ho=O(`ZodIPv4`,(e,t)=>{ir.init(e,t),H.init(e,t)}),Uo=O(`ZodIPv6`,(e,t)=>{sr.init(e,t),H.init(e,t)}),Wo=O(`ZodCIDRv4`,(e,t)=>{cr.init(e,t),H.init(e,t)}),Go=O(`ZodCIDRv6`,(e,t)=>{ur.init(e,t),H.init(e,t)}),Ko=O(`ZodBase64`,(e,t)=>{pr.init(e,t),H.init(e,t)}),qo=O(`ZodBase64URL`,(e,t)=>{gr.init(e,t),H.init(e,t)}),Jo=O(`ZodE164`,(e,t)=>{_r.init(e,t),H.init(e,t)}),Yo=O(`ZodJWT`,(e,t)=>{yr.init(e,t),H.init(e,t)}),Xo=O(`ZodUnknown`,(e,t)=>{br.init(e,t),V.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Zo(){return Ji(Xo)}const Qo=O(`ZodNever`,(e,t)=>{xr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ha(e,t,n,r)});function $o(e){return Yi(Qo,e)}const es=O(`ZodArray`,(e,t)=>{Co(),Cr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Zi(e,t))},nonempty(e){return this.check(Zi(1,e))},max(e,t){return this.check(Xi(e,t))},length(e,t){return this.check(Qi(e,t))},unwrap(){return this.element}});function ts(e,t){return ua(es,e,t)}const ns=O(`ZodObject`,(e,t)=>{Co(),kr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),ot(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return ls(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(x(this._zod.def,{catchall:e}))},passthrough(){return this.clone(x(this._zod.def,{catchall:Zo()}))},loose(){return this.clone(x(this._zod.def,{catchall:Zo()}))},strict(){return this.clone(x(this._zod.def,{catchall:$o()}))},strip(){return this.clone(x(this._zod.def,{catchall:void 0}))},extend(e){return Le(this,e)},safeExtend(e){return ze(this,e)},merge(e){return Be(this,e)},pick(e){return Pe(this,e)},omit(e){return Ie(this,e)},partial(...e){return Ve(fs,this,e[0])},exactPartial(...e){return Ve(ms,this,e[0],`exactPartial`)},required(...e){return He(Ss,this,e[0])}});function rs(e,t){let n={type:`object`,shape:e??{},...C(t)};return new ns(n)}const is=O(`ZodUnion`,(e,t)=>{jr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r),e.options=t.options});function as(e,t){return new is({type:`union`,options:e,...C(t)})}const os=O(`ZodIntersection`,(e,t)=>{Mr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r)});function ss(e,t){return new os({type:`intersection`,left:e,right:t})}const cs=O(`ZodEnum`,(e,t)=>{Fr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new cs({...t,checks:[],...C(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new cs({...t,checks:[],...C(r),entries:i})}});function ls(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new cs({type:`enum`,entries:n,...C(t)})}const us=O(`ZodTransform`,(e,t)=>{Co(),Ir.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ft(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Qe(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Qe(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ds(e){return new us({type:`transform`,transform:e})}const fs=O(`ZodOptional`,(e,t)=>{Rr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ps(e){return new fs({type:`optional`,innerType:e})}const ms=O(`ZodExactOptional`,(e,t)=>{zr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hs(e){return new ms({type:`optional`,innerType:e})}const gs=O(`ZodNullable`,(e,t)=>{Br.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _s(e){return new gs({type:`nullable`,innerType:e})}const vs=O(`ZodDefault`,(e,t)=>{Vr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ys(e,t){return new vs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():De(t)}})}const bs=O(`ZodPrefault`,(e,t)=>{Ur.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xs(e,t){return new bs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():De(t)}})}const Ss=O(`ZodNonOptional`,(e,t)=>{Wr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cs(e,t){return new Ss({type:`nonoptional`,innerType:e,...C(t)})}const ws=O(`ZodCatch`,(e,t)=>{qr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ts(e,t){return new ws({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:st(t)})}const Es=O(`ZodPipe`,(e,t)=>{Jr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.in=t.in,e.out=t.out});function Ds(e,t){return new Es({type:`pipe`,in:e,out:t})}const Os=O(`ZodReadonly`,(e,t)=>{Xr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ks(e){return new Os({type:`readonly`,innerType:e})}const As=O(`ZodCustom`,(e,t)=>{Qr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wa(e,t,n,r)});function js(e,t={}){return da(As,e,t)}function Ms(e,t){return fa(e,t)}const Ns=rs({detail:Eo()}),Ps=rs({error:Eo()});function Fs(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=Ns.safeParse(e.cause);return t.success?t.data.detail:Is(e.message)}if(typeof e==`object`){let t=Ns.safeParse(e);if(t.success)return t.data.detail;let n=Ps.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function Is(e){let t=Ls(e);if(!t)return e;let n=Ns.safeParse(t);if(n.success)return n.data.detail;let r=Ps.safeParse(t);return r.success?r.data.error:e}function Ls(e){try{return JSON.parse(e)}catch{return e}}function Rs(e){return e.FS}const zs=`notebook.py`,Bs=`/marimo`,U={NOTEBOOK_FILENAME:zs,HOME_DIR:Bs,createHomeDir:e=>{let t=Rs(e);try{t.mkdirTree(Bs)}catch{}t.chdir(Bs)},mountFS:e=>{globalThis.origin!==`null`&&Rs(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Bs)},populateFilesToMemory:async e=>{await Vs(e,!0)},persistFilesToRemote:async e=>{await Vs(e,!1)},readNotebook:e=>{let t=Rs(e),n=`${Bs}/${zs}`;return se(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Rs(t),a=e=>{try{return se(i.readFile(e))}catch{return null}};if(n&&n!==zs){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(zs,r),{code:r,filename:zs}}};function Vs(e,t){return new Promise((n,r)=>{Rs(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}var Hs=Object.defineProperty,W=(e,t)=>Hs(e,`name`,{value:t,configurable:!0}),Us=(e=>typeof l<`u`?l:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof l<`u`?l:e)[t]}):e)(function(e){if(typeof l<`u`)return l.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),Ws=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function Gs(e){return!isNaN(parseFloat(e))&&isFinite(e)}W(Gs,`_isNumber`);function G(e){return e.charAt(0).toUpperCase()+e.substring(1)}W(G,`_capitalize`);function Ks(e){return function(){return this[e]}}W(Ks,`_getter`);var K=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],q=[`columnNumber`,`lineNumber`],J=[`fileName`,`functionName`,`source`],qs=K.concat(q,J,[`args`],[`evalOrigin`]);function Y(e){if(e)for(var t=0;t<qs.length;t++)e[qs[t]]!==void 0&&this[`set`+G(qs[t])](e[qs[t]])}for(W(Y,`StackFrame`),Y.prototype={getArgs:W(function(){return this.args},`getArgs`),setArgs:W(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:W(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:W(function(e){if(e instanceof Y)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new Y(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:W(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},Y.fromString=W(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new Y({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),X=0;X<K.length;X++)Y.prototype[`get`+G(K[X])]=Ks(K[X]),Y.prototype[`set`+G(K[X])]=function(e){return function(t){this[e]=!!t}}(K[X]);var X;for(Z=0;Z<q.length;Z++)Y.prototype[`get`+G(q[Z])]=Ks(q[Z]),Y.prototype[`set`+G(q[Z])]=function(e){return function(t){if(!Gs(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(q[Z]);var Z;for(Q=0;Q<J.length;Q++)Y.prototype[`get`+G(J[Q])]=Ks(J[Q]),Y.prototype[`set`+G(J[Q])]=function(e){return function(t){this[e]=String(t)}}(J[Q]);var Q,Js=Y;function Ys(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:W(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:W(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:W(function(t){return t.stack.split(`
|
|
56
56
|
`).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new Js({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:W(function(e){return e.stack.split(`
|
|
57
|
-
`).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new Js({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new Js({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}W(Ys,`ErrorStackParser`);var Xs=new Ys;function Zs(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:Qs({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}W(Zs,`getGlobalRuntimeEnv`);var $=Zs();function Qs(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Us==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&$s())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}W(Qs,`calculateDerivedFlags`);function $s(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}W($s,`isClassicWorker`);var ec,tc,nc,rc;async function ic(){if(!$.IN_NODE||(ec=(await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1))).default,nc=await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1)),rc=await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1))).default,tc=await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1)),cc=tc.sep,typeof Us<`u`))return;let e={fs:nc,crypto:await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}W(ic,`initNodeModules`);function ac(e,t){return tc.resolve(t||`.`,e)}W(ac,`node_resolvePath`);function oc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}W(oc,`browser_resolvePath`);var sc=$.IN_NODE?ac:$.IN_SHELL?W(e=>e,`resolvePath`):oc,cc;$.IN_NODE||(cc=`/`);function lc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:rc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}W(lc,`node_getBinaryResponse`);function uc(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}W(uc,`shell_getBinaryResponse`);function dc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}W(dc,`browser_getBinaryResponse`);var fc=$.IN_NODE?lc:$.IN_SHELL?uc:dc;async function pc(e,t){let{response:n,binary:r}=fc(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}W(pc,`loadBinaryFile`);var mc=$.IN_NODE?hc:W(async e=>await import(e),`loadScript`);async function hc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ec.pathToFileURL(e).href)}W(hc,`nodeLoadScript`);async function gc(e){if($.IN_NODE){await ic();let t=await rc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if($.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}W(gc,`loadLockFile`);async function _c(){if($.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=Xs.parse(e)[0].fileName;if($.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),$.IN_NODE_ESM){let e=await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-8vDMR0Kk.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(cc);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}W(_c,`calculateDirname`);function vc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}W(vc,`calculateInstallBaseUrl`);function yc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:W(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:W(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:W(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}W(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}W(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:W(async e=>{let t=Object.create(null),n=await bc(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:W(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:W((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:W(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:W(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:W(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:W(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:W(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}W(yc,`initializeNativeFS`);var bc=W(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}W(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),xc=Ws(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Sc=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(xc);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Cc(){let e=await Sc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:W(()=>t,`Jsv_GetError_import`),JsvError_Check:W(e=>e===t,`JsvError_Check`)}}W(Cc,`getJsvErrorImport`);function wc(e){let t={config:e,runtimeEnv:$},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ac(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:W(t=>e.indexURL+t,`locateFile`),instantiateWasm:jc(e.indexURL)};return n}W(wc,`createSettings`);function Tc(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}W(Tc,`createHomeDirectory`);function Ec(e){return function(t){Object.assign(t.ENV,e)}}W(Ec,`setEnvironment`);function Dc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}W(Dc,`callFsInitHook`);function Oc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}W(Oc,`computeVersionTuple`);function kc(e){let t=pc(e);return async e=>{e.API.pyVersionTuple=Oc(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}W(kc,`installStdlib`);function Ac(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[kc(t),Tc(e.env.HOME),Ec(e.env),yc,...Dc(e.fsInit)]}W(Ac,`getFileSystemInitializationFuncs`);function jc(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=fc(e+`pyodide.asm.wasm`),r=Cc();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}W(jc,`getInstantiateWasmFunc`);var Mc=`314.0.0`;function Nc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}W(Nc,`withTrailingSlash`);var Pc=Mc;async function Fc(e={}){if(await ic(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await _c();if(t=Nc(sc(t)),e.packageBaseUrl=Nc(e.packageBaseUrl),e.cdnUrl=Nc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=gc(n),e.packageBaseUrl??=vc(n)}e.indexURL=t,e.packageCacheDir&&=Nc(sc(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}W(Fc,`initializeConfiguration`);function Ic(e){let t=wc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}W(Ic,`createEmscriptenSettings`);async function Lc(e){return e.createPyodideModule?e.createPyodideModule:(await mc(`${e.indexURL}pyodide.asm.mjs`)).default}W(Lc,`loadWasmScript`);async function Rc(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}W(Rc,`prepareSnapshot`);async function zc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}W(zc,`instantiatePyodideModule`);function Bc(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Pc}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}W(Bc,`configureAPI`);function Vc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}W(Vc,`bootstrapPyodide`);async function Hc(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}W(Hc,`finalizeSetup`);async function Uc(e={}){let t=await Fc(e),n=Ic(t),r=await Lc(t),i=await Rc(t,n),a=await zc(r,n);return Bc(a,t),await Hc(Vc(a,i,t),t)}W(Uc,`loadPyodide`);function Wc(e,t){if(!e)throw Error(t)}function Gc(){return`marimo-base`}const Kc=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return(async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}})}logSpans(){}};globalThis.t=Kc;const qc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Jc(e,t){return e.includes(`mo.sql`)||qc.test(e)||t?.has(`duckdb`)===!0}function Yc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Xc=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Wc(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Uc)throw Error(`loadPyodide is not defined`);let t=Kc.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Uc({packages:[`micropip`,`msgspec`,Gc(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Kc.startSpan(`mountFilesystem`);return U.createHomeDir(this.requirePyodide),U.mountFS(this.requirePyodide),await U.populateFilesToMemory(this.requirePyodide),t.end(`ok`),U.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,onMessage:i,queryParameters:a,userConfig:o}=e;self.messenger={callback:i},self.query_params=a,self.user_config=o;let s=Kc.startSpan(`startSession.runPython`),c=r||U.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
|
|
57
|
+
`).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new Js({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new Js({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}W(Ys,`ErrorStackParser`);var Xs=new Ys;function Zs(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:Qs({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}W(Zs,`getGlobalRuntimeEnv`);var $=Zs();function Qs(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Us==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&$s())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}W(Qs,`calculateDerivedFlags`);function $s(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}W($s,`isClassicWorker`);var ec,tc,nc,rc;async function ic(){if(!$.IN_NODE||(ec=(await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1))).default,nc=await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1)),rc=await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1))).default,tc=await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1)),cc=tc.sep,typeof Us<`u`))return;let e={fs:nc,crypto:await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}W(ic,`initNodeModules`);function ac(e,t){return tc.resolve(t||`.`,e)}W(ac,`node_resolvePath`);function oc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}W(oc,`browser_resolvePath`);var sc=$.IN_NODE?ac:$.IN_SHELL?W(e=>e,`resolvePath`):oc,cc;$.IN_NODE||(cc=`/`);function lc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:rc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}W(lc,`node_getBinaryResponse`);function uc(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}W(uc,`shell_getBinaryResponse`);function dc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}W(dc,`browser_getBinaryResponse`);var fc=$.IN_NODE?lc:$.IN_SHELL?uc:dc;async function pc(e,t){let{response:n,binary:r}=fc(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}W(pc,`loadBinaryFile`);var mc=$.IN_NODE?hc:W(async e=>await import(e),`loadScript`);async function hc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ec.pathToFileURL(e).href)}W(hc,`nodeLoadScript`);async function gc(e){if($.IN_NODE){await ic();let t=await rc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if($.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}W(gc,`loadLockFile`);async function _c(){if($.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=Xs.parse(e)[0].fileName;if($.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),$.IN_NODE_ESM){let e=await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-CC-8m5lM.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(cc);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}W(_c,`calculateDirname`);function vc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}W(vc,`calculateInstallBaseUrl`);function yc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:W(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:W(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:W(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}W(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}W(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:W(async e=>{let t=Object.create(null),n=await bc(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:W(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:W((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:W(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:W(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:W(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:W(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:W(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}W(yc,`initializeNativeFS`);var bc=W(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}W(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),xc=Ws(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Sc=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(xc);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Cc(){let e=await Sc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:W(()=>t,`Jsv_GetError_import`),JsvError_Check:W(e=>e===t,`JsvError_Check`)}}W(Cc,`getJsvErrorImport`);function wc(e){let t={config:e,runtimeEnv:$},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ac(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:W(t=>e.indexURL+t,`locateFile`),instantiateWasm:jc(e.indexURL)};return n}W(wc,`createSettings`);function Tc(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}W(Tc,`createHomeDirectory`);function Ec(e){return function(t){Object.assign(t.ENV,e)}}W(Ec,`setEnvironment`);function Dc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}W(Dc,`callFsInitHook`);function Oc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}W(Oc,`computeVersionTuple`);function kc(e){let t=pc(e);return async e=>{e.API.pyVersionTuple=Oc(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}W(kc,`installStdlib`);function Ac(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[kc(t),Tc(e.env.HOME),Ec(e.env),yc,...Dc(e.fsInit)]}W(Ac,`getFileSystemInitializationFuncs`);function jc(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=fc(e+`pyodide.asm.wasm`),r=Cc();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}W(jc,`getInstantiateWasmFunc`);var Mc=`314.0.0`;function Nc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}W(Nc,`withTrailingSlash`);var Pc=Mc;async function Fc(e={}){if(await ic(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await _c();if(t=Nc(sc(t)),e.packageBaseUrl=Nc(e.packageBaseUrl),e.cdnUrl=Nc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=gc(n),e.packageBaseUrl??=vc(n)}e.indexURL=t,e.packageCacheDir&&=Nc(sc(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}W(Fc,`initializeConfiguration`);function Ic(e){let t=wc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}W(Ic,`createEmscriptenSettings`);async function Lc(e){return e.createPyodideModule?e.createPyodideModule:(await mc(`${e.indexURL}pyodide.asm.mjs`)).default}W(Lc,`loadWasmScript`);async function Rc(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}W(Rc,`prepareSnapshot`);async function zc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}W(zc,`instantiatePyodideModule`);function Bc(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Pc}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}W(Bc,`configureAPI`);function Vc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}W(Vc,`bootstrapPyodide`);async function Hc(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}W(Hc,`finalizeSetup`);async function Uc(e={}){let t=await Fc(e),n=Ic(t),r=await Lc(t),i=await Rc(t,n),a=await zc(r,n);return Bc(a,t),await Hc(Vc(a,i,t),t)}W(Uc,`loadPyodide`);function Wc(e,t){if(!e)throw Error(t)}function Gc(){return`marimo-base`}const Kc=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}}}logSpans(){}};globalThis.t=Kc;const qc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Jc(e,t){return e.includes(`mo.sql`)||qc.test(e)||t?.has(`duckdb`)===!0}function Yc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Xc=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Wc(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Uc)throw Error(`loadPyodide is not defined`);let t=Kc.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Uc({packages:[`micropip`,`msgspec`,Gc(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Kc.startSpan(`mountFilesystem`);return U.createHomeDir(this.requirePyodide),U.mountFS(this.requirePyodide),await U.populateFilesToMemory(this.requirePyodide),t.end(`ok`),U.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,onMessage:i,queryParameters:a,userConfig:o}=e;self.messenger={callback:i},self.query_params=a,self.user_config=o;let s=Kc.startSpan(`startSession.runPython`),c=r||U.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
|
|
58
58
|
print("[py] Starting marimo...")
|
|
59
59
|
import asyncio
|
|
60
60
|
import gc
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import{r as e}from"./useEvent-BDjgaBtz.js";import{$n as t,La as n,Pa as r,Qn as i,_o as a,oi as o,vo as s,x as c,za as l}from"./cells-2HETnlvE.js";import{t as u}from"./get-DjNf4SIX.js";import{t as d}from"./debounce-aFmHgJZY.js";import{E as f}from"./config-DpY86_Yq.js";import{t as p}from"./_baseSet-Bpdo9AvU.js";import{g as m,v as h}from"./useEventListener-CjDeLqFC.js";import{t as g}from"./invariant-Ci2dTZ72.js";import{s as _}from"./config-DMz7oN0r.js";import{d as v,v as y}from"./session-CMLIzZKw.js";import{D as ee,M as b,c as x,l as S,n as te}from"./config-CD1IuZFJ.js";import{c as ne,o as C}from"./state-C5WAeuTu.js";import{c as w,o as T}from"./markdown-renderer-BhiTvxtL.js";import{w as re}from"./write-secret-modal-BEx-EUlh.js";import{t as ie}from"./use-toast-Wu434mLr.js";import{t as ae}from"./preload-helper-uBIymjUX.js";import{r as oe}from"./strings-C25fhMR_.js";import{t as E}from"./requests-BIFR-h4M.js";import{t as se}from"./Deferred-CrTnjj37.js";import{t as ce}from"./uuid-k9DpjH68.js";import{n as le}from"./RenderHTML-D6AC0IhC.js";import{t as ue}from"./useRunCells-DGakx8hj.js";import{r as de,t as fe}from"./blob-DTYOX-m5.js";import{f as pe}from"./useInstallPackage-wcDq9hYT.js";import{n as me,t as he}from"./share-BZW3tzEX.js";import{i as D,r as ge,t as _e}from"./events-CbeVJ6OD.js";function O(e,t,n){return e==null?e:p(e,t,n)}function k(e,t){if(e.origin===globalThis.origin)return new Worker(e.href,{...t,type:`module`});let n=`import ${JSON.stringify(e.href)}`,r=globalThis.origin===`null`?`data:application/javascript,${encodeURIComponent(n)}`:URL.createObjectURL(new Blob([n],{type:`application/javascript`}));try{return new Worker(r,{...t,type:`module`})}finally{r.startsWith(`blob:`)&&URL.revokeObjectURL(r)}}function A(e){return e.assetUrl,e}var ve=1e10,ye=1e3;function j(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function be(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(x)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=ye}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=ve?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw j([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw j([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function ee(e,t){if(!r.registerHandler)throw j([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function b(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function x(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw j([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:ee,removeMessageListener:b,proxy:{send:_,request:m},_setDebugHooks:n}}function xe(e){return be(e)}var M=`[transport-id]`;function Se(e,t){let{transportId:n}=t;return n==null?e:{[M]:n,data:e}}function Ce(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[M]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function we(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(Se(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=Ce(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function Te(e,t){return we(e,t)}var Ee=`::controller`,De=`marimo-transport`;function N(e){return xe({transport:Te(e,{transportId:De}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{m.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{m.debug(`[rpc] Worker -> Parent`,e)}}})}function P(){let e=document.querySelector(`marimo-wasm`),t=e=>{try{return e?new URL(e,document.baseURI).href:void 0}catch{return}};return{version:ne(),pyodideIndexUrl:t(e?.dataset.pyodideIndexUrl),pyodideLockfileUrl:t(e?.dataset.pyodideLockfileUrl),pypiIndexUrl:t(e?.dataset.pypiIndexUrl)?.replaceAll(`%7Bpackage_name%7D`,`{package_name}`)}}var F=me(),I=`marimo:file`,L=new r(null),Oe={saveFile(e){L.set(I,e)},readFile(){return L.get(I)}},ke={saveFile(e){s.setCodeForHash((0,F.compressToEncodedURIComponent)(e))},readFile(){let e=s.getCodeFromHash()||s.getCodeFromSearchParam();return e?(0,F.decompressFromEncodedURIComponent)(e):null}},Ae={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},je={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Me={saveFile(e){},readFile(){return e.get(n)??null}},Ne={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
|
|
2
|
-
`)}},R=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},z=new R([Me,Ae,ke]),B=new R([Oe,je,Ne]),Pe=new URL(`save-worker-
|
|
2
|
+
`)}},R=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},z=new R([Me,Ae,ke]),B=new R([Oe,je,Ne]),Pe=new URL(`save-worker-hzK9hmkP.js`,import.meta.url).href,Fe=new URL(`worker-C_3ZriwH.js`,import.meta.url).href,Ie=class t{static get INSTANCE(){let e=`_marimo_private_PyodideBridge`;return window[e]||(window[e]=new t),window[e]}rpc;saveRpc;pendingSessionSave=Promise.resolve();interruptBuffer;messageConsumer;initialized=new se;getSaveWorker(){if(v()===`read`)return m.debug(`Using partially disabled SaveWorker in read-mode`),{readFile:h,readNotebook:async()=>await z.readFile()??``,saveNotebook:h};let e=P(),t=N(k(new URL(Pe,import.meta.url),{name:V()}));return t.send.bootstrap(e),t.proxy.request}constructor(){if(!b())return;let t=P(),n=k(new URL(Fe,import.meta.url),{name:V()});this.rpc=N(n),this.rpc.send.bootstrap(t),this.rpc.addMessageListener(`ready`,()=>{this.startSession()}),this.rpc.addMessageListener(`initialized`,()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),e.set(C,{kind:`ready`}),this.initialized.resolve()}),this.rpc.addMessageListener(`initializingMessage`,({message:t})=>{e.get(C).kind===`loading`&&e.set(C,{kind:`loading`,message:t})}),this.rpc.addMessageListener(`initializedError`,({error:t})=>{if(this.initialized.status===`resolved`){m.error(t),ie({title:`Error initializing`,description:t,variant:`danger`});return}e.set(C,{kind:`error`,message:t}),this.initialized.reject(Error(t))}),this.rpc.addMessageListener(`kernelMessage`,({message:e})=>{this.messageConsumer?.(new MessageEvent(`message`,{data:e}))})}async startSession(){let t=await z.readFile(),n=await B.readFile(),r=e.get(l)??s.getFilename(),i=e.get(f),a={},o=new URLSearchParams(window.location.search);for(let e of o.keys()){let t=o.getAll(e);a[e]=t.length===1?t[0]:t}await this.rpc.proxy.request.startSession({queryParameters:a,code:t||n||``,filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:v()===`read`||i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):m.warn(`Not running in a secure context; interrupts are not available.`)}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}sendRename=async({filename:e})=>e===null?null:(s.setFilename(e),await this.rpc.proxy.request.bridge({functionName:`rename_file`,payload:e}),null);sendSave=async e=>{if(!this.saveRpc)return m.warn(`Save RPC not initialized`),null;let t=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>void 0).then(async()=>{await t,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(e=>{m.error(e)}),await t;let n=await this.readCode();return n.contents&&(z.saveFile(n.contents),B.saveFile(n.contents)),null};sendCopy=async()=>{h()};sendStdin=async e=>(await this.rpc.proxy.request.bridge({functionName:`put_input`,payload:e.text}),null);sendPdb=async()=>{h()};sendSetBreakpoints=async()=>{h()};sendRun=async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
|
|
3
3
|
`)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async t=>(e.get(c)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:t}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),_.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(m.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(z.saveFile(e.contents),B.saveFile(e.contents)),pe(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(m.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async()=>{let e=he({code:null,baseUrl:window.location.origin});return window.open(e,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:ce()}),null);sendInstantiate=async()=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await de(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:A(e)}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getSandbox=async()=>({backend:null,manifest:null,filename:null});updateManifest=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};syncSandbox=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null},context:{kind:`package-manager`,name:`micropip`}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=h;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=h;getRecentFiles=h;getWorkspaceFiles=h;getRunningNotebooks=h;shutdownSession=h;getExportAvailability=h;installExportRequirements=h;exportAsIPYNB=h;exportAsPDF=h;autoExportAsHTML=h;autoExportAsMarkdown=h;autoExportAsIPYNB=h;updateCellOutputs=h;writeSecret=h;invokeAiTool=h;clearCache=h;getCacheInfo=h;listStorageEntries=h;downloadStorage=h;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function V(){return`marimo${typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0?Ee:``}`}function Le(e=x()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=U(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":Re(i)}})}return t(n,r)}catch(e){return m.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function Re(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function ze(e,t=x()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=U(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=U(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function H(e){return e.startsWith(`.`)?e.slice(1):e}function Be(e,t=x()){let n=U(e,t);if(!n)return e;let r=fe(n);return URL.createObjectURL(r)}function U(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=W(e),a=W(r);return t[e]||t[H(e)]||t[r]||t[H(r)]||i&&t[i]||a&&t[a]}function W(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function G(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return G(await e.widget_manager.get_model(n),t)}}}}function K(e){return typeof e==`string`&&e.length>0}function q(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(K(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function Ve(e,t){return{async getModel(n){let r=q(n);return G(await e.getModel(r),t)},async getWidget(n){let r=q(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var He=Symbol(`marimo`);function J(e){return e[He]}var Ue=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{m.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[He]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){m.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){m.error(`Error emitting event`,e)}}#c=d(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){m.error(`Error emitting event`,e)}},0)};function We(e){return typeof e==`function`}function Ge(e){return typeof e==`function`}function Ke(e){return t(e)&&(We(e.render)||Ge(e.initialize))}function qe(e){return typeof e==`function`||Ke(e)}function Je(e){return t(e)&&qe(e.default)}var Ye=new Set,Xe=new WeakMap;function Ze(e,n){if(Je(e))return e.default;if(!t(e)||e.default!==void 0)return null;let r=We(e.render)?e.render:void 0,i=Ge(e.initialize)?e.initialize:void 0;if(r===void 0&&i===void 0)return null;let a=Xe.get(e);if(a)return a;Ye.has(n)||(Ye.add(n),m.warn(`Anywidget module at ${n} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let o={render:r,initialize:i};return Xe.set(e,o),o}function Qe(e,n){let r=`https://anywidget.dev/en/afm/`,a=t(e)&&i(e,`render`),o=t(e)&&i(e,`initialize`);if(t(e)&&e.default!==void 0)return Error(`Anywidget module at ${n} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(a||o){let e=[a?"`render`":null,o?"`initialize`":null].filter(Boolean).join(` and `),t=[a?`render`:null,o?`initialize`:null].filter(e=>e!==null),i=`export default { ${t.join(`, `)} }`,s=t.length===1?`export function ${t[0]}`:`named export function ...`;return Error(`Anywidget module at ${n} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${i}\` (not \`${s}\`). See ${r}`)}return Error(`Anywidget module at ${n} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}function $e(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||tt(e))}function et(){return e.get(ue)||le()}function tt(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?et():!1}var nt={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw m.warn(e),Error(e)}};function rt(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var it=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1,lifetime:i}=e,a=this.#e.get(n);if(!a){let e={references:0,dispose:()=>void 0,promise:this.#t(t,{kernelAuthored:r}).then(({module:t,dispose:n})=>(e.dispose=n,t),t=>{throw this.#e.get(n)===e&&this.#e.delete(n),t})};this.#e.set(n,e),a=e}let o=a;o.references+=1;let s=()=>{--o.references,o.references===0&&o.promise.then(()=>{o.dispose(),o.dispose=()=>void 0},()=>void 0)};return i?.aborted?s():i?.addEventListener(`abort`,s,{once:!0}),o.promise}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!($e(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=te(e).toString(),r=S()?Be(n):n,i=()=>{r!==n&&URL.revokeObjectURL(r)};try{return{module:await ae(()=>import(r),[],import.meta.url),dispose:i}}catch(e){throw i(),e}}};function Y(e){return typeof e==`function`}async function at(e,t){try{await e()}catch(e){m.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var ot=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;#s;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost,this.#s=e.onDestroy}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController,onDestroy:a}){let o=i.signal,s;try{let c=typeof t==`function`?await t():t;if(o.aborted)throw Error(`[anywidget] binding destroyed`);let l=Promise.resolve(c.initialize?.({model:G(n,o),experimental:nt,signal:o}));s=l.then(async e=>{o.aborted&&Y(e)&&await at(e,`late initialize`)}).catch(()=>void 0);let u=await Promise.race([l,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(o.aborted){n();return}o.addEventListener(`abort`,n,{once:!0})})]);if(o.aborted)throw Error(`[anywidget] binding destroyed`);let d,f;Y(u)?(f=u,d=void 0):d=typeof u==`object`&&u?u:void 0;let p=new e({widget:c,model:n,exports:d,controller:i,createHost:r,onDestroy:a});return f&&o.addEventListener(`abort`,()=>void p.#l(f,`initialize`),{once:!0}),p}catch(e){throw s?s.then(()=>a?.()):a?.(),e}}get exports(){return this.#r}async createView(e,t){let n=this.#c(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#c(e,t){let n=this.#t;if(!n.render)return;let r=rt([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:G(this.#n,r),el:e.el,experimental:nt,signal:r,host:i});if(Y(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return m.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#l(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#l(e,t){let n=at(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(m.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a);this.#s?.(),this.#s=void 0}},st=new it,ct=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new se;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=new AbortController,a;try{let e=await st.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0,lifetime:i.signal}),n=Ze(e,t.url);if(!n)throw st.invalidate(t.hash),Qe(e,t.url);a=n}catch(e){throw i.abort(),e}return ot.create({widgetDef:a,model:n,createHost:this.#r,controller:r,onDestroy:()=>i.abort()})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;m.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{m.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!X(t)&&!lt(t))return;let n=this.#c.get(t);n||(n=ut(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){m.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function X(e){return e.nodeType===Node.DOCUMENT_NODE}function lt(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function ut(e,t){let n=X(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,X(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Z(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Z(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Z(i,[...t,r]));return n}function dt(e){let t=Z(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=u(e,a);if(t instanceof DataView){let e=w(t);r.push(e),i.push(a),O(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function ft(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&g(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){m.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?O(i,t,T(n)):O(i,t,n)}return i}function pt(){let t=e.get(y).mode;return t===`edit`||t===`present`}var Q=new class{#e=new Map;#t;#n;constructor(e=1e4,t=pt){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new ct(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>Ve(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};Ue._modelManager=Q;async function mt(e,t){let n=t.model_id;if(!K(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(T);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=ft({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){J(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=S()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){m.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=dt(t);await E().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){m.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await E().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(w)})}};return new Ue(o,t,e)});return}case`custom`:J(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=ft({state:t,bufferPaths:a,buffers:i});J(await e.getModel(n)).updateAndEmitDiffs(o);return}default:oe(r)}}o(Q,`WIDGET_REGISTRY`);function ht(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var $=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&m.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:a(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){m.warn(`UIElementRegistry missing entry`,e);return}if(ht(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(D.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(_e.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?m.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(D.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(ge.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},gt=$.INSTANCE,_t=new re(`function-call-result`,async(e,t)=>{await E().sendFunctionRequest({functionCallId:e,...t})}),vt=`68px`,yt=`288px`,bt=e=>e?/^\d+$/.test(e)?`${e}px`:e:yt,xt=ee({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{$ as a,mt as c,Le as d,ze as f,O as g,A as h,_t as i,$e as l,z as m,bt as n,gt as o,Ie as p,xt as r,Q as s,vt as t,K as u};
|