1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6183],{2319:(e,t,r)=>{"use strict";r.d(t,{H:()=>s}),r(67186);let s=()=>void 0},3235:(e,t,r)=>{"use strict";r.d(t,{bw:()=>h,LJ:()=>m,zh:()=>p,QV:()=>b,JT:()=>f,I1:()=>g});class s{doSync(e){this._queue.unshift({sync:e}),this._wake()}doAsync(e){this._queue.unshift({async:e}),this._wake()}_wake(){if(this._locked)return;let e=this._queue.pop();if(e){if("sync"in e){this._locked=!0;try{e.sync()}finally{this._locked=!1}return this._wake()}this._locked=!0,e.async().finally(()=>{this._locked=!1,this._wake()})}}constructor(){this._locked=!1,this._queue=[]}}var n=r(56493),i=r(68952),o=r(64223),a=r(49598),l=r(31850),c=r(42699),u=r(56120),d=r(87374);class h{constructor(e){this.juno=e,this.commManager=new c.AL(this),this.kernelState$=new i.t(u.Ed.NotStarted),this.kernelReady$=function(e,t){let r=new i.t(t(e.getValue())),s=!1,n=e.subscribe({next:e=>{if(!s){s=!0;return}r.next(t(e))},complete:()=>{n.unsubscribe(),r.complete()}});return r}(this.kernelState$,e=>e===u.Ed.Idle||e===u.Ed.Busy),this.kernelId$=new i.t(null),this._ready=new Promise(e=>{let t=this.kernelReady$.subscribe(r=>{r&&(e(),t.unsubscribe())})}),this.iopub$=new o.B7,this.iopubLock=new s,this._podInfo=null,this._subscriptions=[],this._iopubCallbacks=new n.G,this._subscriptions.push(e.event$.pipe((0,a.p)((0,l.V)(x))).subscribe(e=>this._onKernelEvent(e)),e.event$.pipe((0,a.p)((0,l.V)(u.uM))).subscribe(e=>this._onIOPubEvent(e)))}async ready(){await this._ready}async info(){return await this.juno.call("kernel.info",{})}async start(e){let{codexId:t}=e,r=await this.juno.call("kernel.start",{codexId:t});if(r.error){let{error:e}=r;throw console.error("Failed to start kernel.",e),Error(`Failed to start kernel (code: ${e.code}): "${e.message}".`)}return this._podInfo=r.data.pod}async stop(){return this.juno.call("kernel.stop",{})}close(){for(let e of(this.kernelState$.next(u.Ed.Closed),this.kernelState$.complete(),this._subscriptions))e.unsubscribe();this._subscriptions=[]}_onKernelEvent(e){switch(e.event){case p.type:this.kernelState$.next(u.Ed.Dead),this.kernelId$.next(null);break;case g.type:this.kernelState$.next(u.Ed.Stopping);break;case f.type:this.kernelState$.next(u.Ed.Stopped);break;case u.zn.type:this.kernelState$.next(e.data.kernelState);break;case m.type:this.kernelId$.next((0,d.Zo)(e.data.kernelId,"KernelConnectedEvent: data.kernelId is null"));break;case b.type:this.kernelState$.next(u.Ed.Starting)}}_onIOPubEvent(e){this.iopubLock.doSync(()=>{let{requestId:t}=e.data,r=t&&this._iopubCallbacks.getIfExists(t);if(t&&r){let s=!1;for(let n of r){let r={unregister:()=>{this._unregisterIOPubCallbacks(t,n)},preventDefault:()=>{s=!0}};n.all?.(e,r),"kernel.iopub.kernel-status"===e.event&&n.status?.(e,r)}if(s)return}this.iopub$.next(e)})}registerIOPubCallbacks(e,t){return this._iopubCallbacks.getOrSetDefault(e,()=>new Set).add(t),()=>this._unregisterIOPubCallbacks(e,t)}_unregisterIOPubCallbacks(e,t){let r=this._iopubCallbacks.getIfExists(e);r&&(r.delete(t),0===r.size&&this._iopubCallbacks.delete(e))}}let p=(0,l.H)("kernel.disconnected")(),m=(0,l.H)("kernel.connected")(),b=(0,l.H)("kernel.starting")(),g=(0,l.H)("kernel.stopping")(),f=(0,l.H)("kernel.stopped")(),x=[u.zn,m,p,g,f,b]},5204:(e,t,r)=>{"use strict";r.d(t,{ix:()=>a,kk:()=>o,sK:()=>i});var s=r(67186),n=r(87374);let i=s.createContext(null),o=()=>(0,n.Zo)(s.useContext(i),"Unable to get Juno from context (did you forget to wrap the React tree in a JunoContext provider?)."),a=i.Provider},8494:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(41722);r(67186);var n=r(70322);let i=e=>{let{children:t,wrap:r=!0}=e;return(0,s.jsx)("pre",{className:(0,n.A)("text-sm whitespace-pre-wrap wrap-break-word font-mono",r&&"whitespace-pre overflow-auto"),children:t})}},11910:(e,t,r)=>{"use strict";r.d(t,{AG:()=>s,TD:()=>i,ym:()=>n});let s=`wss://${window.location.host}/juno`,n={uri:s};var i=function(e){return e.Pending="pending",e.Connected="connected",e.Failed="failed",e}({})},12524:(e,t,r)=>{"use strict";r.d(t,{a:()=>a});var s=r(41722);r(67186);var n=r(50802),i=r(80046),o=r(26696);let a=e=>
1{let{children:t,icon:r,iconSpin:a=!1,className:l,...c}=e;return(0,s.jsxs)(o.$,{...c,className:(0,n.cx)((0,n.AH)` 2 border: none; 3 padding: 0.2rem 0.5rem; 4 transition: background-color 0.3s; 5 background: rgba(0, 0, 0, 0.05); 6 border-radius: 3px; 7 8 &:hover { 9 background: rgba(0, 0, 0, 0.1); 10 } 11 `,l),children:[(0,s.jsx)(i.g,{icon:r,fixedWidth:!0,spin:a}),"\xa0",t]})}},14349:(e,t,r)=>{"use strict";r.d(t,{J:()=>n,z:()=>s});let s=e=>e.replace(/^[a-z]/,e=>e.toUpperCase()).replace(/-[a-z]/g,e=>e.substr(1).toUpperCase());function n(e,t){return e.startsWith(t)?e.substring(t.length):e}},15838:(e,t,r)=>{"use strict";r.d(t,{d:()=>a});var s=r(41722),n=r(67186),i=r(24846);let o=r.n(i)()(()=>Promise.all([r.e(2475),r.e(4695),r.e(33)]).then(r.bind(r,10033)),{loadableGenerated:{webpack:()=>[10033]},ssr:!0}),a=n.memo(function(e){return(0,s.jsx)(o,{...e})})},20804:(e,t,r)=>{"use strict";r.d(t,{X:()=>a});var s=r(41722);r(67186);var n=r(50802);let i=(0,n.i7)` 12 0%, 80%, 100% { 13 transform: scale(0); 14 } 40% { 15 transform: scale(1); 16 } 17`,o=(0,n.AH)` 18 width: 18px; 19 height: 18px; 20 background-color: #cccccc; 21 22 border-radius: 100%; 23 display: inline-block; 24 animation: ${i} 1.4s infinite ease-in-out both; 25`,a=()=>(0,s.jsxs)("div",{className:(0,n.AH)` 26 text-align: center; 27 `,children:[(0,s.jsx)("div",{className:(0,n.cx)(o,(0,n.AH)` 28 animation-delay: -0.32s; 29 `)}),(0,s.jsx)("div",{className:(0,n.cx)(o,(0,n.AH)` 30 animation-delay: -0.16s; 31 `)}),(0,s.jsx)("div",{className:(0,n.cx)(o,(0,n.AH)` 32 animation-delay: 0s; 33 `)})]})},20871:(e,t,r)=>{"use strict";let s;r.d(t,{K:()=>i});var n=function(e){return e[e.Pending=0]="Pending",e[e.Accepted=1]="Accepted",e[e.Rejected=2]="Rejected",e}(n||{});class i{static #e=s=Symbol.toStringTag;constructor(){this._state=0,this.promise=new Promise((e,t)=>{this._accept=e,this._reject=t}),this.resolve=this.accept,this.then=this.promise.then.bind(this.promise),this.finally=this.promise.finally.bind(this.promise),this[s]=this.promise[Symbol.toStringTag],this.promise.catch(()=>void 0)}_setState(e){if(0!==this._state)throw Error("Future has already been resolved.");this._state=e}accept(e){this._setState(1),this._accept(e)}reject(e){this._setState(2),this._reject(e)}isResolved(){return 0!==this._state}catch(e){return this.promise.catch(e)}}},26130:(e,t,r)=>{"use strict";r.d(t,{_:()=>h});var s=r(19959),n=r.n(s),i=r(97398),o=r(84554),a=r(80287),l=r(50450),c=r(87374);let u=n()("Pathbird:Juno:UnaryCall");class d{constructor(e,t=(0,a.X)()){this._client=e,this.id=t}}class h extends d{constructor(e,t,r){super(e),this.route=t,this._subject=new i.h,this._promise=null,e._registerChannel(this),this._initialize(t,r).catch(e=>{console.error("UnaryCall failed:",e),this._subject.error(e)})}async _initialize(e,t){this._client.sendWireMessage({type:l.Ew.Call,channel:this.id,route:e,data:t})}get isResolved(){return this._subject.isStopped}next(e){if(e.type!==l.Ew.Response)throw Error(`Invalid message type received on unary channel (${this.id}): ${e.type}`);if(this.isResolved)throw Error(`Received subsequent response message on unary channel (${this.id}).`);e.error&&u(`[${this.route}] Got error:`,e.error),this._subject.next(e),this._subject.complete(),this._client._unregisterChannel(this.id)}subscribe(e){return this._subject.subscribe(e)}subscribeToCompletion(e){return this._subject.pipe((0,o.j)(e)).subscribe(()=>{})}promise(){return null===this._promise&&(this._promise=this._subject.toPromise()),this._promise}wait(){return this.promise()}async dataX(){let e=await this;if(e.error){let t=`${this.constructor.name} (${this.route}) failed: ${e.error.code}`;throw console.error(`${t}:`,e.error),Error(t)}return(0,c.Zo)(e.data,`${this.constructor.name} has null data`)}get then(){let e=this.promise();return e.then.bind(e)}get catch(){let e=this.promise();return e.catch.bind(e)}get[Symbol.toStringTag](){return"UnaryCall"}finally(e){return this.promise().finally(e)}}},26696:(e,t,r)=>{"use strict";r.d(t,{$:()=>i});var s=r(41722),n=r(50802);r(67186);let i=e=>{let{border:t=!0,className:r,inline:i,...o}=e;return(0,s.jsx)("button",{...o,className:(0,n.cx)((0,n.AH)` 34 background: white; 35 display: ${i?"inline-block":"block"}; 36 padding: ${i?"0.25em":"0.5em"}; 37 font: inherit; 38 -webkit-appearance: none; 39 -moz-appearance: none; 40 cursor: pointer; 41 transition: transform 0.25s; 42 border: none; 43 44 &:active, 45 &:focus { 46 outline: thin dotted; 47 } 48 49 &:disabled {
50 cursor: not-allowed; 51 opacity: 0.6; 52 } 53 `,i&&(0,n.AH)` 54 margin: 0 0.25em; 55 `,t&&(0,n.AH)` 56 border: 1px solid #cccccc; 57 `,r)})}},27820:()=>{},28976:(e,t,r)=>{"use strict";r.d(t,{$:()=>a});var s=r(79668),n=r(19053),i=r(50802),o=r(53560);let a=(0,i.AH)` 58 max-width: 100%; 59 overflow: auto; 60 61 h1 { 62 font-size: ${s.$C.T400}; 63 } 64 h2 { 65 font-size: ${s.$C.T300}; 66 } 67 h3 { 68 font-size: ${s.$C.T200}; 69 } 70 h4 { 71 font-size: ${s.$C.T150}; 72 } 73 74 h1, 75 h2, 76 h3, 77 h4, 78 h5, 79 h6 { 80 font-family: ${n.YD.Heading}; 81 margin-bottom: 0.25em; 82 } 83 84 // Note: Because of _reasons_, we need to apply different styling to pre and 85 // inline code nodes (otherwise we get weird issues where text clips over 86 // itself because of the <code /> that is contained inside the <pre />) 87 pre { 88 font-size: inherit; 89 background: #f1f1f1; 90 padding: 0.5rem; 91 } 92 93 // Target only inline code snippets (not inside <pre />'s) 94 *:not(pre) code { 95 padding: 1px; 96 border-radius: 4px; 97 font-size: inherit; 98 background: #f1f1f1; 99 } 100 101 hr { 102 border: none; 103 border-top: 1px solid #ccc; 104 } 105 106 p, 107 pre, 108 hr, 109 h1, 110 h2, 111 h3, 112 h4, 113 h5, 114 h6, 115 li { 116 padding: 0.5rem 0; 117 line-height: 1.4em; 118 } 119 120 strong { 121 font-weight: bold; 122 } 123 124 em { 125 font-style: italic; 126 } 127 128 // Display tables in a non-ugly way 129 table { 130 border-collapse: collapse; 131 font-size: 0.8em; 132 } 133 thead { 134 font-weight: bold; 135 border-bottom: 1px solid black; 136 } 137 td, 138 th { 139 padding: 8px; 140 } 141 tbody tr:nth-child(odd) { 142 background-color: rgba(0, 0, 0, 0.075); 143 } 144 145 /* 146 * This is kind of hacky. Sometimes we embed iframes (e.g., YouTube videos) 147 * and we want them to not cause issues (especially on mobile). This doesn't 148 * actually adjust the aspect ratio of the iframe, but it does at least 149 * prevent it from forcing past the edge of its parent bounding box. 150 */ 151 iframe { 152 max-width: 100%; 153 } 154 155 ul { 156 padding-left: 2rem; 157 list-style: disc outside; 158 } 159 160 ol { 161 padding-left: 2rem; 162 list-style: decimal outside; 163 } 164 165 ul li { 166 padding: 0.25rem 0; 167 } 168 169 img { 170 max-width: 100%; 171 } 172 173 blockquote { 174 border-left: 0.25rem solid ${o.E.BorderGrey}; 175 padding-left: 0.75rem; 176 //margin: 1rem 0; 177 } 178`},31850:(e,t,r)=>{"use strict";r.d(t,{H:()=>s,V:()=>n}),Symbol("JunoEventType");let s=e=>()=>({type:e,matches:t=>t.event===e});function n(e,t){return void 0!==t?i(e,t):t=>i(t,e)}function i(e,t){if(Array.isArray(t)||(t=[t]),0===t.length)throw Error("Cannot check empty length event types.");for(let r of t)if(r.matches(e))return!0;return!1}},33422:(e,t,r)=>{"use strict";r.d(t,{L:()=>n});var s=r(67186);function n(e){let t=function(e){let t=s.useCallback(t=>{if(!e)return()=>void 0;let r=e.subscribeToCompletion(()=>t());return()=>r.unsubscribe()},[e]);return s.useSyncExternalStore(t,()=>e?.isResolved??!1)}(e);return!!e&&!t}},35248:(e,t,r)=>{"use strict";r.d(t,{x:()=>h});var s=r(41722),n=r(67186),i=r(8494),o=r(52165),a=r.n(o),l=r(57894);let c=/(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/;function u(e,t,r,s){let i,o=t?null:function(e){let t={};return e.bg&&(t.backgroundColor=`rgb(${e.bg})`),e.fg&&(t.color=`rgb(${e.fg})`),t}(r),a=t?(i="",r.bg||r.fg?(r.bg&&(i+=r.bg+"-bg "),r.fg&&(i+=r.fg+"-fg "),r.decoration&&(i+=`ansi-${r.decoration} `),i=i.substring(0,i.length-1)):null):null;if(!e)return n.createElement("span",{style:o,key:s,className:a},r.content);let l=r.content.split(/(\s+)/).reduce((e,t,r)=>(r%2!=1&&c.test(t)?e.push(n.createElement("a",{key:r,href:t,target:"_blank"},`${t}`)):e.push(t),e),[]);return n.createElement("span",{style:o,key:s,className:a},l)}function d(e){let{className:t,useClasses:r,children:s,linkify:i}=e;return n.createElement("code",{className:t},(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=(0,l.escapeCarriageReturn)(e),a().ansiToJson(e,{json:!0,remove_empty:!0,use_classes:t})})(s,!!r).map(u.bind(null,i,!!r)))}r(27820);let h=e=>{let{children:t,wrap:r}=e;return(0,s.jsx)(i.A,{wrap:r,children:(0,s.jsx)(d,{useClasses:!0,linkify:!0,children:t})})}},37680:(e,t,r)=>{"use strict";r.d(t,{$:()=>F});var s=r(41722),n=r(67186),i=r(50802),o=r(82886),a=r(76177),l=r(33422);let c=e=>{let{request:t}=e,r=(0,o.oX)(t),n=(0,l.L)(t.call);return(0,s.jsx)(a.s,{iopubEvents:r,outputSetKey:t.requestId,pending:n})};var u=r(91003),d=r(67606),h=r(53560);let p=e=>{let{className:t,color:r=h.E.BorderGrey,verticalMargin:n="0"}=e;return(0,s.jsx)("hr",{className:(0,i.cx)((0,i.AH)` 179 margin: ${n} 1em; 180 border: none; 181 border-top: 1px solid ${r}; 182 `,t)})};var m=r(33161),b=function(e){return e[e.Enter=13]="Enter",e}({});let g=e=>"MacIntel"===navigator.platform?e.ctrlKey||e.metaKey:e.ctrlKey,f=e=>(g(e)||e.shiftKey)&&e.keyCode===b.Enter;var x=r(92393),v=r(18527),y=r(12524);let w=e=>{let{handle:t}=e,{state:r,ready:o}=t,a=(0,l.L)(r.request?.call),c=a?v.TuH:v.ijD,u=n.useCallback(()=>{a||t.execute()},[t,a]),d=(0,i.cx)(a&&(0,i.AH)` 183 color: rgba(0, 0, 0, 0.5); 184 `);return(0,s.jsx)(y.a,{onClick:u,disabled:a||!o,className:d,icon:c,title:o?"Run the code in the current kernel session":"Can't run code (kernel is not ready)",children:"Run"})},k=e=>{let{handle:t}=e,{state:r}=t,{outputsHidden:i}=r,o=i?v.k6j:v.pS3,a=n.useCallback(()=>{t.toggleHideOutputs()},[t]);return(0,s.jsx)(y.a,{onClick:a,title:i?"Show outputs":"Hide outputs",icon:o})};var _=r(65275),j=r(15759);let E=e=>{let{handle:t,renderControls:r=C,right:o}=e,a=r({run:(0,s.jsx)(w,{handle:t}),toggleOutputs:(0,s.jsx)(k,{handle:t})},t).filter(e=>!!e).flatMap(e=>[(0,s.jsx)(j.X,{width:"8px"}),e]).slice(1),l=n.createElement(n.Fragment,{},...a);return(0,s.jsxs)(_.h,{children:[(0,s.jsx)("div",{className:(0,i.AH)` 185 ${x.t} 186 @media print { 187 display: none; 188 } 189 `,children:l}),o?(0,s.jsx)("div",{className:(0,i.AH)` 190 margin-left: auto; 191 `,children:o}):null]})},C=e=>{let{run:t}=e;return[t]};var $=r(88139),S=r(74757),M=r(5204);let{createAction:A,createStandardAction:H}=$.deprecated,I={clearRequest:A("reset"),setRequest:H("execute")(),toggleHideOutputs:A("toggle-hide-outputs"),setErrorMessage:H("set-error-message")()},T={request:null,outputsHidden:!1,running:!1,error:null},N=e=>{let{codeArea:t,onAfterRun:r,createCodeExecutionRequest:s=R}=e,i=(0,M.kk)(),a=(0,o.oX)(i.kernel.kernelReady$),[l,c]=n.useReducer((e,t)=>
191{switch(t.type){case(0,$.getType)(I.clearRequest):return{...e,request:null};case(0,$.getType)(I.toggleHideOutputs):return{...e,outputsHidden:!e.outputsHidden};case(0,$.getType)(I.setRequest):return{...e,request:t.payload.request};default:return e}},T,e=>({...e,codeArea:t})),{request:u}=l;n.useEffect(()=>{if(!u)return;let e=!1;return u.catch(t=>{if(!e)throw Error(t)}),u.call.then(t=>{if(!e&&t.error)throw console.error("Unexpected error in InteractiveCodeAreaHandle:",t.error),Error(t.error.code+": "+t.error.message)}),r&&u.then(()=>{e||r()}),()=>{e=!0}},[r,u]),n.useEffect(()=>()=>l.request?.dispose(),[l.request]);let d=n.useCallback(()=>{let{codeArea:e}=l;return e.current?.getValue()},[l]),h=n.useCallback(e=>{let{codeArea:t}=l;return t.current?.setValue(e)},[l]);return{juno:i,state:l,dispatch:c,ready:a,getCode:d,setCode:h,execute:n.useCallback(()=>{if(!a)return console.warn("kernel not ready"),null;let{codeArea:e,request:t}=l,r=e.current?.getValue();if(!r)return console.warn("failed to read codeArea value"),null;if(t&&!t.isCompleted)return console.warn("Current CodeExecutionRequest has not yet been completed, refusing to start a new one."),t;let n=s({kernelClient:i.kernel,code:r});return c(I.setRequest({request:n})),n},[s,i.kernel,a,l]),toggleHideOutputs:n.useCallback(()=>{c(I.toggleHideOutputs())},[])}},R=e=>{let{kernelClient:t,code:r}=e;return new S.n4(t,{code:r})};var O=r(26130);class z extends O._{constructor(e,{code:t,cursorPosition:r}){super(e,"kernel.code-completion",{code:t,cursorPosition:r})}}var P=r(33606);let F=n.forwardRef((e,t)=>{let{afterControlsElement:r=null,createCodeExecutionRequest:b,onCmdtrlEnter:g,renderControls:x,onAfterRun:v,iopubEvents:y,onIopubEvents:w,outputSetKey:k,statusIndicator:_,...j}=e,C=n.useRef(null),$=N({codeArea:C,onAfterRun:v,createCodeExecutionRequest:b});n.useImperativeHandle(t,()=>$);let{juno:S,state:M}=$,{error:A,request:H}=M,I=(0,l.L)(H?.call),T=n.useCallback(e=>{f(e)&&(e.preventDefault(),g?g(e,$):$.execute())},[$,g]),R=n.useCallback(async e=>new z(S,e).dataX(),[S]);n.useEffect(()=>{let e=M.request;if(!e||!w)return;let t=e.subscribe(e=>{w(e)});return()=>t.unsubscribe()},[w,M.request]);let O=(y?.length||H)&&!M.outputsHidden,F=(()=>{if(O){if(void 0===y&&H)return(0,s.jsx)(c,{request:H});if(y?.length||I)return(0,s.jsx)(a.s,{iopubEvents:y||[],outputSetKey:k||H?.requestId||"",pending:I,padding:"4px",showIfNoOutputs:!1})}})(),q=(0,o.oX)(S.kernel.kernelId$),D=void 0===_?(0,s.jsx)(u.Wf,{outputs:y||null,currentKernelId:q}):_,W=!(0,P.Ub)("print")||H||O||r?(0,s.jsxs)("div",{className:(0,i.AH)` 192 margin-left: 3rem; 193 border: 1px solid ${h.E.BorderGrey}; 194 border-top: none; 195 background-color: #f9f9ff; 196 border-radius: 0 0 4px 4px; 197 `,children:[(0,s.jsx)(E,{renderControls:x,handle:$,right:D}),r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{}),(0,s.jsx)("div",{className:(0,i.AH)` 198 padding: 0.5rem; 199 `,children:r})]}),F?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{}),F]}):null]}):null;return(0,s.jsxs)("div",{children:[null===A?null:(0,s.jsx)(m.g,{className:(0,i.AH)` 200 margin: 1em; 201 `,children:A}),(0,s.jsx)(d.J,{...j,codeCompletionFn:R,className:(0,i.AH)` 202 grow: 1; 203 border-radius: 4px 4px 0 4px; 204 overflow: hidden; 205 border-bottom: 1px solid ${h.E.BorderGrey}; 206 `,ref:C,onKeyDown:T}),W]})});F.displayName="InteractiveCodeArea"},40470:(e,t,r)=>{"use strict";function s(e){return e}r.d(t,{l:()=>s})},42699:(e,t,r)=>{"use strict";r.d(t,{$F:()=>y,AL:()=>m,g:()=>f,Hh:()=>g});class s{constructor(e,t={}){this.opts=t,this.resolved=new Map,this.loaders=new Map(e)}getMaybeAsync(e){let t=this.resolved.get(e);if(t)return"value"in t?t.value:t.promise;let r=this.loaders.get(e);if(!r)return;let s=r().then(async t=>(this.opts.onInitialize&&await this.opts.onInitialize(t),this.resolved.set(e,{value:t}),t));return this.resolved.set(e,{promise:s}),s}async getAsync(e){return this.getMaybeAsync(e)}}var n=r(80287),i=r(40470),o=r(19959),a=r.n(o),l=r(49598),c=r(3644),u=r(26130),d=r(31850),h=r(45406);let p=a()("Pathbird:Juno:Kernel:CommManager");class m{constructor(e){this.kernel=e,this.comms=new Map,this.registry=new s([[h.V,()=>Promise.all([r.e(6811),r.e(9449),r.e(611),r.e(7024),r.e(1366)]).then(r.bind(r,10518))]],{onInitialize:e=>e.initTarget(this)}),this.juno=e.juno,this.eventSubscription=this.juno.event$.pipe((0,l.p)((0,d.V)(v))).subscribe(e=>this.onCommEvent(e))}async sendCommMsg(e,t,r){await this.juno.waitForReady();try{let s=(0,n.X)(),i=this.juno.call("kernel.comm.msg",{commId:e,data:t,requestId:s});r&&this.kernel.registerIOPubCallbacks(s,r),await i}catch(e){throw console.error('Unhandled exception in "kernel.comm.msg":',e),e}}async sendCommOpen(e,t,r){await this.juno.waitForReady();try{await this.juno.call("kernel.comm.open",{commId:e,targetName:t,data:r})}catch(e){throw console.error('Unhandled exception in "kernel.comm.open":',e),e}}async sendCommClose(e,t){await this.juno.waitForReady();
206try{await this.juno.call("kernel.comm.close",{commId:e,data:t})}catch(e){throw console.error('Unhandled exception in "kernel.comm.close":',e),e}}registerComm(e){this.comms.set(e.commId,e)}getComm(e){return this.comms.get(e)||null}async onCommEvent(e){switch(p("onCommEvent",e),e.event){case"kernel.comm.msg":return this.kernel.iopubLock.doAsync(()=>this.onCommMsg(e));case"kernel.comm.open":return this.kernel.iopubLock.doAsync(()=>this.onCommOpen(e));case"kernel.comm.close":return this.kernel.iopubLock.doSync(()=>this.onCommClose(e));default:(0,i.l)(e)}}async onCommMsg(e){let{commId:t,data:r}=e.data,s=this.comms.get(t);return s?s.onMsg(r):void console.warn(`Got message for unknown commId: ${t}`)}async onCommOpen(e){let{targetName:t,commId:r}=e.data,s=await this.registry.getMaybeAsync(t);if(!s)throw await this.sendCommClose(r,{}),Error(`kernel tried to open unknown comm (${t})`);p("initializing comm",e);let n=await s.initComm(this,e.data.commId,e);this.comms.set(n.commId,n)}onCommClose(e){}}class b{constructor(e){this.commManager=e}msg(e,t){return this.commManager.sendCommMsg(this.commId,e,t)}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.commManager.sendCommClose(this.commId,e)}}class g extends b{constructor(e,t){super(e),this.commId=t}}class f extends b{constructor(e,t,r={}){super(e),this.targetName=t,this.commId=(0,c.A)(),this.commManager.sendCommOpen(this.commId,t,r),this.commManager.registerComm(this)}}let x=(0,d.H)("kernel.comm.msg")(),v=[x,(0,d.H)("kernel.comm.open")(),(0,d.H)("kernel.comm.close")()];class y extends u._{constructor(e,t={}){super(e,"kernel.comm.info",t)}}},45406:(e,t,r)=>{"use strict";r.d(t,{T:()=>s,V:()=>n});let s="application/vnd.jupyter.widget-view+json",n="jupyter.widget"},47452:(e,t,r)=>{"use strict";r.d(t,{o:()=>m});var s=r(41722);r(67186);var n=r(43138),i=r.n(n),o=r(50802),a=r(57605),l=r.n(a),c=r(48125),u=r.n(c),d=r(15838),h=r(28976);let p=[[l(),{inlineMathDouble:!0}],u()],m=e=>{let{markdown:t,className:r}=e;return(0,s.jsx)(i(),{source:t,className:(0,o.cx)(h.$,r),linkTarget:"_blank",escapeHtml:!1,renderers:g,plugins:p})},b=e=>{let t=e.data?.hProperties?.className?.includes?.("math-display");return(0,s.jsx)(d.d,{children:e.value,displayMode:t})},g={math:b,inlineMath:b}},50450:(e,t,r)=>{"use strict";r.d(t,{Ew:()=>s});var s=function(e){return e.Call="call",e.Response="response",e.Event="event",e}({})},54006:(e,t,r)=>{"use strict";r.d(t,{O:()=>c});var s=r(41722),n=r(80046),i=r(67186),o=r(18527),a=r(50802);let l=e=>{let[t,r]=i.useState(!1);return i.useEffect(()=>{let t=window.setTimeout(()=>r(!0),e);return()=>window.clearTimeout(t)},[e,r]),t},c=()=>l(300)?(0,s.jsx)("div",{className:(0,a.AH)` 207 padding: 1em; 208 border: 1px solid #ccc; 209 background-color: rgba(0, 0, 0, 0.1); 210 `,children:(0,s.jsx)(n.g,{icon:o.dB,spin:!0,className:(0,a.AH)` 211 display: block; 212 color: rgba(0, 0, 0, 0.5); 213 width: 40px !important; 214 height: 40px !important; 215 margin: 0 auto; 216 `})}):null},56120:(e,t,r)=>{"use strict";r.d(t,{Ed:()=>a,FC:()=>i,KK:()=>d,W9:()=>o,_M:()=>n,nS:()=>u,om:()=>c,uM:()=>h,zn:()=>l});var s=r(31850);let n=(0,s.H)("kernel.iopub.stream")(),i=(0,s.H)("kernel.iopub.execute-result")(),o=(0,s.H)("kernel.iopub.display-data")();var a=function(e){return e.Busy="busy",e.Idle="idle",e.NotStarted="not-started",e.Starting="starting",e.Restarting="restarting",e.Dead="dead",e.Closed="closed",e.Stopping="stopping",e.Stopped="stopped",e._XXX_UNKNOWN_DONT_USE_ME_="_XXX_UNKNOWN_",e}({});let l=(0,s.H)("kernel.iopub.kernel-status")(),c=(0,s.H)("kernel.iopub.error")(),u=(0,s.H)("kernel.iopub.execute-input")(),d=(0,s.H)("kernel.iopub.clear-output")(),h=[n,i,o,l,c,u,d]},56493:(e,t,r)=>{"use strict";r.d(t,{G:()=>s});class s{getOrSetDefault(e,t){let r=this.map.get(e);if(r)return r;let s=t();return this.map.set(e,s),s}getIfExists(e){return this.map.get(e)}delete(e){return this.map.delete(e),this}constructor(){this.map=new Map}}},59403:(e,t,r)=>{"use strict";r.d(t,{B:()=>s});let s=e=>null!=e},59625:(e,t,r)=>{"use strict";r.d(t,{CQ:()=>i,mV:()=>l,qT:()=>a});var s=r(67186),n=r(87374);let i=["python","julia","markdown"],o=s.createContext(null),a=o.Provider;function l(e){let t=s.useContext(o);return e||(0,n.Zo)(t,"No value for CodeAreaLanguageContext was set")}},65275:(e,t,r)=>{"use strict";r.d(t,{h:()=>o});var s=r(41722);r(67186);var n=r(50802),i=r(92393);let o=e=>{let{border:t="none",children:r,className:o,padding:a="4px",center:l=!1}=e;return(0,s.jsx)("div",{className:(0,n.cx)((0,n.AH)` 217 font-size: 0.75rem; 218 ${i.t}; 219 `,l&&(0,n.AH)` 220 justify-content: center; 221 `,a&&(0,n.AH)` 222 padding: ${a}; 223 `,"no-top-border"===t&&(0,n.AH)` 224 border: 1px solid #ccc; 225 border-top: none; 226 `,o),children:r})}},65709:(e,t,r)=>{"use strict";function s(e){return e.catch(()=>{}),e}async function n(e){try{return{result:await e(),error:null}}catch(e){if(!(e instanceof Error))throw console.error("caught non-Error:",e),e;return{error:e}}}r.d(t,{K:()=>s,u:()=>n})},67606:(e,t,r)=>{"use strict";r.d(t,{J:()=>a});var s=r(41722),n=r(67186),i=r(54006);let o=n.lazy(()=>Promise.all([r.e(7738),r.e(963),r.e(6126),r.e(1463),r.e(4822),r.e(5789)]).then(r.bind(r,85789))),a=n.forwardRef((e,t)=>
226(0,s.jsx)(n.Suspense,{fallback:(0,s.jsx)(i.O,{}),children:(0,s.jsx)(o,{...e,ref:t})}))},68644:(e,t,r)=>{"use strict";r.d(t,{S2:()=>n,kg:()=>s});let s=6e4;function n(e){if(e<1e3)return`${e}ms`;let[t]=i(e,1e3);if(e<s)return`${t}s`;let[r,n]=i(t,60);return`${r}m ${n}s`}function i(e,t){return[Math.floor(e/t),e%t]}},74757:(e,t,r)=>{"use strict";r.d(t,{n4:()=>h,if:()=>d,Yb:()=>u});var s=r(68952),n=r(49598),i=r(20871),o=r(80287);let a=e=>{try{return e()}catch(e){throw!e.stack&&Error.captureStackTrace&&Error.captureStackTrace(e),e}};var l=r(56120),c=r(3235);class u{handleEvent(e){switch(e.event){case"kernel.iopub.clear-output":this.clear({wait:e.data.wait});return;case"kernel.iopub.kernel-status":e.data.kernelState===l.Ed.Idle&&this.idleFuture.resolve()}if(this._didClearOutput){this._didClearOutput=!1,this._value$.next([e]);return}this._value$.next([...this._value$.getValue(),e])}clear(){let{wait:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e){this._didClearOutput=!0;return}this._value$.next([])}getValue(){return this._value$.getValue()}subscribe(e){return a(()=>this._value$.subscribe(e))}unsubscribe(){this._value$.unsubscribe()}idle(){return this.idleFuture}constructor(){this._value$=new s.t([]),this.idleFuture=new i.K,this._didClearOutput=!1}}class d{constructor(e,t,r){this.call=e,this.requestId=t,this.iopub$=new u,this._promise=null,r instanceof c.bw?this.juno=r.juno:this.juno=r,this._eventSubscription=this.juno.kernel.iopub$.pipe((0,n.p)(e=>e.data.requestId===this.requestId)).subscribe(e=>this._onEvent(e))}_onEvent(e){this.iopub$.handleEvent(e)}get promise(){return this._promise||(this._promise=(async()=>{await this.call,await this.iopub$.idle()})())}get isCompleted(){return this.call.isResolved}get then(){return this.promise.then.bind(this.promise)}get catch(){return this.promise.catch.bind(this.promise)}getValue(){return this.iopub$.getValue()}subscribe(e){return this.iopub$.subscribe(e)}codeDidError(){return this.getValue().some(e=>l.om.matches(e))}dispose(){this._eventSubscription.unsubscribe(),this.iopub$.unsubscribe()}}class h extends d{constructor(e,{code:t,requestId:r}){r=r||(0,o.X)();let s=e instanceof c.bw?e.juno:e;super(s.call("kernel.execute",{code:t,requestId:r}),r,s)}}},76177:(e,t,r)=>{"use strict";r.d(t,{s:()=>ee});var s=r(41722),n=r(67186),i=r(33161),o=r(1306),a=r(50802),l=r(87374);let c="image/svg+xml",u=n.memo(e=>{let{bundle:t}=e,r=t.data[c],i=n.useMemo(()=>(0,o.sanitize)((0,l.Zo)(r,"Failed to access image/svg+xml MIME data")),[r]);return(0,s.jsx)("div",{className:(0,a.AH)` 227 &, 228 & > svg { 229 width: 100%; 230 } 231 `,dangerouslySetInnerHTML:{__html:i||""}})});u.MIME=c;let d=e=>{let t=t=>{let{bundle:r}=t,n=(0,l.Zo)(r.data[e],`Failed to access MIMEBundle/${e}`);return(0,s.jsx)("img",{className:(0,a.AH)` 232 display: block; 233 max-width: 100%; 234 margin: 0 auto; 235 `,src:`data:${e};base64,${n}`,alt:""})};t.displayName=d.name+"-"+e;let r=n.memo(t);return r.MIME=e,r},h=d("image/png"),p=[u,d("image/gif"),h];var m=r(24846),b=r.n(m);let g="application/vnd.plotly.v1+json",f=b()(()=>Promise.all([r.e(9713),r.e(2772)]).then(r.bind(r,22772)),{loadableGenerated:{webpack:()=>[22772]},ssr:!1}),x=e=>{let t=(0,l.Zo)(e.bundle.data[g],"failed to access plotly data from MIME bundle");return(0,s.jsx)(f,{plot:t})};x.MIME=g;let v=[x];var y=r(45406);let w=b()(()=>Promise.all([r.e(8564),r.e(6811),r.e(9449),r.e(611),r.e(7024),r.e(5689)]).then(r.bind(r,4825)),{loadableGenerated:{webpack:()=>[4825]},ssr:!1}),k=e=>(0,s.jsx)(w,{...e});k.MIME=y.T;var _=r(28976);let j=new Set(["srcdoc"]),E=!1,C={ADD_TAGS:["iframe"],ADD_ATTR:["srcdoc"]},$=e=>{let{html:t,className:r}=e,i=n.useMemo(()=>(function(e){if(!o.isSupported)throw Error("DOMPurify is not supported in this browser");return E||(o.addHook("uponSanitizeAttribute",(e,t)=>{j.has(t.attrName)&&(t.forceKeepAttr=!0)}),o.addHook("afterSanitizeAttributes",(e,t)=>{if(e instanceof HTMLIFrameElement){e.setAttribute("sandbox","allow-scripts allow-popups allow-popups-to-escape-sandbox");let t=e.getAttribute("data-html");t&&(e.srcdoc=decodeURIComponent(t),e.removeAttribute("data-html"))}})),E=!0,o.sanitize(e,C)})(t),[t]);return(0,s.jsx)("div",{className:(0,a.cx)(_.$,r),dangerouslySetInnerHTML:{__html:i}})},S=b()(()=>Promise.resolve($),{ssr:!1}),M="text/html",A=e=>{let{bundle:t}=e,r=(0,l.Zo)(t.data[M],`Failed to access MIMEBundle/${M}`);return r.includes('document.getElementById("webio-setup-')?null:(0,s.jsx)(S,{html:r})};A.MIME=M;var H=r(15838);let I="text/latex",T=e=>{let{bundle:t}=e,r=function(e){return e.startsWith("$")&&(e=e.substr(1)),e.startsWith("$")&&(e=e.substr(1)),e.endsWith("$")&&(e=e.substr(0,e.length-1)),e.endsWith("$")&&(e=e.substr(0,e.length-1)),e}((0,l.Zo)(t.data[I],`Failed to access MIMEBundle/${I}`));return(0,s.jsx)(H.d,{children:r})};T.MIME=I;var N=r(47452);let R="text/markdown",O=e=>{let{bundle:t}=e,r=(0,l.Zo)(t.data[R],"Failed to access text/markdown data");return(0,s.jsx)(N.o,{markdown:r})};O.MIME=R;var z=r(35248);let P="text/plain",F=e=>{var t;let{bundle:r}=e;t=n.useCallback(()=>{let e=Object.keys(r.data);e.length>1&&console.warn(`Selected MIME ${P} over potentially richer MIME types:`,e.filter(e=>e!==P))},[r.data]),n.useEffect(()=>{},[t]);let i=(0,l.Zo)(r.data[P],`Failed to access MIMEBundle/${P}`);return(0,s.jsx)(z.x,{children:i})};F.MIME=P;let q=[O,A,T,F],D=b()(()=>Promise.all([r.e(611),r.e(4622),r.e(5174)]).then(r.bind(r,2215)),{loadableGenerated:{webpack:()=>[2215]},ssr:!1}),W=e=>(0,s.jsx)(D,{...e});W.MIME="application/vnd.webio.node+json";let K=[W,k,...v,...p,...q],V=K.map(e=>e.MIME),B=e=>{let t=new Set(Object.keys(e.data));for(let[e,r]of V.entries())if(t.has(r))return K[e];return null},U=e=>{let{bundle:t}=e,r=n.useMemo(()=>B(t),[t]);return r?(0,s.jsx)(r,{...e}):(0,s.jsxs)(i.g,{children:["Unable to find renderer for any available data types:"," ",Object.keys(t.data).join(", ")
235]})},X=e=>{let{event:t}=e;return(0,s.jsx)(U,{bundle:t.data})};var J=r(91344);let G=e=>{let{event:t}=e;return(0,s.jsx)(U,{bundle:t.data})},L=e=>{let{payload:t}=e;return(0,s.jsx)(z.x,{children:t})};var Z=r(20804),Y=r(56120),Q=r(40470);let ee=n.memo(function(e){let{iopubEvents:t,outputSetKey:r,pending:o=!1,padding:l="4px",showIfNoOutputs:c=!0}=e,u=n.useMemo(()=>(function(e,t){let r=[],n=null;function o(){n&&r.push((0,s.jsx)(L,{stream:n.stream,payload:n.payloads.join("")},n.key)),n=null}let a=0;for(let l of e){a+=1;let e=`${t}-${l.data.timestamp||0}-${a}`;switch(l.event){case Y.zn.type:case Y.nS.type:case Y.KK.type:continue;case Y._M.type:!function(e,t){let{name:r,payload:s}=e.data;if(n?.stream===r)return n.payloads.push(s);o(),n={key:t,stream:r,payloads:[s]}}(l,e);continue;case Y.W9.type:o(),r.push((0,s.jsx)(X,{event:l},e));break;case Y.FC.type:o(),r.push((0,s.jsx)(G,{event:l},e));break;case Y.om.type:o(),r.push((0,s.jsx)(J.o,{event:l},e));break;default:(0,Q.l)(l),r.push((0,s.jsx)(i.g,{children:(0,s.jsxs)("pre",{children:["Unknown output event type:"," ",(0,Q.l)(l).event.toString()]},a)},e))}}return o(),r})(t,r),[t,r]);if(!(c||o||u.length))return null;let d=o?(0,s.jsx)(Z.X,{}):null;return(0,s.jsxs)("div",{className:(0,a.cx)(l&&(0,a.AH)` 236 padding: ${l}; 237 // If the outputs are too wide for the bounding box, we want to 238 // just scroll horizontally inside the output area, not stretch 239 // the parent bounding box. 240 overflow: auto; 241 `),children:[u,d]})})},79668:(e,t,r)=>{"use strict";r.d(t,{$C:()=>o,EY:()=>a,fz:()=>l});var s=r(41722),n=r(51286),i=r.n(n);r(67186);var o=function(e){return e.T700="var(--type-t700)",e.T600="var(--type-t600)",e.T550="var(--type-t550)",e.T500="var(--type-t500)",e.T400="var(--type-t400)",e.T300="var(--type-t300)",e.T200="var(--type-t200)",e.T150="var(--type-t150)",e.T100="var(--type-t100)",e.T75="var(--type-t75)",e.T50="var(--type-t50)",e}({});let a=e=>{let{children:t}=e;return(0,s.jsx)("span",{children:t})},l=e=>{let{children:t,size:r}=e;return(0,s.jsxs)("p",{style:{"--text-size":r},className:"jsx-248902b1c5f111d9 paragraph",children:[t,(0,s.jsx)(i(),{id:"248902b1c5f111d9",children:".paragraph.jsx-248902b1c5f111d9{font-size:var(--text-size,1em);padding-bottom:1em;line-height:1.5em}"})]})}},79927:(e,t,r)=>{"use strict";r.d(t,{o:()=>p});var s=r(19959),n=r.n(s),i=r(64223),o=r(68952),a=r(65709),l=r(11910),c=r(50450),u=r(26130),d=r(3235);let h=n()("Pathbird:Juno:JunoClient");class p{constructor(e={}){this._channels=new Map,this._subscriptions=[],this.event$=new i.B7,this.status$=new o.t(l.TD.Pending),this._readyPromise=(0,a.K)(new Promise((e,t)=>{let r=this.status$.subscribe(s=>{switch(s){case l.TD.Connected:e(),this._unsubscribe(r);return;case l.TD.Failed:t(Error("Connection failed.")),this._unsubscribe(r);return}});this._subscriptions.push(r)})),this.kernel=new d.bw(this),this._options={...l.ym,...e};let{uri:t}=this._options;h("opening websocket",{uri:t});let r=this._ws=new WebSocket(t);r.onopen=e=>this._onWSOpen(e),r.onmessage=e=>this._onWSMessage(e),r.onerror=e=>this._onWSError(e),r.onclose=e=>this._onWSClose(e)}get ready(){return this.waitForReady()}async waitForReady(){await this._readyPromise}get remoteURI(){return this._options.uri}get status(){return this.status$.getValue()}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{reason:t}=e;this.kernel.close(),this._ws.close(1e3,t)}call(e,t){return new u._(this,e,t)}sendWireMessage(e){if(this.status!==l.TD.Connected)throw Error("Juno connection is not open.");this._ws.send(JSON.stringify(e))}_registerChannel(e){this._channels.set(e.id,e)}_unregisterChannel(e){this._channels.delete(e)}_onWSOpen(e){h("websocket opened",e),this.status$.next(l.TD.Connected)}_onWSMessage(e){let t=JSON.parse(e.data);switch(h("websocket message",t),t.type){case c.Ew.Response:return void this._onResponse(t);case c.Ew.Event:return void this._onEvent(t)}throw Error(`Received message of type ${t.type} (not implemented!).`)}_onResponse(e){let{channel:t}=e;if(this._channels.has(t))return void this._channels.get(t).next(e);throw Error(`Received message for unknown channel: ${t}.`)}_onEvent(e){this.event$.next(e)}_onWSError(e){console.error("Juno connection error:",e),this.status$.next(l.TD.Failed)}_onWSClose(e){console.warn(e),this.status$.next(l.TD.Failed)}_unsubscribe(e){e.unsubscribe();let t=this._subscriptions.indexOf(e);-1!==t&&this._subscriptions.splice(t,1)}}},80287:(e,t,r)=>{"use strict";r.d(t,{X:()=>s});let s=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)},82886:(e,t,r)=>{"use strict";r.d(t,{cC:()=>l,nA:()=>u,oX:()=>i,zO:()=>o});var s=r(67186);function n(e){return e}function i(e){var t=e,r=n;let[,s]=a(t,r);return s}function o(e){return a(e,n)}function a(e,t){let r=s.useRef(0),n=s.useRef(null);null===n.current&&(n.current=[r.current,t(e.getValue())]);let i=s.useCallback(s=>{let i=e.subscribe(e=>
241(n.current=[r.current++,t(e)],s()));return()=>i.unsubscribe()},[e,t]);return s.useSyncExternalStore(i,()=>n.current)}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,[r,n]=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,[r,n]=s.useState(null===e?null:t);return(s.useEffect(()=>{if(n(null===e?null:t),!e)return;let r=!1;return e.then(e=>{r||(n({result:e}),r=!0)},e=>{r||(n({result:null,error:e}),r=!0)}),()=>void(r=!0)},[e,t]),r===t)?[void 0,t,null!==e]:null===r?[void 0,null,null!==e]:[r.error,r.result,!1]}(e,t);if(r)throw r._hookStack=Error().stack,r;return n}let c=Symbol("useNullablePromiseStateSentinel");function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,[t,r]=s.useState(e),n=l(t,c);return[n===c?null:n,r,n===c]}},87924:(e,t,r)=>{"use strict";r.d(t,{y:()=>i});var s=r(41722),n=r(50802);r(67186);let i=e=>(0,s.jsx)("span",{...e,className:(0,n.cx)((0,n.AH)` 242 font-weight: bold; 243 `,e.className)})},91003:(e,t,r)=>{"use strict";r.d(t,{Wf:()=>x,ab:()=>y});var s=r(41722),n=r(67186),i=r(1382),o=r(79455),a=r(56120),l=r(18527),c=r(80046),u=r(50802),d=r(19053),h=r(53560),p=r(59403),m=r(92393),b=r(68644),g=r(33606),f=function(e){return e.Success="Success",e.Error="Error",e}(f||{});let x=e=>{let{outputs:t,currentKernelId:r,extraPillsRight:c=[],showStalenessIndicator:m=!0}=e,f=(0,g.Ub)("print"),{startTimeMs:x,elapsedTimeMs:w,executionStatus:k,isStale:_}=n.useMemo(()=>{let e=null,s=null,n=null;for(let r of t||[])switch(r.event){case a.zn.type:{let{kernelState:t,timestamp:i}=r.data;switch(t){case a.Ed.Busy:e=i||null;break;case a.Ed.Idle:s=i||null,n||(n="Success")}break}case a.FC.type:n="Success";break;case a.om.type:n="Error"}let i=s&&e&&s-e;return{startTimeMs:e,endTimeMs:s,elapsedTimeMs:i,executionStatus:n,isStale:r&&t?.[0]?.data?.kernelId!==r}},[r,t]),j=(()=>{if(!x||!w)return null;let e=new Date(x),t=(0,i.A)(e)?(0,o.A)(e,d.ow.TimeOnly):(0,o.A)(e,d.ow.TimeAndDate),r=(0,b.S2)(w),n=`Executed at ${t} 244Ran for ${r}`;switch(k){case"Success":return(0,s.jsx)(y,{icon:l.e68,iconColor:h.E.SuccessGreen,tooltipText:n,children:r});case"Error":return(0,s.jsxs)(y,{icon:l.GRI,iconColor:h.E.ErrorRed,tooltipText:n,children:["Code errored (",r,")"]});default:return null}})(),E=[!m||f||t?.length===0?null:!t?(0,s.jsx)(y,{icon:l.bxP,iconColor:h.E.WarningYellow,tooltipText:"This code has not yet been executed.",children:"Not yet executed"}):_?(0,s.jsx)(y,{icon:l.bxP,iconColor:h.E.WarningYellow,tooltipText:"This code hasn't been run in the current session.",children:"Stale outputs"}):null,j,...c].filter(p.B).flatMap(e=>[(0,s.jsx)(v,{}
244),e]).slice(1),C=n.createElement(n.Fragment,{},...E);return(0,s.jsx)("div",{className:(0,u.AH)` 245 display: flex; 246 flex-direction: row; 247 flex-wrap: nowrap; 248 align-items: center; 249 padding: 0 0.5rem; 250 color: rgba(0, 0, 0, 0.5); 251 `,children:C})},v=()=>(0,s.jsx)("span",{className:(0,u.AH)` 252 width: 1px; 253 height: 1.5em; 254 border-left: 1px solid ${h.E.BorderGrey}; 255 margin: 0.25em 0.75em; 256 `}),y=e=>{let{icon:t,iconColor:r,children:n,tooltipText:i,className:o}=e;return(0,s.jsxs)("div",{className:(0,u.cx)(m.t,o),title:i,children:[(0,s.jsx)(c.g,{icon:t,className:(0,u.AH)` 257 margin-right: 0.5em; 258 color: ${r}; 259 `}),(0,s.jsx)("span",{children:n})]})}},91344:(e,t,r)=>{"use strict";r.d(t,{o:()=>u});var s=r(41722);r(67186);var n=r(89266),i=r(40455),o=r(87924),a=r(14349),l=r(8494),c=r(35248);let u=e=>{let{event:t}=e,{data:r}=t,u=r.traceback?.join("\n")??null,d=(0,a.J)(r.value.split("\n")[0],`${r.name}: `);return(0,s.jsx)("div",{className:"p-4 bg-error-bg text-error-fg overflow-auto",children:(0,s.jsxs)(l.A,{children:[(0,s.jsxs)(n._,{level:"h4",children:[(0,s.jsx)(o.y,{children:r.name}),": ",d]}),u&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.d,{verticalMargin:"0.25rem",color:"#721c24"}),(0,s.jsx)(c.x,{children:u})]})]})})}},92393:(e,t,r)=>{"use strict";r.d(t,{t:()=>n}),r(41722),r(67186);var s=r(50802);let n=(0,s.AH)` 260 display: flex; 261 flex-direction: row; 262 flex-wrap: nowrap; 263 align-items: center; 264`},97256:(e,t,r)=>{"use strict";r.d(t,{g:()=>a});var s=r(41722),n=r(50802);r(67186);var i=r(51485);let o={h1:"2em",h2:"1.5em",h3:"1.20em",h4:"1.10em"},a=e=>{let{children:t,level:r="h2",rule:a=!0,right:l,...c}=e;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:(0,n.AH)` 265 display: flex; 266 flex-direction: row; 267 `,children:[(0,s.jsx)("div",{className:(0,n.AH)` 268 flex: 1; 269 `,children:(0,s.jsx)(r,{...c,className:(0,n.cx)((0,n.AH)` 270 font-size: ${o[r]}; 271 `,c.className),children:t})}),l?(0,s.jsx)("div",{children:l}):null]}),a?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.V,{height:"0.5rem"}),(0,s.jsx)("hr",{className:(0,n.AH)` 272 border: none; 273 border-bottom: 1px solid #ccc; 274 margin: 0; 275 `})]}):null]})}}}]); 276//# sourceMappingURL=https://storage.cloud.google.com/pbsm/6183-17706ae22642e791.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.