@marimo-team/frontend 0.20.3-dev79 → 0.20.3-dev82

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.
@@ -0,0 +1 @@
1
+ var Ge=Object.defineProperty;var oe=(e,A,a)=>A in e?Ge(e,A,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[A]=a;var sA=(e,A,a)=>oe(e,typeof A!="symbol"?A+"":A,a);import{s as fA}from"./chunk-LvLJmgfZ.js";import{d as j,i as pA,l as xA,u as _}from"./useEvent-WUlsM6MC.js";import{t as ne}from"./react-Bj1aDYRI.js";import{Bt as re,I as se,O as ie,P as ke,R as le,Si as Re,T as ce,Vt as Ze,b as ge,dt as de,h as wA,jn as he,l as ue,lt as vA,pn as Be,st as me,vi as Ye,vn as fe,wr as DA,yr as pe,zt as xe}from"./cells-DVXjWBHI.js";import{t as B}from"./compiler-runtime-B3qBwwSJ.js";import{n as we}from"./assertNever-Dw9aFN4h.js";import{A as ve,D as De,E as Ee,I as ye,M as EA,P as Ce,R as be,_ as yA,b as Me,d as Ne,f as Se,j as je,k as _e,l as Fe,m as F,u as Qe,x as Pe,z as Le}from"./context-aware-panel-D7EEtBgI.js";import{c as CA,m as v,t as Oe}from"./useEventListener-CjXriKgk.js";import{C as Te,b as Ie}from"./utils-CORJ8yYa.js";import{r as iA}from"./constants-CdR60lKM.js";import{S as kA,b as Q,c as Ke,h as He,o as Ue,x}from"./config-vle9v48l.js";import{a as Ve,d as Xe}from"./switch-BQaT8a2B.js";import{n as We}from"./ErrorBoundary-dVj6GVNE.js";import{t as qe}from"./jsx-runtime-CP2fAiZX.js";import{t as lA}from"./button-BmOH9agK.js";import{n as Je,t as f}from"./cn-d_A4rA-x.js";import{Y as bA}from"./JsonOutput-DgTX3wDl.js";import{t as ze}from"./createReducer-BcTiTw8T.js";import{t as $e}from"./requests-DZy_SQ_v.js";import{t as q}from"./createLucideIcon-BvP5LBIs.js";import{a as Aa,f as MA,i as NA,n as ea,o as aa,s as ta}from"./layout-DKgHttkT.js";import{c as Ga,r as oa,s as na}from"./state-O2Ife70c.js";import{h as ra}from"./download-CNypwy8-.js";import{c as sa}from"./maps-8VTEe-0T.js";import{c as ia}from"./markdown-renderer-BF7gphWI.js";import{n as ka}from"./spinner-Cg6xI4rq.js";import{i as la,n as Ra}from"./readonly-python-code-BNPO_MG8.js";import{t as ca}from"./uuid-BukULOeS.js";import{t as RA}from"./use-toast-BtZldTi5.js";import{i as Za}from"./session-BQVN1Kxg.js";import{s as ga,u as da}from"./Combination-BM4eSgxb.js";import{t as cA}from"./tooltip-D7xdZcKW.js";import{_ as ha,f as ua,g as Ba,h as SA,m as jA,p as _A,v as FA,y as ma}from"./alert-dialog-DNI_v2jv.js";import{r as QA}from"./share-XjNIMk98.js";import{r as PA}from"./errors-iwK4b4VF.js";import{t as Ya}from"./RenderHTML-CzOWRFSs.js";import{i as fa}from"./cell-link-zwx6SduJ.js";import{t as pa}from"./error-banner-AdDcypw3.js";import{n as xa}from"./useAsyncData-D89z7Kpl.js";import{t as wa}from"./requests-KFvRjaaN.js";import{t as va}from"./ws-Sb1KIggW.js";import{t as Da}from"./request-registry-CZFU9UKb.js";import{n as Ea}from"./types-D4wsSrXa.js";import{n as ya}from"./runs-DkRl4kcc.js";var Ca=q("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"}]]),LA=q("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),ba=q("square-arrow-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),Ma=q("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=fA(ne());function Na(){var e=[...arguments];return(0,g.useMemo)(()=>A=>{e.forEach(a=>a(A))},e)}var OA=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0;function J(e){let A=Object.prototype.toString.call(e);return A==="[object Window]"||A==="[object global]"}function ZA(e){return"nodeType"in e}function C(e){var A;return e?J(e)?e:ZA(e)?((A=e.ownerDocument)==null?void 0:A.defaultView)??window:window:window}function TA(e){let{Document:A}=C(e);return e instanceof A}function IA(e){return J(e)?!1:e instanceof C(e).HTMLElement}function KA(e){return e instanceof C(e).SVGElement}function Sa(e){return e?J(e)?e.document:ZA(e)?TA(e)?e:IA(e)||KA(e)?e.ownerDocument:document:document:document}var gA=OA?g.useLayoutEffect:g.useEffect;function HA(e){let A=(0,g.useRef)(e);return gA(()=>{A.current=e}),(0,g.useCallback)(function(){var a=[...arguments];return A.current==null?void 0:A.current(...a)},[])}function ja(){let e=(0,g.useRef)(null);return[(0,g.useCallback)((A,a)=>{e.current=setInterval(A,a)},[]),(0,g.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function _a(e,A){A===void 0&&(A=[e]);let a=(0,g.useRef)(e);return gA(()=>{a.current!==e&&(a.current=e)},A),a}function Fa(e,A){let a=(0,g.useRef)();return(0,g.useMemo)(()=>{let t=e(a.current);return a.current=t,t},[...A])}function Qa(e){let A=HA(e),a=(0,g.useRef)(null);return[a,(0,g.useCallback)(t=>{t!==a.current&&(A==null||A(t,a.current)),a.current=t},[])]}function UA(e){let A=(0,g.useRef)();return(0,g.useEffect)(()=>{A.current=e},[e]),A.current}var dA={};function Pa(e,A){return(0,g.useMemo)(()=>{if(A)return A;let a=dA[e]==null?0:dA[e]+1;return dA[e]=a,e+"-"+a},[e,A])}function VA(e){return function(A){return[...arguments].slice(1).reduce((a,t)=>{let o=Object.entries(t);for(let[G,n]of o){let s=a[G];s!=null&&(a[G]=s+e*n)}return a},{...A})}}var La=VA(1),Oa=VA(-1);function Ta(e){return"clientX"in e&&"clientY"in e}function Ia(e){if(!e)return!1;let{KeyboardEvent:A}=C(e.target);return A&&e instanceof A}function Ka(e){if(!e)return!1;let{TouchEvent:A}=C(e.target);return A&&e instanceof A}function Ha(e){if(Ka(e)){if(e.touches&&e.touches.length){let{clientX:A,clientY:a}=e.touches[0];return{x:A,y:a}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:A,clientY:a}=e.changedTouches[0];return{x:A,y:a}}}return Ta(e)?{x:e.clientX,y:e.clientY}:null}var hA=Object.freeze({Translate:{toString(e){if(!e)return;let{x:A,y:a}=e;return"translate3d("+(A?Math.round(A):0)+"px, "+(a?Math.round(a):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:A,scaleY:a}=e;return"scaleX("+A+") scaleY("+a+")"}},Transform:{toString(e){if(e)return[hA.Translate.toString(e),hA.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:A,duration:a,easing:t}=e;return A+" "+a+"ms "+t}}}),XA="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Ua(e){return e.matches(XA)?e:e.querySelector(XA)}var Va=B(),r=fA(qe(),1);const Xa=e=>{let A=(0,Va.c)(10),{reason:a,canTakeover:t}=e,o=t===void 0?!1:t,G=Wa;if(o){let s;A[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)("div",{className:"flex justify-between",children:(0,r.jsx)("span",{className:"font-bold text-xl flex items-center mb-2",children:"Notebook already connected"})}),A[0]=s):s=A[0];let i;A[1]===a?i=A[2]:(i=(0,r.jsx)("span",{children:a}),A[1]=a,A[2]=i);let k;A[3]===o?k=A[4]:(k=o&&(0,r.jsxs)(lA,{onClick:G,variant:"outline","data-testid":"takeover-button",className:"shrink-0",children:[(0,r.jsx)(ba,{className:"w-4 h-4 mr-2"}),"Take over session"]}),A[3]=o,A[4]=k);let l;return A[5]!==i||A[6]!==k?(l=(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsxs)(pa,{kind:"info",className:"mt-10 flex flex-col rounded p-3 max-w-[800px] mx-4",children:[s,(0,r.jsxs)("div",{className:"flex justify-between items-end text-base gap-20",children:[i,k]})]})}),A[5]=i,A[6]=k,A[7]=l):l=A[7],l}let n;return A[8]===a?n=A[9]:(n=(0,r.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,r.jsx)("p",{children:a})}),A[8]=a,A[9]=n),n};async function Wa(){try{let e=new URL(window.location.href).searchParams;await Ve.post(`/kernel/takeover?${e.toString()}`,{}),QA()}catch(e){RA({title:"Failed to take over session",description:PA(e),variant:"danger"})}}var qa=B();const Ja=e=>{let A=(0,qa.c)(8),{connection:a,className:t,children:o}=e,G;A[0]!==a.canTakeover||A[1]!==a.reason||A[2]!==a.state?(G=a.state===x.CLOSED&&(0,r.jsx)(Xa,{reason:a.reason,canTakeover:a.canTakeover}),A[0]=a.canTakeover,A[1]=a.reason,A[2]=a.state,A[3]=G):G=A[3];let n;return A[4]!==o||A[5]!==t||A[6]!==G?(n=(0,r.jsxs)("div",{className:t,children:[o,G]}),A[4]=o,A[5]=t,A[6]=G,A[7]=n):n=A[7],n};var za=B();const $a=e=>{let A=(0,za.c)(10),{title:a}=e,[t,o]=(0,g.useState)(a),[G,n]=(0,g.useState)(!0),s,i;A[0]!==t||A[1]!==a?(s=()=>{if(a!==t){n(!1);let d=setTimeout(()=>{o(a),n(!0)},300);return()=>clearTimeout(d)}},i=[a,t],A[0]=t,A[1]=a,A[2]=s,A[3]=i):(s=A[2],i=A[3]),(0,g.useEffect)(s,i);let k;A[4]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(ka,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=k):k=A[4];let l=G?"opacity-100":"opacity-0",c;A[5]===l?c=A[6]:(c=f("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",l),A[5]=l,A[6]=c);let Z;return A[7]!==t||A[8]!==c?(Z=(0,r.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[k,(0,r.jsx)("div",{className:c,children:t})]}),A[7]=t,A[8]=c,A[9]=Z):Z=A[9],Z};var uA=B();const At=e=>{let A=(0,uA.c)(2),{children:a}=e;if(!kA())return a;let t;return A[0]===a?t=A[1]:(t=(0,r.jsx)(et,{children:a}),A[0]=a,A[1]=t),t};var et=e=>{let A=(0,uA.c)(3),{children:a}=e,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{isPending:o,error:G}=xa(tt,t),n=_(_e);if(o){let s;return A[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(WA,{}),A[1]=s):s=A[1],s}if(!n&&me()==="read"&&at()){let s;return A[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(WA,{}),A[2]=s):s=A[2],s}if(G)throw G;return a};function at(){return Za(iA.showCode,"false")||!pA.get(Xe)}const WA=e=>{let A=(0,uA.c)(2),a=_(ve),t;return A[0]===a?t=A[1]:(t=(0,r.jsx)($a,{title:a}),A[0]=a,A[1]=t),t};async function tt(){return await Ee.INSTANCE.initialized.promise,!0}var Gt={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"};async function P(e){return Gt[e]}function ot(e){if(document.visibilityState==="visible")return;let A=async()=>{e===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await P("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${e} error(s).`,icon:await P("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(a=>{a==="granted"&&A()}))}const nt=e=>{let{isRunning:A}=e,a=ie(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,g.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let G;if(G=A?"running":a.length===0?"success":"error",t.href=await P(G),!document.hasFocus())return;let n=setTimeout(async()=>{t.href=await P("idle")},3e3);return()=>clearTimeout(n)})()},[A,a,t]);let o=UA(A)??A;return(0,g.useEffect)(()=>{o&&!A&&ot(a.length)},[a,o,A]),Oe(window,"focus",async G=>{A||(t.href=await P("idle"))}),null};function rt(){let{cellRuntime:e}=pA.get(ge),A=CA.entries(e).find(([a,t])=>t.status==="running");A&&fa(A[0],"focus")}var L=B();const st=e=>{let A=(0,L.c)(22),{connection:a,isRunning:t}=e,{mode:o}=_(de),G=a.state===x.CLOSED,n=a.state===x.OPEN,s;A[0]!==a.canTakeover||A[1]!==G?(s=G&&!a.canTakeover&&(0,r.jsx)(Rt,{}),A[0]=a.canTakeover,A[1]=G,A[2]=s):s=A[2];let i=o==="read"?"fixed":"absolute",k;A[3]===i?k=A[4]:(k=f("z-50 top-4 left-4",i),A[3]=i,A[4]=k);let l;A[5]!==n||A[6]!==t?(l=n&&t&&(0,r.jsx)(lt,{}),A[5]=n,A[6]=t,A[7]=l):l=A[7];let c;A[8]!==a.canTakeover||A[9]!==G?(c=G&&!a.canTakeover&&(0,r.jsx)(it,{}),A[8]=a.canTakeover,A[9]=G,A[10]=c):c=A[10];let Z;A[11]!==a.canTakeover||A[12]!==G?(Z=G&&a.canTakeover&&(0,r.jsx)(kt,{}),A[11]=a.canTakeover,A[12]=G,A[13]=Z):Z=A[13];let d;A[14]!==k||A[15]!==l||A[16]!==c||A[17]!==Z?(d=(0,r.jsxs)("div",{className:k,children:[l,c,Z]}),A[14]=k,A[15]=l,A[16]=c,A[17]=Z,A[18]=d):d=A[18];let h;return A[19]!==s||A[20]!==d?(h=(0,r.jsxs)(r.Fragment,{children:[s,d]}),A[19]=s,A[20]=d,A[21]=h):h=A[21],h};var BA="print:hidden pointer-events-auto hover:cursor-pointer",it=()=>{let e=(0,L.c)(1),A;return e[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(cA,{content:"App disconnected",children:(0,r.jsx)("div",{className:BA,children:(0,r.jsx)(Ma,{className:"w-[25px] h-[25px] text-(--red-11)"})})}),e[0]=A):A=e[0],A},kt=()=>{let e=(0,L.c)(1),A;return e[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(cA,{content:"Notebook locked",children:(0,r.jsx)("div",{className:BA,children:(0,r.jsx)(la,{className:"w-[25px] h-[25px] text-(--blue-11)"})})}),e[0]=A):A=e[0],A},lt=()=>{let e=(0,L.c)(1),A;return e[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(cA,{content:"Jump to running cell",side:"right",children:(0,r.jsx)("div",{className:BA,"data-testid":"loading-indicator",onClick:rt,children:(0,r.jsx)(Ca,{className:"running-app-icon",size:30,strokeWidth:1})})}),e[0]=A):A=e[0],A},Rt=()=>{let e=(0,L.c)(1),A;return e[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"noise"}),(0,r.jsx)("div",{className:"disconnected-gradient"})]}),e[0]=A):A=e[0],A},b=B(),ct=ha,Zt=ma,gt=ga(Ba),qA=g.forwardRef((e,A)=>{let a=(0,b.c)(9),t,o;a[0]===e?(t=a[1],o=a[2]):({className:t,...o}=e,a[0]=e,a[1]=t,a[2]=o);let G;a[3]===t?G=a[4]:(G=f("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",t),a[3]=t,a[4]=G);let n;return a[5]!==o||a[6]!==A||a[7]!==G?(n=(0,r.jsx)(SA,{className:G,...o,ref:A}),a[5]=o,a[6]=A,a[7]=G,a[8]=n):n=a[8],n});qA.displayName=SA.displayName;var dt=Je("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"}}),JA=g.forwardRef((e,A)=>{let a=(0,b.c)(15),t,o,G,n;a[0]===e?(t=a[1],o=a[2],G=a[3],n=a[4]):({side:n,className:o,children:t,...G}=e,a[0]=e,a[1]=t,a[2]=o,a[3]=G,a[4]=n);let s=n===void 0?"right":n,i;a[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsx)(qA,{}),a[5]=i):i=a[5];let k;a[6]!==o||a[7]!==s?(k=f(dt({side:s}),o),a[6]=o,a[7]=s,a[8]=k):k=a[8];let l;a[9]===Symbol.for("react.memo_cache_sentinel")?(l=(0,r.jsxs)(ua,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,r.jsx)(sa,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]}),a[9]=l):l=a[9];let c;return a[10]!==t||a[11]!==G||a[12]!==A||a[13]!==k?(c=(0,r.jsx)(gt,{children:(0,r.jsxs)(da,{children:[i,(0,r.jsxs)(_A,{ref:A,className:k,...G,children:[t,l]})]})}),a[10]=t,a[11]=G,a[12]=A,a[13]=k,a[14]=c):c=a[14],c});JA.displayName=_A.displayName;var ht=e=>{let A=(0,b.c)(8),a,t;A[0]===e?(a=A[1],t=A[2]):({className:a,...t}=e,A[0]=e,A[1]=a,A[2]=t);let o;A[3]===a?o=A[4]:(o=f("flex flex-col space-y-2 text-center sm:text-left",a),A[3]=a,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,r.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};ht.displayName="SheetHeader";var ut=e=>{let A=(0,b.c)(8),a,t;A[0]===e?(a=A[1],t=A[2]):({className:a,...t}=e,A[0]=e,A[1]=a,A[2]=t);let o;A[3]===a?o=A[4]:(o=f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),A[3]=a,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,r.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};ut.displayName="SheetFooter";var Bt=g.forwardRef((e,A)=>{let a=(0,b.c)(9),t,o;a[0]===e?(t=a[1],o=a[2]):({className:t,...o}=e,a[0]=e,a[1]=t,a[2]=o);let G;a[3]===t?G=a[4]:(G=f("text-lg font-semibold text-foreground",t),a[3]=t,a[4]=G);let n;return a[5]!==o||a[6]!==A||a[7]!==G?(n=(0,r.jsx)(FA,{ref:A,className:G,...o}),a[5]=o,a[6]=A,a[7]=G,a[8]=n):n=a[8],n});Bt.displayName=FA.displayName;var mt=g.forwardRef((e,A)=>{let a=(0,b.c)(9),t,o;a[0]===e?(t=a[1],o=a[2]):({className:t,...o}=e,a[0]=e,a[1]=t,a[2]=o);let G;a[3]===t?G=a[4]:(G=f("text-sm text-muted-foreground",t),a[3]=t,a[4]=G);let n;return a[5]!==o||a[6]!==A||a[7]!==G?(n=(0,r.jsx)(jA,{ref:A,className:G,...o}),a[5]=o,a[6]=A,a[7]=G,a[8]=n):n=a[8],n});mt.displayName=jA.displayName;var Yt=B();const mA=(0,g.memo)(()=>{let e=(0,Yt.c)(1),A;return e[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(be,{name:EA.SIDEBAR}),e[0]=A):A=e[0],A});mA.displayName="SidebarSlot";var ft=B();const pt=e=>{let A=(0,ft.c)(6),{openWidth:a}=e,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)(Zt,{className:"lg:hidden",asChild:!0,children:(0,r.jsx)(lA,{variant:"ghost",className:"bg-background",children:(0,r.jsx)(LA,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let o;A[1]===a?o=A[2]:(o={maxWidth:a},A[1]=a,A[2]=o);let G;A[3]===Symbol.for("react.memo_cache_sentinel")?(G=(0,r.jsx)(mA,{}),A[3]=G):G=A[3];let n;return A[4]===o?n=A[5]:(n=(0,r.jsxs)(ct,{children:[t,(0,r.jsx)(JA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:o,side:"left",children:G})]}),A[4]=o,A[5]=n),n};var xt=B();const wt=e=>{let A=(0,xt.c)(7),{isOpen:a,toggle:t}=e,o=a?"rotate-0":"rotate-180",G;A[0]===o?G=A[1]:(G=f("h-5 w-5 transition-transform ease-in-out duration-700",o),A[0]=o,A[1]=G);let n;A[2]===G?n=A[3]:(n=(0,r.jsx)(ra,{className:G}),A[2]=G,A[3]=n);let s;return A[4]!==n||A[5]!==t?(s=(0,r.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,r.jsx)(lA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:n})}),A[4]=n,A[5]=t,A[6]=s):s=A[6],s};var vt=B();const Dt=e=>{let A=(0,vt.c)(11),{isOpen:a,toggle:t,width:o}=e,G=a?o:Fe,n;A[0]===G?n=A[1]:(n={width:G},A[0]=G,A[1]=n);let s;A[2]===Symbol.for("react.memo_cache_sentinel")?(s=f("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=s):s=A[2];let i;A[3]!==a||A[4]!==t?(i=(0,r.jsx)(wt,{isOpen:a,toggle:t}),A[3]=a,A[4]=t,A[5]=i):i=A[5];let k;A[6]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,r.jsx)(mA,{})}),A[6]=k):k=A[6];let l;return A[7]!==a||A[8]!==n||A[9]!==i?(l=(0,r.jsxs)("aside",{"data-expanded":a,style:n,className:s,children:[i,k]}),A[7]=a,A[8]=n,A[9]=i,A[10]=l):l=A[10],l};var Et=B();const yt=e=>{let A=(0,Et.c)(15),{children:a}=e,[t,o]=xA(Ne),{isOpen:G,width:n}=t;if(Le(EA.SIDEBAR).length===0)return a;let s;A[0]===n?s=A[1]:(s=Qe(n),A[0]=n,A[1]=s);let i=s,k;A[2]!==o||A[3]!==G?(k=()=>o({type:"toggle",isOpen:!G}),A[2]=o,A[3]=G,A[4]=k):k=A[4];let l;A[5]!==G||A[6]!==i||A[7]!==k?(l=(0,r.jsx)(Dt,{isOpen:G,width:i,toggle:k}),A[5]=G,A[6]=i,A[7]=k,A[8]=l):l=A[8];let c;A[9]===i?c=A[10]:(c=(0,r.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,r.jsx)(pt,{openWidth:i})}),A[9]=i,A[10]=c);let Z;return A[11]!==a||A[12]!==l||A[13]!==c?(Z=(0,r.jsxs)("div",{className:"inset-0 absolute flex",children:[l,c,a]}),A[11]=a,A[12]=l,A[13]=c,A[14]=Z):Z=A[14],Z};var Ct=B();const bt=e=>{let A=(0,Ct.c)(17),{width:a,connection:t,isRunning:o,children:G}=e,n=t.state,s;A[0]===o?s=A[1]:(s=(0,r.jsx)(nt,{isRunning:o}),A[0]=o,A[1]=s);let i;A[2]!==t||A[3]!==o?(i=(0,r.jsx)(st,{connection:t,isRunning:o}),A[2]=t,A[3]=o,A[4]=i):i=A[4];let k;A[5]!==n||A[6]!==a?(k=f("mathjax_ignore",Ke(n)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",a==="full"&&"config-width-full",a==="columns"?"overflow-x-auto":"overflow-x-hidden","print:height-fit"),A[5]=n,A[6]=a,A[7]=k):k=A[7];let l;A[8]!==G||A[9]!==n||A[10]!==k||A[11]!==a?(l=(0,r.jsx)(At,{children:(0,r.jsx)(yt,{children:(0,r.jsx)("div",{id:"App","data-config-width":a,"data-connection-state":n,className:k,children:G})})}),A[8]=G,A[9]=n,A[10]=k,A[11]=a,A[12]=l):l=A[12];let c;return A[13]!==s||A[14]!==i||A[15]!==l?(c=(0,r.jsxs)(r.Fragment,{children:[s,i,l]}),A[13]=s,A[14]=i,A[15]=l,A[16]=c):c=A[16],c};function Mt(e){return e.kind==="missing"}function zA(e){return e.kind==="installing"}var{valueAtom:Nt,useActions:St}=ze(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(e,A)=>{var o;let a={...e.packageLogs};if(zA(A)&&A.logs&&A.log_status)for(let[G,n]of Object.entries(A.logs))switch(A.log_status){case"start":a[G]=n;break;case"append":a[G]=(a[G]||"")+n;break;case"done":a[G]=(a[G]||"")+n;break}let t=((o=e.packageAlert)==null?void 0:o.id)||ca();return{...e,packageAlert:{id:t,...A},packageLogs:a}},clearPackageAlert:(e,A)=>e.packageAlert!==null&&e.packageAlert.id===A?{...e,packageAlert:null,packageLogs:{}}:e,addStartupLog:(e,A)=>{var t;let a=((t=e.startupLogsAlert)==null?void 0:t.content)||"";return{...e,startupLogsAlert:{...e.startupLogsAlert,content:a+A.content,status:A.status}}},clearStartupLogsAlert:e=>({...e,startupLogsAlert:null})});const jt=()=>_(Nt);function $A(){return St()}var Ae=B();const ee=(0,g.memo)(e=>{let A=(0,Ae.c)(11),{appConfig:a,mode:t,children:o}=e,{selectedLayout:G,layoutData:n}=Aa(),s=_(vA);if(t==="edit"&&!s)return o;let i;if(A[0]!==t||A[1]!==G){i=G;let Z=new URLSearchParams(window.location.search);if(t==="read"&&Z.has(iA.viewAs)){let d=Z.get(iA.viewAs);Ea.includes(d)&&(i=d)}A[0]=t,A[1]=G,A[2]=i}else i=A[2];let k;A[3]===i?k=A[4]:(k=aa.find(Z=>Z.type===i),A[3]=i,A[4]=k);let l=k;if(!l)return o;let c;return A[5]!==a||A[6]!==i||A[7]!==n||A[8]!==t||A[9]!==l?(c=(0,r.jsx)(_t,{appConfig:a,mode:t,plugin:l,layoutData:n,finalLayout:i}),A[5]=a,A[6]=i,A[7]=n,A[8]=t,A[9]=l,A[10]=c):c=A[10],c});ee.displayName="CellsRenderer";const _t=e=>{let A=(0,Ae.c)(18),{appConfig:a,mode:t,plugin:o,layoutData:G,finalLayout:n}=e,s=ke(),{setCurrentLayoutData:i}=NA(),k,l,c,Z,d;if(A[0]!==a||A[1]!==n||A[2]!==G||A[3]!==t||A[4]!==s||A[5]!==o){let w=ue(s);k=o.Component,l=a,c=t,Z=w,d=G[n]||o.getInitialLayout(w),A[0]=a,A[1]=n,A[2]=G,A[3]=t,A[4]=s,A[5]=o,A[6]=k,A[7]=l,A[8]=c,A[9]=Z,A[10]=d}else k=A[6],l=A[7],c=A[8],Z=A[9],d=A[10];let h;return A[11]!==k||A[12]!==i||A[13]!==l||A[14]!==c||A[15]!==Z||A[16]!==d?(h=(0,r.jsx)(k,{appConfig:l,mode:c,cells:Z,layout:d,setLayout:i}),A[11]=k,A[12]=i,A[13]=l,A[14]=c,A[15]=Z,A[16]=d,A[17]=h):h=A[17],h};var Ft=class ae{constructor(A){sA(this,"hasStarted",!1);sA(this,"handleReadyEvent",A=>{let a=A.detail.objectId;if(!this.uiElementRegistry.has(a))return;let t=this.uiElementRegistry.lookupValue(a);t!==void 0&&this.sendComponentValues({objectIds:[a],values:[t]}).catch(o=>{v.warn(o)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new ae(F)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){v.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(yA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){v.warn("RuntimeState already stopped");return}document.removeEventListener(yA.TYPE,this.handleReadyEvent),this.hasStarted=!1}};function Qt(e){if(e.static)return je.empty();if(kA())return De();let A=e.url;return new va(A,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}function Pt(e){let{onOpen:A,onMessage:a,onClose:t,onError:o,waitToConnect:G}=e,[n]=(0,g.useState)(()=>{let s=Qt(e);return s.addEventListener("open",A),s.addEventListener("close",t),s.addEventListener("error",o),s.addEventListener("message",a),s});return(0,g.useEffect)(()=>(n.readyState===WebSocket.CLOSED&&G().then(()=>n.reconnect()).catch(s=>{v.error("Healthy connection never made",s),n.close()}),()=>{v.warn("useConnectionTransport is unmounting. This likely means there is a bug."),n.close(),n.removeEventListener("open",A),n.removeEventListener("close",t),n.removeEventListener("error",o),n.removeEventListener("message",a)}),[n]),n}function Lt(e){let{codes:A,names:a,configs:t,cell_ids:o,last_executed_code:G,last_execution_time:n}=e,s=G||{},i=n||{};return A.map((k,l)=>{let c=o[l],Z=s[c];return se({id:c,code:k,edited:Z?Z!==k:!1,name:a[l],lastCodeRun:s[c]??null,lastExecutionTime:i[c]??null,config:t[l]})})}function Ot(e,A,a){let t=ea(),{layout:o}=e;if(o){let G=o.type,n=ta({type:G,data:o.data,cells:A});t.selectedLayout=G,t.layoutData[G]=n,a({layoutView:G,data:n})}return t}function Tt(){let e=[],A=[];return F.entries.forEach((a,t)=>{e.push(t),A.push(a.value)}),{objectIds:e,values:A}}function It(e,A){let{existingCells:a,autoInstantiate:t,setCells:o,setLayoutData:G,setAppConfig:n,setCapabilities:s,setKernelState:i,onError:k}=A,{resumed:l,ui_values:c,app_config:Z,capabilities:d,auto_instantiated:h}=e,w=a&&a.length>0,y=w&&!l?a:Lt(e);o(y,Ot(e,y,G));let D=Te.safeParse(Z);if(D.success?n(D.data):v.error("Failed to parse app config",D.error),s(d),h)return;if(l){for(let[m,Y]of CA.entries(c||{}))F.set(m,Y);return}let{objectIds:M,values:N}=Tt(),S=w?Object.fromEntries(a.map(m=>[m.id,m.code])):void 0;$e().sendInstantiate({objectIds:M,values:N,autoRun:t,codes:S}).then(()=>{i({isInstantiated:!0,error:null})}).catch(m=>{i({isInstantiated:!1,error:m}),k(Error("Failed to instantiate",{cause:m}))})}function Kt(e){let A=e.cell_id;F.removeElementsByCell(A),MA.INSTANCE.removeForCellId(A)}function Ht(e,A){A(e),MA.INSTANCE.track(e)}const z={append:e=>{let A=new URL(window.location.href);A.searchParams.append(e.key,e.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:e=>{let A=new URL(window.location.href);Array.isArray(e.value)?(A.searchParams.delete(e.key),e.value.forEach(a=>A.searchParams.append(e.key,a))):A.searchParams.set(e.key,e.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:e=>{let A=new URL(window.location.href);e.value==null?A.searchParams.delete(e.key):A.searchParams.delete(e.key,e.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let e=new URL(window.location.href);e.search="",window.history.pushState({},"",`${e.pathname}${e.search}`)}};var Ut=B();function Vt(){return Object.values(wA().cellData).filter(e=>e.id!==Ye)}function Xt(e){let A=(0,Ut.c)(39),a=(0,g.useRef)(!0),{autoInstantiate:t,sessionId:o,setCells:G}=e,{showBoundary:n}=We(),{handleCellMessage:s,setCellCodes:i,setCellIds:k}=ce(),{addCellNotification:l}=ya(),c=j(Ra),Z=Ie(),{setVariables:d,setMetadata:h}=he(),{addColumnPreview:w}=DA(),{addDatasets:y,filterDatasetsFromVariables:D}=DA(),{addDataSourceConnection:M,filterDataSourcesFromVariables:N}=pe(),{setLayoutData:S}=NA(),[m,Y]=xA(He),{addBanner:$}=ye(),{addPackageAlert:O,addStartupLog:AA}=$A(),eA=j(vA),aA=j(fe),E=Ue(),tA=j(wa),GA=j(Ce),{setNamespaces:oA,filterFromVariables:nA}=oa(),T;A[0]!==$||A[1]!==l||A[2]!==w||A[3]!==M||A[4]!==y||A[5]!==O||A[6]!==AA||A[7]!==t||A[8]!==N||A[9]!==D||A[10]!==nA||A[11]!==s||A[12]!==Z||A[13]!==tA||A[14]!==aA||A[15]!==i||A[16]!==k||A[17]!==G||A[18]!==GA||A[19]!==c||A[20]!==eA||A[21]!==S||A[22]!==h||A[23]!==oA||A[24]!==d||A[25]!==n?(T=u=>{let R=Re(u.data);switch(R.data.op){case"reload":QA();return;case"kernel-ready":{let p=Vt();It(R.data,{autoInstantiate:t,setCells:G,setLayoutData:S,setAppConfig:Z,setCapabilities:aA,setKernelState:c,onError:n,existingCells:p}),eA(R.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":GA(R.data.error);return;case"send-ui-element-message":{let p=R.data.ui_element;if(p){let te=ia(R.data);F.broadcastMessage(p,R.data.message,te)}return}case"model-lifecycle":Pe(Me,R.data);return;case"remove-ui-elements":Kt(R.data);return;case"completion-result":Be.resolve(R.data.completion_id,R.data);return;case"function-call-result":Se.resolve(R.data.function_call_id,R.data);return;case"cell-op":{Ht(R.data,s);let p=wA().cellData[R.data.cell_id];if(!p)return;l({cellNotification:R.data,code:p.code});return}case"variables":d(R.data.variables.map(AG)),D(R.data.variables.map($t)),N(R.data.variables.map(zt)),nA(R.data.variables.map(Jt));return;case"variable-values":h(R.data.variables.map(qt));return;case"alert":RA({title:R.data.title,description:Ya({html:R.data.description}),variant:R.data.variant});return;case"banner":$(R.data);return;case"missing-package-alert":O({...R.data,kind:"missing"});return;case"installing-package-alert":O({...R.data,kind:"installing"});return;case"startup-logs":AA({content:R.data.content,status:R.data.status});return;case"query-params-append":z.append(R.data);return;case"query-params-set":z.set(R.data);return;case"query-params-delete":z.delete(R.data);return;case"query-params-clear":z.clear();return;case"datasets":y(R.data);return;case"data-column-preview":w(R.data);return;case"sql-table-preview":xe.resolve(R.data.request_id,R.data);return;case"sql-table-list-preview":re.resolve(R.data.request_id,R.data);return;case"validate-sql-result":Ze.resolve(R.data.request_id,R.data);return;case"secret-keys-result":Da.resolve(R.data.request_id,R.data);return;case"cache-info":tA(R.data);return;case"cache-cleared":return;case"data-source-connections":M({connections:R.data.connections.map(Wt)});return;case"storage-namespaces":oA(R.data);return;case"storage-entries":Ga.resolve(R.data.request_id,R.data);return;case"storage-download-ready":na.resolve(R.data.request_id,R.data);return;case"reconnected":return;case"focus-cell":le(R.data.cell_id);return;case"update-cell-codes":i({codes:R.data.codes,ids:R.data.cell_ids,codeIsStale:R.data.code_is_stale});return;case"update-cell-ids":k({cellIds:R.data.cell_ids});return;default:we(R.data)}},A[0]=$,A[1]=l,A[2]=w,A[3]=M,A[4]=y,A[5]=O,A[6]=AA,A[7]=t,A[8]=N,A[9]=D,A[10]=nA,A[11]=s,A[12]=Z,A[13]=tA,A[14]=aA,A[15]=i,A[16]=k,A[17]=G,A[18]=GA,A[19]=c,A[20]=eA,A[21]=S,A[22]=h,A[23]=oA,A[24]=d,A[25]=n,A[26]=T):T=A[26];let rA=T,YA=(u,R)=>{a.current&&(a.current=!1,X.reconnect(u,R))},I;A[27]===Symbol.for("react.memo_cache_sentinel")?(I=bA(),A[27]=I):I=A[27];let K;A[28]!==E||A[29]!==o?(K=()=>E.getWsURL(o).toString(),A[28]=E,A[29]=o,A[30]=K):K=A[30];let H;A[31]===Y?H=A[32]:(H=async()=>{a.current=!0,Y({state:x.OPEN})},A[31]=Y,A[32]=H);let U;A[33]===E?U=A[34]:(U=async()=>{bA()||kA()||E.isSameOrigin||await E.waitForHealthy()},A[33]=E,A[34]=U);let V;A[35]===rA?V=A[36]:(V=u=>{try{rA(u)}catch(R){let p=R;v.error("Failed to handle message",u.data,p),RA({title:"Failed to handle message",description:PA(p),variant:"danger"})}},A[35]=rA,A[36]=V);let X=Pt({static:I,url:K,onOpen:H,waitToConnect:U,onMessage:V,onClose:u=>{switch(v.warn("WebSocket closed",u.code,u.reason),u.reason){case"MARIMO_ALREADY_CONNECTED":Y({state:x.CLOSED,code:Q.ALREADY_RUNNING,reason:"another browser tab is already connected to the kernel",canTakeover:!0}),X.close();return;case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":Y({state:x.CLOSED,code:Q.KERNEL_DISCONNECTED,reason:"kernel not found"}),X.close();return;case"MARIMO_MALFORMED_QUERY":Y({state:x.CLOSED,code:Q.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"});return;default:if(u.reason==="MARIMO_KERNEL_STARTUP_ERROR"){Y({state:x.CLOSED,code:Q.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"}),X.close();return}Y({state:x.CONNECTING}),YA(u.code,u.reason)}},onError:u=>{v.warn("WebSocket error",u),Y({state:x.CLOSED,code:Q.KERNEL_DISCONNECTED,reason:"kernel not found"}),YA()}}),W;return A[37]===m?W=A[38]:(W={connection:m},A[37]=m,A[38]=W),W}function Wt(e){return{...e,name:e.name}}function qt(e){return{name:e.name,dataType:e.datatype,value:e.value}}function Jt(e){return e.name}function zt(e){return e.name}function $t(e){return e.name}function AG(e){return{name:e.name,declaredBy:e.declared_by,usedBy:e.used_by}}var eG=B();const aG=e=>{let A=(0,eG.c)(2),{children:a}=e,t;return A[0]===a?t=A[1]:(t=(0,r.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative",children:a}),A[0]=a,A[1]=t),t};export{Fa as A,J as C,ja as D,HA as E,UA as M,Pa as N,gA as O,LA as P,KA as S,Na as T,C as _,zA as a,Ia as b,jt as c,hA as d,La as f,Sa as g,Ha as h,ee as i,Qa as j,_a as k,bt as l,Ua as m,Xt as n,Mt as o,OA as p,Ft as r,$A as s,aG as t,Ja as u,TA as v,Oa as w,ZA as x,IA as y};
@@ -0,0 +1 @@
1
+ import{s as J}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-WUlsM6MC.js";import{t as G}from"./react-Bj1aDYRI.js";import{T as H,ai as ee,x as te}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as Y}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-BrjpohcK.js";import{t as re}from"./context-aware-panel-D7EEtBgI.js";import{n as $}from"./constants-CdR60lKM.js";import{S as se,d as oe}from"./config-vle9v48l.js";import{t as ae}from"./jsx-runtime-CP2fAiZX.js";import{n as ie,t as q}from"./button-BmOH9agK.js";import{t as le}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import{Y as M,w as me}from"./JsonOutput-DgTX3wDl.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as ne}from"./requests-DZy_SQ_v.js";import"./layout-DKgHttkT.js";import{l as ce}from"./state-O2Ife70c.js";import{r as de}from"./download-CNypwy8-.js";import"./markdown-renderer-BF7gphWI.js";import{t as pe}from"./copy-CAR4dOiD.js";import{t as he}from"./download-BG-iMGgV.js";import{i as fe,l as xe,n as be,r as Q,t as ye,u as je}from"./panels-CKmNYbiF.js";import{t as ue}from"./spinner-Cg6xI4rq.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import{t as ge}from"./use-toast-BtZldTi5.js";import{t as ke}from"./session-BQVN1Kxg.js";import"./Combination-BM4eSgxb.js";import"./purify.es-DFAhPV1y.js";import"./dates-BL9QfUQ0.js";import{a as _e,c as Ne,l as we,n as ve,r as Se,t as Ce}from"./dialog-DxCG9U2G.js";import"./popover-2GpKY98n.js";import{t as ze}from"./share-XjNIMk98.js";import"./vega-loader.browser-xq8miGHn.js";import"./defaultLocale-DPBdGRrH.js";import"./defaultLocale-Lfi0pexn.js";import{t as Ie}from"./copy-hG3KkB-h.js";import{a as Pe}from"./cell-link-zwx6SduJ.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import"./esm-DYDEu0Nq.js";import{n as Te,t as Ae}from"./react-resizable-panels.browser.esm-RgA6v8U3.js";import"./name-cell-input-EJb1YnST.js";import{t as Ee}from"./marimo-icons-B0iaQddz.js";import"./ws-Sb1KIggW.js";import"./dist-DBYXupB9.js";import"./dist-CW4ZrmuX.js";import"./dist-DvNh3ph0.js";import"./dist-DrewQ3CS.js";import"./dist-BML9Do7x.js";import"./dist-DWi0RsIc.js";import"./dist-pzEKEf2L.js";import"./dist-CX4tr6LY.js";import"./dist-DkUBUEhC.js";import"./esm-B2VsGmJs.js";var Re=Y(),Be=J(G(),1),t=J(ae(),1);const We=o=>{let e=(0,Re.c)(25),{appConfig:s}=o,{setCells:r}=H(),{sendComponentValues:y}=ne(),c;e[0]===y?c=e[1]:(c=()=>(Q.INSTANCE.start(y),Le),e[0]=y,e[1]=c);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[2]=a):a=e[2],(0,Be.useEffect)(c,a);let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=ke(),e[3]=i):i=e[3];let j;e[4]===r?j=e[5]:(j={autoInstantiate:!0,setCells:r,sessionId:i},e[4]=r,e[5]=j);let{connection:l}=be(j),N=K(te),u;e[6]===l.state?u=e[7]:(u=oe(l.state),e[6]=l.state,e[7]=u);let x=u,d;e[8]!==s||e[9]!==x?(d=()=>x?(0,t.jsxs)(me,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ue,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(fe,{appConfig:s,mode:"read"}),e[8]=s,e[9]=x,e[10]=d):d=e[10];let b=d,m;e:{if(typeof window>"u"){m=null;break e}let f,n;if(e[11]===Symbol.for("react.memo_cache_sentinel")){if(n=new URL(window.location.href),!n.searchParams.has("file")){m=null;break e}n.searchParams.delete("file"),f=n.searchParams.toString(),e[11]=f,e[12]=n,e[13]=m}else f=e[11],n=e[12],m=e[13];let w=f;m=w?`${n.pathname}?${w}`:n.pathname}let g=m,v=s.width,k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=g&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:g,"aria-label":"Back to gallery",className:le(ie({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(ce,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[14]=k):k=e[14];let p;e[15]===l?p=e[16]:(p=(0,t.jsx)(je,{connection:l,className:"sm:pt-8",children:k}),e[15]=l,e[16]=p);let h;e[17]===b?h=e[18]:(h=b(),e[17]=b,e[18]=h);let _;return e[19]!==s.width||e[20]!==l||e[21]!==N||e[22]!==p||e[23]!==h?(_=(0,t.jsxs)(xe,{connection:l,isRunning:N,width:v,children:[p,h]}),e[19]=s.width,e[20]=l,e[21]=N,e[22]=p,e[23]=h,e[24]=_):_=e[24],_};function Le(){Q.INSTANCE.stop()}var X=Y();const Oe=()=>{let o=(0,X.c)(3),e=K(ee);if(!M()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.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:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Ue,{code:e})})]}),o[1]=e,o[2]=r),r};var Ue=o=>{let e=(0,X.c)(78),{code:s}=o,r=Pe()||"notebook.py",y=r.lastIndexOf("/");y!==-1&&(r=r.slice(y+1));let c=window.location.href,a,i,j,l,N,u,x,d,b,m,g,v,k,p,h,_,f,n,w;if(e[0]!==s||e[1]!==r){let F=ze({code:s});l=Ce,e[21]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(we,{asChild:!0,children:(0,t.jsx)(q,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[21]=g):g=e[21],j=ve,i=_e,e[22]===r?m=e[23]:(m=(0,t.jsx)(Ne,{children:r}),e[22]=r,e[23]=m),a=Se,u="pt-3 text-left space-y-3",e[24]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[24]=x):x=e[24];let V;e[25]===Symbol.for("react.memo_cache_sentinel")?(V=(0,t.jsx)("br",{}),e[25]=V):V=e[25],e[26]===r?d=e[27]:(d=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",V,"marimo edit ",r]})}),e[26]=r,e[27]=d),e[28]===Symbol.for("react.memo_cache_sentinel")?(b=!c.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[28]=b):b=e[28],w="pt-3 border-t border-(--sky-7)",_="text-sm text-(--sky-12) mb-2",e[29]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("strong",{children:"Try in browser with WebAssembly:"}),e[29]=f):f=e[29],n=" ",N=F,v="_blank",k="text-(--sky-11) hover:underline break-all",p="noreferrer",h=F.slice(0,50),e[0]=s,e[1]=r,e[2]=a,e[3]=i,e[4]=j,e[5]=l,e[6]=N,e[7]=u,e[8]=x,e[9]=d,e[10]=b,e[11]=m,e[12]=g,e[13]=v,e[14]=k,e[15]=p,e[16]=h,e[17]=_,e[18]=f,e[19]=n,e[20]=w}else a=e[2],i=e[3],j=e[4],l=e[5],N=e[6],u=e[7],x=e[8],d=e[9],b=e[10],m=e[11],g=e[12],v=e[13],k=e[14],p=e[15],h=e[16],_=e[17],f=e[18],n=e[19],w=e[20];let S;e[30]!==N||e[31]!==v||e[32]!==k||e[33]!==p||e[34]!==h?(S=(0,t.jsxs)("a",{href:N,target:v,className:k,rel:p,children:[h,"..."]}),e[30]=N,e[31]=v,e[32]=k,e[33]=p,e[34]=h,e[35]=S):S=e[35];let C;e[36]!==S||e[37]!==_||e[38]!==f||e[39]!==n?(C=(0,t.jsxs)("p",{className:_,children:[f,n,S]}),e[36]=S,e[37]=_,e[38]=f,e[39]=n,e[40]=C):C=e[40];let L;e[41]===Symbol.for("react.memo_cache_sentinel")?(L=(0,t.jsx)("p",{className:"text-sm text-(--sky-12)",children:"Note: WebAssembly may not work for all notebooks. Additionally, some dependencies may not be available in the browser."}),e[41]=L):L=e[41];let z;e[42]!==C||e[43]!==w?(z=(0,t.jsxs)("div",{className:w,children:[C,L]}),e[42]=C,e[43]=w,e[44]=z):z=e[44];let I;e[45]!==a||e[46]!==u||e[47]!==x||e[48]!==d||e[49]!==b||e[50]!==z?(I=(0,t.jsxs)(a,{className:u,children:[x,d,b,z]}),e[45]=a,e[46]=u,e[47]=x,e[48]=d,e[49]=b,e[50]=z,e[51]=I):I=e[51];let P;e[52]!==i||e[53]!==m||e[54]!==I?(P=(0,t.jsxs)(i,{children:[m,I]}),e[52]=i,e[53]=m,e[54]=I,e[55]=P):P=e[55];let T;e[56]===s?T=e[57]:(T=async()=>{await Ie(s),ge({title:"Copied to clipboard"})},e[56]=s,e[57]=T);let O;e[58]===Symbol.for("react.memo_cache_sentinel")?(O=(0,t.jsx)(pe,{className:"w-3 h-3 mr-2"}),e[58]=O):O=e[58];let A;e[59]===T?A=e[60]:(A=(0,t.jsxs)(q,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:T,children:[O,"Copy code"]}),e[59]=T,e[60]=A);let E;e[61]!==s||e[62]!==r?(E=()=>{de(new Blob([s],{type:"text/plain"}),r)},e[61]=s,e[62]=r,e[63]=E):E=e[63];let U;e[64]===Symbol.for("react.memo_cache_sentinel")?(U=(0,t.jsx)(he,{className:"w-3 h-3 mr-2"}),e[64]=U):U=e[64];let R;e[65]===E?R=e[66]:(R=(0,t.jsxs)(q,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:E,children:[U,"Download"]}),e[65]=E,e[66]=R);let B;e[67]!==A||e[68]!==R?(B=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[A,R]}),e[67]=A,e[68]=R,e[69]=B):B=e[69];let W;e[70]!==j||e[71]!==P||e[72]!==B?(W=(0,t.jsxs)(j,{children:[P,B]}),e[70]=j,e[71]=P,e[72]=B,e[73]=W):W=e[73];let D;return e[74]!==l||e[75]!==g||e[76]!==W?(D=(0,t.jsxs)(l,{children:[g,W]}),e[74]=l,e[75]=g,e[76]=W,e[77]=D):D=e[77],D},Z=Y(),De=se()||M(),Ve=o=>{let e=(0,Z.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Oe,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(We,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=De&&(0,t.jsx)(Ye,{}),e[3]=y):y=e[3];let c;e[4]===r?c=e[5]:(c=(0,t.jsxs)(Ae,{children:[s,r,y]}),e[4]=r,e[5]=c);let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(re,{}),e[6]=a):a=e[6];let i;return e[7]===c?i=e[8]:(i=(0,t.jsx)(ye,{children:(0,t.jsxs)(Te,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[c,a]})}),e[7]=c,e[8]=i),i},Ye=()=>{let o=(0,Z.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:$.githubPage,target:"_blank",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,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(Ee,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},$e=Ve;export{$e as default};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-DjgAZHA2.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-Cj6B1HI3.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-y72bE5iF.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/clsx-A78R3nYl.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/cn-d_A4rA-x.js">
@@ -230,7 +230,7 @@
230
230
  <link rel="modulepreload" crossorigin href="./assets/share-XjNIMk98.js">
231
231
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-BEHvSeoM.js">
232
232
  <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-RgA6v8U3.js">
233
- <link rel="modulepreload" crossorigin href="./assets/utilities.esm-BJLfUidT.js">
233
+ <link rel="modulepreload" crossorigin href="./assets/context-aware-panel-D7EEtBgI.js">
234
234
  <link rel="modulepreload" crossorigin href="./assets/floating-outline-CuK2jvVB.js">
235
235
  <link rel="modulepreload" crossorigin href="./assets/useAddCell-fRfulMRu.js">
236
236
  <link rel="modulepreload" crossorigin href="./assets/eye-off-DgTL09j7.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.20.3-dev79",
3
+ "version": "0.20.3-dev82",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -1,8 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
- import { useEvent } from "@dnd-kit/utilities";
5
- import { useEffect, useRef, useState } from "react";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
6
5
  import { z } from "zod";
7
6
  import { MarimoIncomingMessageEvent } from "@/core/dom/events";
8
7
  import {
@@ -12,13 +11,14 @@ import {
12
11
  import { createPlugin } from "@/plugins/core/builder";
13
12
  import { rpc } from "@/plugins/core/rpc";
14
13
  import type { IPluginProps } from "@/plugins/types";
14
+ import { Logger } from "@/utils/Logger";
15
15
  import { EventBuffer, extractBuffers, MessageSchema } from "./utils";
16
16
 
17
17
  interface BokehDocument {
18
18
  create_json_patch: (events: unknown[]) => unknown;
19
19
  apply_json_patch: (content: unknown, buffers: ArrayBuffer[]) => void;
20
20
  on_change: (callback: (event: unknown) => void) => void;
21
- _all_models: Set<string>;
21
+ _all_models: Map<string, unknown>;
22
22
  }
23
23
 
24
24
  interface RenderItems {
@@ -77,8 +77,8 @@ type T = Record<string, unknown>;
77
77
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
78
78
  type PluginFunctions = {
79
79
  send_to_widget: <T>(req: {
80
- message?: any;
81
- buffers?: any;
80
+ message?: unknown;
81
+ buffers?: unknown;
82
82
  }) => Promise<null | undefined>;
83
83
  };
84
84
 
@@ -114,27 +114,52 @@ const PanelSlot = (props: Props) => {
114
114
  const { data, functions, host } = props;
115
115
  const { extension, docs_json: docsJson, render_json: renderJson } = data;
116
116
  const ref = useRef<HTMLDivElement>(null);
117
- const docRef = useRef<BokehDocument | null>(null);
117
+ const rootModelIdRef = useRef<string | null>(null);
118
118
  const receiverRef = useRef<InstanceType<
119
119
  typeof window.Bokeh.protocol.Receiver
120
120
  > | null>(null);
121
121
  const [loaded, setLoaded] = useState<boolean>(false);
122
122
  const [rendered, setRendered] = useState<string | null>(null);
123
123
 
124
- const processEvents = useEvent(() => {
125
- if (!eventBufferRef.current || !docRef.current) {
124
+ // Store functions in a ref so the callback captured by EventBuffer stays current
125
+ const functionsRef = useRef(functions);
126
+ functionsRef.current = functions;
127
+
128
+ const processEvents = useCallback(() => {
129
+ if (!eventBufferRef.current) {
126
130
  return;
127
131
  }
128
132
 
129
133
  const events = eventBufferRef.current.getAndClear();
130
- const patch = docRef.current.create_json_patch(events);
131
- const message = {
132
- ...window.Bokeh.protocol.Message.create("PATCH-DOC", {}, patch),
133
- };
134
+ if (events.length === 0) {
135
+ return;
136
+ }
137
+
138
+ // Use the event's own document — it is always current, even when
139
+ // DynamicMap/HoloViews has replaced the document after embedding.
140
+ const firstEvent = events.at(0);
141
+ if (!isDocumentEvent(firstEvent)) {
142
+ return;
143
+ }
144
+ const doc = firstEvent.document;
145
+
146
+ // Keep only events that belong to this document
147
+ const sameDocEvents = events.filter(
148
+ (ev) => isDocumentEvent(ev) && ev.document === doc,
149
+ );
150
+
151
+ const patch = doc.create_json_patch(sameDocEvents);
152
+ const message = window.Bokeh.protocol.Message.create(
153
+ "PATCH-DOC",
154
+ {},
155
+ patch,
156
+ );
134
157
  const buffers: ArrayBuffer[] = [];
135
158
  message.content = extractBuffers(message.content, buffers);
136
- functions.send_to_widget({ message, buffers });
137
- });
159
+ functionsRef.current.send_to_widget({ message, buffers }).catch((error) => {
160
+ Logger.warn("Failed to send Panel event to backend", error);
161
+ });
162
+ }, []);
138
163
 
139
164
  const eventBufferRef = useRef<EventBuffer<unknown> | null>(
140
165
  new EventBuffer(processEvents),
@@ -178,9 +203,8 @@ const PanelSlot = (props: Props) => {
178
203
  const message = MessageSchema.parse(e.detail.message);
179
204
  const buffers = e.detail.buffers;
180
205
  const receiver = receiverRef.current;
181
- const doc = docRef.current;
182
206
 
183
- if (!receiver || !doc) {
207
+ if (!receiver) {
184
208
  return;
185
209
  }
186
210
 
@@ -193,6 +217,11 @@ const PanelSlot = (props: Props) => {
193
217
  return;
194
218
  }
195
219
 
220
+ const doc = getDoc(rootModelIdRef.current);
221
+ if (!doc) {
222
+ return;
223
+ }
224
+
196
225
  if (buffers && buffers.length > 0) {
197
226
  // Check if we already have an ArrayBuffer
198
227
  const buffer = buffers[0];
@@ -212,7 +241,7 @@ const PanelSlot = (props: Props) => {
212
241
  if (commMessage != null && Object.keys(commMessage.content).length > 0) {
213
242
  if (commMessage.content.events !== undefined) {
214
243
  commMessage.content.events = commMessage.content.events.filter(
215
- (e: any) => doc._all_models.has(e.model.id),
244
+ (e) => e?.model?.id && doc._all_models.has(e.model.id),
216
245
  );
217
246
  }
218
247
  doc.apply_json_patch(commMessage.content, commMessage.buffers);
@@ -243,9 +272,17 @@ const PanelSlot = (props: Props) => {
243
272
  }
244
273
  const modelId = Object.keys(renderItem.roots)[0];
245
274
  await window.Bokeh.embed.embed_items_notebook(docsJson, [renderItem]);
246
- docRef.current = window.Bokeh.index.get_by_id(modelId).model.document;
275
+ rootModelIdRef.current = modelId;
276
+ const doc = window.Bokeh.index.get_by_id(modelId).model.document;
247
277
  receiverRef.current = new window.Bokeh.protocol.Receiver();
248
- docRef.current.on_change((event) => eventBufferRef.current?.add(event));
278
+ doc.on_change((event) => {
279
+ // Bokeh tags server-applied patch events with sync=false via
280
+ // model.setv({...}, {sync: false}) inside apply_json_patch.
281
+ // Only forward user-initiated events (sync=true, the default).
282
+ if (isSyncEvent(event) && event.sync) {
283
+ eventBufferRef.current?.add(event);
284
+ }
285
+ });
249
286
  setRendered(docId);
250
287
  };
251
288
 
@@ -263,4 +300,29 @@ const PanelSlot = (props: Props) => {
263
300
  );
264
301
  };
265
302
 
303
+ // Re-fetch the live document from the Bokeh index. DynamicMap/HoloViews
304
+ // may replace the document after initial embedding, so a stale ref would
305
+ // cause "Cannot create a patch using events from a different document".
306
+ function getDoc(id: string | null): BokehDocument | null {
307
+ if (!id) {
308
+ return null;
309
+ }
310
+ try {
311
+ return window.Bokeh.index.get_by_id(id).model.document;
312
+ } catch (error) {
313
+ Logger.warn("Failed to get Bokeh document", error);
314
+ return null;
315
+ }
316
+ }
317
+
318
+ function isSyncEvent(x: unknown): x is { sync: boolean } {
319
+ const isObject = !!x && typeof x === "object";
320
+ return isObject && "sync" in x;
321
+ }
322
+
323
+ function isDocumentEvent(x: unknown): x is { document: BokehDocument } {
324
+ const isObject = !!x && typeof x === "object";
325
+ return isObject && "document" in x;
326
+ }
327
+
266
328
  type Props = IPluginProps<T, PanelData, PluginFunctions>;
@@ -99,8 +99,8 @@ export class EventBuffer<T> {
99
99
  }
100
100
 
101
101
  getAndClear() {
102
- const events = [...this.buffer];
103
- this.clear();
102
+ const events = this.buffer;
103
+ this.buffer = [];
104
104
  return events;
105
105
  }
106
106
  }
@@ -1 +0,0 @@
1
- var KA=Object.defineProperty;var HA=(a,A,e)=>A in a?KA(a,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[A]=e;var sA=(a,A,e)=>HA(a,typeof A!="symbol"?A+"":A,e);import{s as dA}from"./chunk-LvLJmgfZ.js";import{d as _,i as hA,l as BA,u as j}from"./useEvent-WUlsM6MC.js";import{t as UA}from"./react-Bj1aDYRI.js";import{Bt as VA,I as XA,O as WA,P as JA,R as qA,Si as zA,T as $A,Vt as Ae,b as ee,dt as ae,h as uA,jn as te,l as Ge,lt as mA,pn as oe,st as se,vi as re,vn as ne,wr as YA,yr as ke,zt as Re}from"./cells-DVXjWBHI.js";import{t as B}from"./compiler-runtime-B3qBwwSJ.js";import{n as ie}from"./assertNever-Dw9aFN4h.js";import{$ as le,B as fA,F as Ze,L as S,M as ce,N as ge,P as de,Q as he,S as Be,U as ue,W as me,X as Ye,Y as fe,at as pe,ct as xe,et as we,rt as De,st as ve,tt as pA}from"./utilities.esm-BJLfUidT.js";import{c as xA,m as D,t as Ee}from"./useEventListener-CjXriKgk.js";import{C as ye,b as Ce}from"./utils-CORJ8yYa.js";import{r as rA}from"./constants-CdR60lKM.js";import{S as nA,b as F,c as be,h as Me,o as Ne,x}from"./config-vle9v48l.js";import{a as _e,d as je}from"./switch-BQaT8a2B.js";import{n as Se}from"./ErrorBoundary-dVj6GVNE.js";import{t as Fe}from"./jsx-runtime-CP2fAiZX.js";import{t as kA}from"./button-BmOH9agK.js";import{n as Qe,t as f}from"./cn-d_A4rA-x.js";import{Y as wA}from"./JsonOutput-DgTX3wDl.js";import{t as Pe}from"./createReducer-BcTiTw8T.js";import{t as Le}from"./requests-DZy_SQ_v.js";import{t as W}from"./createLucideIcon-BvP5LBIs.js";import{a as Oe,f as DA,i as vA,n as Te,o as Ie,s as Ke}from"./layout-DKgHttkT.js";import{c as He,r as Ue,s as Ve}from"./state-O2Ife70c.js";import{h as Xe}from"./download-CNypwy8-.js";import{c as We}from"./maps-8VTEe-0T.js";import{c as Je}from"./markdown-renderer-BF7gphWI.js";import{n as qe}from"./spinner-Cg6xI4rq.js";import{i as ze,n as $e}from"./readonly-python-code-BNPO_MG8.js";import{t as Aa}from"./uuid-BukULOeS.js";import{t as RA}from"./use-toast-BtZldTi5.js";import{i as ea}from"./session-BQVN1Kxg.js";import{s as aa,u as ta}from"./Combination-BM4eSgxb.js";import{t as iA}from"./tooltip-D7xdZcKW.js";import{_ as Ga,f as oa,g as sa,h as EA,m as yA,p as CA,v as bA,y as ra}from"./alert-dialog-DNI_v2jv.js";import{r as MA}from"./share-XjNIMk98.js";import{r as NA}from"./errors-iwK4b4VF.js";import{t as na}from"./RenderHTML-CzOWRFSs.js";import{i as ka}from"./cell-link-zwx6SduJ.js";import{t as Ra}from"./error-banner-AdDcypw3.js";import{n as ia}from"./useAsyncData-D89z7Kpl.js";import{t as la}from"./requests-KFvRjaaN.js";import{t as Za}from"./ws-Sb1KIggW.js";import{t as ca}from"./request-registry-CZFU9UKb.js";import{n as ga}from"./types-D4wsSrXa.js";import{n as da}from"./runs-DkRl4kcc.js";var ha=W("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"}]]),_A=W("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),Ba=W("square-arrow-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),ua=W("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"}]]),ma=B(),r=dA(Fe(),1);const Ya=a=>{let A=(0,ma.c)(10),{reason:e,canTakeover:t}=a,o=t===void 0?!1:t,G=fa;if(o){let n;A[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsx)("div",{className:"flex justify-between",children:(0,r.jsx)("span",{className:"font-bold text-xl flex items-center mb-2",children:"Notebook already connected"})}),A[0]=n):n=A[0];let k;A[1]===e?k=A[2]:(k=(0,r.jsx)("span",{children:e}),A[1]=e,A[2]=k);let R;A[3]===o?R=A[4]:(R=o&&(0,r.jsxs)(kA,{onClick:G,variant:"outline","data-testid":"takeover-button",className:"shrink-0",children:[(0,r.jsx)(Ba,{className:"w-4 h-4 mr-2"}),"Take over session"]}),A[3]=o,A[4]=R);let i;return A[5]!==k||A[6]!==R?(i=(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsxs)(Ra,{kind:"info",className:"mt-10 flex flex-col rounded p-3 max-w-[800px] mx-4",children:[n,(0,r.jsxs)("div",{className:"flex justify-between items-end text-base gap-20",children:[k,R]})]})}),A[5]=k,A[6]=R,A[7]=i):i=A[7],i}let s;return A[8]===e?s=A[9]:(s=(0,r.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,r.jsx)("p",{children:e})}),A[8]=e,A[9]=s),s};async function fa(){try{let a=new URL(window.location.href).searchParams;await _e.post(`/kernel/takeover?${a.toString()}`,{}),MA()}catch(a){RA({title:"Failed to take over session",description:NA(a),variant:"danger"})}}var pa=B(),u=dA(UA(),1);const xa=a=>{let A=(0,pa.c)(8),{connection:e,className:t,children:o}=a,G;A[0]!==e.canTakeover||A[1]!==e.reason||A[2]!==e.state?(G=e.state===x.CLOSED&&(0,r.jsx)(Ya,{reason:e.reason,canTakeover:e.canTakeover}),A[0]=e.canTakeover,A[1]=e.reason,A[2]=e.state,A[3]=G):G=A[3];let s;return A[4]!==o||A[5]!==t||A[6]!==G?(s=(0,r.jsxs)("div",{className:t,children:[o,G]}),A[4]=o,A[5]=t,A[6]=G,A[7]=s):s=A[7],s};var wa=B();const Da=a=>{let A=(0,wa.c)(10),{title:e}=a,[t,o]=(0,u.useState)(e),[G,s]=(0,u.useState)(!0),n,k;A[0]!==t||A[1]!==e?(n=()=>{if(e!==t){s(!1);let g=setTimeout(()=>{o(e),s(!0)},300);return()=>clearTimeout(g)}},k=[e,t],A[0]=t,A[1]=e,A[2]=n,A[3]=k):(n=A[2],k=A[3]),(0,u.useEffect)(n,k);let R;A[4]===Symbol.for("react.memo_cache_sentinel")?(R=(0,r.jsx)(qe,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=R):R=A[4];let i=G?"opacity-100":"opacity-0",Z;A[5]===i?Z=A[6]:(Z=f("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",i),A[5]=i,A[6]=Z);let c;return A[7]!==t||A[8]!==Z?(c=(0,r.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[R,(0,r.jsx)("div",{className:Z,children:t})]}),A[7]=t,A[8]=Z,A[9]=c):c=A[9],c};var lA=B();const va=a=>{let A=(0,lA.c)(2),{children:e}=a;if(!nA())return e;let t;return A[0]===e?t=A[1]:(t=(0,r.jsx)(Ea,{children:e}),A[0]=e,A[1]=t),t};var Ea=a=>{let A=(0,lA.c)(3),{children:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{isPending:o,error:G}=ia(Ca,t),s=j(he);if(o){let n;return A[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsx)(jA,{}),A[1]=n):n=A[1],n}if(!s&&se()==="read"&&ya()){let n;return A[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,r.jsx)(jA,{}),A[2]=n):n=A[2],n}if(G)throw G;return e};function ya(){return ea(rA.showCode,"false")||!hA.get(je)}const jA=a=>{let A=(0,lA.c)(2),e=j(le),t;return A[0]===e?t=A[1]:(t=(0,r.jsx)(Da,{title:e}),A[0]=e,A[1]=t),t};async function Ca(){return await fe.INSTANCE.initialized.promise,!0}var ba={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"};async function Q(a){return ba[a]}function Ma(a){if(document.visibilityState==="visible")return;let A=async()=>{a===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await Q("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${a} error(s).`,icon:await Q("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const Na=a=>{let{isRunning:A}=a,e=WA(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,u.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let G;if(G=A?"running":e.length===0?"success":"error",t.href=await Q(G),!document.hasFocus())return;let s=setTimeout(async()=>{t.href=await Q("idle")},3e3);return()=>clearTimeout(s)})()},[A,e,t]);let o=Be(A)??A;return(0,u.useEffect)(()=>{o&&!A&&Ma(e.length)},[e,o,A]),Ee(window,"focus",async G=>{A||(t.href=await Q("idle"))}),null};function _a(){let{cellRuntime:a}=hA.get(ee),A=xA.entries(a).find(([e,t])=>t.status==="running");A&&ka(A[0],"focus")}var P=B();const ja=a=>{let A=(0,P.c)(22),{connection:e,isRunning:t}=a,{mode:o}=j(ae),G=e.state===x.CLOSED,s=e.state===x.OPEN,n;A[0]!==e.canTakeover||A[1]!==G?(n=G&&!e.canTakeover&&(0,r.jsx)(Pa,{}),A[0]=e.canTakeover,A[1]=G,A[2]=n):n=A[2];let k=o==="read"?"fixed":"absolute",R;A[3]===k?R=A[4]:(R=f("z-50 top-4 left-4",k),A[3]=k,A[4]=R);let i;A[5]!==s||A[6]!==t?(i=s&&t&&(0,r.jsx)(Qa,{}),A[5]=s,A[6]=t,A[7]=i):i=A[7];let Z;A[8]!==e.canTakeover||A[9]!==G?(Z=G&&!e.canTakeover&&(0,r.jsx)(Sa,{}),A[8]=e.canTakeover,A[9]=G,A[10]=Z):Z=A[10];let c;A[11]!==e.canTakeover||A[12]!==G?(c=G&&e.canTakeover&&(0,r.jsx)(Fa,{}),A[11]=e.canTakeover,A[12]=G,A[13]=c):c=A[13];let g;A[14]!==R||A[15]!==i||A[16]!==Z||A[17]!==c?(g=(0,r.jsxs)("div",{className:R,children:[i,Z,c]}),A[14]=R,A[15]=i,A[16]=Z,A[17]=c,A[18]=g):g=A[18];let d;return A[19]!==n||A[20]!==g?(d=(0,r.jsxs)(r.Fragment,{children:[n,g]}),A[19]=n,A[20]=g,A[21]=d):d=A[21],d};var ZA="print:hidden pointer-events-auto hover:cursor-pointer",Sa=()=>{let a=(0,P.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(iA,{content:"App disconnected",children:(0,r.jsx)("div",{className:ZA,children:(0,r.jsx)(ua,{className:"w-[25px] h-[25px] text-(--red-11)"})})}),a[0]=A):A=a[0],A},Fa=()=>{let a=(0,P.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(iA,{content:"Notebook locked",children:(0,r.jsx)("div",{className:ZA,children:(0,r.jsx)(ze,{className:"w-[25px] h-[25px] text-(--blue-11)"})})}),a[0]=A):A=a[0],A},Qa=()=>{let a=(0,P.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(iA,{content:"Jump to running cell",side:"right",children:(0,r.jsx)("div",{className:ZA,"data-testid":"loading-indicator",onClick:_a,children:(0,r.jsx)(ha,{className:"running-app-icon",size:30,strokeWidth:1})})}),a[0]=A):A=a[0],A},Pa=()=>{let a=(0,P.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"noise"}),(0,r.jsx)("div",{className:"disconnected-gradient"})]}),a[0]=A):A=a[0],A},C=B(),La=Ga,Oa=ra,Ta=aa(sa),SA=u.forwardRef((a,A)=>{let e=(0,C.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=f("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",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,r.jsx)(EA,{className:G,...o,ref:A}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});SA.displayName=EA.displayName;var Ia=Qe("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"}}),FA=u.forwardRef((a,A)=>{let e=(0,C.c)(15),t,o,G,s;e[0]===a?(t=e[1],o=e[2],G=e[3],s=e[4]):({side:s,className:o,children:t,...G}=a,e[0]=a,e[1]=t,e[2]=o,e[3]=G,e[4]=s);let n=s===void 0?"right":s,k;e[5]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(SA,{}),e[5]=k):k=e[5];let R;e[6]!==o||e[7]!==n?(R=f(Ia({side:n}),o),e[6]=o,e[7]=n,e[8]=R):R=e[8];let i;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsxs)(oa,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,r.jsx)(We,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=i):i=e[9];let Z;return e[10]!==t||e[11]!==G||e[12]!==A||e[13]!==R?(Z=(0,r.jsx)(Ta,{children:(0,r.jsxs)(ta,{children:[k,(0,r.jsxs)(CA,{ref:A,className:R,...G,children:[t,i]})]})}),e[10]=t,e[11]=G,e[12]=A,e[13]=R,e[14]=Z):Z=e[14],Z});FA.displayName=CA.displayName;var Ka=a=>{let A=(0,C.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=f("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,r.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Ka.displayName="SheetHeader";var Ha=a=>{let A=(0,C.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,r.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Ha.displayName="SheetFooter";var Ua=u.forwardRef((a,A)=>{let e=(0,C.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=f("text-lg font-semibold text-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,r.jsx)(bA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});Ua.displayName=bA.displayName;var Va=u.forwardRef((a,A)=>{let e=(0,C.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=f("text-sm text-muted-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,r.jsx)(yA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});Va.displayName=yA.displayName;var Xa=B();const cA=(0,u.memo)(()=>{let a=(0,Xa.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(ve,{name:pA.SIDEBAR}),a[0]=A):A=a[0],A});cA.displayName="SidebarSlot";var Wa=B();const Ja=a=>{let A=(0,Wa.c)(6),{openWidth:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r.jsx)(Oa,{className:"lg:hidden",asChild:!0,children:(0,r.jsx)(kA,{variant:"ghost",className:"bg-background",children:(0,r.jsx)(_A,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let o;A[1]===e?o=A[2]:(o={maxWidth:e},A[1]=e,A[2]=o);let G;A[3]===Symbol.for("react.memo_cache_sentinel")?(G=(0,r.jsx)(cA,{}),A[3]=G):G=A[3];let s;return A[4]===o?s=A[5]:(s=(0,r.jsxs)(La,{children:[t,(0,r.jsx)(FA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:o,side:"left",children:G})]}),A[4]=o,A[5]=s),s};var qa=B();const za=a=>{let A=(0,qa.c)(7),{isOpen:e,toggle:t}=a,o=e?"rotate-0":"rotate-180",G;A[0]===o?G=A[1]:(G=f("h-5 w-5 transition-transform ease-in-out duration-700",o),A[0]=o,A[1]=G);let s;A[2]===G?s=A[3]:(s=(0,r.jsx)(Xe,{className:G}),A[2]=G,A[3]=s);let n;return A[4]!==s||A[5]!==t?(n=(0,r.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,r.jsx)(kA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:s})}),A[4]=s,A[5]=t,A[6]=n):n=A[6],n};var $a=B();const At=a=>{let A=(0,$a.c)(11),{isOpen:e,toggle:t,width:o}=a,G=e?o:ce,s;A[0]===G?s=A[1]:(s={width:G},A[0]=G,A[1]=s);let n;A[2]===Symbol.for("react.memo_cache_sentinel")?(n=f("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=n):n=A[2];let k;A[3]!==e||A[4]!==t?(k=(0,r.jsx)(za,{isOpen:e,toggle:t}),A[3]=e,A[4]=t,A[5]=k):k=A[5];let R;A[6]===Symbol.for("react.memo_cache_sentinel")?(R=(0,r.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,r.jsx)(cA,{})}),A[6]=R):R=A[6];let i;return A[7]!==e||A[8]!==s||A[9]!==k?(i=(0,r.jsxs)("aside",{"data-expanded":e,style:s,className:n,children:[k,R]}),A[7]=e,A[8]=s,A[9]=k,A[10]=i):i=A[10],i};var et=B();const at=a=>{let A=(0,et.c)(15),{children:e}=a,[t,o]=BA(de),{isOpen:G,width:s}=t;if(xe(pA.SIDEBAR).length===0)return e;let n;A[0]===s?n=A[1]:(n=ge(s),A[0]=s,A[1]=n);let k=n,R;A[2]!==o||A[3]!==G?(R=()=>o({type:"toggle",isOpen:!G}),A[2]=o,A[3]=G,A[4]=R):R=A[4];let i;A[5]!==G||A[6]!==k||A[7]!==R?(i=(0,r.jsx)(At,{isOpen:G,width:k,toggle:R}),A[5]=G,A[6]=k,A[7]=R,A[8]=i):i=A[8];let Z;A[9]===k?Z=A[10]:(Z=(0,r.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,r.jsx)(Ja,{openWidth:k})}),A[9]=k,A[10]=Z);let c;return A[11]!==e||A[12]!==i||A[13]!==Z?(c=(0,r.jsxs)("div",{className:"inset-0 absolute flex",children:[i,Z,e]}),A[11]=e,A[12]=i,A[13]=Z,A[14]=c):c=A[14],c};var tt=B();const Gt=a=>{let A=(0,tt.c)(17),{width:e,connection:t,isRunning:o,children:G}=a,s=t.state,n;A[0]===o?n=A[1]:(n=(0,r.jsx)(Na,{isRunning:o}),A[0]=o,A[1]=n);let k;A[2]!==t||A[3]!==o?(k=(0,r.jsx)(ja,{connection:t,isRunning:o}),A[2]=t,A[3]=o,A[4]=k):k=A[4];let R;A[5]!==s||A[6]!==e?(R=f("mathjax_ignore",be(s)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",e==="full"&&"config-width-full",e==="columns"?"overflow-x-auto":"overflow-x-hidden","print:height-fit"),A[5]=s,A[6]=e,A[7]=R):R=A[7];let i;A[8]!==G||A[9]!==s||A[10]!==R||A[11]!==e?(i=(0,r.jsx)(va,{children:(0,r.jsx)(at,{children:(0,r.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":s,className:R,children:G})})}),A[8]=G,A[9]=s,A[10]=R,A[11]=e,A[12]=i):i=A[12];let Z;return A[13]!==n||A[14]!==k||A[15]!==i?(Z=(0,r.jsxs)(r.Fragment,{children:[n,k,i]}),A[13]=n,A[14]=k,A[15]=i,A[16]=Z):Z=A[16],Z};function ot(a){return a.kind==="missing"}function QA(a){return a.kind==="installing"}var{valueAtom:st,useActions:rt}=Pe(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(a,A)=>{var o;let e={...a.packageLogs};if(QA(A)&&A.logs&&A.log_status)for(let[G,s]of Object.entries(A.logs))switch(A.log_status){case"start":e[G]=s;break;case"append":e[G]=(e[G]||"")+s;break;case"done":e[G]=(e[G]||"")+s;break}let t=((o=a.packageAlert)==null?void 0:o.id)||Aa();return{...a,packageAlert:{id:t,...A},packageLogs:e}},clearPackageAlert:(a,A)=>a.packageAlert!==null&&a.packageAlert.id===A?{...a,packageAlert:null,packageLogs:{}}:a,addStartupLog:(a,A)=>{var t;let e=((t=a.startupLogsAlert)==null?void 0:t.content)||"";return{...a,startupLogsAlert:{...a.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:a=>({...a,startupLogsAlert:null})});const nt=()=>j(st);function PA(){return rt()}var LA=B();const OA=(0,u.memo)(a=>{let A=(0,LA.c)(11),{appConfig:e,mode:t,children:o}=a,{selectedLayout:G,layoutData:s}=Oe(),n=j(mA);if(t==="edit"&&!n)return o;let k;if(A[0]!==t||A[1]!==G){k=G;let c=new URLSearchParams(window.location.search);if(t==="read"&&c.has(rA.viewAs)){let g=c.get(rA.viewAs);ga.includes(g)&&(k=g)}A[0]=t,A[1]=G,A[2]=k}else k=A[2];let R;A[3]===k?R=A[4]:(R=Ie.find(c=>c.type===k),A[3]=k,A[4]=R);let i=R;if(!i)return o;let Z;return A[5]!==e||A[6]!==k||A[7]!==s||A[8]!==t||A[9]!==i?(Z=(0,r.jsx)(kt,{appConfig:e,mode:t,plugin:i,layoutData:s,finalLayout:k}),A[5]=e,A[6]=k,A[7]=s,A[8]=t,A[9]=i,A[10]=Z):Z=A[10],Z});OA.displayName="CellsRenderer";const kt=a=>{let A=(0,LA.c)(18),{appConfig:e,mode:t,plugin:o,layoutData:G,finalLayout:s}=a,n=JA(),{setCurrentLayoutData:k}=vA(),R,i,Z,c,g;if(A[0]!==e||A[1]!==s||A[2]!==G||A[3]!==t||A[4]!==n||A[5]!==o){let w=Ge(n);R=o.Component,i=e,Z=t,c=w,g=G[s]||o.getInitialLayout(w),A[0]=e,A[1]=s,A[2]=G,A[3]=t,A[4]=n,A[5]=o,A[6]=R,A[7]=i,A[8]=Z,A[9]=c,A[10]=g}else R=A[6],i=A[7],Z=A[8],c=A[9],g=A[10];let d;return A[11]!==R||A[12]!==k||A[13]!==i||A[14]!==Z||A[15]!==c||A[16]!==g?(d=(0,r.jsx)(R,{appConfig:i,mode:Z,cells:c,layout:g,setLayout:k}),A[11]=R,A[12]=k,A[13]=i,A[14]=Z,A[15]=c,A[16]=g,A[17]=d):d=A[17],d};var Rt=class TA{constructor(A){sA(this,"hasStarted",!1);sA(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let t=this.uiElementRegistry.lookupValue(e);t!==void 0&&this.sendComponentValues({objectIds:[e],values:[t]}).catch(o=>{D.warn(o)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new TA(S)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){D.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(fA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){D.warn("RuntimeState already stopped");return}document.removeEventListener(fA.TYPE,this.handleReadyEvent),this.hasStarted=!1}};function it(a){if(a.static)return we.empty();if(nA())return Ye();let A=a.url;return new Za(A,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}function lt(a){let{onOpen:A,onMessage:e,onClose:t,onError:o,waitToConnect:G}=a,[s]=(0,u.useState)(()=>{let n=it(a);return n.addEventListener("open",A),n.addEventListener("close",t),n.addEventListener("error",o),n.addEventListener("message",e),n});return(0,u.useEffect)(()=>(s.readyState===WebSocket.CLOSED&&G().then(()=>s.reconnect()).catch(n=>{D.error("Healthy connection never made",n),s.close()}),()=>{D.warn("useConnectionTransport is unmounting. This likely means there is a bug."),s.close(),s.removeEventListener("open",A),s.removeEventListener("close",t),s.removeEventListener("error",o),s.removeEventListener("message",e)}),[s]),s}function Zt(a){let{codes:A,names:e,configs:t,cell_ids:o,last_executed_code:G,last_execution_time:s}=a,n=G||{},k=s||{};return A.map((R,i)=>{let Z=o[i],c=n[Z];return XA({id:Z,code:R,edited:c?c!==R:!1,name:e[i],lastCodeRun:n[Z]??null,lastExecutionTime:k[Z]??null,config:t[i]})})}function ct(a,A,e){let t=Te(),{layout:o}=a;if(o){let G=o.type,s=Ke({type:G,data:o.data,cells:A});t.selectedLayout=G,t.layoutData[G]=s,e({layoutView:G,data:s})}return t}function gt(){let a=[],A=[];return S.entries.forEach((e,t)=>{a.push(t),A.push(e.value)}),{objectIds:a,values:A}}function dt(a,A){let{existingCells:e,autoInstantiate:t,setCells:o,setLayoutData:G,setAppConfig:s,setCapabilities:n,setKernelState:k,onError:R}=A,{resumed:i,ui_values:Z,app_config:c,capabilities:g,auto_instantiated:d}=a,w=e&&e.length>0,y=w&&!i?e:Zt(a);o(y,ct(a,y,G));let v=ye.safeParse(c);if(v.success?s(v.data):D.error("Failed to parse app config",v.error),n(g),d)return;if(i){for(let[m,Y]of xA.entries(Z||{}))S.set(m,Y);return}let{objectIds:b,values:M}=gt(),N=w?Object.fromEntries(e.map(m=>[m.id,m.code])):void 0;Le().sendInstantiate({objectIds:b,values:M,autoRun:t,codes:N}).then(()=>{k({isInstantiated:!0,error:null})}).catch(m=>{k({isInstantiated:!1,error:m}),R(Error("Failed to instantiate",{cause:m}))})}function ht(a){let A=a.cell_id;S.removeElementsByCell(A),DA.INSTANCE.removeForCellId(A)}function Bt(a,A){A(a),DA.INSTANCE.track(a)}const J={append:a=>{let A=new URL(window.location.href);A.searchParams.append(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:a=>{let A=new URL(window.location.href);Array.isArray(a.value)?(A.searchParams.delete(a.key),a.value.forEach(e=>A.searchParams.append(a.key,e))):A.searchParams.set(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:a=>{let A=new URL(window.location.href);a.value==null?A.searchParams.delete(a.key):A.searchParams.delete(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let a=new URL(window.location.href);a.search="",window.history.pushState({},"",`${a.pathname}${a.search}`)}};var ut=B();function mt(){return Object.values(uA().cellData).filter(a=>a.id!==re)}function Yt(a){let A=(0,ut.c)(39),e=(0,u.useRef)(!0),{autoInstantiate:t,sessionId:o,setCells:G}=a,{showBoundary:s}=Se(),{handleCellMessage:n,setCellCodes:k,setCellIds:R}=$A(),{addCellNotification:i}=da(),Z=_($e),c=Ce(),{setVariables:g,setMetadata:d}=te(),{addColumnPreview:w}=YA(),{addDatasets:y,filterDatasetsFromVariables:v}=YA(),{addDataSourceConnection:b,filterDataSourcesFromVariables:M}=ke(),{setLayoutData:N}=vA(),[m,Y]=BA(Me),{addBanner:q}=pe(),{addPackageAlert:L,addStartupLog:z}=PA(),$=_(mA),AA=_(ne),E=Ne(),eA=_(la),aA=_(De),{setNamespaces:tA,filterFromVariables:GA}=Ue(),O;A[0]!==q||A[1]!==i||A[2]!==w||A[3]!==b||A[4]!==y||A[5]!==L||A[6]!==z||A[7]!==t||A[8]!==M||A[9]!==v||A[10]!==GA||A[11]!==n||A[12]!==c||A[13]!==eA||A[14]!==AA||A[15]!==k||A[16]!==R||A[17]!==G||A[18]!==aA||A[19]!==Z||A[20]!==$||A[21]!==N||A[22]!==d||A[23]!==tA||A[24]!==g||A[25]!==s?(O=h=>{let l=zA(h.data);switch(l.data.op){case"reload":MA();return;case"kernel-ready":{let p=mt();dt(l.data,{autoInstantiate:t,setCells:G,setLayoutData:N,setAppConfig:c,setCapabilities:AA,setKernelState:Z,onError:s,existingCells:p}),$(l.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":aA(l.data.error);return;case"send-ui-element-message":{let p=l.data.ui_element;if(p){let IA=Je(l.data);S.broadcastMessage(p,l.data.message,IA)}return}case"model-lifecycle":me(ue,l.data);return;case"remove-ui-elements":ht(l.data);return;case"completion-result":oe.resolve(l.data.completion_id,l.data);return;case"function-call-result":Ze.resolve(l.data.function_call_id,l.data);return;case"cell-op":{Bt(l.data,n);let p=uA().cellData[l.data.cell_id];if(!p)return;i({cellNotification:l.data,code:p.code});return}case"variables":g(l.data.variables.map(vt)),v(l.data.variables.map(Dt)),M(l.data.variables.map(wt)),GA(l.data.variables.map(xt));return;case"variable-values":d(l.data.variables.map(pt));return;case"alert":RA({title:l.data.title,description:na({html:l.data.description}),variant:l.data.variant});return;case"banner":q(l.data);return;case"missing-package-alert":L({...l.data,kind:"missing"});return;case"installing-package-alert":L({...l.data,kind:"installing"});return;case"startup-logs":z({content:l.data.content,status:l.data.status});return;case"query-params-append":J.append(l.data);return;case"query-params-set":J.set(l.data);return;case"query-params-delete":J.delete(l.data);return;case"query-params-clear":J.clear();return;case"datasets":y(l.data);return;case"data-column-preview":w(l.data);return;case"sql-table-preview":Re.resolve(l.data.request_id,l.data);return;case"sql-table-list-preview":VA.resolve(l.data.request_id,l.data);return;case"validate-sql-result":Ae.resolve(l.data.request_id,l.data);return;case"secret-keys-result":ca.resolve(l.data.request_id,l.data);return;case"cache-info":eA(l.data);return;case"cache-cleared":return;case"data-source-connections":b({connections:l.data.connections.map(ft)});return;case"storage-namespaces":tA(l.data);return;case"storage-entries":He.resolve(l.data.request_id,l.data);return;case"storage-download-ready":Ve.resolve(l.data.request_id,l.data);return;case"reconnected":return;case"focus-cell":qA(l.data.cell_id);return;case"update-cell-codes":k({codes:l.data.codes,ids:l.data.cell_ids,codeIsStale:l.data.code_is_stale});return;case"update-cell-ids":R({cellIds:l.data.cell_ids});return;default:ie(l.data)}},A[0]=q,A[1]=i,A[2]=w,A[3]=b,A[4]=y,A[5]=L,A[6]=z,A[7]=t,A[8]=M,A[9]=v,A[10]=GA,A[11]=n,A[12]=c,A[13]=eA,A[14]=AA,A[15]=k,A[16]=R,A[17]=G,A[18]=aA,A[19]=Z,A[20]=$,A[21]=N,A[22]=d,A[23]=tA,A[24]=g,A[25]=s,A[26]=O):O=A[26];let oA=O,gA=(h,l)=>{e.current&&(e.current=!1,V.reconnect(h,l))},T;A[27]===Symbol.for("react.memo_cache_sentinel")?(T=wA(),A[27]=T):T=A[27];let I;A[28]!==E||A[29]!==o?(I=()=>E.getWsURL(o).toString(),A[28]=E,A[29]=o,A[30]=I):I=A[30];let K;A[31]===Y?K=A[32]:(K=async()=>{e.current=!0,Y({state:x.OPEN})},A[31]=Y,A[32]=K);let H;A[33]===E?H=A[34]:(H=async()=>{wA()||nA()||E.isSameOrigin||await E.waitForHealthy()},A[33]=E,A[34]=H);let U;A[35]===oA?U=A[36]:(U=h=>{try{oA(h)}catch(l){let p=l;D.error("Failed to handle message",h.data,p),RA({title:"Failed to handle message",description:NA(p),variant:"danger"})}},A[35]=oA,A[36]=U);let V=lt({static:T,url:I,onOpen:K,waitToConnect:H,onMessage:U,onClose:h=>{switch(D.warn("WebSocket closed",h.code,h.reason),h.reason){case"MARIMO_ALREADY_CONNECTED":Y({state:x.CLOSED,code:F.ALREADY_RUNNING,reason:"another browser tab is already connected to the kernel",canTakeover:!0}),V.close();return;case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":Y({state:x.CLOSED,code:F.KERNEL_DISCONNECTED,reason:"kernel not found"}),V.close();return;case"MARIMO_MALFORMED_QUERY":Y({state:x.CLOSED,code:F.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"});return;default:if(h.reason==="MARIMO_KERNEL_STARTUP_ERROR"){Y({state:x.CLOSED,code:F.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"}),V.close();return}Y({state:x.CONNECTING}),gA(h.code,h.reason)}},onError:h=>{D.warn("WebSocket error",h),Y({state:x.CLOSED,code:F.KERNEL_DISCONNECTED,reason:"kernel not found"}),gA()}}),X;return A[37]===m?X=A[38]:(X={connection:m},A[37]=m,A[38]=X),X}function ft(a){return{...a,name:a.name}}function pt(a){return{name:a.name,dataType:a.datatype,value:a.value}}function xt(a){return a.name}function wt(a){return a.name}function Dt(a){return a.name}function vt(a){return{name:a.name,declaredBy:a.declared_by,usedBy:a.used_by}}var Et=B();const yt=a=>{let A=(0,Et.c)(2),{children:e}=a,t;return A[0]===e?t=A[1]:(t=(0,r.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative",children:e}),A[0]=e,A[1]=t),t};export{QA as a,nt as c,_A as d,OA as i,Gt as l,Yt as n,ot as o,Rt as r,PA as s,yt as t,xa as u};
@@ -1 +0,0 @@
1
- import{s as J}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-WUlsM6MC.js";import{t as G}from"./react-Bj1aDYRI.js";import{T as H,ai as ee,x as te}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as Y}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-BrjpohcK.js";import{w as re}from"./utilities.esm-BJLfUidT.js";import{n as $}from"./constants-CdR60lKM.js";import{S as se,d as oe}from"./config-vle9v48l.js";import{t as ae}from"./jsx-runtime-CP2fAiZX.js";import{n as ie,t as q}from"./button-BmOH9agK.js";import{t as le}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import{Y as M,w as me}from"./JsonOutput-DgTX3wDl.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as ne}from"./requests-DZy_SQ_v.js";import"./layout-DKgHttkT.js";import{l as ce}from"./state-O2Ife70c.js";import{r as de}from"./download-CNypwy8-.js";import"./markdown-renderer-BF7gphWI.js";import{t as pe}from"./copy-CAR4dOiD.js";import{t as he}from"./download-BG-iMGgV.js";import{i as fe,l as xe,n as be,r as Q,t as ye,u as je}from"./panels-LoYwaSDr.js";import{t as ue}from"./spinner-Cg6xI4rq.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import{t as ge}from"./use-toast-BtZldTi5.js";import{t as ke}from"./session-BQVN1Kxg.js";import"./Combination-BM4eSgxb.js";import"./purify.es-DFAhPV1y.js";import"./dates-BL9QfUQ0.js";import{a as _e,c as Ne,l as we,n as ve,r as Se,t as Ce}from"./dialog-DxCG9U2G.js";import"./popover-2GpKY98n.js";import{t as ze}from"./share-XjNIMk98.js";import"./vega-loader.browser-xq8miGHn.js";import"./defaultLocale-DPBdGRrH.js";import"./defaultLocale-Lfi0pexn.js";import{t as Ie}from"./copy-hG3KkB-h.js";import{a as Pe}from"./cell-link-zwx6SduJ.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import"./esm-DYDEu0Nq.js";import{n as Te,t as Ae}from"./react-resizable-panels.browser.esm-RgA6v8U3.js";import"./name-cell-input-EJb1YnST.js";import{t as Ee}from"./marimo-icons-B0iaQddz.js";import"./ws-Sb1KIggW.js";import"./dist-DBYXupB9.js";import"./dist-CW4ZrmuX.js";import"./dist-DvNh3ph0.js";import"./dist-DrewQ3CS.js";import"./dist-BML9Do7x.js";import"./dist-DWi0RsIc.js";import"./dist-pzEKEf2L.js";import"./dist-CX4tr6LY.js";import"./dist-DkUBUEhC.js";import"./esm-B2VsGmJs.js";var Re=Y(),Be=J(G(),1),t=J(ae(),1);const We=o=>{let e=(0,Re.c)(25),{appConfig:s}=o,{setCells:r}=H(),{sendComponentValues:y}=ne(),c;e[0]===y?c=e[1]:(c=()=>(Q.INSTANCE.start(y),Le),e[0]=y,e[1]=c);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[2]=a):a=e[2],(0,Be.useEffect)(c,a);let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=ke(),e[3]=i):i=e[3];let j;e[4]===r?j=e[5]:(j={autoInstantiate:!0,setCells:r,sessionId:i},e[4]=r,e[5]=j);let{connection:l}=be(j),N=K(te),u;e[6]===l.state?u=e[7]:(u=oe(l.state),e[6]=l.state,e[7]=u);let x=u,d;e[8]!==s||e[9]!==x?(d=()=>x?(0,t.jsxs)(me,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ue,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(fe,{appConfig:s,mode:"read"}),e[8]=s,e[9]=x,e[10]=d):d=e[10];let b=d,m;e:{if(typeof window>"u"){m=null;break e}let f,n;if(e[11]===Symbol.for("react.memo_cache_sentinel")){if(n=new URL(window.location.href),!n.searchParams.has("file")){m=null;break e}n.searchParams.delete("file"),f=n.searchParams.toString(),e[11]=f,e[12]=n,e[13]=m}else f=e[11],n=e[12],m=e[13];let w=f;m=w?`${n.pathname}?${w}`:n.pathname}let g=m,v=s.width,k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=g&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:g,"aria-label":"Back to gallery",className:le(ie({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(ce,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[14]=k):k=e[14];let p;e[15]===l?p=e[16]:(p=(0,t.jsx)(je,{connection:l,className:"sm:pt-8",children:k}),e[15]=l,e[16]=p);let h;e[17]===b?h=e[18]:(h=b(),e[17]=b,e[18]=h);let _;return e[19]!==s.width||e[20]!==l||e[21]!==N||e[22]!==p||e[23]!==h?(_=(0,t.jsxs)(xe,{connection:l,isRunning:N,width:v,children:[p,h]}),e[19]=s.width,e[20]=l,e[21]=N,e[22]=p,e[23]=h,e[24]=_):_=e[24],_};function Le(){Q.INSTANCE.stop()}var X=Y();const Oe=()=>{let o=(0,X.c)(3),e=K(ee);if(!M()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.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:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Ue,{code:e})})]}),o[1]=e,o[2]=r),r};var Ue=o=>{let e=(0,X.c)(78),{code:s}=o,r=Pe()||"notebook.py",y=r.lastIndexOf("/");y!==-1&&(r=r.slice(y+1));let c=window.location.href,a,i,j,l,N,u,x,d,b,m,g,v,k,p,h,_,f,n,w;if(e[0]!==s||e[1]!==r){let F=ze({code:s});l=Ce,e[21]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(we,{asChild:!0,children:(0,t.jsx)(q,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[21]=g):g=e[21],j=ve,i=_e,e[22]===r?m=e[23]:(m=(0,t.jsx)(Ne,{children:r}),e[22]=r,e[23]=m),a=Se,u="pt-3 text-left space-y-3",e[24]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[24]=x):x=e[24];let V;e[25]===Symbol.for("react.memo_cache_sentinel")?(V=(0,t.jsx)("br",{}),e[25]=V):V=e[25],e[26]===r?d=e[27]:(d=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",V,"marimo edit ",r]})}),e[26]=r,e[27]=d),e[28]===Symbol.for("react.memo_cache_sentinel")?(b=!c.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[28]=b):b=e[28],w="pt-3 border-t border-(--sky-7)",_="text-sm text-(--sky-12) mb-2",e[29]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("strong",{children:"Try in browser with WebAssembly:"}),e[29]=f):f=e[29],n=" ",N=F,v="_blank",k="text-(--sky-11) hover:underline break-all",p="noreferrer",h=F.slice(0,50),e[0]=s,e[1]=r,e[2]=a,e[3]=i,e[4]=j,e[5]=l,e[6]=N,e[7]=u,e[8]=x,e[9]=d,e[10]=b,e[11]=m,e[12]=g,e[13]=v,e[14]=k,e[15]=p,e[16]=h,e[17]=_,e[18]=f,e[19]=n,e[20]=w}else a=e[2],i=e[3],j=e[4],l=e[5],N=e[6],u=e[7],x=e[8],d=e[9],b=e[10],m=e[11],g=e[12],v=e[13],k=e[14],p=e[15],h=e[16],_=e[17],f=e[18],n=e[19],w=e[20];let S;e[30]!==N||e[31]!==v||e[32]!==k||e[33]!==p||e[34]!==h?(S=(0,t.jsxs)("a",{href:N,target:v,className:k,rel:p,children:[h,"..."]}),e[30]=N,e[31]=v,e[32]=k,e[33]=p,e[34]=h,e[35]=S):S=e[35];let C;e[36]!==S||e[37]!==_||e[38]!==f||e[39]!==n?(C=(0,t.jsxs)("p",{className:_,children:[f,n,S]}),e[36]=S,e[37]=_,e[38]=f,e[39]=n,e[40]=C):C=e[40];let L;e[41]===Symbol.for("react.memo_cache_sentinel")?(L=(0,t.jsx)("p",{className:"text-sm text-(--sky-12)",children:"Note: WebAssembly may not work for all notebooks. Additionally, some dependencies may not be available in the browser."}),e[41]=L):L=e[41];let z;e[42]!==C||e[43]!==w?(z=(0,t.jsxs)("div",{className:w,children:[C,L]}),e[42]=C,e[43]=w,e[44]=z):z=e[44];let I;e[45]!==a||e[46]!==u||e[47]!==x||e[48]!==d||e[49]!==b||e[50]!==z?(I=(0,t.jsxs)(a,{className:u,children:[x,d,b,z]}),e[45]=a,e[46]=u,e[47]=x,e[48]=d,e[49]=b,e[50]=z,e[51]=I):I=e[51];let P;e[52]!==i||e[53]!==m||e[54]!==I?(P=(0,t.jsxs)(i,{children:[m,I]}),e[52]=i,e[53]=m,e[54]=I,e[55]=P):P=e[55];let T;e[56]===s?T=e[57]:(T=async()=>{await Ie(s),ge({title:"Copied to clipboard"})},e[56]=s,e[57]=T);let O;e[58]===Symbol.for("react.memo_cache_sentinel")?(O=(0,t.jsx)(pe,{className:"w-3 h-3 mr-2"}),e[58]=O):O=e[58];let A;e[59]===T?A=e[60]:(A=(0,t.jsxs)(q,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:T,children:[O,"Copy code"]}),e[59]=T,e[60]=A);let E;e[61]!==s||e[62]!==r?(E=()=>{de(new Blob([s],{type:"text/plain"}),r)},e[61]=s,e[62]=r,e[63]=E):E=e[63];let U;e[64]===Symbol.for("react.memo_cache_sentinel")?(U=(0,t.jsx)(he,{className:"w-3 h-3 mr-2"}),e[64]=U):U=e[64];let R;e[65]===E?R=e[66]:(R=(0,t.jsxs)(q,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:E,children:[U,"Download"]}),e[65]=E,e[66]=R);let B;e[67]!==A||e[68]!==R?(B=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[A,R]}),e[67]=A,e[68]=R,e[69]=B):B=e[69];let W;e[70]!==j||e[71]!==P||e[72]!==B?(W=(0,t.jsxs)(j,{children:[P,B]}),e[70]=j,e[71]=P,e[72]=B,e[73]=W):W=e[73];let D;return e[74]!==l||e[75]!==g||e[76]!==W?(D=(0,t.jsxs)(l,{children:[g,W]}),e[74]=l,e[75]=g,e[76]=W,e[77]=D):D=e[77],D},Z=Y(),De=se()||M(),Ve=o=>{let e=(0,Z.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Oe,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(We,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=De&&(0,t.jsx)(Ye,{}),e[3]=y):y=e[3];let c;e[4]===r?c=e[5]:(c=(0,t.jsxs)(Ae,{children:[s,r,y]}),e[4]=r,e[5]=c);let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(re,{}),e[6]=a):a=e[6];let i;return e[7]===c?i=e[8]:(i=(0,t.jsx)(ye,{children:(0,t.jsxs)(Te,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[c,a]})}),e[7]=c,e[8]=i),i},Ye=()=>{let o=(0,Z.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:$.githubPage,target:"_blank",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,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(Ee,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},$e=Ve;export{$e as default};