sparkrun-ui 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +5 -5
  2. package/bin/sparkrun-ui.mjs +2 -2
  3. package/dist/.next/BUILD_ID +1 -1
  4. package/dist/.next/build-manifest.json +3 -3
  5. package/dist/.next/prerender-manifest.json +3 -3
  6. package/dist/.next/server/app/_global-error.html +1 -1
  7. package/dist/.next/server/app/_global-error.rsc +1 -1
  8. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/dist/.next/server/app/_not-found/page.js +1 -1
  14. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/_not-found.html +1 -1
  17. package/dist/.next/server/app/_not-found.rsc +27 -26
  18. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +27 -26
  19. package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  20. package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +11 -10
  21. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  22. package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  23. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/dist/.next/server/app/benchmarks/[id]/page.js +1 -1
  25. package/dist/.next/server/app/benchmarks/[id]/page.js.nft.json +1 -1
  26. package/dist/.next/server/app/benchmarks/[id]/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/benchmarks/new/page.js +2 -2
  28. package/dist/.next/server/app/benchmarks/new/page.js.nft.json +1 -1
  29. package/dist/.next/server/app/benchmarks/new/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/benchmarks/page.js +1 -1
  31. package/dist/.next/server/app/benchmarks/page.js.nft.json +1 -1
  32. package/dist/.next/server/app/benchmarks/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/chat/page.js +1 -1
  34. package/dist/.next/server/app/chat/page.js.nft.json +1 -1
  35. package/dist/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/dashboard/page.js +3 -3
  37. package/dist/.next/server/app/dashboard/page.js.nft.json +1 -1
  38. package/dist/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/index.html +1 -1
  40. package/dist/.next/server/app/index.rsc +25 -24
  41. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  42. package/dist/.next/server/app/index.segments/_full.segment.rsc +25 -24
  43. package/dist/.next/server/app/index.segments/_head.segment.rsc +4 -4
  44. package/dist/.next/server/app/index.segments/_index.segment.rsc +11 -10
  45. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  46. package/dist/.next/server/app/launch/page.js +1 -1
  47. package/dist/.next/server/app/launch/page.js.nft.json +1 -1
  48. package/dist/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  49. package/dist/.next/server/app/logs/[clusterId]/page.js +1 -1
  50. package/dist/.next/server/app/logs/[clusterId]/page.js.nft.json +1 -1
  51. package/dist/.next/server/app/logs/[clusterId]/page_client-reference-manifest.js +1 -1
  52. package/dist/.next/server/app/monitor/page.js +1 -1
  53. package/dist/.next/server/app/monitor/page.js.nft.json +1 -1
  54. package/dist/.next/server/app/monitor/page_client-reference-manifest.js +1 -1
  55. package/dist/.next/server/app/page.js +1 -1
  56. package/dist/.next/server/app/page.js.nft.json +1 -1
  57. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/dist/.next/server/app/recipes/page.js +2 -2
  59. package/dist/.next/server/app/recipes/page.js.nft.json +1 -1
  60. package/dist/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
  61. package/dist/.next/server/app/rpc/[[...rest]]/route.js.nft.json +1 -1
  62. package/dist/.next/server/chunks/ssr/[root-of-the-server]__021wpp6._.js +1 -1
  63. package/dist/.next/server/chunks/ssr/[root-of-the-server]__030qcl1._.js +1 -1
  64. package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0vyn26k._.js → [root-of-the-server]__03ntmap._.js} +2 -2
  65. package/dist/.next/server/chunks/ssr/[root-of-the-server]__03qy0wk._.js +3 -0
  66. package/dist/.next/server/chunks/ssr/[root-of-the-server]__08pj2hz._.js +1 -1
  67. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0a.-f32._.js +3 -0
  68. package/dist/.next/server/chunks/ssr/_00~gtgv._.js +3 -0
  69. package/dist/.next/server/chunks/ssr/_0f.jwi.._.js +1 -1
  70. package/dist/.next/server/chunks/ssr/{_0e~uzop._.js → _0gfn7bd._.js} +2 -2
  71. package/dist/.next/server/chunks/ssr/_0khf6ok._.js +1 -1
  72. package/dist/.next/server/chunks/ssr/app_components_dashboard_DashboardLive_tsx_10_yvzp._.js +3 -0
  73. package/dist/.next/server/middleware-build-manifest.js +3 -3
  74. package/dist/.next/server/pages/404.html +1 -1
  75. package/dist/.next/server/pages/500.html +1 -1
  76. package/dist/.next/server/server-reference-manifest.js +1 -1
  77. package/dist/.next/server/server-reference-manifest.json +1 -1
  78. package/dist/.next/static/chunks/01f1zms1lqrcy.js +3 -0
  79. package/dist/.next/static/chunks/{0~keq1f3_2ge-.js → 0r2z8b.7enu5~.js} +1 -1
  80. package/dist/.next/static/chunks/{0x4ezu8r2b-ga.js → 0sgcbb1yforb4.js} +1 -1
  81. package/dist/.next/static/chunks/0y8z_lexja5v6.css +3 -0
  82. package/dist/package.json +3 -3
  83. package/package.json +3 -3
  84. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0nnr~eq._.js +0 -3
  85. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0yxok2p._.js +0 -3
  86. package/dist/.next/server/chunks/ssr/_0wsg55s._.js +0 -3
  87. package/dist/.next/static/chunks/093uee.ipdzn_.css +0 -3
  88. package/dist/.next/static/chunks/0993.7t31zdad.js +0 -3
  89. /package/dist/.next/static/{K7dVTTbWGsVpPXwtNCeQZ → 6eyYzTPHshjxU0hHbw9jq}/_buildManifest.js +0 -0
  90. /package/dist/.next/static/{K7dVTTbWGsVpPXwtNCeQZ → 6eyYzTPHshjxU0hHbw9jq}/_clientMiddlewareManifest.js +0 -0
  91. /package/dist/.next/static/{K7dVTTbWGsVpPXwtNCeQZ → 6eyYzTPHshjxU0hHbw9jq}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[14394,36226,a=>{"use strict";var b=a.i(9207);a.s(["useBaseUiId",0,function(a){return(0,b.useId)(a,"base-ui")}],14394);var c=a.i(84668),d=a.i(64887),e=a.i(57723);a.s(["useValueChanged",0,function(a,b){let f=c.useRef(a),g=(0,e.useStableCallback)(b);(0,d.useIsoLayoutEffect)(()=>{f.current!==a&&g(f.current)},[a,g]),(0,d.useIsoLayoutEffect)(()=>{f.current=a},[a])}],36226)},46541,a=>{"use strict";var b=a.i(84668);a.s(["useControlled",0,function({controlled:a,default:c,name:d,state:e="value"}){let{current:f}=b.useRef(void 0!==a),[g,h]=b.useState(c),i=b.useCallback(a=>{f||h(a)},[]);return[f?a:g,i]}])},91666,87934,a=>{"use strict";var b,c=a.i(95067),d=a.i(84668),e=a.i(36512);let f=((b={}).disabled="data-disabled",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b),g={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},h={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},i={disabled:!1,...h};a.s(["DEFAULT_FIELD_ROOT_STATE",0,i,"DEFAULT_FIELD_STATE_ATTRIBUTES",0,h,"DEFAULT_VALIDITY_STATE",0,g,"fieldValidityMapping",0,{valid:a=>null===a?null:a?{[f.valid]:""}:{[f.invalid]:""}}],87934);let j={invalid:void 0,name:void 0,validityData:{state:g,errors:[],error:"",value:"",initialValue:null},setValidityData:e.NOOP,disabled:void 0,touched:h.touched,setTouched:e.NOOP,dirty:h.dirty,setDirty:e.NOOP,filled:h.filled,setFilled:e.NOOP,focused:h.focused,setFocused:e.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:i,markedDirtyRef:{current:!1},registerFieldControl:e.NOOP,validation:{getValidationProps:(a=e.EMPTY_OBJECT)=>a,getInputValidationProps:(a=e.EMPTY_OBJECT)=>a,inputRef:{current:null},commit:async()=>{}}},k=d.createContext(j);a.s(["FieldRootContext",0,k,"useFieldRootContext",0,function(a=!0){let b=d.useContext(k);if(b.setValidityData===e.NOOP&&!a)throw Error((0,c.default)(28));return b}],91666)},71144,a=>{"use strict";var b=a.i(84668),c=a.i(64887),d=a.i(91666);a.s(["useRegisterFieldControl",0,function(a,e,f,g,h=!0){let{registerFieldControl:i}=(0,d.useFieldRootContext)(),j=b.useRef(null);j.current||(j.current=Symbol()),(0,c.useIsoLayoutEffect)(()=>{let b=j.current;if(b&&h)return i(b,{controlRef:a,getValue:g,id:e,value:f}),()=>{i(b,void 0)}},[a,h,g,e,i,f])}])},51482,a=>{"use strict";var b=a.i(84668),c=a.i(36512);let d=b.createContext({controlId:void 0,registerControlId:c.NOOP,labelId:void 0,setLabelId:c.NOOP,messageIds:[],setMessageIds:c.NOOP,getDescriptionProps:a=>a});a.s(["LabelableContext",0,d,"useLabelableContext",0,function(){return b.useContext(d)}])},64282,a=>{"use strict";var b=a.i(84668),c=a.i(64887),d=a.i(57723),e=a.i(57189),f=a.i(95133),g=a.i(36512),h=a.i(14394),i=a.i(51482);a.s(["useLabelableId",0,function(a={}){let{id:j,implicit:k=!1,controlRef:l}=a,{controlId:m,registerControlId:n}=(0,i.useLabelableContext)(),o=(0,h.useBaseUiId)(j),p=k?m:void 0,q=(0,e.useRefWithInit)(()=>Symbol("labelable-control")),r=b.useRef(!1),s=b.useRef(null!=j),t=(0,d.useStableCallback)(()=>{r.current&&n!==g.NOOP&&(r.current=!1,n(q.current,void 0))});return(0,c.useIsoLayoutEffect)(()=>{let a;if(n!==g.NOOP){if(k){let b=l?.current;a=(0,f.isElement)(b)&&null!=b.closest("label")?j??null:p??o}else if(null!=j)s.current=!0,a=j;else{if(!s.current)return void t();a=o}if(void 0===a)return void t();r.current=!0,n(q.current,a)}},[j,l,p,n,k,o,q,t]),b.useEffect(()=>t,[t]),m??o}])},90588,a=>{"use strict";var b=a.i(84668),c=a.i(36512);let d=b.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:c.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});a.s(["useFormContext",0,function(){return b.useContext(d)}])},72558,48398,a=>{"use strict";let b=(0,a.i(64588).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],72558);var c=a.i(84668),d=a.i(25273);a.s(["useWorkloadHealth",0,function(a){let[b,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(a);return a!==f&&(g(a),e(null)),(0,c.useEffect)(()=>{if(!a)return;let b=!1,c=new AbortController,f=async()=>{try{let f=await d.rpc.workloads.health({clusterId:a},{signal:c.signal});b||e(f)}catch{}};f();let g=setInterval(f,5e3);return()=>{b=!0,c.abort(),clearInterval(g)}},[a]),b??{ready:!1,state:"loading"}}],48398)},3800,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(64588);let e=(0,d.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),f=(0,d.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var g=a.i(35179);let h=(0,d.default)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]]),i=(0,d.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var j=a.i(72558),k=a.i(25273),l=a.i(54625),m=a.i(66917),n=a.i(48398);function o({message:a,isStreamingTail:c}){return"user"===a.role?(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)("div",{className:"max-w-[80%] rounded-2xl rounded-br-md bg-sky-600 px-4 py-2.5 text-sm text-white shadow-sm dark:bg-sky-500",children:(0,b.jsx)("div",{className:"break-words whitespace-pre-wrap",children:a.content})})}):(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-sky-500 to-indigo-500 text-white",children:(0,b.jsx)(f,{size:14})}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pt-0.5 text-sm leading-relaxed text-zinc-900 dark:text-zinc-100",children:c?(0,b.jsxs)("span",{className:"inline-flex gap-1",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 [animation-delay:-0.3s] dark:bg-zinc-500"}),(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 [animation-delay:-0.15s] dark:bg-zinc-500"}),(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 dark:bg-zinc-500"})]}):(0,b.jsx)("div",{className:"break-words whitespace-pre-wrap",children:a.content})})]})}function p({health:a}){return a.ready?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-emerald-50 px-2 py-0.5 text-[11px] font-medium text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),"Ready"]}):"loading"===a.state||"starting"===a.state?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-amber-50 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:bg-amber-950 dark:text-amber-300",title:"starting"===a.state?a.reason??"Model is still loading.":"",children:[(0,b.jsx)(g.Loader2,{size:10,className:"animate-spin"}),"Starting…"]}):(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-red-50 px-2 py-0.5 text-[11px] font-medium text-red-700 dark:bg-red-950 dark:text-red-300",title:a.reason??"Instance is unreachable.",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500"}),"Unreachable"]})}a.s(["ChatPage",0,function({initial:a}){let[d,f]=(0,c.useState)(a),[g,q]=(0,c.useState)(null),[r,s]=(0,c.useState)([]),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(""),x=(0,c.useRef)(null),y=(0,c.useRef)(null),z=(0,c.useRef)(null),A=(0,c.useMemo)(()=>d.solo_entries.filter(a=>a.host&&a.meta.port).map(a=>({value:a.cluster_id,label:a.meta.model??a.cluster_id,description:a.cluster_id})),[d.solo_entries]),B=A.length>0,C=g&&A.some(a=>a.value===g)?g:A[0]?.value??null,D=A.find(a=>a.value===C)??null,E=(0,n.useWorkloadHealth)(C),F=E.ready,G=r.length>0;(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{for await(let c of(await k.rpc.status.stream({intervalMs:5e3},{signal:a.signal}))){if(b)break;f(c)}}catch{}})(),()=>{b=!0,a.abort()}},[]),(0,c.useEffect)(()=>{!G||document.documentElement.scrollHeight-window.scrollY-window.innerHeight<120&&x.current?.scrollIntoView({behavior:"smooth",block:"end"})},[r,G]),(0,c.useEffect)(()=>{let a=y.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)},[v]);let H=a=>{a!==C&&(s([]),q(a))},I=async()=>{let a=v.trim();if(!a||!C||t||!F)return;let b=[...r,{role:"user",content:a}];s(b),w(""),u(!0);let c=b.length;s(a=>[...a,{role:"assistant",content:""}]);let d=new AbortController;z.current=d;try{let a=await k.rpc.chat.stream({clusterId:C,messages:b.map(a=>({role:a.role,content:a.content}))},{signal:d.signal}),e="";for await(let b of a)e+=b,s(a=>{let b=[...a];return b[c]={role:"assistant",content:e},b})}catch(a){if(!(a instanceof DOMException&&"AbortError"===a.name)){let b=a instanceof Error?a.message:"Stream failed";s(a=>{let d=[...a];return d[c]={role:"assistant",content:`Error: ${b}`},d})}}finally{u(!1),z.current=null}};if(!B)return(0,b.jsx)("div",{className:"flex min-h-[calc(100vh-12rem)] flex-col items-center justify-center px-6",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-sky-50 text-sky-600 dark:bg-sky-950 dark:text-sky-400",children:(0,b.jsx)(i,{size:22})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:"No running instances"}),(0,b.jsx)("p",{className:"mt-2 max-w-md text-sm text-zinc-500 dark:text-zinc-400",children:"Launch a recipe to start chatting with a model running on your DGX Spark cluster."})]}),(0,b.jsx)("a",{href:"/launch",className:"mt-2 inline-flex h-9 items-center justify-center rounded-md bg-sky-600 px-4 text-sm font-medium text-white shadow-sm transition-colors hover:bg-sky-500 dark:bg-sky-500 dark:hover:bg-sky-400",children:"Launch a recipe"})]})});let J=(0,b.jsxs)("div",{className:"w-full",children:[(0,b.jsxs)("div",{className:"group relative flex flex-col rounded-2xl border border-zinc-200 bg-white shadow-sm transition focus-within:border-zinc-300 focus-within:shadow-md dark:border-zinc-800 dark:bg-zinc-900 dark:focus-within:border-zinc-700",children:[(0,b.jsx)("textarea",{ref:y,value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),I())},placeholder:D?`Message ${D.label}…`:"Select an instance to start chatting",rows:1,disabled:!C,className:"max-h-[200px] w-full resize-none rounded-t-2xl bg-transparent px-4 pt-3 pb-1 text-sm text-zinc-900 placeholder:text-zinc-400 focus:outline-none disabled:cursor-not-allowed dark:text-zinc-100 dark:placeholder:text-zinc-500"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2 pb-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,b.jsx)(l.Select,{value:C,onValueChange:H,options:A,placeholder:"Select an instance…",className:"h-8 max-w-[18rem] border-transparent bg-transparent shadow-none hover:bg-zinc-100 dark:border-transparent dark:bg-transparent dark:hover:bg-zinc-800"}),C&&(0,b.jsx)(p,{health:E})]}),t?(0,b.jsx)("button",{type:"button",onClick:()=>{z.current?.abort()},"aria-label":"Stop generation",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-zinc-900 text-white transition hover:bg-zinc-700 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-zinc-300",children:(0,b.jsx)(j.Square,{size:14,className:"fill-current"})}):(0,b.jsx)("button",{type:"button",onClick:I,disabled:!v.trim()||!C||!F,"aria-label":F?"Send message":"Instance not ready yet",title:F?void 0:E.reason??"Instance is still starting…",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-zinc-900 text-white transition hover:bg-zinc-700 disabled:cursor-not-allowed disabled:bg-zinc-300 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-zinc-300 dark:disabled:bg-zinc-700 dark:disabled:text-zinc-500",children:(0,b.jsx)(e,{size:16})})]})]}),(0,b.jsx)("p",{className:"mt-2 text-center text-[11px] text-zinc-400 dark:text-zinc-600",children:"Press Enter to send, Shift + Enter for a new line"})]});return G?(0,b.jsxs)("div",{className:"mx-auto w-full max-w-3xl",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pb-3",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(l.Select,{value:C,onValueChange:H,options:A,placeholder:"Select an instance…",className:"h-8 max-w-[20rem]"})}),(0,b.jsxs)(m.Button,{variant:"ghost",size:"sm",onClick:()=>{z.current?.abort(),s([]),w(""),y.current?.focus()},children:[(0,b.jsx)(h,{size:14}),"New chat"]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-6 pb-4",children:[r.map((a,c)=>(0,b.jsx)(o,{message:a,isStreamingTail:t&&c===r.length-1&&!a.content},c)),(0,b.jsx)("div",{ref:x,className:"scroll-mb-40"})]}),(0,b.jsx)("div",{className:"sticky bottom-0 -mx-2 bg-gradient-to-t from-zinc-50 via-zinc-50/95 to-transparent px-2 pt-6 pb-2 dark:from-zinc-950 dark:via-zinc-950/95",children:J})]}):(0,b.jsxs)("div",{className:"mx-auto flex min-h-[calc(100vh-12rem)] w-full max-w-2xl flex-col items-center justify-center gap-8 px-4",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl bg-gradient-to-br from-sky-500 to-indigo-500 text-white shadow-sm",children:(0,b.jsx)(i,{size:22})}),(0,b.jsx)("h1",{className:"text-2xl font-semibold text-zinc-900 dark:text-zinc-100",children:"What can I help with?"}),(0,b.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Chat with any running model on your cluster."})]}),J]})}],3800)}];
1
+ module.exports=[14394,36226,a=>{"use strict";var b=a.i(9207);a.s(["useBaseUiId",0,function(a){return(0,b.useId)(a,"base-ui")}],14394);var c=a.i(84668),d=a.i(64887),e=a.i(57723);a.s(["useValueChanged",0,function(a,b){let f=c.useRef(a),g=(0,e.useStableCallback)(b);(0,d.useIsoLayoutEffect)(()=>{f.current!==a&&g(f.current)},[a,g]),(0,d.useIsoLayoutEffect)(()=>{f.current=a},[a])}],36226)},46541,a=>{"use strict";var b=a.i(84668);a.s(["useControlled",0,function({controlled:a,default:c,name:d,state:e="value"}){let{current:f}=b.useRef(void 0!==a),[g,h]=b.useState(c),i=b.useCallback(a=>{f||h(a)},[]);return[f?a:g,i]}])},91666,87934,a=>{"use strict";var b,c=a.i(95067),d=a.i(84668),e=a.i(36512);let f=((b={}).disabled="data-disabled",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b),g={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},h={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},i={disabled:!1,...h};a.s(["DEFAULT_FIELD_ROOT_STATE",0,i,"DEFAULT_FIELD_STATE_ATTRIBUTES",0,h,"DEFAULT_VALIDITY_STATE",0,g,"fieldValidityMapping",0,{valid:a=>null===a?null:a?{[f.valid]:""}:{[f.invalid]:""}}],87934);let j={invalid:void 0,name:void 0,validityData:{state:g,errors:[],error:"",value:"",initialValue:null},setValidityData:e.NOOP,disabled:void 0,touched:h.touched,setTouched:e.NOOP,dirty:h.dirty,setDirty:e.NOOP,filled:h.filled,setFilled:e.NOOP,focused:h.focused,setFocused:e.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:i,markedDirtyRef:{current:!1},registerFieldControl:e.NOOP,validation:{getValidationProps:(a=e.EMPTY_OBJECT)=>a,getInputValidationProps:(a=e.EMPTY_OBJECT)=>a,inputRef:{current:null},commit:async()=>{}}},k=d.createContext(j);a.s(["FieldRootContext",0,k,"useFieldRootContext",0,function(a=!0){let b=d.useContext(k);if(b.setValidityData===e.NOOP&&!a)throw Error((0,c.default)(28));return b}],91666)},71144,a=>{"use strict";var b=a.i(84668),c=a.i(64887),d=a.i(91666);a.s(["useRegisterFieldControl",0,function(a,e,f,g,h=!0){let{registerFieldControl:i}=(0,d.useFieldRootContext)(),j=b.useRef(null);j.current||(j.current=Symbol()),(0,c.useIsoLayoutEffect)(()=>{let b=j.current;if(b&&h)return i(b,{controlRef:a,getValue:g,id:e,value:f}),()=>{i(b,void 0)}},[a,h,g,e,i,f])}])},51482,a=>{"use strict";var b=a.i(84668),c=a.i(36512);let d=b.createContext({controlId:void 0,registerControlId:c.NOOP,labelId:void 0,setLabelId:c.NOOP,messageIds:[],setMessageIds:c.NOOP,getDescriptionProps:a=>a});a.s(["LabelableContext",0,d,"useLabelableContext",0,function(){return b.useContext(d)}])},64282,a=>{"use strict";var b=a.i(84668),c=a.i(64887),d=a.i(57723),e=a.i(57189),f=a.i(95133),g=a.i(36512),h=a.i(14394),i=a.i(51482);a.s(["useLabelableId",0,function(a={}){let{id:j,implicit:k=!1,controlRef:l}=a,{controlId:m,registerControlId:n}=(0,i.useLabelableContext)(),o=(0,h.useBaseUiId)(j),p=k?m:void 0,q=(0,e.useRefWithInit)(()=>Symbol("labelable-control")),r=b.useRef(!1),s=b.useRef(null!=j),t=(0,d.useStableCallback)(()=>{r.current&&n!==g.NOOP&&(r.current=!1,n(q.current,void 0))});return(0,c.useIsoLayoutEffect)(()=>{let a;if(n!==g.NOOP){if(k){let b=l?.current;a=(0,f.isElement)(b)&&null!=b.closest("label")?j??null:p??o}else if(null!=j)s.current=!0,a=j;else{if(!s.current)return void t();a=o}if(void 0===a)return void t();r.current=!0,n(q.current,a)}},[j,l,p,n,k,o,q,t]),b.useEffect(()=>t,[t]),m??o}])},90588,a=>{"use strict";var b=a.i(84668),c=a.i(36512);let d=b.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:c.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});a.s(["useFormContext",0,function(){return b.useContext(d)}])},72558,48398,a=>{"use strict";let b=(0,a.i(64588).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],72558);var c=a.i(84668),d=a.i(25273);a.s(["useWorkloadHealth",0,function(a){let[b,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(a);return a!==f&&(g(a),e(null)),(0,c.useEffect)(()=>{if(!a)return;let b=!1,c=new AbortController,f=async()=>{try{let f=await d.rpc.workloads.health({clusterId:a},{signal:c.signal});b||e(f)}catch{}};f();let g=setInterval(f,5e3);return()=>{b=!0,c.abort(),clearInterval(g)}},[a]),b??{ready:!1,state:"loading"}}],48398)},3800,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(64588);let e=(0,d.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),f=(0,d.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var g=a.i(35179);let h=(0,d.default)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]]),i=(0,d.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var j=a.i(72558),k=a.i(25273),l=a.i(54625),m=a.i(66917),n=a.i(48398);function o({message:a,isStreamingTail:c}){return"user"===a.role?(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)("div",{className:"max-w-[80%] rounded-2xl rounded-br-md bg-sky-600 px-4 py-2.5 text-sm text-white shadow-sm dark:bg-sky-500",children:(0,b.jsx)("div",{className:"break-words whitespace-pre-wrap",children:a.content})})}):(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-sky-500 to-indigo-500 text-white",children:(0,b.jsx)(f,{size:14})}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pt-0.5 text-sm leading-relaxed text-zinc-900 dark:text-zinc-100",children:c?(0,b.jsxs)("span",{className:"inline-flex gap-1",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 [animation-delay:-0.3s] dark:bg-zinc-500"}),(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 [animation-delay:-0.15s] dark:bg-zinc-500"}),(0,b.jsx)("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-zinc-400 dark:bg-zinc-500"})]}):(0,b.jsx)("div",{className:"break-words whitespace-pre-wrap",children:a.content})})]})}function p({health:a}){return a.ready?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-emerald-50 px-2 py-0.5 text-[11px] font-medium text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),"Ready"]}):"loading"===a.state||"starting"===a.state?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-amber-50 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:bg-amber-950 dark:text-amber-300",title:"starting"===a.state?a.reason??"Model is still loading.":"",children:[(0,b.jsx)(g.Loader2,{size:10,className:"animate-spin"}),"Starting…"]}):(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-red-50 px-2 py-0.5 text-[11px] font-medium text-red-700 dark:bg-red-950 dark:text-red-300",title:a.reason??"Instance is unreachable.",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500"}),"Unreachable"]})}a.s(["ChatPage",0,function({initial:a,initialClusterId:d}){let[f,g]=(0,c.useState)(a),[q,r]=(0,c.useState)(d??null),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(""),y=(0,c.useRef)(null),z=(0,c.useRef)(null),A=(0,c.useRef)(null),B=(0,c.useMemo)(()=>f.solo_entries.filter(a=>a.host&&a.meta.port).map(a=>({value:a.cluster_id,label:a.meta.model??a.cluster_id,description:a.cluster_id})),[f.solo_entries]),C=B.length>0,D=q&&B.some(a=>a.value===q)?q:B[0]?.value??null,E=B.find(a=>a.value===D)??null,F=(0,n.useWorkloadHealth)(D),G=F.ready,H=s.length>0;(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{for await(let c of(await k.rpc.status.stream({intervalMs:5e3},{signal:a.signal}))){if(b)break;g(c)}}catch{}})(),()=>{b=!0,a.abort()}},[]),(0,c.useEffect)(()=>{!H||document.documentElement.scrollHeight-window.scrollY-window.innerHeight<120&&y.current?.scrollIntoView({behavior:"smooth",block:"end"})},[s,H]),(0,c.useEffect)(()=>{let a=z.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)},[w]);let I=a=>{a!==D&&(t([]),r(a))},J=async()=>{let a=w.trim();if(!a||!D||u||!G)return;let b=[...s,{role:"user",content:a}];t(b),x(""),v(!0);let c=b.length;t(a=>[...a,{role:"assistant",content:""}]);let d=new AbortController;A.current=d;try{let a=await k.rpc.chat.stream({clusterId:D,messages:b.map(a=>({role:a.role,content:a.content}))},{signal:d.signal}),e="";for await(let b of a)e+=b,t(a=>{let b=[...a];return b[c]={role:"assistant",content:e},b})}catch(a){if(!(a instanceof DOMException&&"AbortError"===a.name)){let b=a instanceof Error?a.message:"Stream failed";t(a=>{let d=[...a];return d[c]={role:"assistant",content:`Error: ${b}`},d})}}finally{v(!1),A.current=null}};if(!C)return(0,b.jsx)("div",{className:"flex min-h-[calc(100vh-12rem)] flex-col items-center justify-center px-6",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-sky-50 text-sky-600 dark:bg-sky-950 dark:text-sky-400",children:(0,b.jsx)(i,{size:22})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:"No running instances"}),(0,b.jsx)("p",{className:"mt-2 max-w-md text-sm text-zinc-500 dark:text-zinc-400",children:"Launch a recipe to start chatting with a model running on your DGX Spark cluster."})]}),(0,b.jsx)("a",{href:"/launch",className:"mt-2 inline-flex h-9 items-center justify-center rounded-md bg-sky-600 px-4 text-sm font-medium text-white shadow-sm transition-colors hover:bg-sky-500 dark:bg-sky-500 dark:hover:bg-sky-400",children:"Launch a recipe"})]})});let K=(0,b.jsxs)("div",{className:"w-full",children:[(0,b.jsxs)("div",{className:"group relative flex flex-col rounded-2xl border border-zinc-200 bg-white shadow-sm transition focus-within:border-zinc-300 focus-within:shadow-md dark:border-zinc-800 dark:bg-zinc-900 dark:focus-within:border-zinc-700",children:[(0,b.jsx)("textarea",{ref:z,value:w,onChange:a=>x(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),J())},placeholder:E?`Message ${E.label}…`:"Select an instance to start chatting",rows:1,disabled:!D,className:"max-h-[200px] w-full resize-none rounded-t-2xl bg-transparent px-4 pt-3 pb-1 text-sm text-zinc-900 placeholder:text-zinc-400 focus:outline-none disabled:cursor-not-allowed dark:text-zinc-100 dark:placeholder:text-zinc-500"}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2 pb-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,b.jsx)(l.Select,{value:D,onValueChange:I,options:B,placeholder:"Select an instance…",className:"h-8 max-w-[18rem] border-transparent bg-transparent shadow-none hover:bg-zinc-100 dark:border-transparent dark:bg-transparent dark:hover:bg-zinc-800"}),D&&(0,b.jsx)(p,{health:F})]}),u?(0,b.jsx)("button",{type:"button",onClick:()=>{A.current?.abort()},"aria-label":"Stop generation",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-zinc-900 text-white transition hover:bg-zinc-700 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-zinc-300",children:(0,b.jsx)(j.Square,{size:14,className:"fill-current"})}):(0,b.jsx)("button",{type:"button",onClick:J,disabled:!w.trim()||!D||!G,"aria-label":G?"Send message":"Instance not ready yet",title:G?void 0:F.reason??"Instance is still starting…",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-zinc-900 text-white transition hover:bg-zinc-700 disabled:cursor-not-allowed disabled:bg-zinc-300 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-zinc-300 dark:disabled:bg-zinc-700 dark:disabled:text-zinc-500",children:(0,b.jsx)(e,{size:16})})]})]}),(0,b.jsx)("p",{className:"mt-2 text-center text-[11px] text-zinc-400 dark:text-zinc-600",children:"Press Enter to send, Shift + Enter for a new line"})]});return H?(0,b.jsxs)("div",{className:"mx-auto w-full max-w-3xl",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pb-3",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(l.Select,{value:D,onValueChange:I,options:B,placeholder:"Select an instance…",className:"h-8 max-w-[20rem]"})}),(0,b.jsxs)(m.Button,{variant:"ghost",size:"sm",onClick:()=>{A.current?.abort(),t([]),x(""),z.current?.focus()},children:[(0,b.jsx)(h,{size:14}),"New chat"]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-6 pb-4",children:[s.map((a,c)=>(0,b.jsx)(o,{message:a,isStreamingTail:u&&c===s.length-1&&!a.content},c)),(0,b.jsx)("div",{ref:y,className:"scroll-mb-40"})]}),(0,b.jsx)("div",{className:"sticky bottom-0 -mx-2 bg-gradient-to-t from-zinc-50 via-zinc-50/95 to-transparent px-2 pt-6 pb-2 dark:from-zinc-950 dark:via-zinc-950/95",children:K})]}):(0,b.jsxs)("div",{className:"mx-auto flex min-h-[calc(100vh-12rem)] w-full max-w-2xl flex-col items-center justify-center gap-8 px-4",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl bg-gradient-to-br from-sky-500 to-indigo-500 text-white shadow-sm",children:(0,b.jsx)(i,{size:22})}),(0,b.jsx)("h1",{className:"text-2xl font-semibold text-zinc-900 dark:text-zinc-100",children:"What can I help with?"}),(0,b.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Chat with any running model on your cluster."})]}),K]})}],3800)}];
2
2
 
3
3
  //# sourceMappingURL=_0khf6ok._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[10558,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(71148),e=a.i(36134),f=a.i(25273),g=a.i(37942),h=a.i(49043),i=a.i(66917),j=a.i(28536),k=a.i(72558),l=a.i(22496),m=a.i(35179),n=a.i(77487),o=a.i(65062),p=a.i(76760),q=a.i(48398);function r({workload:a,recipe:e}){let[h,m]=(0,c.useState)(!1),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useTransition)(),x=(0,q.useWorkloadHealth)(a.cluster_id),y=a.meta.model||a.meta.recipe||a.cluster_id,z=function(a){if(!a)return null;let b=a.match(/^Up\s+(.+?)(?:\s*\([^)]*\))?\s*$/);return b?.[1]??null}(a.status);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(g.Card,{children:[(0,b.jsx)(g.CardHeader,{children:(0,b.jsx)(g.CardTitle,{className:"text-sm font-semibold",children:y})}),(0,b.jsxs)(g.CardBody,{className:"flex flex-col gap-3 text-sm",children:[(0,b.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:[e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Recipe"}),(0,b.jsx)("dd",{children:e.registeredName?(0,b.jsx)("button",{type:"button",onClick:()=>u(!0),className:"cursor-pointer font-medium text-sky-600 hover:underline dark:text-sky-400",children:e.registeredName}):(0,b.jsx)("span",{className:"font-medium text-zinc-700 dark:text-zinc-300",children:e.label})})]}),a.meta.port&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Port"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.meta.port})]}),a.host&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Host"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.host})]}),z&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Uptime"}),(0,b.jsx)("dd",{className:"text-zinc-700 dark:text-zinc-300",children:z})]}),(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Status"}),(0,b.jsx)("dd",{children:(0,b.jsx)(s,{health:x,containerStatus:a.status})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[a.host&&a.meta.port&&(0,b.jsx)(d.default,{href:`/chat?clusterId=${encodeURIComponent(a.cluster_id)}`,children:(0,b.jsxs)(i.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(j.MessageSquare,{size:14}),"Chat"]})}),(0,b.jsx)(d.default,{href:`/logs/${a.cluster_id}`,children:(0,b.jsxs)(i.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(l.ScrollText,{size:14}),"Logs"]})}),(0,b.jsxs)(i.Button,{variant:"danger",size:"sm",onClick:()=>m(!0),disabled:v,children:[(0,b.jsx)(k.Square,{size:14}),v?"Stopping…":"Stop"]})]})]})]}),(0,b.jsx)(n.AlertDialog,{open:h,onOpenChange:m,title:"Stop this workload?",description:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"block font-mono",children:y}),(0,b.jsxs)("span",{className:"mt-2 block",children:["The container will be terminated on ",a.host??"the target host","."]})]}),confirmLabel:"Stop",destructive:!0,onConfirm:()=>{w(async()=>{try{await f.rpc.workloads.stop({clusterId:a.cluster_id}),o.toast.success("Stop requested",`${y} is shutting down`)}catch(b){let a=b instanceof Error?b.message:"Unknown error";o.toast.error("Stop failed",a)}})}}),e?.registeredName&&(0,b.jsx)(p.RecipeShowDialog,{name:e.registeredName,open:t,onOpenChange:a=>!a&&u(!1),showLaunch:!1})]})}function s({health:a,containerStatus:c}){return a.ready?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),(0,b.jsx)("span",{className:"text-zinc-700 dark:text-zinc-300",children:"Ready"})]}):"loading"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(m.Loader2,{size:10,className:"animate-spin text-zinc-400"}),(0,b.jsx)("span",{className:"text-zinc-500 capitalize dark:text-zinc-400",children:c??"Checking…"})]}):"starting"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(m.Loader2,{size:10,className:"animate-spin text-amber-500"}),(0,b.jsx)("span",{className:"text-amber-700 dark:text-amber-300",children:"Starting…"})]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500"}),(0,b.jsx)("span",{className:"text-red-700 dark:text-red-300",title:a.reason??void 0,children:"Unreachable"})]})}var t=a.i(38756);let u=(0,a.i(64588).default)("memory-stick",[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]]);var v=a.i(61430),w=a.i(4733),x=a.i(56352);function y(a){if(!a)return 0;let b=parseFloat(a);return Number.isFinite(b)?b:0}function z(a){if(!a)return{hostCount:0,cpuAvg:0,gpuAvg:0,memUsedGb:0,memTotalGb:0,gpuMemUsedGb:0,gpuMemTotalGb:0,powerW:0,cpuTempC:0,gpuTempC:0,jobsTotal:0};let b=Object.values(a.hosts),c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;for(let a of b)c+=y(a.cpu_usage_pct),d+=y(a.gpu_util_pct),e+=y(a.mem_used_mb),f+=y(a.mem_total_mb),g+=y(a.gpu_mem_used_mb),h+=y(a.gpu_mem_total_mb),i+=y(a.gpu_power_w),j+=y(a.cpu_temp_c),k+=y(a.gpu_temp_c),l+=y(a.sparkrun_jobs);let m=b.length||1;return{hostCount:b.length,cpuAvg:c/m,gpuAvg:d/m,memUsedGb:e/1024,memTotalGb:f/1024,gpuMemUsedGb:g/1024,gpuMemTotalGb:h/1024,powerW:i,cpuTempC:j/m,gpuTempC:k/m,jobsTotal:l}}function A(){let[a,d]=(0,c.useState)(null),[e,h]=(0,c.useState)({cpu:[],gpu:[]}),[i,j]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{let c=await f.rpc.monitor.stream({intervalSec:2},{signal:a.signal});for await(let a of(j(!0),c)){if(b)break;d(a);let c=z(a);h(a=>({cpu:B(a.cpu,c.cpuAvg),gpu:B(a.gpu,c.gpuAvg)}))}}catch(a){b||a instanceof DOMException&&"AbortError"===a.name||console.error("[monitor.stream]",a)}finally{b||j(!1)}})(),()=>{b=!0,a.abort()}},[]);let k=z(a),l=k.memTotalGb?k.memUsedGb/k.memTotalGb*100:0,m=k.gpuMemTotalGb?k.gpuMemUsedGb/k.gpuMemTotalGb*100:0;return(0,b.jsx)(g.Card,{children:(0,b.jsxs)(g.CardBody,{className:"p-5",children:[(0,b.jsxs)("div",{className:"mb-4 flex items-baseline justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(v.Server,{size:14,className:"text-zinc-500"}),(0,b.jsx)("span",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Cluster overview"}),(0,b.jsxs)("span",{className:"text-xs text-zinc-500",children:["· ",k.hostCount||"—"," host",1===k.hostCount?"":"s"," · ",k.jobsTotal," job",1===k.jobsTotal?"":"s"]})]}),(0,b.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full "+(i?"animate-pulse bg-emerald-500":"bg-zinc-300"),title:i?"live":"reconnecting"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:[(0,b.jsx)(F,{icon:(0,b.jsx)(t.Cpu,{size:14}),tone:"sky",label:"CPU",value:`${k.cpuAvg.toFixed(1)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.cpuAvg,spark:e.cpu}),(0,b.jsx)(F,{icon:(0,b.jsx)(x.Zap,{size:14}),tone:"purple",label:"GPU",value:`${k.gpuAvg.toFixed(0)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.gpuAvg,spark:e.gpu}),(0,b.jsx)(F,{icon:(0,b.jsx)(u,{size:14}),tone:"green",label:"Memory",value:`${k.memUsedGb.toFixed(0)} / ${k.memTotalGb.toFixed(0)} GB`,sub:`${l.toFixed(0)}% used`,pct:l}),(0,b.jsx)(F,{icon:(0,b.jsx)(x.Zap,{size:14}),tone:"amber",label:"Power",value:`${k.powerW.toFixed(1)} W`,sub:k.gpuMemTotalGb?`GPU mem ${k.gpuMemUsedGb.toFixed(0)}/${k.gpuMemTotalGb.toFixed(0)} GB`:"total GPU draw",pct:m}),(0,b.jsx)(F,{icon:(0,b.jsx)(w.Thermometer,{size:14}),tone:"red",label:"Temps",value:k.cpuTempC||k.gpuTempC?`${k.gpuTempC.toFixed(0)}\xb0C / ${k.cpuTempC.toFixed(0)}\xb0C`:"—",sub:"GPU / CPU avg",pct:k.gpuTempC>0?Math.min(100,k.gpuTempC/100*100):0})]})]})})}function B(a,b){let c=a.concat(b);return c.length>40?c.slice(-40):c}let C={sky:"bg-sky-500 dark:bg-sky-400",purple:"bg-purple-500 dark:bg-purple-400",green:"bg-emerald-500 dark:bg-emerald-400",amber:"bg-amber-500 dark:bg-amber-400",red:"bg-red-500 dark:bg-red-400"},D={sky:"stroke-sky-500 dark:stroke-sky-400",purple:"stroke-purple-500 dark:stroke-purple-400",green:"stroke-emerald-500 dark:stroke-emerald-400",amber:"stroke-amber-500 dark:stroke-amber-400"},E={sky:"text-sky-600 dark:text-sky-400",purple:"text-purple-600 dark:text-purple-400",green:"text-emerald-600 dark:text-emerald-400",amber:"text-amber-600 dark:text-amber-400",red:"text-red-600 dark:text-red-400"};function F({icon:a,label:c,value:d,sub:e,pct:f,tone:g,spark:h}){let i=Math.max(0,Math.min(100,f));return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:`flex items-center gap-1.5 text-xs font-medium ${E[g]}`,children:[a,c]}),h&&h.length>2&&(0,b.jsx)(G,{values:h,className:D[g]})]}),(0,b.jsx)("div",{className:"font-mono text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:d}),(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-zinc-100 dark:bg-zinc-800",children:(0,b.jsx)("div",{className:`${C[g]} h-full transition-all duration-300`,style:{width:`${i}%`}})}),(0,b.jsx)("div",{className:"text-[11px] text-zinc-500 dark:text-zinc-400",children:e})]})}function G({values:a,className:c}){let d=Math.max(100,...a),e=56/Math.max(1,a.length-1),f=a.map((a,b)=>`${0===b?"M":"L"} ${b*e} ${16-a/d*16}`).join(" ");return(0,b.jsx)("svg",{width:56,height:16,viewBox:"0 0 56 16",className:"flex-shrink-0",children:(0,b.jsx)("path",{d:f,fill:"none",strokeWidth:1.25,className:c})})}a.s(["DashboardLive",0,function({initial:a,recipeByCluster:j}){let[k,l]=(0,c.useState)(a),[m,n]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{for await(let c of(await f.rpc.status.stream({intervalMs:3e3},{signal:a.signal}))){if(b)break;l(c),n(!0)}}catch(a){b||n(!1),a instanceof DOMException&&"AbortError"===a.name||console.error("[status.stream]",a)}})(),()=>{b=!0,a.abort()}},[]),(0,b.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Dashboard"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsxs)(h.Badge,{tone:"sky",children:[k.host_count," host",1===k.host_count?"":"s"]}),(0,b.jsxs)(h.Badge,{tone:"green",children:[k.total_containers," running"]}),(0,b.jsx)(h.Badge,{tone:m?"neutral":"amber",children:m?"live":"reconnecting…"})]})]}),(0,b.jsx)(A,{}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)("h2",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Workloads"}),0===k.solo_entries.length?(0,b.jsx)(g.Card,{children:(0,b.jsxs)(g.CardBody,{className:"flex flex-col items-center gap-4 py-12 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-sky-50 text-sky-600 dark:bg-sky-950 dark:text-sky-400",children:(0,b.jsx)(e.Rocket,{size:22})}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:"No workloads running"}),(0,b.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Launch a recipe to start an inference workload on your cluster."})]}),(0,b.jsx)(d.default,{href:"/launch",children:(0,b.jsxs)(i.Button,{variant:"primary",children:[(0,b.jsx)(e.Rocket,{size:14}),"Launch a recipe"]})})]})}):(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2",children:k.solo_entries.map(a=>(0,b.jsx)(r,{workload:a,recipe:j.get(a.cluster_id)},a.cluster_id))})]})]})}],10558)}];
2
+
3
+ //# sourceMappingURL=app_components_dashboard_DashboardLive_tsx_10_yvzp._.js.map
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/K7dVTTbWGsVpPXwtNCeQZ/_buildManifest.js",
11
- "static/K7dVTTbWGsVpPXwtNCeQZ/_ssgManifest.js",
12
- "static/K7dVTTbWGsVpPXwtNCeQZ/_clientMiddlewareManifest.js"
10
+ "static/6eyYzTPHshjxU0hHbw9jq/_buildManifest.js",
11
+ "static/6eyYzTPHshjxU0hHbw9jq/_ssgManifest.js",
12
+ "static/6eyYzTPHshjxU0hHbw9jq/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/03q757hpt3301.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.svg"/><link rel="stylesheet" href="/_next/static/chunks/093uee.ipdzn_.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0o0far65u959f.js" async=""></script><script src="/_next/static/chunks/0gwjk38kzji83.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-01vtk6cqgo2n6.js" async=""></script><script src="/_next/static/chunks/05j~t092g6cly.js" async=""></script><script src="/_next/static/chunks/0993.7t31zdad.js" async=""></script><script src="/_next/static/chunks/0k1wfm6d8.rv0.js" async=""></script><script src="/_next/static/chunks/0-3wtr85ap-rp.js" async=""></script><script src="/_next/static/chunks/0kvzvlk316~8k.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0ea5e9" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0b1220" media="(prefers-color-scheme: dark)"/><title>sparkrun</title><meta name="description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="application-name" content="sparkrun"/><meta property="og:title" content="sparkrun"/><meta property="og:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta property="og:image" content="http://localhost:3000/logo.svg"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="sparkrun"/><meta name="twitter:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="twitter:image" content="http://localhost:3000/logo.svg"/><link rel="icon" href="/icon.svg?icon.113mx9lzchuti.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><div id="root-isolation" class="flex min-h-screen flex-col"><header class="sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex h-14 max-w-7xl items-center justify-between px-6"><div class="flex items-center gap-4"><a class="flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100" href="/"><img alt="" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/>sparkrun</a></div><nav class="flex items-center gap-1"><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/dashboard"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Dashboard</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/recipes"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-text" aria-hidden="true"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"></path><path d="M8 11h8"></path><path d="M8 7h6"></path></svg>Recipes</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/launch"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket" aria-hidden="true"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"></path><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"></path></svg>Launch</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/benchmarks"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>Benchmarks</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/monitor"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-line" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="m19 9-5 5-4-4-3 3"></path></svg>Monitor</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg>Chat</a></nav></div></header><main class="mx-auto w-full max-w-7xl flex-1 px-6 py-8"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><footer class="mt-12 border-t border-zinc-200 dark:border-zinc-800"><div class="mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row"><div class="flex items-center gap-2 text-zinc-500 dark:text-zinc-400"><img alt="" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/><span><span class="font-medium text-zinc-700 dark:text-zinc-300">sparkrun-ui</span> · web UI for<!-- --> <a target="_blank" rel="noreferrer" class="underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400" href="https://github.com/mcampa/sparkrun">sparkrun</a></span></div><a target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="View source on GitHub" href="https://github.com/mcampa/sparkrun-ui"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z"></path></svg><span>GitHub</span></a></div></footer></div><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84538,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"ToastProvider\"]\n3:I[55367,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"\"]\n4:I[83540,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"Image\"]\n5:I[92250,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"HeaderStats\"]\n6:I[54858,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"Nav\"]\n7:I[12224,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\"]\n8:I[67689,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\"]\nf:I[77663,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/093uee.ipdzn_.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/093uee.ipdzn_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/05j~t092g6cly.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0993.7t31zdad.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0kvzvlk316~8k.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"root-isolation\",\"className\":\"flex min-h-screen flex-col\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex h-14 max-w-7xl items-center justify-between px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"$L3\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L4\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":20,\"height\":20,\"priority\":true}],\"sparkrun\"]}],[\"$\",\"$L5\",null,{}]]}],[\"$\",\"$L6\",null,{}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto w-full max-w-7xl flex-1 px-6 py-8\",\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"mt-12 border-t border-zinc-200 dark:border-zinc-800\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 text-zinc-500 dark:text-zinc-400\",\"children\":[[\"$\",\"$L4\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":16,\"height\":16}],[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"font-medium text-zinc-700 dark:text-zinc-300\",\"children\":\"sparkrun-ui\"}],\" · web UI for\",\" \",[\"$\",\"$L3\",null,{\"href\":\"https://github.com/mcampa/sparkrun\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400\",\"children\":\"sparkrun\"}]]}]]}],[\"$\",\"$L3\",null,{\"href\":\"https://github.com/mcampa/sparkrun-ui\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100\",\"aria-label\":\"View source on GitHub\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"children\":\"$L9\"}],\"$La\"]}]]}]}]]}]}]}]}]]}],{\"children\":[\"$Lb\",{\"children\":[\"$Lc\",{},null,false,null]},null,false,\"$@d\"]},null,false,null],\"$Le\",false]],\"m\":\"$undefined\",\"G\":[\"$f\",[\"$L10\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"K7dVTTbWGsVpPXwtNCeQZ\"}\n"])</script><script>self.__next_f.push([1,"11:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"OutletBoundary\"]\n12:\"$Sreact.suspense\"\n15:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"ViewportBoundary\"]\n17:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"MetadataBoundary\"]\n9:[\"$\",\"path\",null,{\"d\":\"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z\"}]\na:[\"$\",\"span\",null,{\"children\":\"GitHub\"}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@13\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[]\nd:\"$W14\"\ne:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L18\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n10:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/093uee.ipdzn_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0ea5e9\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0b1220\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"19:I[6726,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0993.7t31zdad.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"IconMark\"]\n13:null\n18:[[\"$\",\"title\",\"0\",{\"children\":\"sparkrun\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"http://localhost:3000/logo.svg\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3000/logo.svg\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.113mx9lzchuti.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L19\",\"11\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.svg"/><link rel="stylesheet" href="/_next/static/chunks/0y8z_lexja5v6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0o0far65u959f.js" async=""></script><script src="/_next/static/chunks/0gwjk38kzji83.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-01vtk6cqgo2n6.js" async=""></script><script src="/_next/static/chunks/05j~t092g6cly.js" async=""></script><script src="/_next/static/chunks/01f1zms1lqrcy.js" async=""></script><script src="/_next/static/chunks/0k1wfm6d8.rv0.js" async=""></script><script src="/_next/static/chunks/0-3wtr85ap-rp.js" async=""></script><script src="/_next/static/chunks/0kvzvlk316~8k.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0ea5e9" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0b1220" media="(prefers-color-scheme: dark)"/><title>sparkrun</title><meta name="description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="application-name" content="sparkrun"/><meta property="og:title" content="sparkrun"/><meta property="og:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta property="og:image" content="http://localhost:5678/logo.svg"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="sparkrun"/><meta name="twitter:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="twitter:image" content="http://localhost:5678/logo.svg"/><link rel="icon" href="/icon.svg?icon.113mx9lzchuti.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><div id="root-isolation" class="flex min-h-screen flex-col"><canvas class="pointer-events-none fixed inset-0 -z-10" aria-hidden="true"></canvas><header class="sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex h-14 max-w-7xl items-center justify-between px-6"><div class="flex items-center gap-4"><a class="flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100" href="/"><img alt="" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/>sparkrun</a></div><nav class="flex items-center gap-1"><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/dashboard"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Dashboard</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/recipes"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-text" aria-hidden="true"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"></path><path d="M8 11h8"></path><path d="M8 7h6"></path></svg>Recipes</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/launch"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket" aria-hidden="true"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"></path><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"></path></svg>Launch</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/benchmarks"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>Benchmarks</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/monitor"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-line" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="m19 9-5 5-4-4-3 3"></path></svg>Monitor</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg>Chat</a></nav></div></header><main class="mx-auto w-full max-w-7xl flex-1 px-6 py-8"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><footer class="mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row"><div class="flex items-center gap-2 text-zinc-500 dark:text-zinc-400"><img alt="" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/><span><span class="font-medium text-zinc-700 dark:text-zinc-300">sparkrun-ui</span> · web UI for<!-- --> <a target="_blank" rel="noreferrer" class="underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400" href="https://github.com/mcampa/sparkrun">sparkrun</a></span></div><a target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="View source on GitHub" href="https://github.com/mcampa/sparkrun-ui"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z"></path></svg><span>GitHub</span></a></div></footer></div><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84538,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"ToastProvider\"]\n3:I[1842,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"AnimatedBackground\"]\n4:I[55367,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"\"]\n5:I[83540,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"Image\"]\n6:I[92250,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"HeaderStats\"]\n7:I[54858,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"Nav\"]\n8:I[12224,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\"]\n9:I[67689,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\"]\n10:I[77663,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0y8z_lexja5v6.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0y8z_lexja5v6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/05j~t092g6cly.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/01f1zms1lqrcy.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0kvzvlk316~8k.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"root-isolation\",\"className\":\"flex min-h-screen flex-col\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex h-14 max-w-7xl items-center justify-between px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"$L4\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":20,\"height\":20,\"priority\":true}],\"sparkrun\"]}],[\"$\",\"$L6\",null,{}]]}],[\"$\",\"$L7\",null,{}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto w-full max-w-7xl flex-1 px-6 py-8\",\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 text-zinc-500 dark:text-zinc-400\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":16,\"height\":16}],[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"font-medium text-zinc-700 dark:text-zinc-300\",\"children\":\"sparkrun-ui\"}],\" · web UI for\",\" \",[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400\",\"children\":\"sparkrun\"}]]}]]}],[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun-ui\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100\",\"aria-label\":\"View source on GitHub\",\"children\":[\"$La\",\"$Lb\"]}]]}]}]]}]}]}]}]]}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$@e\"]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[\"$L11\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"6eyYzTPHshjxU0hHbw9jq\"}\n"])</script><script>self.__next_f.push([1,"12:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n16:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"ViewportBoundary\"]\n18:I[76779,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"MetadataBoundary\"]\na:[\"$\",\"svg\",null,{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z\"}]}]\nb:[\"$\",\"span\",null,{\"children\":\"GitHub\"}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"15:[]\ne:\"$W15\"\nf:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L19\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n11:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0y8z_lexja5v6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0ea5e9\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0b1220\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"1a:I[6726,[\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/01f1zms1lqrcy.js\",\"/_next/static/chunks/0k1wfm6d8.rv0.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\",\"/_next/static/chunks/0kvzvlk316~8k.js\"],\"IconMark\"]\n14:null\n19:[[\"$\",\"title\",\"0\",{\"children\":\"sparkrun\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.113mx9lzchuti.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1a\",\"11\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0o0far65u959f.js" async=""></script><script src="/_next/static/chunks/0gwjk38kzji83.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-01vtk6cqgo2n6.js" async=""></script><script src="/_next/static/chunks/06k6o5~7u5tj3.js" async=""></script><script src="/_next/static/chunks/0-3wtr85ap-rp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[12224,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\"]\n3:I[67689,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\"]\n4:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"ViewportBoundary\"]\na:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"MetadataBoundary\"]\nc:I[77663,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"K7dVTTbWGsVpPXwtNCeQZ\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0o0far65u959f.js" async=""></script><script src="/_next/static/chunks/0gwjk38kzji83.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-01vtk6cqgo2n6.js" async=""></script><script src="/_next/static/chunks/06k6o5~7u5tj3.js" async=""></script><script src="/_next/static/chunks/0-3wtr85ap-rp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[12224,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\"]\n3:I[67689,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\"]\n4:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"ViewportBoundary\"]\na:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"MetadataBoundary\"]\nc:I[77663,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0-3wtr85ap-rp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"6eyYzTPHshjxU0hHbw9jq\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"29cFHyOW9vck2b6F+OCet8GUl3zWwUI5r2NeONOul8k=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"1LhiOrMYwuWdpgrnJWmpuA9/2zYXajBOg4aoayFWqRk=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "29cFHyOW9vck2b6F+OCet8GUl3zWwUI5r2NeONOul8k="
4
+ "encryptionKey": "1LhiOrMYwuWdpgrnJWmpuA9/2zYXajBOg4aoayFWqRk="
5
5
  }
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21630,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},69131,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return P},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return h},WEB_VITALS:function(){return o},execOnce:function(){return a},getDisplayName:function(){return f},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return E}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,h=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class P extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},72489,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},9476,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},22162,96332,e=>{"use strict";e.s(["default",0,{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}],22162),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],96332)},92339,e=>{"use strict";var t=e.i(73576),r=e.i(22162),n=e.i(96332),i=e.i(9476);let o=(0,t.createContext)({}),a=(0,t.forwardRef)(({color:e,size:a,strokeWidth:s,absoluteStrokeWidth:l,className:u="",children:c,iconNode:f,...d},p)=>{let{size:m=24,strokeWidth:g=2,absoluteStrokeWidth:h=!1,color:y="currentColor",className:b=""}=(0,t.useContext)(o)??{},v=l??h?24*Number(s??g)/Number(a??m):s??g;return(0,t.createElement)("svg",{ref:p,...r.default,width:a??m??r.default.width,height:a??m??r.default.height,stroke:e??y,strokeWidth:v,className:(0,i.mergeClasses)("lucide",b,u),...!c&&!(0,n.hasA11yProp)(d)&&{"aria-hidden":"true"},...d},[...f.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])});e.s(["default",0,a],92339)},58605,e=>{"use strict";var t=e.i(73576);let r={};e.s(["useRefWithInit",0,function(e,n){let i=t.useRef(r);return i.current===r&&(i.current=e(n)),i}])},27402,e=>{"use strict";let t=function(e,...t){let r=new URL("https://base-ui.com/production-error");return r.searchParams.set("code",e.toString()),t.forEach(e=>r.searchParams.append("args[]",e)),`Base UI error #${e}; visit ${r} for the full message.`};e.s(["default",0,t])},59799,e=>{"use strict";let t=parseInt(e.i(73576).version,10);e.s(["isReactVersionAtLeast",0,function(e){return t>=e}])},53506,e=>{"use strict";let t={...e.i(73576)};e.s(["SafeReact",0,t])},22978,e=>{"use strict";var t=e.i(53506),r=e.i(58605);let n=t.SafeReact.useInsertionEffect,i=n&&n!==t.SafeReact.useLayoutEffect?n:e=>e();function o(){let e={next:void 0,callback:a,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function a(){}e.s(["useStableCallback",0,function(e){let t=(0,r.useRefWithInit)(o).current;return t.next=e,i(t.effect),t.trampoline}])},59183,e=>{"use strict";var t=e.i(73576);let r="u">typeof document?t.useLayoutEffect:()=>{};e.s(["useIsoLayoutEffect",0,r])},90319,e=>{"use strict";let t=Object.freeze([]),r=Object.freeze({});e.s(["EMPTY_ARRAY",0,t,"EMPTY_OBJECT",0,r,"NOOP",0,function(){}])},92615,e=>{"use strict";let t;function r(){return"u">typeof window}function n(e){return a(e)?(e.nodeName||"").toLowerCase():"#document"}function i(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function o(e){var t;return null==(t=(a(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function a(e){return!!r()&&(e instanceof Node||e instanceof i(e).Node)}function s(e){return!!r()&&(e instanceof Element||e instanceof i(e).Element)}function l(e){return!!r()&&(e instanceof HTMLElement||e instanceof i(e).HTMLElement)}function u(e){return!(!r()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof i(e).ShadowRoot)}function c(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=b(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&"inline"!==i&&"contents"!==i}function f(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let d=/transform|translate|scale|rotate|perspective|filter/,p=/paint|layout|strict|content/,m=e=>!!e&&"none"!==e;function g(e){let t=s(e)?b(e):e;return m(t.transform)||m(t.translate)||m(t.scale)||m(t.rotate)||m(t.perspective)||!h()&&(m(t.backdropFilter)||m(t.filter))||d.test(t.willChange||"")||p.test(t.contain||"")}function h(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function y(e){return/^(html|body|#document)$/.test(n(e))}function b(e){return i(e).getComputedStyle(e)}function v(e){if("html"===n(e))return e;let t=e.assignedSlot||e.parentNode||u(e)&&e.host||o(e);return u(t)?t.host:t}function w(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}e.s(["getComputedStyle",0,b,"getContainingBlock",0,function(e){let t=v(e);for(;l(t)&&!y(t);){if(g(t))return t;if(f(t))break;t=v(t)}return null},"getDocumentElement",0,o,"getFrameElement",0,w,"getNodeName",0,n,"getNodeScroll",0,function(e){return s(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}},"getOverflowAncestors",0,function e(t,r,n){var o;void 0===r&&(r=[]),void 0===n&&(n=!0);let a=function e(t){let r=v(t);return y(r)?t.ownerDocument?t.ownerDocument.body:t.body:l(r)&&c(r)?r:e(r)}(t),s=a===(null==(o=t.ownerDocument)?void 0:o.body),u=i(a);if(!s)return r.concat(a,e(a,[],n));{let t=w(u);return r.concat(u,u.visualViewport||[],c(a)?a:[],t&&n?e(t):[])}},"getParentNode",0,v,"getWindow",0,i,"isContainingBlock",0,g,"isElement",0,s,"isHTMLElement",0,l,"isLastTraversableNode",0,y,"isNode",0,a,"isOverflowElement",0,c,"isShadowRoot",0,u,"isTableElement",0,function(e){return/^(table|td|th)$/.test(n(e))},"isTopLayer",0,f,"isWebKit",0,h])},85182,e=>{"use strict";var t=e.i(92615);e.s(["ownerWindow",()=>t.getWindow])},12335,e=>{"use strict";let t={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},r={...t,position:"fixed",top:0,left:0},n={...t,position:"absolute"};e.s(["visuallyHidden",0,r,"visuallyHiddenInput",0,n])},24224,e=>{"use strict";var t=e.i(58605);function r(){return{callback:null,cleanup:null,refs:[]}}function n(e,t){if(e.refs=t,t.every(e=>null==e)){e.callback=null;return}e.callback=r=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=r){let n=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(null!=i)switch(typeof i){case"function":{let t=i(r);"function"==typeof t&&(n[e]=t);break}case"object":i.current=r}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let r=t[e];if(null!=r)switch(typeof r){case"function":{let t=n[e];"function"==typeof t?t():r(null);break}case"object":r.current=null}}}}}}e.s(["useMergedRefs",0,function(e,i,o,a){var s,l,u,c,f;let d=(0,t.useRefWithInit)(r).current;return s=d,l=e,u=i,c=o,f=a,(s.refs[0]!==l||s.refs[1]!==u||s.refs[2]!==c||s.refs[3]!==f)&&n(d,[e,i,o,a]),d.callback},"useMergedRefsN",0,function(e){var i,o;let a=(0,t.useRefWithInit)(r).current;return i=a,o=e,(i.refs.length!==o.length||i.refs.some((e,t)=>e!==o[t]))&&n(a,e),a.callback}])},18117,e=>{"use strict";var t=e.i(73576),r=e.i(59799);e.s(["getReactElementRef",0,function(e){if(!t.isValidElement(e))return null;let n=e.props;return((0,r.isReactVersionAtLeast)(19)?n?.ref:e.ref)??null}])},53041,e=>{"use strict";e.s(["mergeObjects",0,function(e,t){return e&&!t?e:!e&&t?t:e||t?{...e,...t}:void 0}])},3712,e=>{"use strict";e.s(["warn",0,function(){}])},39345,53029,63969,e=>{"use strict";e.s(["getStateAttributesProps",0,function(e,t){let r={};for(let n in e){let i=e[n];if(t?.hasOwnProperty(n)){let e=t[n](i);null!=e&&Object.assign(r,e);continue}!0===i?r[`data-${n.toLowerCase()}`]="":i&&(r[`data-${n.toLowerCase()}`]=i.toString())}return r}],39345),e.s(["resolveClassName",0,function(e,t){return"function"==typeof e?e(t):e}],53029),e.s(["resolveStyle",0,function(e,t){return"function"==typeof e?e(t):e}],63969)},53289,e=>{"use strict";var t=e.i(53041);let r={};function n(e){return a(e)?{...s(e,r)}:function(e){let t={...e};for(let e in t){let r=t[e];o(e,r)&&(t[e]=l(r))}return t}(e)}function i(e,r){return a(r)?s(r,e):function(e,r){if(!r)return e;for(let n in r){let i=r[n];switch(n){case"style":e[n]=(0,t.mergeObjects)(e.style,i);break;case"className":e[n]=c(e.className,i);break;default:o(n,i)?e[n]=function(e,t){return t?e?(...r)=>{let n=r[0];if(f(n)){u(n);let i=t(...r);return n.baseUIHandlerPrevented||e?.(...r),i}let i=t(...r);return e?.(...r),i}:l(t):e}(e[n],i):e[n]=i}}return e}(e,r)}function o(e,t){let r=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2);return 111===r&&110===n&&i>=65&&i<=90&&("function"==typeof t||void 0===t)}function a(e){return"function"==typeof e}function s(e,t){return a(e)?e(t):e??r}function l(e){return e?(...t)=>{let r=t[0];return f(r)&&u(r),e(...t)}:e}function u(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function c(e,t){return t?e?t+" "+e:t:e}function f(e){return null!=e&&"object"==typeof e&&"nativeEvent"in e}e.s(["makeEventPreventable",0,u,"mergeClassNames",0,c,"mergeProps",0,function(e,t,r,o,a){if(!r&&!o&&!a&&!e)return n(t);let s=n(e);return t&&(s=i(s,t)),r&&(s=i(s,r)),o&&(s=i(s,o)),a&&(s=i(s,a)),s},"mergePropsN",0,function(e){if(0===e.length)return r;if(1===e.length)return n(e[0]);let t=n(e[0]);for(let r=1;r<e.length;r+=1)t=i(t,e[r]);return t}])},82911,e=>{"use strict";var t=e.i(27402),r=e.i(73576),n=e.i(24224),i=e.i(18117),o=e.i(53041);e.i(3712);var a=e.i(90319),s=e.i(39345),l=e.i(53029),u=e.i(63969),c=e.i(53289);let f=Symbol.for("react.lazy");e.s(["useRenderElement",0,function(e,d,p={}){let m=d.render,g=function(e,t={}){var r;let{className:f,style:d,render:p}=e,{state:m=a.EMPTY_OBJECT,ref:g,props:h,stateAttributesMapping:y,enabled:b=!0}=t,v=b?(0,l.resolveClassName)(f,m):void 0,w=b?(0,u.resolveStyle)(d,m):void 0,P=b?(0,s.getStateAttributesProps)(m,y):a.EMPTY_OBJECT,E=b&&h?Array.isArray(r=h)?(0,c.mergePropsN)(r):(0,c.mergeProps)(void 0,r):void 0,_=b?(0,o.mergeObjects)(P,E)??{}:a.EMPTY_OBJECT;return("u">typeof document&&(b?Array.isArray(g)?_.ref=(0,n.useMergedRefsN)([_.ref,(0,i.getReactElementRef)(p),...g]):_.ref=(0,n.useMergedRefs)(_.ref,(0,i.getReactElementRef)(p),g):(0,n.useMergedRefs)(null,null)),b)?(void 0!==v&&(_.className=(0,c.mergeClassNames)(_.className,v)),void 0!==w&&(_.style=(0,o.mergeObjects)(_.style,w)),_):a.EMPTY_OBJECT}(d,p);return!1===p.enabled?null:function(e,n,i,o){if(n){if("function"==typeof n)return n(i,o);let e=(0,c.mergeProps)(i,n.props);e.ref=i.ref;let t=n;return t?.$$typeof===f&&(t=r.Children.toArray(n)[0]),r.cloneElement(t,e)}if(e&&"string"==typeof e){var a,s;return a=e,s=i,"button"===a?(0,r.createElement)("button",{type:"button",...s,key:s.key}):"img"===a?(0,r.createElement)("img",{alt:"",...s,key:s.key}):r.createElement(a,s)}throw Error((0,t.default)(8))}(e,m,g,p.state??a.EMPTY_OBJECT)}])},28469,e=>{"use strict";var t=e.i(73576),r=e.i(53506);let n=0,i=r.SafeReact.useId;e.s(["useId",0,function(e,r){if(void 0!==i){let t=i();return e??(r?`${r}-${t}`:t)}return function(e,r="mui"){let[i,o]=t.useState(e),a=e||i;return t.useEffect(()=>{null==i&&(n+=1,o(`${r}-${n}`))},[i,r]),a}(e,r)}])},69042,10187,e=>{"use strict";e.i(90954);var t=e.i(73576),r=e.i(92615),n=e.i(22978),i=e.i(59183),o=e.i(53289),a=e.i(27402);let s=t.createContext(void 0);function l(e=!1){let r=t.useContext(s);if(void 0===r&&!e)throw Error((0,a.default)(16));return r}function u(e){return(0,r.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,s,"useCompositeRootContext",0,l],10187),e.s(["useButton",0,function(e={}){let{disabled:r=!1,focusableWhenDisabled:a,tabIndex:s=0,native:c=!0,composite:f}=e,d=t.useRef(null),p=l(!0),m=f??void 0!==p,{props:g}=function(e){let{focusableWhenDisabled:r,disabled:n,composite:i=!1,tabIndex:o=0,isNativeButton:a}=e,s=i&&!1!==r,l=i&&!1===r;return{props:t.useMemo(()=>{let e={onKeyDown(e){n&&r&&"Tab"!==e.key&&e.preventDefault()}};return i||(e.tabIndex=o,!a&&n&&(e.tabIndex=r?o:-1)),(a&&(r||s)||!a&&n)&&(e["aria-disabled"]=n),a&&(!r||l)&&(e.disabled=n),e},[i,n,r,s,l,a,o])}}({focusableWhenDisabled:a,disabled:r,composite:m,tabIndex:s,isNativeButton:c}),h=t.useCallback(()=>{let e=d.current;u(e)&&m&&r&&void 0===g.disabled&&e.disabled&&(e.disabled=!1)},[r,g.disabled,m]);return(0,i.useIsoLayoutEffect)(h,[h]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:n,onKeyUp:i,onKeyDown:a,onPointerDown:s,...l}=e;return(0,o.mergeProps)({onClick(e){r?e.preventDefault():t?.(e)},onMouseDown(e){r||n?.(e)},onKeyDown(e){var n;if(r||((0,o.makeEventPreventable)(e),a?.(e),e.baseUIHandlerPrevented))return;let i=e.target===e.currentTarget,s=e.currentTarget,l=u(s),f=!c&&(n=s,!!(n?.tagName==="A"&&n?.href)),d=i&&(c?l:!f),p="Enter"===e.key,g=" "===e.key,h=s.getAttribute("role"),y=h?.startsWith("menuitem")||"option"===h||"gridcell"===h;if(i&&m&&g){if(e.defaultPrevented&&y)return;e.preventDefault(),f||c&&l?(s.click(),e.preventBaseUIHandler()):d&&(t?.(e),e.preventBaseUIHandler());return}d&&(!c&&(g||p)&&e.preventDefault(),!c&&p&&t?.(e))},onKeyUp(e){r||(((0,o.makeEventPreventable)(e),i?.(e),e.target===e.currentTarget&&c&&m&&u(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||c||m||" "!==e.key||t?.(e)))},onPointerDown(e){r?e.preventDefault():s?.(e)}},c?{type:"button"}:{role:"button"},g,l)},[r,g,m,c]),buttonRef:(0,n.useStableCallback)(e=>{d.current=e,h()})}}],69042)},82541,23846,e=>{"use strict";var t=e.i(90319);e.s(["createChangeEventDetails",0,function(e,r,n,i){let o=!1,a=!1,s=i??t.EMPTY_OBJECT;return{reason:e,event:r??new Event("base-ui"),cancel(){o=!0},allowPropagation(){a=!0},get isCanceled(){return o},get isPropagationAllowed(){return a},trigger:n,...s}},"createGenericEventDetails",0,function(e,r,n){let i=n??t.EMPTY_OBJECT;return{reason:e,event:r??new Event("base-ui"),...i}}],82541),e.s(["cancelOpen",0,"cancel-open","chipRemovePress",0,"chip-remove-press","clearPress",0,"clear-press","closePress",0,"close-press","closeWatcher",0,"close-watcher","decrementPress",0,"decrement-press","disabled",0,"disabled","drag",0,"drag","escapeKey",0,"escape-key","focusOut",0,"focus-out","imperativeAction",0,"imperative-action","incrementPress",0,"increment-press","initial",0,"initial","inputBlur",0,"input-blur","inputChange",0,"input-change","inputClear",0,"input-clear","inputPaste",0,"input-paste","inputPress",0,"input-press","itemPress",0,"item-press","keyboard",0,"keyboard","linkPress",0,"link-press","listNavigation",0,"list-navigation","missing",0,"missing","none",0,"none","outsidePress",0,"outside-press","pointer",0,"pointer","scrub",0,"scrub","siblingOpen",0,"sibling-open","swipe",0,"swipe","trackPress",0,"track-press","triggerFocus",0,"trigger-focus","triggerHover",0,"trigger-hover","triggerPress",0,"trigger-press","wheel",0,"wheel","windowResize",0,"window-resize"],34787);var r=e.i(34787);e.s(["REASONS",0,r],23846)},9929,e=>{"use strict";var t=e.i(73576),r=e.i(55284),n=e.i(89984),i=e.i(76350);let o=t.forwardRef(function(e,o){let{children:a,container:s,className:l,render:u,style:c,...f}=e,{portalNode:d,portalSubtree:p}=(0,n.useFloatingPortalNode)({container:s,ref:o,componentProps:e,elementProps:f});return p||d?(0,i.jsxs)(t.Fragment,{children:[p,d&&r.createPortal(a,d)]}):null});e.s(["FloatingPortalLite",0,o])},75442,e=>{"use strict";let t=(0,e.i(6927).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],75442)},12612,(e,t,r)=>{t.exports=e.r(63435)},80436,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066)._(e.r(21630)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},86032,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(73576);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},52958,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(69131),i=e.r(42783);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},50232,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},55367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066),a=e.r(76350),s=o._(e.r(73576)),l=e.r(80436),u=e.r(76968),c=e.r(86032),f=e.r(69131),d=e.r(36948);e.r(72489);let p=e.r(66215),m=e.r(82393),g=e.r(52958),h=e.r(96478);function y(t){var r,n;let i,o,y,[v,w]=(0,s.useOptimistic)(m.IDLE_LINK_STATUS),P=(0,s.useRef)(null),{href:E,as:_,children:C,prefetch:x=null,passHref:S,replace:k,shallow:O,scroll:j,onClick:R,onMouseEnter:M,onTouchStart:T,legacyBehavior:N=!1,onNavigate:z,transitionTypes:A,ref:I,unstable_dynamicOnHover:L,...D}=t;i=C,N&&("string"==typeof i||"number"==typeof i)&&(i=(0,a.jsx)("a",{children:i}));let $=s.default.useContext(u.AppRouterContext),U=!1!==x,B=!1!==x?null===(n=x)||"auto"===n?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,F="string"==typeof(r=_||E)?r:(0,l.formatUrl)(r);if(N){if(i?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(i)}let W=N?o&&"object"==typeof o&&o.ref:I,H=s.default.useCallback(e=>(null!==$&&(P.current=(0,m.mountLinkInstance)(e,F,$,B,U,w)),()=>{P.current&&((0,m.unmountLinkForCurrentNavigation)(P.current),P.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,F,$,B,w]),q={ref:(0,c.useMergedRef)(H,W),onClick(t){N||"function"!=typeof R||R(t),N&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!$||t.defaultPrevented||function(t,r,n,i,o,a,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(25435);s.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l)})}}(t,F,P,k,j,z,A)},onMouseEnter(e){N||"function"!=typeof M||M(e),N&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),$&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){N||"function"!=typeof T||T(e),N&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),$&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,f.isAbsoluteUrl)(F)?q.href=F:N&&!S&&("a"!==o.type||"href"in o.props)||(q.href=(0,d.addBasePath)(F)),y=N?s.default.cloneElement(o,q):(0,a.jsx)("a",{...D,...q,children:i}),(0,a.jsx)(b.Provider,{value:v,children:y})}e.r(50232);let b=(0,s.createContext)(m.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},64477,e=>{"use strict";let t=(0,e.i(6927).default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);e.s(["Rocket",0,t],64477)},74799,98638,e=>{"use strict";var t=e.i(6927);let r=(0,t.default)("thermometer",[["path",{d:"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"17jzev"}]]);e.s(["Thermometer",0,r],74799);let n=(0,t.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,n],98638)},4403,e=>{"use strict";let t=(0,e.i(6927).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],4403)},61080,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(73576),i="u"<typeof window,o=i?()=>{}:n.useLayoutEffect,a=i?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),s()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},52991,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},defaultHead:function(){return f}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(81258),a=e.r(44066),s=e.r(76350),l=a._(e.r(73576)),u=o._(e.r(61080)),c=e.r(37090);function f(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(72489);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,i;return e.reduce(d,[]).reverse().concat(f().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?o=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!a)&&n.has(t)?o=!1:(n.add(t),i[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,s.jsx)(u.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37848,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:o,objectFit:a}){let s=r?40*r:e,l=i?40*i:t,u=s&&l?`viewBox='0 0 ${s} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${u}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${u?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},1183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},4879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(72489);let n=e.r(42736),i=e.r(37848),o=e.r(1183),a=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:f=!1,loading:d,className:p,quality:m,width:g,height:h,fill:y=!1,style:b,overrideSrc:v,onLoad:w,onLoadingComplete:P,placeholder:E="empty",blurDataURL:_,fetchPriority:C,decoding:x="async",layout:S,objectFit:k,objectPosition:O,lazyBoundary:j,lazyRoot:R,...M},T){var N;let z,A,I,{imgConf:L,showAltText:D,blurComplete:$,defaultLoader:U}=T,B=L||o.imageConfigDefault;if("allSizes"in B)z=B;else{let e=[...B.deviceSizes,...B.imageSizes].sort((e,t)=>e-t),t=B.deviceSizes.sort((e,t)=>e-t),r=B.qualities?.sort((e,t)=>e-t);z={...B,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===U)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=M.loader||U;delete M.loader,delete M.srcSet;let W="__next_img_default"in F;if(W){if("custom"===z.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(S){"fill"===S&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[S];r&&!t&&(t=r)}let H="",q=l(g),K=l(h);if((N=e)&&"object"==typeof N&&(s(N)||void 0!==N.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,I=t.blurHeight,_=_||t.blurDataURL,H=t.src,!y)if(q||K){if(q&&!K){let e=q/t.width;K=Math.round(t.height*e)}else if(!q&&K){let e=K/t.height;q=Math.round(t.width*e)}}else q=t.width,K=t.height}let V=!c&&!f&&("lazy"===d||void 0===d);(!(e="string"==typeof e?e:H)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),z.unoptimized&&(r=!0),W&&!z.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let Y=l(m),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:k,objectPosition:O}:{},D?{}:{color:"transparent"},b),J=$||"empty"===E?null:"blur"===E?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:q,heightInt:K,blurWidth:A,blurHeight:I,blurDataURL:_||"",objectFit:G.objectFit})}")`:`url("${E}")`,X=a.includes(G.objectFit)?"fill"===G.objectFit?"100% 100%":"cover":G.objectFit,Q=J?{backgroundSize:X,backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Z=function({config:e,src:t,unoptimized:r,width:i,quality:o,sizes:a,loader:s}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,a),c=l.length-1;return{sizes:a||"w"!==u?a:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:o,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:s({config:e,src:t,quality:o,width:l[c]})}}({config:z,src:e,unoptimized:r,width:q,quality:Y,sizes:t,loader:F}),ee=V?"lazy":d;return{props:{...M,loading:ee,fetchPriority:C,width:q,height:K,decoding:x,className:p,style:{...G,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:v||Z.src},meta:{unoptimized:r,preload:f||c,placeholder:E,fill:y}}}},4044,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(81258)._(e.r(73576)),i=e.r(1183),o=n.default.createContext(i.imageConfigDefault)},34233,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(73576)).default.createContext(null)},2692,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},80934,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(2692),i=e.r(42736);function o({config:e,src:t,width:r,quality:a}){let s=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){s=n,r.delete("dpl");let i=r.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}o.__next_img_default=!0;let a=o},83540,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let n=e.r(81258),i=e.r(44066),o=e.r(76350),a=i._(e.r(73576)),s=n._(e.r(55284)),l=n._(e.r(52991)),u=e.r(4879),c=e.r(1183),f=e.r(4044);e.r(72489);let d=e.r(34233),p=n._(e.r(80934)),m=e.r(86032),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function h(e,t,r,n,i,o,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:s,className:l,style:u,fetchPriority:c,placeholder:f,loading:d,unoptimized:p,fill:g,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:P,sizesInput:E,onLoad:_,onError:C,...x},S)=>{let k=(0,a.useCallback)(e=>{e&&(C&&(e.src=e.src),e.complete&&h(e,f,b,v,w,p,E))},[e,f,b,v,w,C,p,E]),O=(0,m.useMergedRef)(S,k);return(0,o.jsx)("img",{...x,...y(c),loading:d,width:i,height:n,decoding:s,"data-nimg":g?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:O,onLoad:e=>{h(e.currentTarget,f,b,v,w,p,E)},onError:e=>{P(!0),"empty"!==f&&w(!0),C&&C(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,o.jsx)(l.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(d.RouterContext),n=(0,a.useContext)(f.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,m=(0,a.useRef)(s);(0,a.useEffect)(()=>{m.current=s},[s]);let h=(0,a.useRef)(l);(0,a.useEffect)(()=>{h.current=l},[l]);let[y,w]=(0,a.useState)(!1),[P,E]=(0,a.useState)(!1),{props:_,meta:C}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:P});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b,{..._,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:w,setShowAltText:E,sizesInput:e.sizes,ref:t}),C.preload?(0,o.jsx)(v,{isAppRouter:!r,imgAttributes:_}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54858,e=>{"use strict";var t=e.i(76350),r=e.i(55367),n=e.i(12612),i=e.i(6927);let o=(0,i.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),a=(0,i.default)("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),s=(0,i.default)("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),l=(0,i.default)("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]);var u=e.i(4403),c=e.i(64477),f=e.i(33209);let d=[{href:"/dashboard",label:"Dashboard",icon:o},{href:"/recipes",label:"Recipes",icon:a},{href:"/launch",label:"Launch",icon:c.Rocket},{href:"/benchmarks",label:"Benchmarks",icon:s},{href:"/monitor",label:"Monitor",icon:l},{href:"/chat",label:"Chat",icon:u.MessageSquare}];e.s(["Nav",0,function(){let e=(0,n.usePathname)();return(0,t.jsx)("nav",{className:"flex items-center gap-1",children:d.map(({href:n,label:i,icon:o})=>{let a=e===n||e.startsWith(`${n}/`);return(0,t.jsxs)(r.default,{href:n,className:(0,f.cn)("inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors",a?"bg-zinc-200 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-100":"text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100"),children:[(0,t.jsx)(o,{size:16,strokeWidth:2}),i]},n)})})}],54858)},92250,e=>{"use strict";var t=e.i(76350),r=e.i(73576),n=e.i(74799),i=e.i(98638),o=e.i(21432);function a(e){if(!e)return 0;let t=parseFloat(e);return Number.isFinite(t)?t:0}let s={gpuPct:0,gpuTempC:0,connected:!1};e.s(["HeaderStats",0,function(){let[e,l]=(0,r.useState)(s);return((0,r.useEffect)(()=>{let e=new AbortController,t=!1;return(async()=>{try{for await(let r of(await o.rpc.monitor.stream({intervalSec:3},{signal:e.signal}))){if(t)break;let e=Object.values(r.hosts),n=0,i=0;for(let t of e)n+=a(t.gpu_util_pct),i+=a(t.gpu_temp_c);let o=e.length||1;l({gpuPct:n/o,gpuTempC:i/o,connected:!0})}}catch{t||l(e=>({...e,connected:!1}))}})(),()=>{t=!0,e.abort()}},[]),e.connected||0!==e.gpuPct)?(0,t.jsxs)("div",{className:"flex items-center gap-3 text-xs text-zinc-500 dark:text-zinc-400",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",title:"GPU utilization",children:[(0,t.jsx)(i.Zap,{size:12,className:e.gpuPct>0?"text-purple-500":"text-zinc-400"}),e.gpuPct.toFixed(0),"%"]}),e.gpuTempC>0&&(0,t.jsxs)("span",{className:"flex items-center gap-1",title:"GPU temperature",children:[(0,t.jsx)(n.Thermometer,{size:12,className:"text-red-500"}),e.gpuTempC.toFixed(0),"°C"]})]}):null}])},1842,e=>{"use strict";var t=e.i(76350),r=e.i(73576);e.s(["AnimatedBackground",0,function(){let e=(0,r.useRef)(null),n=(0,r.useRef)(0);return(0,r.useEffect)(()=>{let t=e.current;if(!t)return;let r=t.getContext("2d");if(!r)return;let i=0,o=0;function a(){i=t.width=window.innerWidth,o=t.height=window.innerHeight}return a(),window.addEventListener("resize",a),n.current=requestAnimationFrame(function e(){r.clearRect(0,0,i,o);let t=3e-4*performance.now(),a=window.matchMedia("(prefers-color-scheme: dark)").matches,s=a?.08:.06,l=a?80:200,u=a?60:180,c=a?100:220,f=a?30:230,d=a?50:200,p=a?60:190,m=r.createImageData(i,o),g=m.data;for(let e=0;e<o;e+=4)for(let r=0;r<i;r+=4){let n=r/i,a=e/o,m=(Math.sin(8*n+1.3*t)*Math.cos(6*a+.7*t)+Math.sin(5*n-.9*t+2)*Math.cos(7*a+1.1*t)+.5*Math.sin(10*n+4*a+.5*t)+2.5)/5,h=m*s,y=Math.round(l+(f-l)*m),b=Math.round(u+(d-u)*m),v=Math.round(c+(p-c)*m);for(let t=0;t<4&&e+t<o;t++)for(let n=0;n<4&&r+n<i;n++){let o=((e+t)*i+(r+n))*4;g[o]=y,g[o+1]=b,g[o+2]=v,g[o+3]=Math.round(255*h)}}r.putImageData(m,0,0),n.current=requestAnimationFrame(e)}),()=>{window.removeEventListener("resize",a),cancelAnimationFrame(n.current)}},[]),(0,t.jsx)("canvas",{ref:e,className:"pointer-events-none fixed inset-0 -z-10","aria-hidden":!0})}])}]);